HL7 Europe Base and Core FHIR IG
2.0.0 - trial-use 150

HL7 Europe Base and Core FHIR IG - Downloaded Version 2.0.0 See the Directory of published versions

## Resource Profile: Observation: Medical Test Result (EU core)

Official URL: http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core | Version: 2.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: MedicalTestResultEuCore
Copyright/Legal: Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).

This profile introduces essential constraints and extensions for the Observation resource for Medical Test Results that apply across multiple use cases.

### Relationship to Laboratory Test Results

Laboratory test results are a specialization of medical test results. This profile serves as the common base for all medical test observations. For laboratory-specific contexts, the Observation Results: laboratory — which derives from this profile — SHOULD be used instead, as it adds constraints and elements specific to the laboratory domain (e.g., specimen, reference ranges, and laboratory-specific coding).

### Scope and Domains

This profile encompasses several key clinical areas where measurements and observations are captured:

- Laboratory Test Results: Clinical laboratory observations from pathology and hematology (e.g., blood counts, chemistry panels, microbiology cultures). For laboratory-specific use cases with detailed specimen and reference range information, the specialized Laboratory Observation profile SHALL be used.
- MDR Device Measurements: Data from medical devices such as blood gas analyzers, glucose meters, pulse oximeters, and ECG devices.
- Minimally Invasive & Non-Invasive Tests: Includes venous blood draws, finger-prick tests, swab sampling, and non-invasive measurements from saliva, sweat, or tears.
- Vital Signs & Morphometry: Standard metrics such as heart rate, blood pressure, BMI, and respiratory rate.
- Clinical Scores: Formal assessments like APGAR and the Glasgow Coma Scale (GCS).

### Data Types and Values (`Observation.value[x]`)

Depending on the specific test, this profile allows various FHIR data types to ensure clinical accuracy:

- Quantity: For vitals and physical measurements (e.g., body temperature, SpO₂).
- CodeableConcept: For qualitative coded results (e.g., blood type, microbiological culture findings, rapid test result as positive/negative SNOMED concept).
- SampledData: For continuous waveforms like ECG or EEG traces.
- Attachment: For device-generated reports or PDF strips (e.g., spirometry reports).
- boolean: Used for simple alerts (arrhythmia detected).

Usages:

- Refer to this Profile: Observation: Medical Test Result (EU core)
- Examples for this Profile: Observation/763f7902-8103-4d10-8bd1-546a726d43ee

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, obs-8
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the observation Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
category |  | 1..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject | Σ | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record
effective[x] | Σ | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
Slices for extension |  |  |  | Content/Rules for all slices
extension:performerFunction |  | 0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
Slices for value[x] | Σ C | 0..1 |  | Actual result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ C | 0..1 | Quantity | Actual result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
bodyStructure | C | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen | C | 0..1 | Reference(Specimen | Group) | Specimen used for the observation Constraints: obs-9
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
hasMember | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component | Σ C | 0..* | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] | Σ | 0..1 |  | Actual component result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std.
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`
obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present | `bodySite.exists() implies bodyStructure.empty()`
obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens | `(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)`

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
language |  | 0..1 | code | Language of the observation
identifier |  | 0..* | Identifier | Business Identifier for observation
basedOn |  | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
triggeredBy |  |  |  |
observation |  | 1..1 | Reference(Observation: Medical Test Result (EU core)) | Triggering observation
status |  | 1..1 | code | registered | preliminary | final | amended +
category |  | 1..* | CodeableConcept | Classification of type of observation
code |  | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject |  | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus |  | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record
effective[x] |  | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued |  | 0..1 | instant | Date/Time this version was made available
performer |  | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
Slices for extension |  |  |  | Content/Rules for all slices
extension:performerFunction |  | 0..* | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
Slices for value[x] |  | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual result Slice: Unordered, Open by type:$this
value[x]:valueQuantity |  | 0..1 | Quantity | Actual result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
dataAbsentReason |  | 0..1 | CodeableConcept | Why the result is missing
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part
bodyStructure |  | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done
specimen |  | 0..1 | Reference(Specimen | Group) | Specimen used for the observation
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange |  | 0..* | BackboneElement | Provides guide for interpretation
hasMember |  | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom |  | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component |  | 0..* | BackboneElement | Component results
code |  | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] |  | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual component result Slice: Unordered, Open by type:$this
value[x]:valueQuantity |  | 0..1 | Quantity | Actual component result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc
referenceRange |  | 0..* |  | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, obs-8
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the observation Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
instantiates[x] | Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
triggeredBy |  | 0..* | BackboneElement | Triggering observation(s)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
observation | Σ | 1..1 | Reference(Observation: Medical Test Result (EU core)) | Triggering observation
type | Σ | 1..1 | code | reflex | repeat | re-run Binding: TriggeredBytype (required): The type of TriggeredBy Observation.
reason |  | 0..1 | string | Reason that the observation was triggered
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
category |  | 1..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject | Σ | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | 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
effective[x] | Σ | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:performerFunction |  | 0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ C | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ C | 0..1 | string | Text alternative for the resource
Slices for value[x] | Σ C | 0..1 |  | Actual result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ C | 0..1 | Quantity | Actual result
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ C | 0..1 | code | Coded form of the unit
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
bodyStructure | C | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen | C | 0..1 | Reference(Specimen | Group) | Specimen used for the observation Constraints: obs-9
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(5.0.0) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(5.0.0) | High Range, if relevant
normalValue |  | 0..1 | CodeableConcept | Normal value, if relevant Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation.
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text | C | 0..1 | markdown | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component | Σ C | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] | Σ | 0..1 |  | Actual component result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ C | 0..1 | code | Coded form of the unit
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Observation.triggeredBy.​type | Base | required | triggered Bytype | 📍5.0.0 | FHIR Std.
Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std.
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.performer.​type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​normalValue | Base | extensible | Observation Reference Range Normal Value Codes | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std.
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`
obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present | `bodySite.exists() implies bodyStructure.empty()`
obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens | `(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)`

This structure is derived from Observation

Summary

Mandatory: 3 elements

Structures

This structure refers to these other structures:

- Observation: Medical Test Result (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core)
- Patient (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/patient-eu-core)
- Location (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/location-eu-core)
- Practitioner (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/practitioner-eu-core)
- PractitionerRole (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/practitionerRole-eu-core)
- Organization (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/organization-eu-core)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/event-performerFunction
- http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Observation.value[x]
- The element 1 is sliced based on the value of Observation.component.value[x]

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, obs-8
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the observation Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
category |  | 1..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject | Σ | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record
effective[x] | Σ | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
Slices for extension |  |  |  | Content/Rules for all slices
extension:performerFunction |  | 0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
Slices for value[x] | Σ C | 0..1 |  | Actual result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ C | 0..1 | Quantity | Actual result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
bodyStructure | C | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen | C | 0..1 | Reference(Specimen | Group) | Specimen used for the observation Constraints: obs-9
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
hasMember | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component | Σ C | 0..* | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] | Σ | 0..1 |  | Actual component result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std.
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`
obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present | `bodySite.exists() implies bodyStructure.empty()`
obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens | `(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)`

Differential View

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
language |  | 0..1 | code | Language of the observation
identifier |  | 0..* | Identifier | Business Identifier for observation
basedOn |  | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
triggeredBy |  |  |  |
observation |  | 1..1 | Reference(Observation: Medical Test Result (EU core)) | Triggering observation
status |  | 1..1 | code | registered | preliminary | final | amended +
category |  | 1..* | CodeableConcept | Classification of type of observation
code |  | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject |  | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus |  | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record
effective[x] |  | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued |  | 0..1 | instant | Date/Time this version was made available
performer |  | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
Slices for extension |  |  |  | Content/Rules for all slices
extension:performerFunction |  | 0..* | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
Slices for value[x] |  | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual result Slice: Unordered, Open by type:$this
value[x]:valueQuantity |  | 0..1 | Quantity | Actual result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
dataAbsentReason |  | 0..1 | CodeableConcept | Why the result is missing
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part
bodyStructure |  | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done
specimen |  | 0..1 | Reference(Specimen | Group) | Specimen used for the observation
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange |  | 0..* | BackboneElement | Provides guide for interpretation
hasMember |  | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom |  | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component |  | 0..* | BackboneElement | Component results
code |  | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] |  | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual component result Slice: Unordered, Open by type:$this
value[x]:valueQuantity |  | 0..1 | Quantity | Actual component result
Slices for extension |  |  |  | Content/Rules for all slices
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc
referenceRange |  | 0..* |  | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, obs-8
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the observation Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
instantiates[x] | Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
triggeredBy |  | 0..* | BackboneElement | Triggering observation(s)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
observation | Σ | 1..1 | Reference(Observation: Medical Test Result (EU core)) | Triggering observation
type | Σ | 1..1 | code | reflex | repeat | re-run Binding: TriggeredBytype (required): The type of TriggeredBy Observation.
reason |  | 0..1 | string | Reason that the observation was triggered
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
category |  | 1..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: Medical Test Result Code (example)
subject | Σ | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | 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
effective[x] | Σ | 1..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:performerFunction |  | 0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible)
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ C | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ C | 0..1 | string | Text alternative for the resource
Slices for value[x] | Σ C | 0..1 |  | Actual result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ C | 0..1 | Quantity | Actual result
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ C | 0..1 | code | Coded form of the unit
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
bodyStructure | C | 0..1 | Reference(BodyStructure) | Observed body structure
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen | C | 0..1 | Reference(Specimen | Group) | Specimen used for the observation Constraints: obs-9
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(5.0.0) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(5.0.0) | High Range, if relevant
normalValue |  | 0..1 | CodeableConcept | Normal value, if relevant Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation.
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text | C | 0..1 | markdown | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made
component | Σ C | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Medical Test Result Code (example)
Slices for value[x] | Σ | 0..1 |  | Actual component result Slice: Unordered, Open by type:$this
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(MolecularSequence) |
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:uncertainty |  | 0..1 | decimal | Standard Deviation (same units as the quantity) URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ C | 0..1 | code | Coded form of the unit
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Observation.triggeredBy.​type | Base | required | triggered Bytype | 📍5.0.0 | FHIR Std.
Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std.
Observation.code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.performer.​type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​normalValue | Base | extensible | Observation Reference Range Normal Value Codes | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std.
Observation.component.​code | Base | example | Medical Test Result Code | 📦2.0.0 | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`
obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present | `bodySite.exists() implies bodyStructure.empty()`
obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens | `(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)`

This structure is derived from Observation

Summary

Mandatory: 3 elements

Structures

This structure refers to these other structures:

- Observation: Medical Test Result (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core)
- Patient (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/patient-eu-core)
- Location (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/location-eu-core)
- Practitioner (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/practitioner-eu-core)
- PractitionerRole (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/practitionerRole-eu-core)
- Organization (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/organization-eu-core)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/event-performerFunction
- http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Observation.value[x]
- The element 1 is sliced based on the value of Observation.component.value[x]

Maturity: 2

Other representations of profile: CSV, Excel, Schematron