HL7 Europe IG Snapshot
0.0.2 - ci-build
Unknown country code 'EU'
HL7 Europe IG Snapshot, published by Lithuanian Medical Library. This guide is not an authorized publication; it is the continuous build for version 0.0.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7LT/ig-eu-ehds/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab | Version: 0.2.0-ci | ||||
| Standards status: Trial-use Draft as of 2026-03-29 | Maturity Level: 2 | Computable Name: ObservationResultsLaboratoryEu | |||
Copyright/Legal: Used by permission of HL7 Europe, all rights reserved Creative Commons License |
|||||
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.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation(5.0.0) | Laboratory result for a simple test or for a panel/study Constraints: obs-6, obs-7, obs-8, eu-lab-1, eu-lab-2 | ||||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||
![]() ![]() |
0..* | Extension | Laboratory Test Kit Constraints: ext-1 | |||||||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||||
![]() ![]() |
?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||||||
![]() ![]() |
1..* | CodeableConceptIPS(2.0.0) | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab (required) | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab (required) | |||||||||
![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of observation (code / type) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab (preferred) | ||||||||
![]() ![]() |
Σ | 1..1 | Reference(Patient: Animal (EU core)(0.1.0) | Patient (EU base)(0.1.0) | Group | Device | Location) | Who and/or what the observation is about | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() |
Σ | 1..1 | Clinically relevant time/time-period for observation | |||||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | effective[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this result was made available | ||||||||
![]() ![]() |
Σ | 1..* | Reference(PractitionerRole (EU base)(0.1.0) | Practitioner (EU base)(0.1.0) | Organization (EU base)(0.1.0) | CareTeam | Patient (EU base)(0.1.0) | RelatedPerson) | Who is responsible for the observation | ||||||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() |
ΣC | 0..1 | Actual result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RangeIPS(1.1.0) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RatioEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | time | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Period | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | QuantityEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | CodeableConceptIPS(2.0.0) | Actual result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() |
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. | ||||||||
![]() ![]() |
0..* | CodeableConceptIPS(2.0.0) | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | How it was done Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab (preferred) | |||||||||
![]() ![]() |
C | 0..1 | Reference(Specimen: Laboratory (Eu Lab)(0.2.0-ci)) | Specimen used for this observation Constraints: obs-9 | ||||||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | Measuring instrument | |||||||||
![]() ![]() |
Σ | 0..* | Reference(Observation Results: laboratory (Eu Lab)(0.2.0-ci)) | Related resource that belongs to the Observation group | ||||||||
![]() ![]() |
ΣC | 0..* | BackboneElement | Laboratory result | ||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of component observation (code / type) Binding: Results Laboratory Observation - IPS (preferred) | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RangeIPS(1.1.0) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RatioEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | time | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | QuantityEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConceptIPS(2.0.0) | Actual component result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
Documentation for this format | ||||||||||||
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | Observation.implicitRules, Observation.extension, Observation.modifierExtension, Observation.status, Observation.category, Observation.category:laboratory, Observation.category:studyType, Observation.category:specialty, Observation.code, Observation.subject, Observation.subject.reference, Observation.effective[x], Observation.effective[x].extension:data-absent-reason, Observation.issued, Observation.performer, Observation.performer.extension:performerFunction, Observation.performer.reference, Observation.value[x], Observation.value[x]:valueString, Observation.value[x]:valueRange, Observation.value[x]:valueRatio, Observation.value[x]:valueTime, Observation.value[x]:valueDateTime, Observation.value[x]:valuePeriod, Observation.value[x]:valueQuantity, Observation.value[x]:valueCodeableConcept, Observation.dataAbsentReason, Observation.interpretation, Observation.method, Observation.specimen, Observation.device, Observation.hasMember, Observation.component, Observation.component.modifierExtension, Observation.component.code, Observation.component.value[x], Observation.component.value[x]:valueString, Observation.component.value[x]:valueRange, Observation.component.value[x]:valueRatio, Observation.component.value[x]:valueTime, Observation.component.value[x]:valueDateTime, Observation.component.value[x]:valuePeriod, Observation.component.value[x]:valueQuantity, Observation.component.value[x]:valueCodeableConcept | 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, Observation.modifierExtension, Observation.effective[x].extension:data-absent-reason, Observation.performer.extension:performerFunction, Observation.component.modifierExtension | 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.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). |
value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
|
| obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present |
bodySite.exists() implies bodyStructure.empty()
|
| obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens |
(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
|
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.category:studyType | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | Not State | Unknown |
| Observation.category:specialty | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | Not State | Unknown |
| Observation.code | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab | Not State | Unknown |
| Observation.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.method | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab | Not State | Unknown |
| Observation.component.code | Base | preferred |
Results Laboratory Observation - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| 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()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation(5.0.0) | Laboratory result for a simple test or for a panel/study Constraints: obs-6, obs-7, obs-8, eu-lab-1, eu-lab-2 | ||||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||||||
![]() ![]() |
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 | |||||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||
![]() ![]() |
0..* | Extension | Laboratory Test Kit Constraints: ext-1 | |||||||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||||||
![]() ![]() |
Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition | ||||||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||||||
![]() ![]() |
0..* | BackboneElement | Triggering observation(s) | |||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Observation) | Triggering observation | ||||||||
![]() ![]() ![]() |
Σ | 1..1 | code | reflex | repeat | re-run Binding: TriggeredBytype (required): The type of TriggeredBy Observation. | ||||||||
![]() ![]() ![]() |
0..1 | string | Reason that the observation was triggered | |||||||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event | ||||||||
![]() ![]() |
?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||||||
![]() ![]() |
1..* | CodeableConceptIPS(2.0.0) | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab (required) | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab (required) | |||||||||
![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of observation (code / type) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab (preferred) | ||||||||
![]() ![]() |
Σ | 1..1 | Reference(Patient: Animal (EU core)(0.1.0) | Patient (EU base)(0.1.0) | Group | Device | Location) | Who and/or what the observation is about | ||||||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||||||
![]() ![]() |
Σ | 1..1 | Clinically relevant time/time-period for observation | |||||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | effective[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this result was made available | ||||||||
![]() ![]() |
Σ | 1..* | Reference(PractitionerRole (EU base)(0.1.0) | Practitioner (EU base)(0.1.0) | Organization (EU base)(0.1.0) | CareTeam | Patient (EU base)(0.1.0) | RelatedPerson) | Who is responsible for the observation | ||||||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||||||
![]() ![]() |
ΣC | 0..1 | Actual result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RangeIPS(1.1.0) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RatioEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | time | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Period | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | QuantityEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | CodeableConceptIPS(2.0.0) | Actual result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() |
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. | ||||||||
![]() ![]() |
0..* | CodeableConceptIPS(2.0.0) | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||||||
![]() ![]() |
C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | ||||||||
![]() ![]() |
C | 0..1 | Reference(BodyStructure) | Observed body structure | ||||||||
![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | How it was done Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab (preferred) | |||||||||
![]() ![]() |
C | 0..1 | Reference(Specimen: Laboratory (Eu Lab)(0.2.0-ci)) | Specimen used for this observation Constraints: obs-9 | ||||||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | Measuring instrument | |||||||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(5.0.0) | Low Range, if relevant | ||||||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(5.0.0) | High Range, if relevant | ||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Normal value, if relevant Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation. | |||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||||||
![]() ![]() ![]() |
C | 0..1 | markdown | Text based reference range in an observation | ||||||||
![]() ![]() |
Σ | 0..* | Reference(Observation Results: laboratory (Eu Lab)(0.2.0-ci)) | Related resource that belongs to the Observation group | ||||||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | Observation | MolecularSequence | GenomicStudy) | Related resource from which the observation is made | ||||||||
![]() ![]() |
ΣC | 0..* | BackboneElement | Laboratory result | ||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of component observation (code / type) Binding: Results Laboratory Observation - IPS (preferred) | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RangeIPS(1.1.0) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RatioEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | time | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | QuantityEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConceptIPS(2.0.0) | Actual component result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||||||
Documentation for this format | ||||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Observation.triggeredBy.type | Base | required | triggered Bytype | 📍5.0.0 | FHIR Std. |
| Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:laboratory | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:studyType | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | Not State | Unknown |
| Observation.category:specialty | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | Not State | Unknown |
| Observation.code | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab | Not State | Unknown |
| Observation.subject.type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std. |
| Observation.performer.type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std. |
| Observation.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std. |
| Observation.method | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab | Not State | Unknown |
| Observation.referenceRange.normalValue | Base | extensible | Observation Reference Range Normal Value Codes | 📍5.0.0 | FHIR Std. |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std. |
| Observation.component.code | Base | preferred |
Results Laboratory Observation - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | Observation.meta, Observation.implicitRules, Observation.language, Observation.text, Observation.extension, Observation.modifierExtension, Observation.identifier, Observation.instantiates[x], Observation.basedOn, Observation.triggeredBy, Observation.triggeredBy.extension, Observation.triggeredBy.modifierExtension, Observation.triggeredBy.observation, Observation.triggeredBy.type, Observation.triggeredBy.reason, Observation.partOf, Observation.status, Observation.category, Observation.category:laboratory, Observation.category:studyType, Observation.category:specialty, Observation.code, Observation.subject, Observation.subject.extension, Observation.subject.reference, Observation.subject.type, Observation.subject.identifier, Observation.subject.display, Observation.focus, Observation.encounter, Observation.effective[x], Observation.effective[x].extension, Observation.effective[x].extension:data-absent-reason, Observation.issued, Observation.performer, Observation.performer.extension, Observation.performer.extension:performerFunction, Observation.performer.reference, Observation.performer.type, Observation.performer.identifier, Observation.performer.display, Observation.value[x], Observation.value[x]:valueString, Observation.value[x]:valueRange, Observation.value[x]:valueRatio, Observation.value[x]:valueTime, Observation.value[x]:valueDateTime, Observation.value[x]:valuePeriod, Observation.value[x]:valueQuantity, Observation.value[x]:valueCodeableConcept, Observation.dataAbsentReason, Observation.interpretation, Observation.note, Observation.bodySite, Observation.bodyStructure, Observation.method, Observation.specimen, Observation.device, Observation.referenceRange, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.referenceRange.low, Observation.referenceRange.high, Observation.referenceRange.normalValue, Observation.referenceRange.type, Observation.referenceRange.appliesTo, Observation.referenceRange.age, Observation.referenceRange.text, Observation.hasMember, Observation.derivedFrom, Observation.component, Observation.component.extension, Observation.component.modifierExtension, Observation.component.code, Observation.component.value[x], Observation.component.value[x]:valueString, Observation.component.value[x]:valueRange, Observation.component.value[x]:valueRatio, Observation.component.value[x]:valueTime, Observation.component.value[x]:valueDateTime, Observation.component.value[x]:valuePeriod, Observation.component.value[x]:valueQuantity, Observation.component.value[x]:valueCodeableConcept, Observation.component.dataAbsentReason, Observation.component.interpretation, Observation.component.referenceRange | 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, Observation.modifierExtension, Observation.triggeredBy.extension, Observation.triggeredBy.modifierExtension, Observation.subject.extension, Observation.effective[x].extension, Observation.effective[x].extension:data-absent-reason, Observation.performer.extension, Observation.performer.extension:performerFunction, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.component.extension, Observation.component.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text |
low.exists() or high.exists() or text.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). |
value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
|
| obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present |
bodySite.exists() implies bodyStructure.empty()
|
| obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens |
(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
|
Summary
Mandatory: 6 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 2
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation(5.0.0) | Laboratory result for a simple test or for a panel/study Constraints: obs-6, obs-7, obs-8, eu-lab-1, eu-lab-2 | ||||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||
![]() ![]() |
0..* | Extension | Laboratory Test Kit Constraints: ext-1 | |||||||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||||
![]() ![]() |
?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||||||
![]() ![]() |
1..* | CodeableConceptIPS(2.0.0) | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab (required) | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab (required) | |||||||||
![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of observation (code / type) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab (preferred) | ||||||||
![]() ![]() |
Σ | 1..1 | Reference(Patient: Animal (EU core)(0.1.0) | Patient (EU base)(0.1.0) | Group | Device | Location) | Who and/or what the observation is about | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() |
Σ | 1..1 | Clinically relevant time/time-period for observation | |||||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | effective[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this result was made available | ||||||||
![]() ![]() |
Σ | 1..* | Reference(PractitionerRole (EU base)(0.1.0) | Practitioner (EU base)(0.1.0) | Organization (EU base)(0.1.0) | CareTeam | Patient (EU base)(0.1.0) | RelatedPerson) | Who is responsible for the observation | ||||||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() |
ΣC | 0..1 | Actual result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RangeIPS(1.1.0) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RatioEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | time | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Period | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | QuantityEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | CodeableConceptIPS(2.0.0) | Actual result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() |
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. | ||||||||
![]() ![]() |
0..* | CodeableConceptIPS(2.0.0) | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | How it was done Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab (preferred) | |||||||||
![]() ![]() |
C | 0..1 | Reference(Specimen: Laboratory (Eu Lab)(0.2.0-ci)) | Specimen used for this observation Constraints: obs-9 | ||||||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | Measuring instrument | |||||||||
![]() ![]() |
Σ | 0..* | Reference(Observation Results: laboratory (Eu Lab)(0.2.0-ci)) | Related resource that belongs to the Observation group | ||||||||
![]() ![]() |
ΣC | 0..* | BackboneElement | Laboratory result | ||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of component observation (code / type) Binding: Results Laboratory Observation - IPS (preferred) | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RangeIPS(1.1.0) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RatioEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | time | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | QuantityEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConceptIPS(2.0.0) | Actual component result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
Documentation for this format | ||||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:laboratory | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:studyType | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | Not State | Unknown |
| Observation.category:specialty | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | Not State | Unknown |
| Observation.code | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab | Not State | Unknown |
| Observation.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std. |
| Observation.method | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab | Not State | Unknown |
| Observation.component.code | Base | preferred |
Results Laboratory Observation - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | Observation.implicitRules, Observation.extension, Observation.modifierExtension, Observation.status, Observation.category, Observation.category:laboratory, Observation.category:studyType, Observation.category:specialty, Observation.code, Observation.subject, Observation.subject.reference, Observation.effective[x], Observation.effective[x].extension:data-absent-reason, Observation.issued, Observation.performer, Observation.performer.extension:performerFunction, Observation.performer.reference, Observation.value[x], Observation.value[x]:valueString, Observation.value[x]:valueRange, Observation.value[x]:valueRatio, Observation.value[x]:valueTime, Observation.value[x]:valueDateTime, Observation.value[x]:valuePeriod, Observation.value[x]:valueQuantity, Observation.value[x]:valueCodeableConcept, Observation.dataAbsentReason, Observation.interpretation, Observation.method, Observation.specimen, Observation.device, Observation.hasMember, Observation.component, Observation.component.modifierExtension, Observation.component.code, Observation.component.value[x], Observation.component.value[x]:valueString, Observation.component.value[x]:valueRange, Observation.component.value[x]:valueRatio, Observation.component.value[x]:valueTime, Observation.component.value[x]:valueDateTime, Observation.component.value[x]:valuePeriod, Observation.component.value[x]:valueQuantity, Observation.component.value[x]:valueCodeableConcept | 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, Observation.modifierExtension, Observation.effective[x].extension:data-absent-reason, Observation.performer.extension:performerFunction, Observation.component.modifierExtension | 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.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). |
value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
|
| obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present |
bodySite.exists() implies bodyStructure.empty()
|
| obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens |
(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation(5.0.0) | Laboratory result for a simple test or for a panel/study | ||||||||
![]() ![]() |
0..* | Extension | Laboratory Test Kit | |||||||||
![]() ![]() |
1..1 | code | Status of this observation (e.g. preliminary, final,...) | |||||||||
![]() ![]() |
1..* | CodeableConceptIPS(2.0.0) | Classification of type of observation Slice: Unordered, Open by pattern:$this | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Classification of type of observation Required Pattern: At least the following | |||||||||
![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab (required) | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab (required) | |||||||||
![]() ![]() |
1..1 | CodeableConceptIPS(2.0.0) | Type of observation (code / type) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab (preferred) | |||||||||
![]() ![]() |
1..1 | Reference(Patient: Animal (EU core)(0.1.0) | Patient (EU base)(0.1.0) | Group | Device | Location) | Who and/or what the observation is about | |||||||||
![]() ![]() ![]() |
1..1 | string | Literal reference, Relative, internal or absolute URL | |||||||||
![]() ![]() |
1..1 | Clinically relevant time/time-period for observation | ||||||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | effective[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | |||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() |
0..1 | instant | Date/Time this result was made available | |||||||||
![]() ![]() |
1..* | Reference(PractitionerRole (EU base)(0.1.0) | Practitioner (EU base)(0.1.0) | Organization (EU base)(0.1.0) | CareTeam | Patient (EU base)(0.1.0) | RelatedPerson) | Who is responsible for the observation | |||||||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible) | |||||||||
![]() ![]() |
0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual result Slice: Unordered, Closed by type:$this | |||||||||
![]() ![]() ![]() |
0..1 | string | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | RangeIPS(1.1.0) | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | RatioEuLab(0.0.2) | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | time | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | dateTime | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | Period | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | QuantityEuLab(0.0.2) | Actual result | |||||||||
![]() ![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | Actual result Binding: Results Coded Values Laboratory - IPS (preferred)
| |||||||||
![]() ![]() |
0..1 | CodeableConcept | Provides a reason why the expected value is missing. | |||||||||
![]() ![]() |
0..* | CodeableConceptIPS(2.0.0) | High, low, normal, etc | |||||||||
![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | How it was done Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab (preferred) | |||||||||
![]() ![]() |
0..1 | Reference(Specimen: Laboratory (Eu Lab)(0.2.0-ci)) | Specimen used for this observation | |||||||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | Measuring instrument | |||||||||
![]() ![]() |
0..* | Reference(Observation Results: laboratory (Eu Lab)(0.2.0-ci)) | Related resource that belongs to the Observation group | |||||||||
![]() ![]() |
0..* | BackboneElement | Laboratory result | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConceptIPS(2.0.0) | Type of component observation (code / type) Binding: Results Laboratory Observation - IPS (preferred) | |||||||||
![]() ![]() ![]() |
0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual component result Slice: Unordered, Closed by type:$this | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | RangeIPS(1.1.0) | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | RatioEuLab(0.0.2) | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | time | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | dateTime | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | Period | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | QuantityEuLab(0.0.2) | Actual component result | |||||||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | Actual component result Binding: Results Coded Values Laboratory - IPS (preferred)
| |||||||||
Documentation for this format | ||||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.category:studyType | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | Not State | Unknown |
| Observation.category:specialty | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | Not State | Unknown |
| Observation.code | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab | Not State | Unknown |
| Observation.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.method | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab | Not State | Unknown |
| Observation.component.code | Base | preferred |
Results Laboratory Observation - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| 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 ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation(5.0.0) | Laboratory result for a simple test or for a panel/study Constraints: obs-6, obs-7, obs-8, eu-lab-1, eu-lab-2 | ||||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||||||
![]() ![]() |
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 | |||||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||
![]() ![]() |
0..* | Extension | Laboratory Test Kit Constraints: ext-1 | |||||||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||||||
![]() ![]() |
Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition | ||||||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||||||
![]() ![]() |
0..* | BackboneElement | Triggering observation(s) | |||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Observation) | Triggering observation | ||||||||
![]() ![]() ![]() |
Σ | 1..1 | code | reflex | repeat | re-run Binding: TriggeredBytype (required): The type of TriggeredBy Observation. | ||||||||
![]() ![]() ![]() |
0..1 | string | Reason that the observation was triggered | |||||||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event | ||||||||
![]() ![]() |
?!Σ | 1..1 | code | Status of this observation (e.g. preliminary, final,...) Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||||||
![]() ![]() |
1..* | CodeableConceptIPS(2.0.0) | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab (required) | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab (required) | |||||||||
![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of observation (code / type) Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab (preferred) | ||||||||
![]() ![]() |
Σ | 1..1 | Reference(Patient: Animal (EU core)(0.1.0) | Patient (EU base)(0.1.0) | Group | Device | Location) | Who and/or what the observation is about | ||||||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||||||
![]() ![]() |
Σ | 1..1 | Clinically relevant time/time-period for observation | |||||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | effective[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this result was made available | ||||||||
![]() ![]() |
Σ | 1..* | Reference(PractitionerRole (EU base)(0.1.0) | Practitioner (EU base)(0.1.0) | Organization (EU base)(0.1.0) | CareTeam | Patient (EU base)(0.1.0) | RelatedPerson) | Who is responsible for the observation | ||||||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction Binding: PerformerFunctionCodes (extensible) Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||||||
![]() ![]() |
ΣC | 0..1 | Actual result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RangeIPS(1.1.0) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | RatioEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | time | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | Period | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | QuantityEuLab(0.0.2) | Actual result | ||||||||
![]() ![]() ![]() |
ΣC | 0..1 | CodeableConceptIPS(2.0.0) | Actual result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() |
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. | ||||||||
![]() ![]() |
0..* | CodeableConceptIPS(2.0.0) | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||||||
![]() ![]() |
C | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | ||||||||
![]() ![]() |
C | 0..1 | Reference(BodyStructure) | Observed body structure | ||||||||
![]() ![]() |
0..1 | CodeableConceptIPS(2.0.0) | How it was done Binding: http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab (preferred) | |||||||||
![]() ![]() |
C | 0..1 | Reference(Specimen: Laboratory (Eu Lab)(0.2.0-ci)) | Specimen used for this observation Constraints: obs-9 | ||||||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | Measuring instrument | |||||||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(5.0.0) | Low Range, if relevant | ||||||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(5.0.0) | High Range, if relevant | ||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Normal value, if relevant Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation. | |||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||||||
![]() ![]() ![]() |
C | 0..1 | markdown | Text based reference range in an observation | ||||||||
![]() ![]() |
Σ | 0..* | Reference(Observation Results: laboratory (Eu Lab)(0.2.0-ci)) | Related resource that belongs to the Observation group | ||||||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | Observation | MolecularSequence | GenomicStudy) | Related resource from which the observation is made | ||||||||
![]() ![]() |
ΣC | 0..* | BackboneElement | Laboratory result | ||||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||||
![]() ![]() ![]() |
ΣC | 1..1 | CodeableConceptIPS(2.0.0) | Type of component observation (code / type) Binding: Results Laboratory Observation - IPS (preferred) | ||||||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||
![]() ![]() ![]() ![]() |
string | |||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||
![]() ![]() ![]() ![]() |
integer | |||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||||||
![]() ![]() ![]() ![]() |
time | |||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||
![]() ![]() ![]() ![]() |
Period | |||||||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||||||
![]() ![]() ![]() ![]() |
Reference(MolecularSequence) | |||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RangeIPS(1.1.0) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | RatioEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | time | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | QuantityEuLab(0.0.2) | Actual component result | ||||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConceptIPS(2.0.0) | Actual component result Binding: Results Coded Values Laboratory - IPS (preferred)
| ||||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | |||||||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||||||
Documentation for this format | ||||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Observation.triggeredBy.type | Base | required | triggered Bytype | 📍5.0.0 | FHIR Std. |
| Observation.status | Base | required | Observation Status | 📍5.0.0 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:laboratory | Base | preferred | Observation Category Codes | 📍5.0.0 | FHIR Std. |
| Observation.category:studyType | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab | Not State | Unknown |
| Observation.category:specialty | Base | required | http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab | Not State | Unknown |
| Observation.code | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-obsCode-eu-lab | Not State | Unknown |
| Observation.subject.type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std. |
| Observation.performer.type | Base | extensible | Resource Types | 📍5.0.0 | FHIR Std. |
| Observation.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std. |
| Observation.method | Base | preferred | http://hl7.eu/fhir/laboratory/ValueSet/lab-technique-eu-lab | Not State | Unknown |
| Observation.referenceRange.normalValue | Base | extensible | Observation Reference Range Normal Value Codes | 📍5.0.0 | FHIR Std. |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std. |
| Observation.component.code | Base | preferred |
Results Laboratory Observation - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.value[x]:valueCodeableConcept | Base | preferred |
Results Coded Values Laboratory - IPS
|
⏿1.1.0 | tx.hl7europe.eu |
| Observation.component.dataAbsentReason | Base | extensible | Data Absent Reason | 📍5.0.0 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | Observation.meta, Observation.implicitRules, Observation.language, Observation.text, Observation.extension, Observation.modifierExtension, Observation.identifier, Observation.instantiates[x], Observation.basedOn, Observation.triggeredBy, Observation.triggeredBy.extension, Observation.triggeredBy.modifierExtension, Observation.triggeredBy.observation, Observation.triggeredBy.type, Observation.triggeredBy.reason, Observation.partOf, Observation.status, Observation.category, Observation.category:laboratory, Observation.category:studyType, Observation.category:specialty, Observation.code, Observation.subject, Observation.subject.extension, Observation.subject.reference, Observation.subject.type, Observation.subject.identifier, Observation.subject.display, Observation.focus, Observation.encounter, Observation.effective[x], Observation.effective[x].extension, Observation.effective[x].extension:data-absent-reason, Observation.issued, Observation.performer, Observation.performer.extension, Observation.performer.extension:performerFunction, Observation.performer.reference, Observation.performer.type, Observation.performer.identifier, Observation.performer.display, Observation.value[x], Observation.value[x]:valueString, Observation.value[x]:valueRange, Observation.value[x]:valueRatio, Observation.value[x]:valueTime, Observation.value[x]:valueDateTime, Observation.value[x]:valuePeriod, Observation.value[x]:valueQuantity, Observation.value[x]:valueCodeableConcept, Observation.dataAbsentReason, Observation.interpretation, Observation.note, Observation.bodySite, Observation.bodyStructure, Observation.method, Observation.specimen, Observation.device, Observation.referenceRange, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.referenceRange.low, Observation.referenceRange.high, Observation.referenceRange.normalValue, Observation.referenceRange.type, Observation.referenceRange.appliesTo, Observation.referenceRange.age, Observation.referenceRange.text, Observation.hasMember, Observation.derivedFrom, Observation.component, Observation.component.extension, Observation.component.modifierExtension, Observation.component.code, Observation.component.value[x], Observation.component.value[x]:valueString, Observation.component.value[x]:valueRange, Observation.component.value[x]:valueRatio, Observation.component.value[x]:valueTime, Observation.component.value[x]:valueDateTime, Observation.component.value[x]:valuePeriod, Observation.component.value[x]:valueQuantity, Observation.component.value[x]:valueCodeableConcept, Observation.component.dataAbsentReason, Observation.component.interpretation, Observation.component.referenceRange | 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, Observation.modifierExtension, Observation.triggeredBy.extension, Observation.triggeredBy.modifierExtension, Observation.subject.extension, Observation.effective[x].extension, Observation.effective[x].extension:data-absent-reason, Observation.performer.extension, Observation.performer.extension:performerFunction, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.component.extension, Observation.component.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text |
low.exists() or high.exists() or text.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | Observation | If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). |
value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
|
| obs-8 | error | Observation | bodyStructure SHALL only be present if Observation.bodySite is not present |
bodySite.exists() implies bodyStructure.empty()
|
| obs-9 | error | Observation.specimen | If Observation.specimen is a reference to Group, the group can only have specimens |
(reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
|
Summary
Mandatory: 6 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 2
Other representations of profile: CSV, Excel, Schematron