HL7 Europe Base and Core FHIR IG
2.0.0-gamma - qa-preview 150

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

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

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

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

Usages:

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

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

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

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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

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

This structure is derived from Observation

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

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG

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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] | Base | required | Cross-version VS for R5.TriggeredBytype for use in FHIR R4 | 📍0.0.1-snapshot-2 | FHIR Cross-Version Extensions package for FHIR R4 from FHIR R5 v0.0
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

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

This structure is derived from Observation

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

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

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
- http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
- http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty

Slices

This structure defines the following Slices:

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

Maturity: 1

Key Elements View

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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

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

Differential View

This structure is derived from Observation

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

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG

Snapshot View

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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] | Base | required | Cross-version VS for R5.TriggeredBytype for use in FHIR R4 | 📍0.0.1-snapshot-2 | FHIR Cross-Version Extensions package for FHIR R4 from FHIR R5 v0.0
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | preferred | Laboratory Code | 📦2.0.0-gamma | This IG
Observation.component.​value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

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

This structure is derived from Observation

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

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

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure
- http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
- http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty

Slices

This structure defines the following Slices:

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

Maturity: 1

Other representations of profile: CSV, Excel, Schematron