Comprehensive documentation of the FLAT format

Hi all,

we just published a comprehensive documentation of the flat format as part of the EHRbase documentation. Ever wondered how the Feeder Audit is represented in flat? Which CTX fields are automatically mapped?

You will find the answers here:

This is an important step towards the standardization of the WebTemplate and Flat format as part of the openEHR specs. We achieved a high level of conformance with Better within our implementation (available under Apache 2 license as part of our Software Development Kit and of course EHRbase: GitHub - ehrbase/openEHR_SDK).

Looking forward to receive some feedback and we hope this is a valuable contribution to the community


Nice work! I see the basis of a specification right here…

One question I have is whether the community wants to use the ‘compact’ formats we started documenting in this spec for the DV_XX types, e.g. DV_QUANTITY, DV_CODED_TEXT etc.

For example, most DV_QUANTITYs with just magnitude and units would appear as below (right side of the colon):

".../section/observation/any_event:0/dv_quantity": "65.9,mmol/L"

And a DV_CODED_TEXT would appear in the familiar short form used in openEHR: [icd10AM::F60.1|Schizoid personality disorder|] whereas EhrBase documents this as:

 ".../conformance_section/observation/any_event:0/dv_coded_text|value": "Schizoid personality disorder",
 ".../conformance_section/observation/any_event:0/dv_coded_text|code": "F60.1",
 ".../conformance_section/observation/any_event:0/dv_coded_text|terminology": "icd10AM"

The compact forms are a lot smaller, and arguably much easier to read in data. However… clearly the long form should be valid, and it’s almost always needed when a Data value has some deep structure, e.g. DV_QUANTITY has reference_ranges, or DV_CODED_TEXT has term mappings.

It would be good to get consensus on this question, because I suspect that once we have it, this excellent work can be used as the definitive flat format for openEHR.

One other thing I noticed in passing: date/times are recorded down to 1/10th of a microsecond where they appear. Is such precision really valid? E.g. here:

 ".../any_event:0/_feeder_audit/originating_system_audit|time": "2021-12-21T16:02:58.0094262+01:00",