Display profile-specific mappings in the auto-generated documentation

ExplanationOfBenefit has different mapping depending on the target profile that are now displayed separately in its documentation page.

Also, resource documentation pages now include an index to their sections at the beginning (they can be quite long so that helps navigating them).


Observation.valueQuantity with large values fix

Attempts to POST Observations with a valueQuantity.value greater than 999,999,999 used to fail, now it is accepted.


Coverage resource: map insured details to/from a contaned Patient

The insured name, address, contact information etc. are now rendered in a contained Patient resource that is referenced by Coverage.subscriber. Previously they were rendered as custom extension, using a contained Patient is more standard. The custom extensions are preserved for backward compatibility.

When POSTing Coverage resource the system now also looks for a referenced contained Patient to get the insured details.


ExplanationOfBenefit Carin BB STU2 mapping fixes


Update Carin BB profiles URLs to 2.0

. . . for Coverage, Patient, Practitioner and Organization


Bulk export optimization to use less memory

This fixes potential out of memory errors when exporting lots of big DiagnosticReports or DocumentReferences


ExplanationOfBenefit mapping changes to conform to version 2.0 of the Carin BB implementation guide

The ExplanationOfBenefit mapping is now profile-specific, i.e. the underlying claim data is mapped to/from ExplanationOfBenefit differently depending on which of the Carin BB profile it corresponds to (inpatient, oral, outpatient, pharmacy, professional)

Update the care team codes in valueset http://hl7.org/fhir/us/carin-bb/STU2/ValueSet-C4BBClaimInstitutionalCareTeamRole.html. Add new rendering which replaces performing. Left rendering for backward compatibility.

Add service-start-date search parameter

supportingInfo updates:

adjudication updates:

Documentation Updates:

In the Practitioner and (contained) Organization resources the npi identifier type system uri is now http://terminology.hl7.org/CodeSystem/v2-0203. Keeping also the old type system uri for backward compatibilty.


Bulk export: reduce disk usage

Output files are created directly compressed instead of being first created uncompressed and then compressed.


Fix mapping to a Coding with an extensible binding

When the binding is extensible (for example R4 Encounter.class) if the underlying data cannot be mapped to the bound value set the Coding is now set to the available data as-is - previously it was not set. This mimics the existing behavior for CodeableConcepts bound to an extensible value set.


Faster JSON parsing

Breaking change

POSTed JSON data is processed with a new JSON parser that is around 8 times faster than the old.

The new parser is more restrictive (and more secure...) than the old one:


Resources with missing required properties with a DataAbsentReason extension are US Core compliant

Previously such resources where (wrongly) considered non-complaint and so not tagged with their US Core profile URL (and removed if the endpoint is in 'strict compliance' mode)


Add the performer standard search parameter to the Observation resource


Support iterative includes

Support the :iterate modifier for the _include parameter - see the specifications.


Add the _lastUpdated standard search parameter to the DocumentReference resource

(H/18c63cd4, H/daf037e6)

Add versions to US Core and CarinBB profile URLs

The profile URLs placed in the meta.profile elements now include the version number - e.g. http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance|3.1.1 instead of http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance.


Renamed the ValueSet reference search parameter to reference-concept

Breaking change

ValueSet reference is defined in the base specs to search by the code system, whereas what we search for is the entire system + code