HL7 Europe Laboratory Report
2.0.0 - ci-build 150

HL7 Europe Laboratory Report, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/laboratory/ and changes regularly. See the Directory of published versions

Resource Profile: Observation Results: laboratory

Official URL: http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab Version: 2.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: ObservationResultsLaboratoryEu

Copyright/Legal: Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).

This profile constrains the Observation resource to represent results produced by laboratory tests or panels/studies for the HL7 Europe project. This observation may represent the result of a simple laboratory test such as hematocrit or it may group the set of results produced by a multi-test study or panel such as a complete blood count, a dynamic function test, a urine specimen study. In the latter case, the observation carries the overall conclusion of the study and or a global interpretation by the producer of the study, in the comment element; and references the atomic results of the study as "has-member" child observations.

This profile constrains the Observation resource to represent a laboratory in vitro diagnostic test or panel/study. In case of a panel/study, the results of the panel appear as sub-observations. In this case this top-level Observation acts as a grouper of all the observations belonging to the panel or study. The top-level observation may carry a conclusion in the value element and or a global interpretation by the producer of the study, in the comment element.

Medical and Laboratory Test Results

Medical Test Results

Medical test results represent the outcomes of procedures performed to determine values of properties of the human body or of subjects related to the body (e.g., environment, substances, animals, devices etc.).

This broad category includes laboratory test results typically based on in vitro diagnostic devices that follow In Vitro Diagnostic Medical Devices Regulation (IVDR) (EU) 2017/746 and results based on measurements and diagnostic functions by medical devices according to the Medical Device Regulation (MDR) 2017/745. Additionally, the medical test results may include results from direct observation or emerging technologies for minimally invasive tests, such as biosensor monitoring or other non-invasive tests for direct measurement of the properties of saliva, sweat, or tears, as well as techniques for transcutaneous measurement of properties, regardless of whether the measurement is performed in a healthcare provider setting, such as in dedicated outpatient clinics, or at the point of care, or in patient’s home environment.

Medical test results include, but are not limited to:

  • laboratory tests typically based on in vitro diagnostic devices regulated under the IVDR (EU) 2017/746;
  • results from measurements performed by medical devices regulated under the MDR (EU) 2017/745, such as physiological or functional in vivo measurements;
  • measurement results obtained by the imaging observation methods
  • examination results from observation of the patient, body parts of the patient and/or their functions
  • results generated by emerging technologies, including minimally invasive or non-invasive techniques such as biosensors and direct measurements from saliva, sweat, or tears, as well as transcutaneous measurement techniques.

Laboratory Test Results

Laboratory test results are a subset of medical test results and represent electronic health data produced by studies performed primarily using in vitro diagnostic methods under controlled conditions.

Laboratory test results constitute a major subset of medical test results and represent the primary focus of the specifications defined in this IG. Laboratory test results in electronic form represent results from studies performed through in vitro diagnostics such as clinical biochemistry, haematology, transfusion medicine, microbiology, immunology and related disciplines. Laboratory test results are often provided together with additional information supporting the interpretation of the results.

Laboratory test results are typically produced using in vitro diagnostic devices compliant with IVDR (EU) 2017/746. The results may originate from dedicated laboratories, point of care testing performed in healthcare settings such as doctor’s office or hospital wards, or from supervised testing performed in a non-clinical environment, including patient homes.

Laboratory test results are typically characterized by:

  • controlled environmental conditions (e.g. temperature, humidity, lighting);
  • standardized and validated standard operating procedures (SOPs);
  • use of calibrated and maintained instruments;
  • application of internal quality control (IQC) and participation in external quality assessment (EQA) / proficiency testing schemes;
  • performance by trained and qualified personnel operating within defined professional roles and responsibilities.

Laboratory results are typically generated in:

  • accredited clinical laboratories,
  • hospital laboratory departments,
  • or certified POCT environments operating under laboratory governance frameworks.

These conditions provide a high level of analytical reliability and support the use of laboratory test results for diagnostic decision-making, clinical monitoring, and secondary use such as research and population health analysis.

Guidance for Use

It is not easy to draw a clear line between general medical test results and laboratory test results as they are rather similar, with only minor differences in content, as shown in the logical models. Nevertheless, FHIR IG developers and implementers of the EHR systems would have to decide which type of observation to use. We propose to take into consideration the following rules:

  • Use Laboratory test results when results originate from in vitro diagnostic procedures performed under laboratory governance and quality assurance frameworks.
  • Use Medical test results as the broader category for results obtained across different environments and technologies.
  • When representing medical including laboratory test results, ensure that the measurement context is available to support appropriate clinical interpretation.

Implementation note: Laboratory panels

Laboratory panels (or batteries) are predefined groups of tests that can be ordered from a laboratory using a single code from a chosen coding system. Upon receiving such an order, the laboratory expands it into its individual component tests and reports results for each test separately.

If it is necessary to preserve the relationship between the panel and its component tests, the panel should be represented as a grouping Observation. In this approach, the panel code is used as the code of the grouping Observation, and each component test is represented as a separate Observation. These individual Observations are then linked to the grouping Observation via the hasMember reference.

Implementation note: Reflex tests

Reflex tests are additional laboratory tests performed automatically based on predefined criteria, such as the result of an initial test. They are not usually ordered directly as part of the original request, but are triggered by the laboratory workflow when specific conditions are met.

When it is necessary to preserve the relationship between the initial test and the reflex test, this relationship should be represented using the triggeredBy element. The original test result is represented as one Observation, and each reflex test result is represented as a separate Observation. The reflex test Observation should reference the Observation that triggered it using triggeredBy.observation, and the appropriate trigger type should be recorded in triggeredBy.type.

This allows the result report to clearly indicate that the reflex test was performed as a consequence of another observation, while keeping each test result as a distinct Observation.

This profile offers two options to indicate the Certified Reference Material used for the calibration (in general when the UCUM International Units are used for the results [IU]).

  • The first to be used when the Certified Reference Material is represented by a coded concept
  • The second when the Certified Reference Material is identified with an Identifier.

Adopters are invited to give their feedback about

  1. The most proper way to refer the Certified Reference Material, that is by using an Identifier or a CodeableConcept
  2. If a CodeableReference should be used
  3. If this information should be an extension of the Observation resource, or of other elements (e.g. DeviceMetric.calibration)

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... 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
.... extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open 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] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
...... extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
....... url 1..1 uri "type"
....... value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
....... url 1..1 uri "reason"
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... subject Σ 1..1 Reference(Patient (EU core) | Device | Group | Location) Who and/or what the observation is about
... focus Σ 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | 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 result was made available
... performer Σ 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) Who is responsible for the observation
.... Slices for extension Content/Rules for all slices
..... extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed 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 QuantityEuLab 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.
.... value[x]:valueString ΣC 0..1 string Actual result
.... value[x]:valueRange ΣC 0..1 RangeEuLab Actual result
.... value[x]:valueRatio ΣC 0..1 RatioEuLab Actual result
.... value[x]:valueTime ΣC 0..1 time Actual result
.... value[x]:valueDateTime ΣC 0..1 dateTime Actual result
.... value[x]:valuePeriod ΣC 0..1 Period Actual result
.... value[x]:valueCodeableConcept ΣC 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason C 0..1 CodeableConcept Provides a reason why the expected value is missing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... hasMember Σ 0..* Reference(Observation Results: laboratory) Related resource that belongs to the Observation group
... component Σ 0..* BackboneElement Laboratory result
.... Slices for extension Content/Rules for all slices
..... 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
...... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
...... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
.... 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, Closed 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 QuantityEuLab 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.
..... value[x]:valueString Σ 0..1 string Actual component result
..... value[x]:valueRange Σ 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio Σ 0..1 RatioEuLab Actual component result
..... value[x]:valueTime Σ 0..1 time Actual component result
..... value[x]:valueDateTime Σ 0..1 dateTime Actual component result
..... value[x]:valuePeriod Σ 0..1 Period Actual component result
..... value[x]:valueCodeableConcept Σ 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate

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.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦2.0.0 This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu

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: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.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.modifierExtension, Observation.performer.extension:performerFunction, Observation.value[x]:valueQuantity.extension:uncertainty, Observation.component.extension:value-r5, Observation.component.modifierExtension, Observation.component.value[x]:valueQuantity.extension:uncertainty Must have either extensions or value[x], not both extension.exists() != value.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 MedicalTestResultEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore Laboratory result for a simple test or for a panel/study
Constraints: eu-lab-1, eu-lab-2
... Slices for extension Content/Rules for all slices
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... status 1..1 code Status of this observation (e.g. preliminary, final,...)
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... focus 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | Group | Device | Location (EU core)) What the observation is about, when it is not about the subject of record
... issued 0..1 instant Date/Time this result was made available
... performer 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) 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, Closed by type:$this
.... value[x]:valueQuantity 0..1 QuantityEuLab Actual result
.... value[x]:valueString 0..1 string Actual result
.... value[x]:valueRange 0..1 RangeEuLab Actual result
.... value[x]:valueRatio 0..1 RatioEuLab Actual result
.... value[x]:valueTime 0..1 time Actual result
.... value[x]:valueDateTime 0..1 dateTime Actual result
.... value[x]:valuePeriod 0..1 Period Actual result
.... value[x]:valueCodeableConcept 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason 0..1 CodeableConcept Provides a reason why the expected value is missing.
... method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... hasMember 0..* Reference(Observation Results: laboratory) Related resource that belongs to the Observation group
... component 0..* BackboneElement Laboratory result
.... 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, Closed by type:$this
..... value[x]:valueQuantity 0..1 QuantityEuLab Actual component result
..... value[x]:valueString 0..1 string Actual component result
..... value[x]:valueRange 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio 0..1 RatioEuLab Actual component result
..... value[x]:valueTime 0..1 time Actual component result
..... value[x]:valueDateTime 0..1 dateTime Actual component result
..... value[x]:valuePeriod 0..1 Period Actual component result
..... value[x]:valueCodeableConcept 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.category:studyType Base required Laboratory Study Types 📦2.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS . ⏿2.0.0 tx.hl7europe.eu
Observation.method Base preferred Laboratory Techniques 📦2.0.0 This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0 This IG
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS . ⏿2.0.0 tx.hl7europe.eu

Constraints

Id Grade Path(s) Description Expression
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore 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
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference(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
.... extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
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, Open 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] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
...... extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
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] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "reason"
....... value[x] 0..1 string Reason that the observation was triggered
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
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 "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
..... value[x] 0..1 Attachment Actual result
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... 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 Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an 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.
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... subject Σ 1..1 Reference(Patient (EU core) | Device | Group | Location) Who and/or what the observation is about
... focus Σ 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | 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 result was made available
... performer Σ 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) Who is responsible for the observation
.... 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:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed 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 QuantityEuLab 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
.... value[x]:valueString ΣC 0..1 string Actual result
.... value[x]:valueRange ΣC 0..1 RangeEuLab Actual result
.... value[x]:valueRatio ΣC 0..1 RatioEuLab Actual result
.... value[x]:valueTime ΣC 0..1 time Actual result
.... value[x]:valueDateTime ΣC 0..1 dateTime Actual result
.... value[x]:valuePeriod ΣC 0..1 Period Actual result
.... value[x]:valueCodeableConcept ΣC 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason C 0..1 CodeableConcept Provides a reason why the expected value 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: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... 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 Results: laboratory) 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 Laboratory result
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... 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
...... 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 "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
...... value[x] 0..1 Attachment Actual result
.... 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, Closed 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 QuantityEuLab 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
..... value[x]:valueString Σ 0..1 string Actual component result
..... value[x]:valueRange Σ 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio Σ 0..1 RatioEuLab Actual component result
..... value[x]:valueTime Σ 0..1 time Actual component result
..... value[x]:valueDateTime Σ 0..1 dateTime Actual component result
..... value[x]:valuePeriod Σ 0..1 Period Actual component result
..... value[x]:valueCodeableConcept Σ 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version 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.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu
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.0.0 This IG
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 This IG
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.0 tx.hl7europe.eu
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: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.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()

This structure is derived from MedicalTestResultEuCore

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category
  • The element 1 is sliced based on the value of Observation.value[x] (Closed)
  • The element 1 is sliced based on the value of Observation.component.value[x] (Closed)

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... 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
.... extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Constraints: ext-1
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open 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] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
...... extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
Constraints: ext-1
....... url 1..1 uri "type"
....... value[x] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
....... url 1..1 uri "reason"
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
Constraints: ext-1
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... subject Σ 1..1 Reference(Patient (EU core) | Device | Group | Location) Who and/or what the observation is about
... focus Σ 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | 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 result was made available
... performer Σ 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) Who is responsible for the observation
.... Slices for extension Content/Rules for all slices
..... extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed 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 QuantityEuLab 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.
.... value[x]:valueString ΣC 0..1 string Actual result
.... value[x]:valueRange ΣC 0..1 RangeEuLab Actual result
.... value[x]:valueRatio ΣC 0..1 RatioEuLab Actual result
.... value[x]:valueTime ΣC 0..1 time Actual result
.... value[x]:valueDateTime ΣC 0..1 dateTime Actual result
.... value[x]:valuePeriod ΣC 0..1 Period Actual result
.... value[x]:valueCodeableConcept ΣC 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason C 0..1 CodeableConcept Provides a reason why the expected value is missing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... hasMember Σ 0..* Reference(Observation Results: laboratory) Related resource that belongs to the Observation group
... component Σ 0..* BackboneElement Laboratory result
.... Slices for extension Content/Rules for all slices
..... 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
...... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
...... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
.... 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, Closed 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 QuantityEuLab 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.
..... value[x]:valueString Σ 0..1 string Actual component result
..... value[x]:valueRange Σ 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio Σ 0..1 RatioEuLab Actual component result
..... value[x]:valueTime Σ 0..1 time Actual component result
..... value[x]:valueDateTime Σ 0..1 dateTime Actual component result
..... value[x]:valuePeriod Σ 0..1 Period Actual component result
..... value[x]:valueCodeableConcept Σ 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate

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.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦2.0.0 This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu

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: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.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.modifierExtension, Observation.performer.extension:performerFunction, Observation.value[x]:valueQuantity.extension:uncertainty, Observation.component.extension:value-r5, Observation.component.modifierExtension, Observation.component.value[x]:valueQuantity.extension:uncertainty Must have either extensions or value[x], not both extension.exists() != value.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 MedicalTestResultEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore Laboratory result for a simple test or for a panel/study
Constraints: eu-lab-1, eu-lab-2
... Slices for extension Content/Rules for all slices
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... status 1..1 code Status of this observation (e.g. preliminary, final,...)
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by pattern:$this
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... focus 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | Group | Device | Location (EU core)) What the observation is about, when it is not about the subject of record
... issued 0..1 instant Date/Time this result was made available
... performer 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) 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, Closed by type:$this
.... value[x]:valueQuantity 0..1 QuantityEuLab Actual result
.... value[x]:valueString 0..1 string Actual result
.... value[x]:valueRange 0..1 RangeEuLab Actual result
.... value[x]:valueRatio 0..1 RatioEuLab Actual result
.... value[x]:valueTime 0..1 time Actual result
.... value[x]:valueDateTime 0..1 dateTime Actual result
.... value[x]:valuePeriod 0..1 Period Actual result
.... value[x]:valueCodeableConcept 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason 0..1 CodeableConcept Provides a reason why the expected value is missing.
... method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... hasMember 0..* Reference(Observation Results: laboratory) Related resource that belongs to the Observation group
... component 0..* BackboneElement Laboratory result
.... 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, Closed by type:$this
..... value[x]:valueQuantity 0..1 QuantityEuLab Actual component result
..... value[x]:valueString 0..1 string Actual component result
..... value[x]:valueRange 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio 0..1 RatioEuLab Actual component result
..... value[x]:valueTime 0..1 time Actual component result
..... value[x]:valueDateTime 0..1 dateTime Actual component result
..... value[x]:valuePeriod 0..1 Period Actual component result
..... value[x]:valueCodeableConcept 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.category:studyType Base required Laboratory Study Types 📦2.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS . ⏿2.0.0 tx.hl7europe.eu
Observation.method Base preferred Laboratory Techniques 📦2.0.0 This IG
Observation.component.​code Base preferred Laboratory Code 📦2.0.0 This IG
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory/Pathology - IPS . ⏿2.0.0 tx.hl7europe.eu

Constraints

Id Grade Path(s) Description Expression
eu-lab-1 error Observation If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* MedicalTestResultEuCore 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
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:bodyStructure 0..1 Reference(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
.... extension:triggeredBy 0..* (Complex) R5: Triggering observation(s) (new)
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, Open 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] 1..1 Reference(Observation: Medical Test Result (EU core)) Triggering observation
...... extension:type 1..1 Extension R5: reflex | repeat | re-run (new)
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] 1..1 code reflex | repeat | re-run
Binding: R5ObservationTriggeredbytypeForR4 (0.1.0) (required): The type of TriggeredBy Observation.
...... extension:reason 0..1 Extension R5: Reason that the observation was triggered (new)
Constraints: ext-1
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Constraints: ext-1
....... url 1..1 uri "reason"
....... value[x] 0..1 string Reason that the observation was triggered
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:value-r5 0..1 (Complex) only for Diagrams or Pictures
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value
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 "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
..... value[x] 0..1 Attachment Actual result
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
.... extension:labTestKit 0..* Reference(Device) Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
.... extension:accredited 0..1 boolean Accredited test
URL: http://hl7.eu/fhir/StructureDefinition/laboratory-accredited
... 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 Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an 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.
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... category: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)
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: Laboratory Code (preferred)
... subject Σ 1..1 Reference(Patient (EU core) | Device | Group | Location) Who and/or what the observation is about
... focus Σ 0..* Reference(Patient (EU core) | RelatedPerson: AnimalSpecimen | 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 result was made available
... performer Σ 1..* Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) Who is responsible for the observation
.... 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:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed 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 QuantityEuLab 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
.... value[x]:valueString ΣC 0..1 string Actual result
.... value[x]:valueRange ΣC 0..1 RangeEuLab Actual result
.... value[x]:valueRatio ΣC 0..1 RatioEuLab Actual result
.... value[x]:valueTime ΣC 0..1 time Actual result
.... value[x]:valueDateTime ΣC 0..1 dateTime Actual result
.... value[x]:valuePeriod ΣC 0..1 Period Actual result
.... value[x]:valueCodeableConcept ΣC 0..1 CodeableConcept Actual result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
... dataAbsentReason C 0..1 CodeableConcept Provides a reason why the expected value 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: Laboratory Techniques (preferred)
... specimen 0..1 Reference(Specimen: Laboratory) Specimen used for the observation
... device 0..1 Reference(Device | DeviceMetric) Measuring instrument
... 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 Results: laboratory) 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 Laboratory result
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... 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
...... 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 "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value"
...... value[x] 0..1 Attachment Actual result
.... 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, Closed 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 QuantityEuLab 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
..... value[x]:valueString Σ 0..1 string Actual component result
..... value[x]:valueRange Σ 0..1 RangeEuLab Actual component result
..... value[x]:valueRatio Σ 0..1 RatioEuLab Actual component result
..... value[x]:valueTime Σ 0..1 time Actual component result
..... value[x]:valueDateTime Σ 0..1 dateTime Actual component result
..... value[x]:valuePeriod Σ 0..1 Period Actual component result
..... value[x]:valueCodeableConcept Σ 0..1 CodeableConcept Actual component result
Binding: Results Coded Values Laboratory/Pathology - IPS . (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set . candidate
Laboratory Presence and Absence Findings Preferred
Results Microorganism - SNOMED CT IPS Free Set . candidate
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.extension:triggeredBy.​extension:type.value[x] Base required Cross-version 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.0.0 This IG
Observation.category:specialty Base required Laboratory Specialty 📦2.0.0 This IG
Observation.code Base preferred Laboratory Code 📦2.0.0 This IG
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.0 tx.hl7europe.eu
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.0.0 This IG
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 This IG
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.0 tx.hl7europe.eu
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: "value", "dataAbsentReason", "hasMember" or "component" (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2 error Observation If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.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()

This structure is derived from MedicalTestResultEuCore

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category
  • The element 1 is sliced based on the value of Observation.value[x] (Closed)
  • The element 1 is sliced based on the value of Observation.component.value[x] (Closed)

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Notes on valueString vs valueCodeableConcept.text

If the result is purely free text without categorical meaning, Observation.valueString SHALL be used.

If the result is conceptually categorical (i.e. it represents a classification, interpretation, or selectable answer option), Observation.valueCodeableConcept SHALL be used.

If no formal coding system is available, the human-readable result SHALL be conveyed in Observation.valueCodeableConcept.text instead of using valueString.

This distinction ensures that categorical results remain semantically identifiable as coded data, even if only a textual representation is available.