Skip to main content

Generated FHIR model for Pydantic.

Project description

This stub for FHIR generated by fhirzeug.

Format

All profiles are in one file.

FHIR Specific JSON Representation

Generally this generated code tries to stick as close as possible to the FHIR JSON spec. Another important is the FHIR Datatypes spec.

Empty Strings

String property values can never be empty. Either the property is absent, or it is present with at least one character of content. - https://www.hl7.org/fhir/STU3/json.html

Additionally whitespaces are stripped:

Note: This means that a string that consists only of whitespace could be trimmed to nothing, which would be treated as an invalid element value. Therefore strings SHOULD always contain non-whitespace content. - https://www.hl7.org/fhir/datatypes.html#primitive

That means empty strings are interpreted as null values. This could lead to invalid arrays([""]). This follows the behavior from HAPI and Vonk.

DateTime Values

Datetime values are strings as well. That means an empty string or a string with whitespaces is threaded as a null value. Which then is not set at all.

null Values

Just as in XML, JSON objects and arrays are never empty, and properties never have null values (except for a special case documented below). Omit a property if it is empty - https://www.hl7.org/fhir/json.html#xml

That means specifically that if a property contains a null value it is like it never has been set.

Example:

>>> from r4 import Patient
>>> Patient(name=None).dict()
{}

ValueSets and CodeSystems

FHIR Specification provides different ways to define a ValueSet. The implementation varies depending on the use case :

  • If a ValueSet is based on a single CodeSystem and this CodeSystem is defined in FHIR, then the ValueSet is validated by an enum.
  • If a ValueSet is based on a single CodeSystem, that this CodeSystem is not included in the FHIR specification, but FHIR provides an exhaustive list of possible values, then the ValueSet is validated by a typing.Literal.
  • Otherwise, the field is validated by a very permissive regex [^\s]+(\s[^\s]+)*.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydantic-fhir-0.0.1a18.tar.gz (360.0 kB view hashes)

Uploaded Source

Built Distribution

pydantic_fhir-0.0.1a18-py3-none-any.whl (363.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page