HL7 BE Laboratory WG Implementation Guide
1.0.1 - STU Belgium flag

HL7 BE Laboratory WG Implementation Guide, published by eHealth Platform. This guide is not an authorized publication; it is the continuous build for version 1.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-be/lab/ and changes regularly. See the Directory of published versions

Resource Profile: BeObservationLaboratory

Official URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-observation-laboratory Version: 1.0.1
Draft as of 2021-11-08 Maturity Level: 1 Computable Name: BeObservationLaboratory

Belgian profile for an observation in a laboratory report

Usage:

Formal Views of Profile Content

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

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation Observation
... language S0..1codeLanguage of the resource content
... text
.... status 1..1codegenerated | extensions | additional | empty
Required Pattern: empty
... identifier S0..*IdentifierBusiness Identifier for observation
... partOf 0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy)Part of referenced event
... status S1..1coderegistered | preliminary | final | amended +
... category S0..*CodeableConceptClassification of type of observation
... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
.... coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
... subject S0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... effective[x] S0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... issued S0..1instantDate/Time this version was made available
... performer S0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] S0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
... dataAbsentReason S0..1CodeableConceptWhy the result is missing
... interpretation S0..*CodeableConceptHigh, low, normal, etc.
... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
... method S0..1CodeableConceptHow it was done
... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange S0..*BackboneElementProvides guide for interpretation
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
... hasMember S0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom S0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component S0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:relativeTimeQualifier 0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 118578006
....... display 1..1stringRepresentation defined by the system
Fixed Value: Relative time
..... value[x] 1..1QuantityUCUM
.... component:substanceAmountQualifier 0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 118555000
....... display 1..1stringRepresentation defined by the system
Fixed Value: Substance amount
..... value[x] 1..1QuantityUCUM
.... component:productNameQualifier 0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 774167006
....... display 1..1stringRepresentation defined by the system
Fixed Value: Product name
..... value[x] 1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language S0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category S0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..*CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SNOMED-CT Σ0..*CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ1..1codeSymbol in syntax defined by the system
... subject SΣ0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued SΣ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method S0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SC0..*BackboneElementProvides guide for interpretation
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... hasMember SΣ0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom SΣ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component SΣ0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:relativeTimeQualifier Σ0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1QuantityUCUM
.... component:substanceAmountQualifier Σ0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1QuantityUCUM
.... component:productNameQualifier Σ0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:relativeTimeQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:substanceAmountQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:productNameQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language S0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status 1..1codegenerated | extensions | additional | empty
Binding: NarrativeStatus (required): The status of a resource narrative.


Required Pattern: empty
.... div C1..1xhtmlLimited xhtml content
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierBusiness 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category S0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... coding:SNOMED-CT Σ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued SΣ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method S0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SC0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember SΣ0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom SΣ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component SΣ0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:relativeTimeQualifier Σ0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 118578006
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Relative time
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1QuantityUCUM
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:substanceAmountQualifier Σ0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 118555000
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Substance amount
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1QuantityUCUM
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:productNameQualifier Σ0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 774167006
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Product name
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, 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

PathConformanceValueSet / CodeURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.text.statusrequiredPattern: empty
http://hl7.org/fhir/ValueSet/narrative-status|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:relativeTimeQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:relativeTimeQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:relativeTimeQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:substanceAmountQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:substanceAmountQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:substanceAmountQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:productNameQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:productNameQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:productNameQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
txt-1errorObservation.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorObservation.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()

This structure is derived from Observation

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation Observation
... language S0..1codeLanguage of the resource content
... text
.... status 1..1codegenerated | extensions | additional | empty
Required Pattern: empty
... identifier S0..*IdentifierBusiness Identifier for observation
... partOf 0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy)Part of referenced event
... status S1..1coderegistered | preliminary | final | amended +
... category S0..*CodeableConceptClassification of type of observation
... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
.... coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
... subject S0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... effective[x] S0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... issued S0..1instantDate/Time this version was made available
... performer S0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] S0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
... dataAbsentReason S0..1CodeableConceptWhy the result is missing
... interpretation S0..*CodeableConceptHigh, low, normal, etc.
... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
... method S0..1CodeableConceptHow it was done
... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange S0..*BackboneElementProvides guide for interpretation
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
... hasMember S0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom S0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component S0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:relativeTimeQualifier 0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 118578006
....... display 1..1stringRepresentation defined by the system
Fixed Value: Relative time
..... value[x] 1..1QuantityUCUM
.... component:substanceAmountQualifier 0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 118555000
....... display 1..1stringRepresentation defined by the system
Fixed Value: Substance amount
..... value[x] 1..1QuantityUCUM
.... component:productNameQualifier 0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... code
...... coding
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 774167006
....... display 1..1stringRepresentation defined by the system
Fixed Value: Product name
..... value[x] 1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language S0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category S0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..*CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SNOMED-CT Σ0..*CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ1..1codeSymbol in syntax defined by the system
... subject SΣ0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued SΣ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method S0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SC0..*BackboneElementProvides guide for interpretation
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... hasMember SΣ0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom SΣ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component SΣ0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:relativeTimeQualifier Σ0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1QuantityUCUM
.... component:substanceAmountQualifier Σ0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1QuantityUCUM
.... component:productNameQualifier Σ0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:relativeTimeQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:substanceAmountQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:productNameQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language S0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status 1..1codegenerated | extensions | additional | empty
Binding: NarrativeStatus (required): The status of a resource narrative.


Required Pattern: empty
.... div C1..1xhtmlLimited xhtml content
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierBusiness 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category S0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


... code S1..1BeObservationCodeableConceptConcept - reference to a terminology or just text
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... coding:SNOMED-CT Σ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ0..1Reference(Group | Device | Location | Patient core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BePatient.
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued SΣ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(CareTeam | RelatedPerson | Patient core BE profile | Organisation core BE profile | Practitioner role core BE profile | Practitioner core BE profile)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeOrganization or BePractitioner
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note S0..*BeCodedAnnotationText node with attribution
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method S0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen S0..1Reference(BeSpecimenLaboratory)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SC0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... Comment 0..*BeCodedAnnotationComment extension for ReferenceRange
URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-ext-referencerange-comment
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember SΣ0..*Reference(QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this is BeObservationLaboratory
... derivedFrom SΣ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | BeObservationLaboratory)In the initial iteration of the Belgium lab project: when sending to eHealthBox, this can be BeObservationLaboratory or Media
... Slices for component SΣ0..*BackboneElementComponent results
Slice: Unordered, Open by value:code.coding.code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:relativeTimeQualifier Σ0..1BackboneElementIf a testing code does not include a time interval but needs one to qualify the code.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 118578006
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Relative time
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1QuantityUCUM
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:substanceAmountQualifier Σ0..1BackboneElementIf a testing code does not include a substance amount but needs one to qualify the code
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 118555000
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Substance amount
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1QuantityUCUM
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:productNameQualifier Σ0..1BackboneElementIf a testing code does not include a product name but needs one to qualify the code
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 774167006
....... display Σ1..1stringRepresentation defined by the system
Fixed Value: Product name
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... value[x] Σ1..1Actual component result
...... valueCodeableConceptCodeableConcept
...... valueStringstring
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, 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

PathConformanceValueSet / CodeURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.text.statusrequiredPattern: empty
http://hl7.org/fhir/ValueSet/narrative-status|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:relativeTimeQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:relativeTimeQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:relativeTimeQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:substanceAmountQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:substanceAmountQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:substanceAmountQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:productNameQualifier.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:productNameQualifier.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:productNameQualifier.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
txt-1errorObservation.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorObservation.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()

This structure is derived from Observation

 

Other representations of profile: CSV, Excel, Schematron