 
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
TrueA 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()
TrueFixes
- Important business logic has been fixes for adding in property sequence, when property name ends with ´[x]´. (This problem was introduced in version ´0.5.0´)
- Added support for summarymode.
- FHIR R5 specification support has been added.
- FHIR R4B specification support has been added.
- Now each FHIRClasscontains original sequence of it's properties(elements) defined in specification.
- Additionally FHIRClass.expanded_properties_sequencereturns all available properties (combined with parent) sequentially.
- This release contains full fixes of FHIRStructureDefinitionElement.represents_classissues.
- No more improvements, just same release of  0.2.1and overrides to the faulty release of0.2.3.
Update to version ``0.2.4`` is recommended
- use FHIRStructureDefinitionElement.is_main_profile_elementinstead ofFHIRStructureDefinitionElement.represents_class
- Minor improvement on FHIRUnitTesthandling empty value.
- FHIRClass.knownproperty has been changed to- FHIRClass.__know_classes__and- FHIRClass.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"