HL7 Europe Base and Core FHIR IG
2.0.0-ballot - ballot 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-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/base/ and changes regularly. See the Directory of published versions

Resource Profile: MedicalTestResult (EU core)

Official URL: http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core Version: 2.0.0-ballot
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 sets minimum expectations for the Observation resource for Medical Test Results common to most of the use cases.

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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Closed by value:url
Constraints: ext-1
...... extension:observation 1..1 Extension Extension
Constraints: ext-1
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "observation"
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
...... extension:type 1..1 Extension reflex | repeat | re-run
Constraints: ext-1
....... url 1..1 uri "type"
...... extension:reason 0..1 Extension Reason that the observation was triggered
Constraints: ext-1
....... url 1..1 uri "reason"
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
..... value[x] 1..1 Attachment Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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 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
.... 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 < | <= | >= | > - 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 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... device 0..1 Reference(Device | DeviceMetric) (Measurement) 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(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component Σ 0..* BackboneElement Component results
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... 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
..... 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 < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... dataAbsentReason C 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.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:vital-signs Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
..... Slices for extension Content/Rules for all slices
...... extension:observation 1..1 Extension Extension
....... extension 0..0 Extension
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
..... value[x] 0..0 Value of extension
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... value[x] 1..1 Attachment Value of extension
... identifier 0..* Identifier Business Identifier for observation
... basedOn 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
... code 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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 value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period 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
... method 0..1 CodeableConcept How it was done
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange 0..* BackboneElement Provides guide for interpretation
... hasMember 0..* Reference(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component 0..* BackboneElement Component results
.... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual component result
Slice: Unordered, Open by type:$this
..... 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 preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... 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 resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Closed by value:url
Constraints: ext-1
...... extension:observation 1..1 Extension Extension
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "observation"
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
...... extension:type 1..1 Extension reflex | repeat | re-run
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "type"
....... value[x] 0..1 code reflex | repeat | re-run
Binding: R5_observation_triggeredbytype_for_R4 (0.0.1-snapshot-2) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension Reason that the observation was triggered
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "reason"
....... value[x] 0..1 string Reason that the observation was triggered
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
..... value[x] 1..1 Attachment Value of extension
... 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
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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
... 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
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... 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 < | <= | >= | > - 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 Σ 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 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) 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(4.0.1) Low Range, if relevant
.... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
.... 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 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component Σ 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 Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... 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
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... 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 < | <= | >= | > - 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 Σ 0..1 code Coded form of the unit
.... dataAbsentReason C 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 preferred Common Languages 📍4.0.1 FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version VS for R5.TriggeredBytype for use in FHIR R4 📍0.0.1-snapshot-2 FHIR Cross-Version Extensions package for FHIR R4 from FHIR R5 v0.0
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:vital-signs Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category
  • 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: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Closed by value:url
Constraints: ext-1
...... extension:observation 1..1 Extension Extension
Constraints: ext-1
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "observation"
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
...... extension:type 1..1 Extension reflex | repeat | re-run
Constraints: ext-1
....... url 1..1 uri "type"
...... extension:reason 0..1 Extension Reason that the observation was triggered
Constraints: ext-1
....... url 1..1 uri "reason"
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
..... value[x] 1..1 Attachment Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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 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
.... 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 < | <= | >= | > - 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 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... device 0..1 Reference(Device | DeviceMetric) (Measurement) 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(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component Σ 0..* BackboneElement Component results
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... 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
..... 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 < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... dataAbsentReason C 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.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:vital-signs Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
..... Slices for extension Content/Rules for all slices
...... extension:observation 1..1 Extension Extension
....... extension 0..0 Extension
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
..... value[x] 0..0 Value of extension
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... value[x] 1..1 Attachment Value of extension
... identifier 0..* Identifier Business Identifier for observation
... basedOn 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
... code 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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 value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period 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
... method 0..1 CodeableConcept How it was done
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange 0..* BackboneElement Provides guide for interpretation
... hasMember 0..* Reference(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component 0..* BackboneElement Component results
.... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual component result
Slice: Unordered, Open by type:$this
..... 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 preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... 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 resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference() Observed body structure
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
.... extension:triggeredBy 0..* (Complex) Triggering observation(s)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Closed by value:url
Constraints: ext-1
...... extension:observation 1..1 Extension Extension
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "observation"
....... value[x] 0..1 Reference(MedicalTestResult (EU core)) Triggering observation
...... extension:type 1..1 Extension reflex | repeat | re-run
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "type"
....... value[x] 0..1 code reflex | repeat | re-run
Binding: R5_observation_triggeredbytype_for_R4 (0.0.1-snapshot-2) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension Reason that the observation was triggered
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "reason"
....... value[x] 0..1 string Reason that the observation was triggered
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D]] only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value%5Bx%5D
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
..... value[x] 1..1 Attachment Value of extension
... 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
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:laboratory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category:vital-signs 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... 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
... 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
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... 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 < | <= | >= | > - 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 Σ 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 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) 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(4.0.1) Low Range, if relevant
.... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
.... 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 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(MedicalTestResult (EU core)) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(MedicalTestResult (EU core) | ImagingStudy) Related measurements the observation is made from
... component Σ 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 Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
.... 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
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... 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 < | <= | >= | > - 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 Σ 0..1 code Coded form of the unit
.... dataAbsentReason C 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 preferred Common Languages 📍4.0.1 FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version VS for R5.TriggeredBytype for use in FHIR R4 📍0.0.1-snapshot-2 FHIR Cross-Version Extensions package for FHIR R4 from FHIR R5 v0.0
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:vital-signs Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base preferred Laboratory Code 📦2.0.0-ballot This IG
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category
  • 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: 1

 

Other representations of profile: CSV, Excel, Schematron