FHIR Resources as Model Class
Project description
FHIR® Resources (R4, STU3, DSTU2)
All FHIR Resources are available as python class with built-in initial validation, exporter as json value.
Provides Resource Factory class (see example 4) to create resource object in more convenient way.
Previous version of FHIR® Resources are available.
Free software: BSD license
FHIR® Version Info
FHIR® (R4 aka 4.0.0) is available as default. Also previous versions are available as Python sub-package (each version name string becomes sub-package name, i.e STU3 ).
Available Previous Versions:
STU3 (3.0.1)
DSTU2 (1.0.2)
Installation
Just a simple pip install fhir.resources or easy_install fhir.resources is enough. But if you want development version, just clone from https://github.com/nazrulworld/fhir.resources and python setup.py install.
Example: 1: Resource object created from json string:
>>> from fhir.resources.organization import Organization
>>> from fhir.resources.address import Address
>>> json_dict = {"resourceType": "Organization",
... "id": "mmanu",
... "active": True,
... "name": "Acme Corporation",
... "address": [{"country": "Swizterland"}]
... }
>>> org = Organization(json_dict)
>>> isinstance(org.address[0], Address)
>>> True
>>> org.address[0].country == "Swizterland"
True
>>> org.as_json()['active'] is True
True
Example: 2: Construct resource object in python way:
>>> org = Organization() >>> org.id = "mmanu" >>> org.active = True >>> org.name = "Acme Corporation" >>> org.address = list() >>> address = Address() >>> address.country = "Swizterland" >>> org.address.append(address) >>> org.as_json() == json_dict True
Example: 3: Auto validation while providing wrong datatype:
>>> from fhir.resources.fhirabstractbase import FHIRValidationError
>>> try:
... org = Organization({"id": "fmk", "address": ["i am wrong type"]})
... raise AssertionError("Code should not come here")
... except FHIRValidationError:
... pass
Example: 4: Using Resource Factory:
This package provides a convenient factory to create FHIR® resource, you never need to import manually each resource class.
>>> from fhir.resources.fhirelementfactory import FHIRElementFactory
>>> json_dict = {"resourceType": "Organization",
... "id": "mmanu",
... "active": True,
... "name": "Acme Corporation",
... "address": [{"country": "Swizterland"}]
... }
>>> org = FHIRElementFactory.instantiate('Organization', json_dict)
>>> org.address[0].country == "Swizterland"
True
>>> org.as_json()['active'] is True
True
Release and Version Policy
Starting from version 5.0.0 we are following our own release policy and we although follow Semantic Versioning scheme like FHIR® version. Unlike previous statement (bellow), releasing now is not dependent on FHIR®.
removed statement
This package is following FHIR® release and versioning policy, for example say, FHIR releases next version 4.0.1, we also release same version here.
Credits
All FHIR® Resources (python classes) are generated using fhir-parser.
This package skeleton was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
© Copyright HL7® logo, FHIR® logo and the flaming fire are registered trademarks owned by Health Level Seven International
History
5.0.0 (2019-06-08)
Nothing but release stable version.
5.0.0b3 (2019-05-14)
New features
Isuue#1 Add DSTU2 Support
5.0.0b2 (2019-05-13)
Breaking or Improvments
elementProperties: element now has extra property type_name. Now format like (name, json_name, type, type_name, is_list, "of_many", not_optional) The type_name refers original type name (code) from FHIR Structure Definition and it would be very helpful while making fhir search, fhirpath navigator.
5.0.0b1 (2019-01-19)
New features
Implemented own build policy, now previous version of FHIR® resources are available as python sub-package.
Build info
Default version is R4 (see version info at 4.0.0b1 (2019-01-13) section)
STU3 (see version info at 3.0.1 (2019-01-13) section)
4.0.0 (2019-01-14)
see version info at 4.0.0b1 section.
4.0.0b1 (2019-01-13)
[FHIR] FhirVersion=4.0.0-a53ec6ee1b version=4.0.0 buildId=a53ec6ee1b date=20181227223754
3.0.1 (2019-01-13)
[FHIR] FhirVersion=3.0.1.11917 version=3.0.1 revision=11917 date=20170419074443
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fhir.resources-5.0.0.tar.gz.
File metadata
- Download URL: fhir.resources-5.0.0.tar.gz
- Upload date:
- Size: 933.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
159afd02f56a40d49876bc2c8ccc061742c4d3feccedf861a268798b5afe1b3b
|
|
| MD5 |
f342d1c42ae4dddac94d33e77299e930
|
|
| BLAKE2b-256 |
96174bd2b9b331d9dc9cd74b64b62011afec7b7e2e23d207df1f8da260831bb0
|
File details
Details for the file fhir.resources-5.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: fhir.resources-5.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
107d66b3b17ae6984be1f1d0c451036666d35d02131232bb01346b3565793619
|
|
| MD5 |
d32a91bda46f8b17b94913dda98bb3a6
|
|
| BLAKE2b-256 |
d71cbe5a7f0844cf6aa5d95419f73d39f3312ec69f60bfd9745ac76c403eb1d1
|