FHIR Lab2zorg V2.0.0
This article or section is in the middle of an expansion or major restructuring and is not yet ready for use. |
1 Introduction
This page describes the technical design of Lab2Zorg (Lab2Healthcare) as a subset of the Information standard lab exchange. This technical specification is implementer centric and complements the functional design. This page uses various terms as defined in the glossary (NL: Begrippenlijst). This page implements general principles applicable to FHIR as outlined by a central FHIR IG for R4. Please make sure you familiarize yourself with both the functional design and the FHIR IG for full appreciation of the context of this page.
Many laboratory result observations have important relationships to other observations and need to be grouped together. The FHIR specification defines several structures to do this:
Observation
and one or moreObservation.hasMember
elements.- Each
.hasMember
element references another Observation and the Observation with.hasMember
elements thus serves as grouper for all Observation it references. Each Observation can be accessed individually. This is useful for panels and/or batteries of tests. This is what NL-CM:13.1.3 LaboratoryTest maps into. - Note that while FHIR Observation also allows reference of resource types MolecularSequence | QuestionnaireResponse, there is no identified use case for that at time of writing.
- An Observation without
.hasMember
elements is expected to be an individual result and has a value when one can be/is determined.
- Each
Observation
and one or moreObservation.derivedFrom
elements.- Each
.derivedFrom
element references another Observation references related measurements the observation is made from. This is what NL-CM:13.1.33 RelatedResult::LaboratoryTestResult maps into. - Note that while FHIR Observation also allows reference of resource types DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence, there is no identified use case for those at time of writing.
- Each
Observation
and one or moreObservation.component
elements.- components of an Observation are not accessible individually. Whenever you access the Observation, you also access all its components. This is mostly useful when certain context is provided around the result. For lab observations this is expected to be less common. An example outside of the lab realm could be BloodPressure where systolic, diastolic, and cuff size are all in 1 Observation with 3 components.
2 Use case: Health professional sends order to lab and receives result from lab
TODO
3 Use case: Health professional retrieves lab results
DO
4 Use case: Health professional sends lab results to other health professional
The functional design distinguishes two use cases where lab results may be sent with something else or separate. The process of 'sending' things in FHIR works by means of a RESTful 'create' action. In principle you could a single Observation on another system using POST Observation
and the appropriate Observation in the request body. When you have multiple Observations to create, you could do that for every single Observation, or by means of a Bundle with all resources. This same Bundle approach works for one Observation too.
The added benefit from a Bundle lies in having a solution for all referenced resources like Patient and PractitionerRole | Practitioner | Organization. Just sending the Observation would only work if the referenced resources from that Observation either already exist on that server and all references point to those on that same server, or if the server you send the Observation can resolve the references. Without access to the references in the Observation, the target server may not know which patient is involved or what lab this result came from.
5 Use case: Health professional reports result leading into a notification "new lab results" for subscribed healthcare professional(s)
DO