England Pathology and Laboratory Medicine (PaLM) Technical Framework
0.1.0 - ci-build United Kingdom flag

England Pathology and Laboratory Medicine (PaLM) Technical Framework - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Laboratory Result

Official URL: https://examplesihe.org.uk/StructureDefinition/LaboratoryResult Version: 0.1.0
Draft as of 2026-11-04 Computable Name: LaboratoryResult

Diagnostic - Laboratory A laboratory result (HL7 v2 OBX), or a test group (HL7 v2 OBR with several OBX) acting as an organizer whose hasMember are its results - for example the full blood count. NHS England marks organizers with the http://hl7.org/fhir/6.0/StructureDefinition/extension-Observation.organizer extension. NHS England's Pathology Laboratory Reporting API uses its own England-Observation-Lab-Pathology profile, which is also derived from HL7 Europe Laboratory.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Constraints: obs-6, obs-7, obs-value-1, eu-lab-1, eu-lab-2
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:bodyStructure 0..1 Reference(Cross-version Profile for R5.BodyStructure for use in FHIR R4(0.1.0) | BodyStructure) R5: Observed body structure (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation 1..1 Extension Extension
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
Observation.Slices for extension.extension:statusReason 0..1 CodeableConcept Reason for the current status
URL: http://hl7.org/fhir/StructureDefinition/event-statusReason
Binding Description: (example): Codes identifying the reason for the current state of an event.
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element must be supported. This element is included in summaries. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. This element is included in summaries. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.category:studyType 0..* CodeableConcept The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.)
Binding: Laboratory Study Types (required)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept What was measured (HL7 v2 OBX-3 Observation Identifier). SNOMED CT UK (PaLM) observable entity, optionally with LOINC
Binding: Laboratory Code (preferred)
Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.issued This element must be supported. This element is included in summaries. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. This element is included in summaries. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.performer.Slices for extension Content/Rules for all slices
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 0..1 HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueBoolean boolean
Observation.Slices for value[x].valueInteger integer
Observation.Slices for value[x].valueRange Range
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueSampledData SampledData
Observation.Slices for value[x].valueTime time
Observation.Slices for value[x].valueDateTime dateTime
Observation.Slices for value[x].valuePeriod Period
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab Actual result
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeEuLab Actual result
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueInteger This element is included in summaries. C 0..1 integer Actual result
Observation.Slices for value[x].value[x]:valueSampledData This element is included in summaries. C 0..1 SampledData Actual result
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. C 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.dataAbsentReason This element must be supported. C 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Binding: Laboratory Techniques (preferred)
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. C 0..* BackboneElement HL7 v2 OBX-7 References Range
Constraints: obs-3
Observation.referenceRange.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.referenceRange.Slices for modifierExtension.modifierExtension:lowComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range Low Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-low-comparator
Binding: Reference Range Low Comparator (required)
Observation.referenceRange.Slices for modifierExtension.modifierExtension:highComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range High Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-high-comparator
Binding: Reference Range High Comparator (required)
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember This element is included in summaries. 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version ValueSet R5.TriggeredBytype for use in FHIR R4 📍0.1.0 Extensions for Using Data Elements from FHIR R5 in FHIR R4 v0.1
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:studyType Base required Laboratory Study Types 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.category:specialty Base required Laboratory Specialty 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.code Base preferred Laboratory Code 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦2.1.0 HL7 Europe Laboratory Report v2.1

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())
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided with an actual value: "value", the R5 "value[x]" extension, "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation status is other then "registered" or "cancelled", every Observation.component shall provide one of these elements with an actual value: "value", the R5 "component.value[x]" extension or "dataAbsentReason" (status in ('registered'|'cancelled')) or component.all(value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').value.exists() or dataAbsentReason.exists())
ext-1 error Observation.extension:bodyStructure, Observation.extension:triggeredBy, Observation.extension:triggeredBy.extension, Observation.extension:triggeredBy.extension:observation, Observation.extension:triggeredBy.extension:type, Observation.extension:triggeredBy.extension:reason, Observation.extension:value-r5, Observation.extension:supportingInfo, Observation.extension:labTestKit, Observation.extension:certifiedRefMaterialCodeable, Observation.extension:certifiedRefMaterialIdentifer, Observation.extension:accredited, Observation.extension:statusReason, Observation.modifierExtension, Observation.performer.extension:performerFunction, Observation.value[x]:valueQuantity.extension:uncertainty, Observation.referenceRange.modifierExtension, Observation.referenceRange.modifierExtension:lowComparator, Observation.referenceRange.modifierExtension:highComparator 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()
obs-value-1 error Observation The elements Observation.extension:value-r5 and Observation.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').empty()

This structure is derived from ObservationResultsLaboratoryEu

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Observation.identifier This element must be supported. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.status This element must be supported. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Observation.subject This element must be supported. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.effective[x] This element must be supported. 1..1 dateTime, Period HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.issued This element must be supported. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.value[x] This element must be supported. 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Observation.dataAbsentReason This element must be supported. 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. 0..* BackboneElement HL7 v2 OBX-7 References Range
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Constraints: obs-6, obs-7, obs-value-1, eu-lab-1, eu-lab-2
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the observation
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:bodyStructure 0..1 Reference(Cross-version Profile for R5.BodyStructure for use in FHIR R4(0.1.0) | BodyStructure) R5: Observed body structure (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation 1..1 Extension Extension
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.value[x] 0..1 string Reason that the observation was triggered
Observation.Slices for extension.extension:triggeredBy.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
Observation.Slices for extension.extension:value-r5.value[x] 0..1 Attachment Actual result
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
Observation.Slices for extension.extension:statusReason 0..1 CodeableConcept Reason for the current status
URL: http://hl7.org/fhir/StructureDefinition/event-statusReason
Binding Description: (example): Codes identifying the reason for the current state of an event.
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element must be supported. This element is included in summaries. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. This element is included in summaries. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.category:studyType 0..* CodeableConcept The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.)
Binding: Laboratory Study Types (required)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept What was measured (HL7 v2 OBX-3 Observation Identifier). SNOMED CT UK (PaLM) observable entity, optionally with LOINC
Binding: Laboratory Code (preferred)
Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | Group | Device | Location (EU core) | Substance | BiologicallyDerivedProduct) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.issued This element must be supported. This element is included in summaries. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. This element is included in summaries. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.performer.id 0..1 string Unique id for inter-element referencing
Observation.performer.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.performer.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Observation.performer.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.performer.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.performer.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 0..1 HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueBoolean boolean
Observation.Slices for value[x].valueInteger integer
Observation.Slices for value[x].valueRange Range
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueSampledData SampledData
Observation.Slices for value[x].valueTime time
Observation.Slices for value[x].valueDateTime dateTime
Observation.Slices for value[x].valuePeriod Period
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab Actual result
Observation.Slices for value[x].value[x]:valueQuantity.id 0..1 string Unique id for inter-element referencing
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.Slices for value[x].value[x]:valueQuantity.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Observation.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.Slices for value[x].value[x]:valueQuantity.unit This element is included in summaries. 0..1 string Unit representation
Observation.Slices for value[x].value[x]:valueQuantity.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Observation.Slices for value[x].value[x]:valueQuantity.code This element is included in summaries. 0..1 code Coded form of the unit
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeEuLab Actual result
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueInteger This element is included in summaries. C 0..1 integer Actual result
Observation.Slices for value[x].value[x]:valueSampledData This element is included in summaries. C 0..1 SampledData Actual result
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. C 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.dataAbsentReason This element must be supported. C 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Binding: Laboratory Techniques (preferred)
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. C 0..* BackboneElement HL7 v2 OBX-7 References Range
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.referenceRange.Slices for modifierExtension.modifierExtension:lowComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range Low Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-low-comparator
Binding: Reference Range Low Comparator (required)
Observation.referenceRange.Slices for modifierExtension.modifierExtension:highComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range High Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-high-comparator
Binding: Reference Range High Comparator (required)
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember This element is included in summaries. 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)
Observation.derivedFrom This element is included in summaries. 0..* Reference(Observation: Medical Test Result (EU core) | ImagingStudy) Related measurements the observation is made from
Observation.component This element is included in summaries. C 0..* BackboneElement Laboratory result
Constraints: obs-value-2
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value
Constraints: ext-1
Observation.component.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.component.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value"
Observation.component.Slices for extension.extension:value-r5.value[x] 0..1 Attachment Actual component result
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
Observation.component.Slices for value[x] This element is included in summaries. 0..1 Actual component result
Slice: Unordered, Closed by type:$this
Observation.component.Slices for value[x].valueQuantity Quantity
Observation.component.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.component.Slices for value[x].valueString string
Observation.component.Slices for value[x].valueBoolean boolean
Observation.component.Slices for value[x].valueInteger integer
Observation.component.Slices for value[x].valueRange Range
Observation.component.Slices for value[x].valueRatio Ratio
Observation.component.Slices for value[x].valueSampledData SampledData
Observation.component.Slices for value[x].valueTime time
Observation.component.Slices for value[x].valueDateTime dateTime
Observation.component.Slices for value[x].valuePeriod Period
Observation.component.Slices for value[x].value[x]:valueQuantity This element is included in summaries. 0..1 QuantityEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueQuantity.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.component.Slices for value[x].value[x]:valueQuantity.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Observation.component.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.component.Slices for value[x].value[x]:valueQuantity.unit This element is included in summaries. 0..1 string Unit representation
Observation.component.Slices for value[x].value[x]:valueQuantity.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Observation.component.Slices for value[x].value[x]:valueQuantity.code This element is included in summaries. 0..1 code Coded form of the unit
Observation.component.Slices for value[x].value[x]:valueString This element is included in summaries. 0..1 string Actual component result
Observation.component.Slices for value[x].value[x]:valueRange This element is included in summaries. 0..1 RangeEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueRatio This element is included in summaries. 0..1 RatioEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueTime This element is included in summaries. 0..1 time Actual component result
Observation.component.Slices for value[x].value[x]:valueDateTime This element is included in summaries. 0..1 dateTime Actual component result
Observation.component.Slices for value[x].value[x]:valuePeriod This element is included in summaries. 0..1 Period Actual component result
Observation.component.Slices for value[x].value[x]:valueBoolean This element is included in summaries. 0..1 boolean Actual component result
Observation.component.Slices for value[x].value[x]:valueInteger This element is included in summaries. 0..1 integer Actual component result
Observation.component.Slices for value[x].value[x]:valueSampledData This element is included in summaries. 0..1 SampledData Actual component result
Observation.component.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.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 ValueSet R5.TriggeredBytype for use in FHIR R4 📍0.1.0 Extensions for Using Data Elements from FHIR R5 in FHIR R4 v0.1
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:studyType Base required Laboratory Study Types 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.category:specialty Base required Laboratory Specialty 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.code Base preferred Laboratory Code 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.performer.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
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 preferred Laboratory Techniques 📦2.1.0 HL7 Europe Laboratory Report v2.1
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.1.0 HL7 Europe Laboratory Report v2.1
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
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())
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided with an actual value: "value", the R5 "value[x]" extension, "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation status is other then "registered" or "cancelled", every Observation.component shall provide one of these elements with an actual value: "value", the R5 "component.value[x]" extension or "dataAbsentReason" (status in ('registered'|'cancelled')) or component.all(value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').value.exists() or dataAbsentReason.exists())
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()
obs-value-1 error Observation The elements Observation.extension:value-r5 and Observation.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').empty()
obs-value-2 error Observation.component The elements Observation.component.extension:value-r5 and Observation.component.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').empty()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Constraints: obs-6, obs-7, obs-value-1, eu-lab-1, eu-lab-2
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:bodyStructure 0..1 Reference(Cross-version Profile for R5.BodyStructure for use in FHIR R4(0.1.0) | BodyStructure) R5: Observed body structure (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation 1..1 Extension Extension
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
Observation.Slices for extension.extension:statusReason 0..1 CodeableConcept Reason for the current status
URL: http://hl7.org/fhir/StructureDefinition/event-statusReason
Binding Description: (example): Codes identifying the reason for the current state of an event.
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element must be supported. This element is included in summaries. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. This element is included in summaries. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.category:studyType 0..* CodeableConcept The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.)
Binding: Laboratory Study Types (required)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept What was measured (HL7 v2 OBX-3 Observation Identifier). SNOMED CT UK (PaLM) observable entity, optionally with LOINC
Binding: Laboratory Code (preferred)
Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.issued This element must be supported. This element is included in summaries. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. This element is included in summaries. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.performer.Slices for extension Content/Rules for all slices
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 0..1 HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueBoolean boolean
Observation.Slices for value[x].valueInteger integer
Observation.Slices for value[x].valueRange Range
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueSampledData SampledData
Observation.Slices for value[x].valueTime time
Observation.Slices for value[x].valueDateTime dateTime
Observation.Slices for value[x].valuePeriod Period
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab Actual result
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeEuLab Actual result
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueInteger This element is included in summaries. C 0..1 integer Actual result
Observation.Slices for value[x].value[x]:valueSampledData This element is included in summaries. C 0..1 SampledData Actual result
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. C 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.dataAbsentReason This element must be supported. C 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Binding: Laboratory Techniques (preferred)
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. C 0..* BackboneElement HL7 v2 OBX-7 References Range
Constraints: obs-3
Observation.referenceRange.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.referenceRange.Slices for modifierExtension.modifierExtension:lowComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range Low Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-low-comparator
Binding: Reference Range Low Comparator (required)
Observation.referenceRange.Slices for modifierExtension.modifierExtension:highComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range High Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-high-comparator
Binding: Reference Range High Comparator (required)
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember This element is included in summaries. 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version ValueSet R5.TriggeredBytype for use in FHIR R4 📍0.1.0 Extensions for Using Data Elements from FHIR R5 in FHIR R4 v0.1
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:studyType Base required Laboratory Study Types 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.category:specialty Base required Laboratory Specialty 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.code Base preferred Laboratory Code 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦2.1.0 HL7 Europe Laboratory Report v2.1

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())
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided with an actual value: "value", the R5 "value[x]" extension, "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation status is other then "registered" or "cancelled", every Observation.component shall provide one of these elements with an actual value: "value", the R5 "component.value[x]" extension or "dataAbsentReason" (status in ('registered'|'cancelled')) or component.all(value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').value.exists() or dataAbsentReason.exists())
ext-1 error Observation.extension:bodyStructure, Observation.extension:triggeredBy, Observation.extension:triggeredBy.extension, Observation.extension:triggeredBy.extension:observation, Observation.extension:triggeredBy.extension:type, Observation.extension:triggeredBy.extension:reason, Observation.extension:value-r5, Observation.extension:supportingInfo, Observation.extension:labTestKit, Observation.extension:certifiedRefMaterialCodeable, Observation.extension:certifiedRefMaterialIdentifer, Observation.extension:accredited, Observation.extension:statusReason, Observation.modifierExtension, Observation.performer.extension:performerFunction, Observation.value[x]:valueQuantity.extension:uncertainty, Observation.referenceRange.modifierExtension, Observation.referenceRange.modifierExtension:lowComparator, Observation.referenceRange.modifierExtension:highComparator 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()
obs-value-1 error Observation The elements Observation.extension:value-r5 and Observation.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').empty()

Differential View

This structure is derived from ObservationResultsLaboratoryEu

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Observation.identifier This element must be supported. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.status This element must be supported. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Observation.code This element must be supported. 1..1 CodeableConcept What was measured (HL7 v2 OBX-3 Observation Identifier). SNOMED CT UK (PaLM) observable entity, optionally with LOINC
Observation.subject This element must be supported. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.effective[x] This element must be supported. 1..1 dateTime, Period HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.issued This element must be supported. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.value[x] This element must be supported. 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Observation.dataAbsentReason This element must be supported. 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. 0..* BackboneElement HL7 v2 OBX-7 References Range
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
Constraints: obs-6, obs-7, obs-value-1, eu-lab-1, eu-lab-2
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the observation
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:bodyStructure 0..1 Reference(Cross-version Profile for R5.BodyStructure for use in FHIR R4(0.1.0) | BodyStructure) R5: Observed body structure (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation 1..1 Extension Extension
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:type.value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy.Slices for extension.extension:reason.value[x] 0..1 string Reason that the observation was triggered
Observation.Slices for extension.extension:triggeredBy.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
Observation.Slices for extension.extension:value-r5.value[x] 0..1 Attachment Actual result
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
Observation.Slices for extension.extension:statusReason 0..1 CodeableConcept Reason for the current status
URL: http://hl7.org/fhir/StructureDefinition/event-statusReason
Binding Description: (example): Codes identifying the reason for the current state of an event.
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element must be supported. This element is included in summaries. 0..* CorrelationIdentifier Business Identifier for observation
Observation.basedOn This element must be supported. This element is included in summaries. 0..* Reference(Laboratory Order) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code HL7 v2 OBX-11 Observation Result Status - see ConceptMap v2-0085 to Observation.status
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.category:studyType 0..* CodeableConcept The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.)
Binding: Laboratory Study Types (required)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept What was measured (HL7 v2 OBX-3 Observation Identifier). SNOMED CT UK (PaLM) observable entity, optionally with LOINC
Binding: Laboratory Code (preferred)
Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(Patient) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | Group | Device | Location (EU core) | Substance | BiologicallyDerivedProduct) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 HL7 v2 OBX-14 Date/Time of the Observation, otherwise OBR-7
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.issued This element must be supported. This element is included in summaries. 0..1 instant HL7 v2 OBR-22 Results Rpt/Status Chng - Date/Time
Observation.performer This element must be supported. This element is included in summaries. 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) HL7 v2 OBX-23 Performing Organization Name, OBX-16 Responsible Observer
Observation.performer.id 0..1 string Unique id for inter-element referencing
Observation.performer.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.performer.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Observation.performer.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.performer.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.performer.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 0..1 HL7 v2 OBX-5 Observation Value, typed by OBX-2 Value Type, with OBX-6 Units
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueBoolean boolean
Observation.Slices for value[x].valueInteger integer
Observation.Slices for value[x].valueRange Range
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueSampledData SampledData
Observation.Slices for value[x].valueTime time
Observation.Slices for value[x].valueDateTime dateTime
Observation.Slices for value[x].valuePeriod Period
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab Actual result
Observation.Slices for value[x].value[x]:valueQuantity.id 0..1 string Unique id for inter-element referencing
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.Slices for value[x].value[x]:valueQuantity.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Observation.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.Slices for value[x].value[x]:valueQuantity.unit This element is included in summaries. 0..1 string Unit representation
Observation.Slices for value[x].value[x]:valueQuantity.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Observation.Slices for value[x].value[x]:valueQuantity.code This element is included in summaries. 0..1 code Coded form of the unit
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeEuLab Actual result
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueInteger This element is included in summaries. C 0..1 integer Actual result
Observation.Slices for value[x].value[x]:valueSampledData This element is included in summaries. C 0..1 SampledData Actual result
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. C 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.dataAbsentReason This element must be supported. C 0..1 CodeableConcept Why there is no value, e.g. HL7 v2 OBX-11 = X (results cannot be obtained)
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation This element must be supported. 0..* CodeableConcept HL7 v2 OBX-8 Abnormal Flags
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note This element must be supported. 0..* Annotation HL7 v2 NTE following the OBX
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept HL7 v2 OBX-17 Observation Method
Binding: Laboratory Techniques (preferred)
Observation.specimen This element must be supported. 0..1 Reference(Specimen) Specimen used for the observation
Observation.device 0..1 Reference(Device | DeviceMetric) HL7 v2 OBX-18 Equipment Instance Identifier
Observation.referenceRange This element must be supported. C 0..* BackboneElement HL7 v2 OBX-7 References Range
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.referenceRange.Slices for modifierExtension.modifierExtension:lowComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range Low Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-low-comparator
Binding: Reference Range Low Comparator (required)
Observation.referenceRange.Slices for modifierExtension.modifierExtension:highComparator This element is a modifier element. This element is included in summaries. 0..1 code Observation Reference Range High Comparator
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-reference-range-high-comparator
Binding: Reference Range High Comparator (required)
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string HL7 v2 OBX-7 as sent, where it cannot be parsed into low/high
Observation.hasMember This element is included in summaries. 0..* Reference(Observation Results: laboratory) Results of a test group - the OBX under the OBR (or grouped by HL7 v2 OBX-4 Observation Sub-ID)
Observation.derivedFrom This element is included in summaries. 0..* Reference(Observation: Medical Test Result (EU core) | ImagingStudy) Related measurements the observation is made from
Observation.component This element is included in summaries. C 0..* BackboneElement Laboratory result
Constraints: obs-value-2
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value
Constraints: ext-1
Observation.component.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
Observation.component.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value"
Observation.component.Slices for extension.extension:value-r5.value[x] 0..1 Attachment Actual component result
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: Laboratory Code (preferred)
Observation.component.Slices for value[x] This element is included in summaries. 0..1 Actual component result
Slice: Unordered, Closed by type:$this
Observation.component.Slices for value[x].valueQuantity Quantity
Observation.component.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.component.Slices for value[x].valueString string
Observation.component.Slices for value[x].valueBoolean boolean
Observation.component.Slices for value[x].valueInteger integer
Observation.component.Slices for value[x].valueRange Range
Observation.component.Slices for value[x].valueRatio Ratio
Observation.component.Slices for value[x].valueSampledData SampledData
Observation.component.Slices for value[x].valueTime time
Observation.component.Slices for value[x].valueDateTime dateTime
Observation.component.Slices for value[x].valuePeriod Period
Observation.component.Slices for value[x].value[x]:valueQuantity This element is included in summaries. 0..1 QuantityEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueQuantity.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension Content/Rules for all slices
Observation.component.Slices for value[x].value[x]:valueQuantity.Slices for extension.extension:uncertainty 0..1 decimal Standard Deviation (same units as the quantity)
URL: http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty
Observation.component.Slices for value[x].value[x]:valueQuantity.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Observation.component.Slices for value[x].value[x]:valueQuantity.comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Observation.component.Slices for value[x].value[x]:valueQuantity.unit This element is included in summaries. 0..1 string Unit representation
Observation.component.Slices for value[x].value[x]:valueQuantity.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Observation.component.Slices for value[x].value[x]:valueQuantity.code This element is included in summaries. 0..1 code Coded form of the unit
Observation.component.Slices for value[x].value[x]:valueString This element is included in summaries. 0..1 string Actual component result
Observation.component.Slices for value[x].value[x]:valueRange This element is included in summaries. 0..1 RangeEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueRatio This element is included in summaries. 0..1 RatioEuLab Actual component result
Observation.component.Slices for value[x].value[x]:valueTime This element is included in summaries. 0..1 time Actual component result
Observation.component.Slices for value[x].value[x]:valueDateTime This element is included in summaries. 0..1 dateTime Actual component result
Observation.component.Slices for value[x].value[x]:valuePeriod This element is included in summaries. 0..1 Period Actual component result
Observation.component.Slices for value[x].value[x]:valueBoolean This element is included in summaries. 0..1 boolean Actual component result
Observation.component.Slices for value[x].value[x]:valueInteger This element is included in summaries. 0..1 integer Actual component result
Observation.component.Slices for value[x].value[x]:valueSampledData This element is included in summaries. 0..1 SampledData Actual component result
Observation.component.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS (preferred)
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.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 ValueSet R5.TriggeredBytype for use in FHIR R4 📍0.1.0 Extensions for Using Data Elements from FHIR R5 in FHIR R4 v0.1
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:studyType Base required Laboratory Study Types 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.category:specialty Base required Laboratory Specialty 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.code Base preferred Laboratory Code 📦2.1.0 HL7 Europe Laboratory Report v2.1
Observation.performer.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
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 preferred Laboratory Techniques 📦2.1.0 HL7 Europe Laboratory Report v2.1
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.1.0 HL7 Europe Laboratory Report v2.1
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS 📦2.0.1 International Patient Summary Implementation Guide v2.0
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())
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided with an actual value: "value", the R5 "value[x]" extension, "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation status is other then "registered" or "cancelled", every Observation.component shall provide one of these elements with an actual value: "value", the R5 "component.value[x]" extension or "dataAbsentReason" (status in ('registered'|'cancelled')) or component.all(value.hasValue() or value.children().exclude(value.extension).exists() or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').value.exists() or dataAbsentReason.exists())
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()
obs-value-1 error Observation The elements Observation.extension:value-r5 and Observation.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value').empty()
obs-value-2 error Observation.component The elements Observation.component.extension:value-r5 and Observation.component.value[x] SHALL not be used simultaneously. value.empty() or extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.component.value').empty()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

 

Other representations of profile: CSV, Excel, Schematron