## Profile Comparison between http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab vs http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab

Left: | Observation Results: laboratory (http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab)
Right: | Observation Results: laboratory (http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.1.0' vs '0.1.1'
Information | StructureDefinition.date | Values for date differ: '2024-02-20T12:32:58+01:00' vs '2025-03-18T19:39:50+01:00'
Information | StructureDefinition.short | Values for short differ: 'Concept - reference to a terminology or just text' vs 'Type of observation (code / type)'
Information | StructureDefinition.short | Values for short differ: 'Concept - reference to a terminology or just text' vs 'High, low, normal, etc.'
Information | StructureDefinition.definition | Values for definition differ: 'A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.' vs 'A categorical assessment of an observation value. For example, high, low, normal.'
Information | StructureDefinition.comment | Values for comment differ: 'Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.' vs 'Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.'
Information | StructureDefinition.short | Values for short differ: 'Concept - reference to a terminology or just text' vs 'How it was done'
Information | StructureDefinition.comment | Values for comment differ: 'Laboratory technique (method of measurement) are integral parts of the test specification of some laboratory test coding systems (e.g. NPU), in LOINC hovewer measurement principle is not always present in the test definition. In some cases however knowledge of the used measurment techique is important for proper interpretation of the test result. That's why it is important to explicitly include informaiton about measurement method is such cases.' vs 'Laboratory technique (method of measurement) are integral parts of the test specification of some laboratory test coding systems (e.g. NPU), in LOINC hovewer measurement principle is not always present in the test definition. In some cases however knowledge of the used measurment techique is important for proper interpretation of the test result. That's why it is important to explicitly include informaiton about measurement method is such cases.'
Error | Observation.hasMember | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab]]) vs Reference([CanonicalType[http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab]])
Information | StructureDefinition.short | Values for short differ: 'Concept - reference to a terminology or just text' vs 'Type of component observation (code / type)'
Information | StructureDefinition.definition | Values for definition differ: 'A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.' vs 'Describes what was observed. Sometimes this is called the observation 'code'.'
Information | StructureDefinition.comment | Values for comment differ: 'Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.' vs '*All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Observation |
copyright | Used by permission of HL7 Europe, all rights reserved Creative Commons License |
date | 2024-02-20T12:32:58+01:00 | 2025-03-18T19:39:50+01:00 | Values Differ
description | This profile constrains the Observation resource to represent results produced by laboratory tests or panels/studies for the HL7 Europe project. This observation may represent the result of a simple laboratory test such as hematocrit or it may group the set of results produced by a multi-test study or panel such as a complete blood count, a dynamic function test, a urine specimen study. In the latter case, the observation carries the overall conclusion of the study and or a global interpretation by the producer of the study, in the comment element; and references the atomic results of the study as "has-member" child observations. |
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#150 |
kind | resource |
name | ObservationResultsLaboratoryEu |
publisher | HL7 Europe |
purpose | This profile constrains the Observation resource to represent a laboratory in vitro diagnostic test or panel/study. In case of a panel/study, the results of the panel appear as sub-observations. In this case this top-level Observation acts as a grouper of all the observations belonging to the panel or study. The top-level observation may carry a conclusion in the value element and or a global interpretation by the producer of the study, in the comment element. |
status | active |
title | Observation Results: laboratory |
type | Observation |
url | http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab |
version | 0.1.0 | 0.1.1 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Laboratory result for a simple test or for a panel/study obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present eu-lab-1: If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component" eu-lab-2: If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" | C | 0..* | Observation | Laboratory result for a simple test or for a panel/study obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present eu-lab-1: If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component" eu-lab-2: If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
Slices for extension |  | 0..* | Extension | Laboratory Test Kit Slice: Unordered, Open by value:url |  | 0..* | Extension | Laboratory Test Kit Slice: Unordered, Open by value:url |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business Identifier for observation | Σ | 0..* | Identifier | Business Identifier for observation |
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ?? (required): Codes providing the status of an observation. | ?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ?? (required): Codes providing the status of an observation. |
Slices for category |  | 1..* | ?? | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ?? (preferred): Codes for high level observation categories. |  | 1..* | ?? | Classification of type of observation Slice: Unordered, Open by value:$this Binding: ?? (preferred): Codes for high level observation categories. |
code |  | 1..1 | ?? | Concept - reference to a terminology or just text Binding: ?? (preferred) | Σ | 1..1 | ?? | Type of observation (code / type) Binding: ?? (preferred) |
subject | Σ | 1..1 | Reference(Patient: Animal | Patient: Person | Group | Device | Location) | Who and/or what the observation is about | Σ | 1..1 | Reference(Patient: Animal | Patient: Person | Group | Device | Location) | Who and/or what the observation is about |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL | Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..1 | string | Text alternative for the resource | Σ | 0..1 | string | Text alternative for the resource |
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation | Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
issued | Σ | 0..1 | instant | Date/Time this result was made available | Σ | 0..1 | instant | Date/Time this result was made available |
performer | Σ | 1..* | Reference(PractitionerRole: Laboratory Report | Practitioner: Laboratory Report | Organization (IPS) | CareTeam | Patient: Person | RelatedPerson) | Who is responsible for the observation | Σ | 1..* | Reference(PractitionerRole: Laboratory Report | Practitioner: Laboratory Report | Organization (IPS) | CareTeam | Patient: Person | RelatedPerson) | Who is responsible for the observation |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..1 | string | Text alternative for the resource | Σ | 0..1 | string | Text alternative for the resource |
Slices for value[x] | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result Slice: Unordered, Open by type:$this | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result Slice: Unordered, Open by type:$this |
dataAbsentReason | C | 0..1 | CodeableConcept | Provides a reason why the expected value is missing. Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 0..1 | CodeableConcept | Provides a reason why the expected value is missing. Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | ?? | Concept - reference to a terminology or just text Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | ?? | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |
note |  | 0..* | Annotation | Comments about the observation |  | 0..* | Annotation | Comments about the observation |
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |  | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |
method |  | 0..1 | ?? | Concept - reference to a terminology or just text Binding: ?? (preferred) |  | 0..1 | ?? | How it was done Binding: ?? (preferred) |
specimen |  | 0..1 | Reference(Specimen: Laboratory) | Specimen used for this observation |  | 0..1 | Reference(Specimen: Laboratory) | Specimen used for this observation |
device |  | 0..1 | Reference(Device | DeviceMetric) | Measuring instrument |  | 0..1 | Reference(Device | DeviceMetric) | Measuring instrument |
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | C | 0..1 | ?? | Low Range, if relevant | C | 0..1 | ?? | Low Range, if relevant |
high | C | 0..1 | ?? | High Range, if relevant | C | 0..1 | ?? | High Range, if relevant |
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |
age |  | 0..1 | Range | Applicable age range, if relevant |  | 0..1 | Range | Applicable age range, if relevant |
text |  | 0..1 | string | Text based reference range in an observation |  | 0..1 | string | Text based reference range in an observation |
hasMember | Σ | 0..* | Reference(Observation Results: laboratory) | Related resource that belongs to the Observation group | Σ | 0..* | Reference(Observation Results: laboratory) | Related resource that belongs to the Observation group | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab]]) vs Reference([CanonicalType[http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab]])
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from |
component | Σ | 0..* | BackboneElement | Laboratory result | Σ | 0..* | BackboneElement | Laboratory result |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code |  | 1..1 | ?? | Concept - reference to a terminology or just text Binding: ?? (preferred) | Σ | 1..1 | ?? | Type of component observation (code / type) Binding: ?? (preferred) |
Slices for value[x] | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result Slice: Unordered, Open by type:$this | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result Slice: Unordered, Open by type:$this |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |
Documentation for this format