HL7 Europe Base and Core FHIR IG
2.0.0-recon - ci-build 150

HL7 Europe Base and Core FHIR IG, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 2.0.0-recon built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/base-r5/ and changes regularly. 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-recon
Standards status: Draft Maturity Level: 1 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:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 BindingsPurpose
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)) 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)) 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

doco 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-recon 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-recon 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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
.... 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)) 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)) 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)
... 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

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base example Medical Test Result Code 📦2.0.0-recon This IG
Observation.component.​code Base example Medical Test Result Code 📦2.0.0-recon This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 BindingsPurpose
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)) 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)) 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

doco 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-recon 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-recon 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)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 BindingsPurpose
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)) 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)) 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

doco 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-recon 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-recon 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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
.... 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)) 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)) 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)
... 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

doco Documentation for this format

Terminology Bindings (Differential)

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

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 BindingsPurpose
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)) 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)) 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

doco 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-recon 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-recon 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)

 

Other representations of profile: CSV, Excel, Schematron