Medical test results in FHIR
Medical test results is a priority category of the European Health Data Space (Article 14(1) point (e) of Regulation (EU) 2025/327). It applies from March 26, 2031. HL7 Europe covers it with laboratory 2.1.0.
- Regulation
- Regulation (EU) 2025/327, Article 14(1)(e), Annex I
- Applies from
- March 26, 2031
- HL7 Europe guides
- hl7.fhir.eu.laboratory 2.1.0, published
- Xt-EHR logical models
- EHDSLaboratoryReport
- Document type
LOINC 11502-2Laboratory report- Validator
- Open the EHDS profile validator
What the Regulation says
Annex I of the Regulation describes the main characteristics of this category. The text is the English original.
Medical test results, including laboratory and other diagnostic results and related reportsElectronic health data representing results of studies performed in particular through in vitro diagnostics such as clinical biochemistry, haematology, transfusion medicine, microbiology, immunology and others, and including, where relevant, reports supporting the interpretation of the results.
FHIR profiles 11
Profiles defined by the guides above. The rules column counts the elements where the profile goes beyond base FHIR (required, forbidden or limited), which the validator checks; of the slices, only the required ones that a fixed value or the resource type identifies are checked.
| Profile | Resource | HL7 Europe guide | Rules checked | Slices checked / defined |
|---|---|---|---|---|
Bundle: Laboratory Report http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab | Bundle | laboratory | 11 | 2 / 20 |
Composition: Laboratory Report http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab | Composition | laboratory | 6 | 0 / 10 |
Device: Measuring http://hl7.eu/fhir/laboratory/StructureDefinition/Device-measuring-eu-lab | Device | laboratory | 0 | 0 / 2 |
Device: Specimen http://hl7.eu/fhir/laboratory/StructureDefinition/Device-specimen-eu-lab | Device | laboratory | 0 | 0 / 0 |
DiagnosticReport: Laboratory Report http://hl7.eu/fhir/laboratory/StructureDefinition/DiagnosticReport-eu-lab | DiagnosticReport | laboratory | 8 | 2 / 10 |
Observation Results: laboratory http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab | Observation | laboratory | 4 | 1 / 43 |
Patient: Animal http://hl7.eu/fhir/laboratory/StructureDefinition/Patient-animal-eu-lab | Patient | laboratory | 3 | 1 / 5 |
RelatedPerson: AnimalSpecimen http://hl7.eu/fhir/laboratory/StructureDefinition/animal-specimen-eu-lab | RelatedPerson | laboratory | 8 | 1 / 2 |
ServiceRequest: Laboratory Order http://hl7.eu/fhir/laboratory/StructureDefinition/ServiceRequest-eu-lab | ServiceRequest | laboratory | 1 | 0 / 1 |
Specimen: Laboratory http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab | Specimen | laboratory | 2 | 1 / 4 |
Substance: Specimen Additive Substance http://hl7.eu/fhir/laboratory/StructureDefinition/Substance-additive-eu-lab | Substance | laboratory | 0 | 0 / 0 |
Document structure
The document profiles of this category: the sections a Composition can carry and the entries a Bundle can hold, as the profiles state them. Names are slice names; the section code is the LOINC code the profile fixes.
Bundle: Laboratory Report: Bundle entries 20
| Entry | Card. | FHIR resource | Profile |
|---|---|---|---|
composition | 1..1 | Composition | CompositionLabReportEu |
diagnosticReport | 1..1 | DiagnosticReport | DiagnosticReportLabEu |
patient | 0..* | Patient | |
observation | 0..* | Observation | |
specimen | 0..* | Specimen | SpecimenEu |
serviceRequest | 0..* | ServiceRequest | ServiceRequestLabEu |
organization | 0..* | Organization | |
practitioner | 0..* | Practitioner | PractitionerEuCore |
practitionerRole | 0..* | PractitionerRole | PractitionerRoleEuCore |
bodyStructure | 0..* | BodyStructure | BodyStructureEuCore |
encounter | 0..* | Encounter | |
location | 0..* | Location | LocationEuCore |
provenance | 0..* | Provenance | |
coverage | 0..* | Coverage | |
device | 0..* | Device | |
condition | 0..* | Condition | ConditionEuCore |
procedure | 0..* | Procedure | ProcedureEuCore |
medication | 0..* | Medication | MedicationEuCore |
medicationStatement | 0..* | MedicationStatement | MedicationStatementEuCore |
medicationAdministration | 0..* | MedicationAdministration |
Composition: Laboratory Report: sections 1
| Section | Card. | Section code | Description |
|---|---|---|---|
annotations | 0..* | LOINC 48767-8 | Annotation comment |
Terminology bindings 2
Value sets that the profiles of this category bind elements to with a required or extensible binding. A required binding only allows codes of the value set; an extensible one expects them unless none fits. Value sets that the HL7 Europe packages define are listed with their codes in the value set reference.
The profiles also state 13 preferred and 2 example bindings.
| Value set | Binding | Used by | Codes |
|---|---|---|---|
Laboratory Specialty http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | required | CompositionLabReportEu category:specialtyDiagnosticReportLabEu category:specialtyObservationResultsLaboratoryEu category:specialty | 8 codes |
Laboratory Study Types http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | required | CompositionLabReportEu category:studyTypeDiagnosticReportLabEu category:studyTypeObservationResultsLaboratoryEu category:studyType | 7 codes |
Extensions 7
HL7 Europe extensions that the profiles of this category carry, with the element that holds each one.
| Extension | Context | Value | Used in |
|---|---|---|---|
Device Laboratory Test Kit http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit | Observation | Reference | ObservationResultsLaboratoryEu extension:labTestKit 0..* |
Document DiagnosticReport Reference http://hl7.eu/fhir/extensions/StructureDefinition/composition-diagnosticReportReference | Composition | Reference | CompositionLabReportEu extension:diagnosticReport 0..1 |
Composition: Information recipient http://hl7.eu/fhir/StructureDefinition/information-recipient | Composition | Reference | CompositionLabReportEu extension:informationRecipient 0..* |
Many: Laboratory Accredited http://hl7.eu/fhir/StructureDefinition/laboratory-accredited | ObservationServiceRequest | boolean | ObservationResultsLaboratoryEu extension:accredited 0..1ServiceRequestLabEu extension:accreditedLab 0..1 |
Certified Reference Material: CodeableConcept http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable | Observation | CodeableConcept | ObservationResultsLaboratoryEu extension:certifiedRefMaterialCodeable 0..* |
Certified Reference Material: Identifier http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer | Observation | Identifier | ObservationResultsLaboratoryEu extension:certifiedRefMaterialIdentifer 0..* |
Specimen Focus http://hl7.eu/fhir/laboratory/StructureDefinition/specimen-focus | Specimen | Reference | SpecimenEu extension:focus 0..1 |
Logical model EHDSLaboratoryReport 43
Elements of the Xt-EHR logical model with their cardinality and obligations. Obligations tell producers and consumers of the data what a system SHALL or SHOULD do with each element.
Obligations by actor
How many elements of EHDSLaboratoryReport carry each obligation for each actor.
| Obligation | Actor | Elements |
|---|---|---|
SHALL:able-to-populate | producer | 34 |
SHALL:display | consumer | 20 |
SHALL:process | consumer | 5 |
SHOULD:able-to-populate | producer | 5 |
SHOULD:display | consumer | 6 |
SHOULD:process | consumer | 2 |
Elements 43
| Element | Card. | Obligations | Description |
|---|---|---|---|
header | 1..1 | SHALL:able-to-populate producerEach producer of a laboratory report SHALL be able to provide basic information, such as type of the report, authorship, status of the report, title, etc. This information is crucial for safe identification of the report and for searchability of the report using standardized searching parameters. SHALL:process consumerEHR systems that consume laboratory report SHALL process document header information. | Laboratory Report header |
subject | 1..1 | SHALL:able-to-populate producerEHR systems SHALL provide information about the subject of care. SHALL:display consumerEHR system SHALL render information about the subject of care in such a way that unambiguous assignment to the care subject is preserved. SHALL:process consumerInformation about the subject of care SHALL be processed by the EHR system in such a way that the identity of the subject of care cannot be confused. | Patient/subject information |
identifier | 1..* | SHALL:able-to-populate producerSHOULD:display consumerSHALL:process consumer | Unique identifier of the document |
author[x] | 1..* | SHALL:able-to-populate producerSHALL:display consumer | Author(s) by whom the laboratory result report was authored. |
date | 1..1 | SHALL:able-to-populate producerSHALL:display consumer | Date of finalising/issuing the document |
status | 1..1 | SHALL:able-to-populate producerSHALL:display consumer | Status of the document |
source | 0..0 | Source of information (e.g. patient, patient's proxy). Used in case the patient has authored the information or the author has submitted patient-stated information. | |
language | 0..1 | SHALL:able-to-populate producer | Language in which the resource is written. Language is expressed by the IETF language tag. |
documentType | 1..1 | SHALL:able-to-populate producer | Type of document at hand, e.g. 60591-5 Patient summary document. |
documentTitle | 1..1 | SHALL:able-to-populate producer | Human readable document title that can be displayed in search results, etc. This can be documentType's display name, or it can be assembled from multiple elements. Examples: 'Laboratory Result Report', 'Patient Summary of Jane Green 10.12.2024' |
period | 0..1 | SHALL:able-to-populate producer | Time of service that is being documented |
version | 0..1 | Business version of the document. The exact algorithm for versioning is decided by the producer/custodian | |
attestation | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Document attestation details |
attester[x] | 1..1 | SHALL:able-to-populate producerSHALL:display consumer | Attester who validated the document |
datetime | 1..1 | SHALL:able-to-populate producer | Date and time of the approval of the document by Attester |
legalAuthentication | 0..* | SHALL:able-to-populate producer | Document legal authentication details |
legalAuthenticator[x] | 1..1 | SHALL:able-to-populate producer | The person or organisation taking responsibility for the content of the document. |
datetime | 1..1 | SHALL:able-to-populate producer | Date and time when the document was authorised |
eventType | 0..* | SHALL:able-to-populate producer | Categorisation of the event covered by the document (e.g. laboratory study types, imaging study types including modality, etc.). Selection of such tags or labels depends on the use case and agreement between data sharing parties. This meta-data element serves primarily for searching and filtering purposes. |
serviceSpecialty | 0..* | SHALL:able-to-populate producerSHOULD:display consumer | Additional details about where the content was created (e.g. clinical specialty) |
custodian | 0..1 | SHALL:able-to-populate producer | Organisation that is in charge of maintaining the document/report. |
intendedRecipient[x] | 0..* | Intended recipient | |
presentedForm | 0..* | SHALL:able-to-populate producerEach EHR system that is a producer of a laboratory report SHALL be able to provide the entire report as issued by the laboratory in a human readable format, e.g. PDF. SHALL:process consumerEHR systems that consume laboratory report SHALL process the human readable version of the report. SHALL:display consumerEHR systems that consume laboratory report SHALL render human readable version of the report to the endusers. | A narrative easy-to-read representation of the full data set, e.g. PDF-version of a document |
body | 0..1 | SHALL:able-to-populate producerEach EHR system that is a producer of a laboratory report SHALL be able to provide structured information about the laboratory investigation, such as order information, supporting information, specimen details and result data. SHALL:process consumerEHR systems that consume laboratory report SHALL process structured body information. | Laboratory Report structured body |
orderInformation | 0..* | SHALL:able-to-populate producerEHR systems SHALL be able to populate information about one or more order which this report is based on. SHALL:display consumerConsumer EHR systems SHALL display key order information to ensure traceability between order and report. | Order Information (Laboratory Result Report could respond to multiple test orders) |
orderId | 1..* | SHALL:able-to-populate producerSHOULD:process consumerConsumer systems SHOULD use this element to pair result report with laboratory order. | An identifier of the laboratory test order. Laboratory Result Report may respond to multiple orders. |
orderDateAndTime | 0..1 | Date and time of the order placement. | |
orderPlacer[x] | 0..1 | SHALL:able-to-populate producerSHOULD:display consumer | The person/organisation "authorised" to place the order. Order placer could be either a health professional, health professional organisation or the patient himself. |
orderReason[x] | 0..* | SHALL:able-to-populate producerSHALL:display consumer | An explanation or justification for why this service is being requested in coded form. |
clinicalQuestion | 0..1 | SHALL:able-to-populate producerSHALL:display consumer | Specification of clinical question (goal of the investigation) to be answered by the laboratory investigation. |
supportingInformation | 0..1 | SHOULD:able-to-populate producerSHALL:display consumer | Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as 'ask at order entry questions (AOEs).' This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements. |
observation | 0..* | SHOULD:able-to-populate producerSHALL:display consumer | Clinical findings and other observations. |
condition | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Condition that may influence the service or result interpretation. |
medicationAdministration | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Medication administered before ordering the service. |
sexForClinicalUse | 0..1 | SHALL:able-to-populate producerSHALL:display consumer | A Sex Parameter for Clinical Use is a parameter that provides guidance on how a recipient should apply settings or reference ranges that are derived from observable information such as an organ inventory, recent hormone lab tests, genetic testing, menstrual status, obstetric history, etc.. This property is intended for use in clinical decision making, and indicates that treatment or diagnostic tests should consider best practices associated with the relevant reference population |
vaccination | 0..* | SHOULD:able-to-populate producerSHALL:display consumer | Vaccination history of the patient. |
otherSupportingInformation | 0..* | SHOULD:able-to-populate producerSHOULD:display consumer | Any other type of relevant supporting information |
specimen | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Specimen information |
serviceRequest | 0..* | SHALL:able-to-populate producerSHOULD:display consumer | Specification of requested service or services |
resultData | 1..1 | SHALL:able-to-populate producerSHALL:display consumer | Laboratory report result data |
commentsInterpretationAndRecommendations | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Narrative Comments, such as a textual interpretation or advice accompanying the result report, for example. |
laboratoryTestResults | 0..* | SHALL:able-to-populate producerSHALL:display consumer | Observation details (report could consist of multiple observations) |
attachments | 0..* | SHOULD:able-to-populate producerEach EHR system that is a producer of a laboratory report SHOULD be able to provide attachments related to the report, such as documents, diagrams, images of the results, etc. SHOULD:process consumerEHR systems that consume laboratory report SHOULD process attachments related to the report. SHOULD:display consumerEHR systems that consume laboratory report SHOULD render attachments related to the report to the endusers. | Report attachments |
Mapping of EHDSLaboratoryReport to FHIR 47
How each logical element lands in FHIR, as published in the HL7 Europe guide. Mapped to: BundleLabReportEu, CompositionLabReportEu, DiagnosticReportLabEu, ServiceRequestLabEu.
| Element | Relation | FHIR resource | FHIR element | Notes |
|---|---|---|---|---|
header | related to | Composition | . | |
subject | equivalent | Composition | subject | Also aligned with DiagnosticReport.subject. |
identifier | equivalent | Composition | identifier | |
identifier | equivalent | DiagnosticReport | identifier | |
identifier | equivalent | Bundle | identifier | |
author[x] | equivalent | Composition | author | |
date | equivalent | Composition | date | |
status | equivalent | DiagnosticReport | status | Composition and DiagnosticReport status are expected to be aligned. |
language | equivalent | Composition | language | |
documentType | equivalent | Composition | type | |
documentType | equivalent | DiagnosticReport | code | |
documentTitle | equivalent | Composition | title | |
period | related to | Composition | event.period | |
version | related to | Composition | extension:version | |
attestation | related to | Composition | attester | |
attester[x] | equivalent | Composition | attester.party | |
datetime | equivalent | Composition | attester.time | |
legalAuthentication | related to | Composition | attester | |
legalAuthenticator[x] | related to | Composition | attester.party | May require attester mode constraints by implementation rules. |
datetime | equivalent | Composition | attester.time | |
eventType | related to | Composition | category:studyType | The model gives laboratory study types as an example. This guide carries them in the studyType slice, which DiagnosticReport.category has as well. |
serviceSpecialty | related to | Composition | category:specialty | The slice is bound to LabSpecialtyEuVs. DiagnosticReport.category has the same slice. |
custodian | equivalent | Composition | custodian | |
presentedForm | equivalent | DiagnosticReport | presentedForm | |
intendedRecipient[x] | equivalent | Composition | extension:informationRecipient | Uses EU extension on Composition. |
body | related to | Composition | section | |
orderInformation | related to | ServiceRequest | . | Each order is a ServiceRequestLabEu, which DiagnosticReport.basedOn references. The child elements map to elements of that ServiceRequest. |
orderId | equivalent | ServiceRequest | identifier | |
orderDateAndTime | equivalent | ServiceRequest | authoredOn | |
orderPlacer[x] | equivalent | ServiceRequest | requester | |
orderReason[x] | equivalent | ServiceRequest | reasonCode / reasonReference | Mapping depends on coded, textual, or referenced reason source. |
clinicalQuestion | related to | ServiceRequest | note | |
supportingInformation | related to | ServiceRequest | supportingInfo | |
observation | equivalent | ServiceRequest | supportingInfo | |
condition | equivalent | ServiceRequest | supportingInfo | |
medicationAdministration | equivalent | ServiceRequest | supportingInfo | |
sexForClinicalUse | related to | Patient | extension:sex-for-clinical-use | PatientEuCore of HL7 Europe Base profiles this extension. |
vaccination | equivalent | ServiceRequest | supportingInfo | |
otherSupportingInformation | equivalent | ServiceRequest | supportingInfo | |
specimen | equivalent | DiagnosticReport | specimen | Also represented as Bundle entries of type SpecimenEu. |
serviceRequest | equivalent | DiagnosticReport | basedOn | |
resultData | related to | DiagnosticReport | result / conclusion / presentedForm | |
laboratoryTestResults | equivalent | DiagnosticReport | result | Observation resources are included as Bundle entries. |
laboratoryTestResults | equivalent | Composition | section.entry | |
commentsInterpretationAndRecommendations | related to | Composition | section:text | Often represented in annotation/comment section. |
commentsInterpretationAndRecommendations | related to | DiagnosticReport | conclusion / conclusionCode | When implemented in the DiagnosticReport profile instance. |
attachments | related to | DiagnosticReport | media.link.extension:link | Each attachment is a DocumentReference, referenced through the alternate-reference extension on media.link. The rendered report itself maps from presentedForm. |
CDA documents (eHDSI)
The same category is carried in CDA by these eHDSI document templates. Their structure, value sets and a validator for CDA documents are in the CDA guide.
Sources
Regulation (EU) 2025/327, Official Journal of the European Union; HL7 Europe FHIR implementation guides; Xt-EHR logical models (xtehr.eu.ehds.models). Ballot guides may still change. This guide is informational: it is not legal advice and not a certification of conformity.
