Python representation of FHIR® https://www.hl7.org/fhir/ specification. Idea and class structure based on https://github.com/smart-on-fhir/fhir-parser.
A class that is controlling the behavior of fhirspec.FHIRSpec
, powerful but very convenient.
In several ways it is possible to construct the instance, ie. from JSON
file (has support for json5),
from python module, from TOML
file, from plain text file, and so on.
Only capital letter's variables are accepted
>>> import pathlib
>>> import os
>>> from foo.module import bar
>>> from fhirspec import Configuration
>>> config1 = Configuration.from_module(bar)
>>> config2 = Configuration.from_json_file(pathlib.Path("/json/file/location"))
>>> data_dict = {
... "BASE_URL": pathlib.Path(os.path.abspath(__file__))
... }
>>> config3 = Configuration(data_dict=data_dict)
The main loader class, to construct this instance, Configuration:
is required parameter and additionally
source of json files. Bellows variables should have to be present in configuration.
- required_variables = [
- "WRITE_RESOURCES", "CLASS_MAP", "REPLACE_MAP", "NATIVES", "JSON_MAP", "JSON_MAP_DEFAULT", "RESERVED_MAP", "ENUM_MAP", "ENUM_NAME_MAP", "DEFAULT_BASES", "MANUAL_PROFILES", "CAMELCASE_CLASSES", "CAMELCASE_ENUMS", "BACKBONE_CLASS_ADDS_PARENT", "RESOURCE_MODULE_LOWERCASE",]
>>> from fhirspec import Configuration
>>> from fhirspec import FHIRSpec
>>> config = Configuration(
... {
... "BASE_PATH": "",
"WRITE_RESOURCES": True
... }
... )
>>> spec = FHIRSpec(config)
>>> "patient" in spec.profiles
True
A perfect tool to download any file from server, no dependency on third-party library.
>>> from fhirspec import download
>>> url = "http://www.africau.edu/images/default/sample.pdf"
>>> download_directory = pathlib.Path(os.path.expanduser("~/Downloads"))
>>> download(url, download_directory)
>>> (download_directory / "sample.pdf").exists()
True
- FHIR R4B specification support has been added.
- Now each
FHIRClass
contains original sequence of it's properties(elements) defined in specification. - Additionally
FHIRClass.expanded_properties_sequence
returns all available properties (combined with parent) sequentially.
- This release contains full fixes of
FHIRStructureDefinitionElement.represents_class
issues.
- No more improvements, just same release of
0.2.1
and overrides to the faulty release of0.2.3
.
Update to version ``0.2.4`` is recommended
- use
FHIRStructureDefinitionElement.is_main_profile_element
instead ofFHIRStructureDefinitionElement.represents_class
- Minor improvement on
FHIRUnitTest
handling empty value.
FHIRClass.known
property has been changed toFHIRClass.__know_classes__
andFHIRClass.is_known_class
.- Make supports for Python 3.6 and 3.9
- Initial release [nazrulworld]
© Copyright HL7® logo, FHIR® logo and the flaming fire are registered trademarks owned by Health Level Seven International
"FHIR® is the registered trademark of HL7 and is used with the permission of HL7. Use of the FHIR trademark does not constitute endorsement of this product by HL7"