Composition-eu-lab

Summary

The Composition resource defines the clinical purpose and type of a document Bundle (for example, a laboratory test report document). It provides a human‑readable structure that acts as a table of contents and establishes a predictable, well‑defined hierarchy that receiving systems can use to reliably interpret and process the document.

The resource profile is derived from Composition-eu-lab, as described in the HL7 Europe Laboratory Report FHIR Implementation Guide .

Profile Views

Refer to Profile Descriptions for a definition of the different profile view formats.

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab'
Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab'
Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab'

Additional Guidance

The diagram below illustrates how the values in the Composition are derived from the other resources contained within the Bundle.
The lab-nosubsection profile is used when an Observation is referenced directly from the Composition.
The lab-subsection profile is used when referencing a panel (grouper/organizer); in this case, the Composition includes nested section elements to represent each Observation that belongs to that panel.


EUComposition.drawio


meta.profile

This SHALL be populated using the appropriate value from the table on the Profiles page.


identifier

This SHALL be the same as one of the DiagnosticReport.identifier values, if any are present.


status

This SHALL be populated with a value taken from the CompositionStatus ValueSet.


type

This is the high-level categorisation of the set of resources.

It is expected that the values will be taken from DiagnosticReport.code.


category

This is the specific category of the set of resources.

The element SHALL be populated with the following value, taken from the LabSpecialtyEuVs ValueSet:

"category": [
    {
        "coding": [
            {
                "system": "http://snomed.info/sct",
                "code": "394915009",
                "display": "General pathology (specialty)"
            }
        ]
    }
]


subject

Reference to the Patient.


date

This SHALL be populated with the same value as DiagnosticReport.issued.


author

Reference to the performing Organization.


title

This SHALL be populated with Laboratory Report.


attester

Reference to the performing Organization.

Composition.attester.mode SHALL be populated with a value of official, as illustrated below:

"attester": [
    {
        "mode": "official",
        "party": {
            "reference": "urn:uuid:8a6d85b8-9837-4fed-a257-4cf207988338"
        }
    }
],


section

The following rules describe how Observation resources should be referenced within the Composition:

  • Each Composition.section SHALL contain both a title and a code.

  • When the referenced Observation represents a grouper (sometimes called an organizer or test group), only the grouper Observation is listed in the section. Child Observation resources SHALL NOT be referenced directly within the same section, as they are already linked through the grouper’s hasMember relationships.

  • When the referenced resource is a single (non‑grouper) Observation, that Observation SHALL be referenced directly within the section.

  • There is no requirement that all sections use the same type. Different sections (e.g., section[0], section[1], etc.) may reference different types of Observations, as long as the rules for groupers and single Observations are followed within each section.


section.title

It is expected that the values will be taken from Observation.code.coding.display. If there are multiple codings use the PaLM coding display.


section.code

It is expected that the values will be taken from Observation.code.coding. If there are multiple codings use the PaLM coding display.


section.text

This element is mandatory in the profile, however within the context of this implementation guide it does not need to be populated with narrative content. It SHALL be populated as follows:

"text": {
    "status": "empty",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">empty</div>"
},


section.entry

This references the Observation resource.