.. _releases:
Release notes
=============
.. note::
openFHIR Sandbox is usually on latest version of openFHIR. To see the exact version of the sandbox, go to https://sandbox.open-fhir.com
Release 1.2.1
-------------
Added
^^^^^
* insights now include mapper name as well
Fixed
^^^^^
* if fhirCondition as a preprocessor includes multiple 'one of' criteria, these now properly result in 'or' statements
Release 1.2.0
-------------
Added
^^^^^
* compliance to FHIR Connect spec version 1.0.0 with implicit typing ('type' in model mapper is no longer required, types are implied based on RMType and data type on data values being mapped). At the moment, explicit typing is still supported, but will be removed in future versions.
Fixed
^^^^^
* proper serialization to YAML when requesting YAML representation of model/context mappers (with Accept: application/x-yaml)
Changed
^^^^^^^
* snake-yaml de/serialization replaced with jackson yaml
Release 1.1.2
-------------
Fixed
^^^^^
* prevent overriding of recurring elements when they reference a different parent openehr path within a followed by
Release 1.1.1
-------------
Added
^^^^^
* ``hierarchy`` to the model schema, although not yet implemented/supported by the engine
* ``created`` and ``updated`` (timestamp) added to all database entities
Changed
^^^^^^^
* if constructed FHIRPath during runtime of the engine is invalid, mapping now gracefully fails and logs a warning/error instead of failing altogether
Fixed
^^^^^
* manual mappings, if present in followedBy statements, are now applied on all parent occurrences instead of only the last one
* proper handling of ``$openehrRoot`` and ``$archetype``
* fixed behavior of the engine when parent path had multiple fhir where clauses
Release 1.1.0
-------------
Added
^^^^^
* Introduced the preprocessor : The ``spec.fhirConfig.conditions`` have been relocated to ``preprocessor.fhirConditions`` in accordance with the FHIR Connect v1.0.0 specification. All existing mappings have been automatically migrated to comply with this update. No further action required on users.
.. raw:: html
Before
spec:
...
fhirConfig:
structureDefinition: http://hl7.org/fhir/StructureDefinition/Observation
condition:
- targetRoot: "$resource"
targetAttribute: "code.coding.code"
operator: "one of"
criteria: "[$snomed.364075005,$snomed.78564009,$loinc.8867-4]"
\
\
.. raw:: html
Now
spec:
...
fhirConfig:
structureDefinition: http://hl7.org/fhir/StructureDefinition/Observation
preprocessor:
fhirConditions:
- targetRoot: "$resource"
targetAttribute: "code.coding.code"
operator: "one of"
criteria: "[$snomed.364075005,$snomed.78564009,$loinc.8867-4]"
\
\
\
Changed
^^^^^^^
* The RESTful API endpoints (``/fc/model``, ``/fc/context``) now return and accept model/context mappers directly, without any additional wrapper.
`Example:` When retrieving a model mapper (``GET /fc/model/{id}``) for an update, you can now use the entire response payload as the PUT body.
.. raw:: html
Before (context example)
{
"id": "67e8351186096400101ba5ae",
"fhirConnectContext": {
"grammar": "FHIRConnect/v1.0.0",
"type": "CONTEXT",
"metadata": {
"name": "Growth chart",
"version": "1.0.0"
},
"spec": {
"system": "FHIR",
"version": "R4"
},
"context": {
"profile": {
"url": ""
},
"template": {
"id": "Growth chart"
},
"archetypes": [
"openEHR-EHR-OBSERVATION.body_weight.v2",
"openEHR-EHR-OBSERVATION.height.v2",
"openEHR-EHR-OBSERVATION.body_mass_index.v2",
"openEHR-EHR-OBSERVATION.head_circumference.v1"
],
"start": "openEHR-EHR-OBSERVATION.body_weight.v2"
}
},
"user": "123",
"organisation": "123"
}
\
\
.. raw:: html
Now (context example)
{
"id": "67e8351186096400101ba5ae",
"grammar": "FHIRConnect/v1.0.0",
"type": "context",
"metadata": {
"name": "Growth chart",
"version": "1.0.0"
},
"spec": {
"system": "FHIR",
"version": "R4"
},
"context": {
"profile": {
"url": ""
},
"template": {
"id": "Growth chart"
},
"archetypes": [
"openEHR-EHR-OBSERVATION.body_weight.v2",
"openEHR-EHR-OBSERVATION.height.v2",
"openEHR-EHR-OBSERVATION.body_mass_index.v2",
"openEHR-EHR-OBSERVATION.head_circumference.v1"
],
"start": "openEHR-EHR-OBSERVATION.body_weight.v2"
}
}
\
\
Fixed
^^^^^
* ``$fhirRoot`` is now correctly processed if set in a mapper ``fhirCondition.targetRoot``