HL7 FHIR Implementation Guide: DK Core
3.1.0 - release Denmark flag

This page is part of the HL7 FHIR Implementation Guide: DK Core (v3.1.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: Danish Core Observation Profiles

Official URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-observation Version: 3.1.0
Active as of 2024-01-08 Computable Name: DkCoreObservation

HL7 Denmark core profile for observations

Scope and usage

The Danish Core Observation profile is intended to represent observations for a variety of cases including:

  • laboratory data
  • results of using clinical assessment tools such as APGAR
  • observations obtained in clinical assesments such as abdominal tenderness
  • general health status such as pregnancy
  • social history and anamnesis (Please be aware, an Observation must only include more than one code, if each code is true for the observation that actually happened, and not several observation as a result of an investigation. In this case, the ClinicalImpression resource should be used.)

Note: The profile DkCoreBasicObservation is made to ensure a common structure of measurable and often used observations, such as vital signs, height and weight. When sharing these basic observations, DkCoreBasicObservation profile is recommended to use.

Codes

In a Observation resource, codes from CodeSystems are used to describe what is observed in the elements Observation.code.coding and Observation.component.code.coding. In these elements, multiple CodeSystems are specified to ensure similar use of relevant CodeSystems in a Danish context. Some observations may need to be grouped together to document critical observations, e.g. systolic and diastolic bloodpressure, which can be supported by the element Observation.component. Click here for more information about Observation Grouping.

Multiple CodeSystems are added to the elements Observation.code.coding and Observation.component.code.coding, to ensure similar use of relevant CodeSystems in a Danish context. In addition, locally defined codes may be added. HL7 Denmark recommend adding these in a new slice using a system, that clearly states from where the code originate.

Two or more Observation.code.coding may be assigned in the same Observation.code, if each coding is true for the observation that actually happened. An example is HeartRate.Poul.1974654, where a LOINC, IEEE and NPU coding is used to describe the heart rate. Only one of the codings can be user selected, described by the element userSelected = true. An example is ElsePainVRS, where the value[x] includes two codings with one of them being userSelected. If the codings and units does not represent the same meaning, one instance of an Observation can be derived from another, as described in section Observation derived from other Observation.

None of the specified CodeSystems are required since each use case may call for different codes to represent the observations. The specified CodeSystems are included based on the standard catalogue from the Danish Health Data Agency, and Danish practice. In the following, some overall recommendations about the use of the code systems are provided:

  • NPU codes are the preferred first choice when communicating observations from the laboratory area. NPU contains few codes outside the laboratory area. NPU is recommended to use in the standard catalogue from the Danish Health Data Agency.
  • LOINC codes are generally not recommended, for clinical areas that NPU covers, because they are overlapping without being modelled in exactly the same way. For clinical areas not covered by NPU, LOINC can be used. LOINC is an international code system, and is the first choice for many FHIR-observations around the world. This also means that Observation standard-profiles often use LOINC codes, and that interoperability use cases using equipment/wearables intended for markets intentionally, very well may have build-in LOINC codes. LOINC is not recommended to use by the Danish Health Data Agency, but is included to support interoperability across countries in projects such as European Helath Data Space (EHDS).
  • IEEE codes are the internal codes of many devices see https://www.iso.org/standard/37890.html. If an original observation from a device is represented, HL7-DK recommends using its original layout including the IEEE codes. Read more in IHE Personal Connected Health https://wiki.ihe.net/index.php/Personal_Connected_Health. IEEE is recommended to use in the standard catalogue from the Danish Health Data Agency.
  • SKS does have a few observation codes in use, most are found in the ‘R’ Hierarchy - see e.g. https://medinfo.dk/sks/brows.php. HL7-DK does not recommend the use of SKS codes from the ‘ZZ’ hierarchy as FHIR observation-codes as they are codes for procedures. SKS is recommended to use in the standard catalogue from the Danish Health Data Agency.
  • MedCom codes are Danish codes, that are not part of SKS, but have been necessary in Danish interoperability projects through time. They are sometimes referred to as kiap-codes or MCS codes. They can be found here: https://medcom.dk/standarder/koder/laboratorieomraadet/ or here: https://kiap.dk/kiap/praksis/services/koder/iupackoder.php. MedCom codes are not recommended to use by the Danish Health Data Agency, but are included as they are often used in MedComs standards.
  • SNOMED CT codes are accepted in Denmark. SNOMED CT codes are relevant, for areas that NPU does not cover. Additionally, SNOMED CT is often used as a reference terminology, to give a common language of retrieval for data that have originally been defined or coded in some other way. If SNOMED CT is used as a reference terminology, it is often relevant to provide a SNOMED CT code, in addition to the original coding. This is also acceptable if the SNOMED CT concept is less granular than the original code, if each code is true for the observation that happened. SNOMED CT is stated to be usefull in the standard catalogue from the Danish Health Data Agency.

Subjects and performers

The primary use of this profile is to describe an observation performed on a patient. The patient must be represented using the DkCorePatient profile. However, it is still possible to select Observation.subject to be a Group, Device or Location. This is chosen to enable different uses of the profile e.g. a device calibration result is an observation of the device, not of the person that usually uses the device.

The performer of the observation may be different kinds of actors depending on the use case. The performer may be represented using DkCorePractitioner, DkCoreOrganization, DkCorePatient, PractitionerRole, CareTeam or RelatedPerson.

Quality of the Observation

If known, information about the method used for the observation can be included, in the element Observation.method, as this might affect the interpretation of the observation. In DkCoreObservation profile, a slice is added which includes an extensible ValueSet of commonly used SNOMED CT methods; Estimation technique, Measurement technique, and Reported. If a different method is used the ValueSet may be extended with SNOMED CT codes, or a new slice may be added.

If a known device is used to collect the observation, and information about the device is exchanged, the instance of the Device or DeviceMetric resource can be included in the same Bundle as the Observation instance. An example of usage is Poul’s home blood pressure measurement, where a Bundle includes both information about devices use to make the observations about the blood pressure.

Units

If the unit of measure is known, it shall be included in the Observation instance. It is assumed, that in most situations these units can be represented with UCUM. For this reason, UCUM is included as system in the element Observation.valueQuantity.system. However, special cases may arise where the unit is not represented by UCUM. In such case, the unit shall be included in the element Observation.valueQuantity.unit as a string. This Observation profile has implemented a rule known as a FHIR invariant that check that this condition holds true. The invariant is called dk-core-observation-mandatory-units, and ensures that when a valueQuantity.value is specified, a unit and/or code shall be present.

All NPU-codes include a unit internally in the observation-code. All the other code systems mentioned here, as well as the FHIR Observation resource, assume that the unit is provided in a separate attribute. Consequently, it is important to provide the same unit in valueQuantity.code and/or valueQuantity.unit, as provided in the NPU code. If consistency is not maintained, interpretation is impossible. No explicit rules to support the use of NPU consistently are implemented in this profile, so this should be considered before implementation.

Observation derived from other Observation

An Observation can refer to another, possibly contained Observation from which it is derived. This can be used in cases where the measuring Device provides the measured value in, for instance, another unit or precision than used in a particular exchange context.

An example is an oxygen saturation measured as a fraction in, say, the NPU code system. Exchanging the measurement as a vital signs Observation with oxygen saturation given as percent, the original NPU-based measurement can be contained and referenced using Observation.derivedFrom. The example can be found in John’s oxygen saturation measurement.

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 C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... code
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC 0..1CodingLOINC code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1codeSymbol in syntax defined by the system
..... coding:SNOMEDCT 0..1CodingSNOMED CT code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1codeSymbol in syntax defined by the system
..... coding:NPU 0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code 1..1codeSymbol in syntax defined by the system
..... coding:IEEE 0..1CodingIEEE code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1codeSymbol in syntax defined by the system
..... coding:MedCom 0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code 1..1codeSymbol in syntax defined by the system
..... coding:SKS 0..1CodingSKS code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code 1..1codeSymbol in syntax defined by the system
... subject 1..1Reference(Danish Core Patient Profile | Group | Location | Device)Who and/or what the observation is about
... performer 0..*Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson)Who is responsible for the observation
.... value[x]:valueQuantity 0..1QuantityActual result
..... system 0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... method
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:SCTCode 0..1CodingCode defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... system 1..1uriIdentity of the terminology system
Required Pattern: http://snomed.info/sct
... device 0..1Reference(Device | DeviceMetric)The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured.
... component
.... code
..... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC 0..1CodingLOINC code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1codeSymbol in syntax defined by the system
...... coding:SNOMEDCT 0..1CodingSNOMED CT code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
...... coding:NPU 0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
....... code 1..1codeSymbol in syntax defined by the system
...... coding:IEEE 0..1CodingIEEE code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
....... code 1..1codeSymbol in syntax defined by the system
...... coding:MedCom 0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... code 1..1codeSymbol in syntax defined by the system
...... coding:SKS 0..1CodingSKS code for the observation.
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
....... code 1..1codeSymbol in syntax defined by the system
.... Slices for value[x] 0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1QuantityActual component result
...... system 0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.method.coding:SCTCodeexampleTechniquesSCTCodes

Constraints

IdGradePath(s)DetailsRequirements
dk-core-observation-mandatory-unitserrorObservationIf value is specified then unit and/or code must be specified
: value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..1CodingLOINC code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SNOMEDCT Σ0..1CodingSNOMED CT code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:NPU Σ0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:IEEE Σ0..1CodingIEEE code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:MedCom Σ0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SKS Σ0..1CodingSKS code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code Σ1..1codeSymbol in syntax defined by the system
... subject Σ1..1Reference(Danish Core Patient Profile | Group | Location | Device)Who and/or what the observation is about
... performer Σ0..*Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1Actual result
Slice: Unordered, Open by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... value[x]:valueQuantity ΣC0..1QuantityActual result
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... system ΣC0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... device 0..1Reference(Device | DeviceMetric)The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator

Constraints

IdGradePath(s)DetailsRequirements
dk-core-observation-mandatory-unitserrorObservationIf value is specified then unit and/or code must be specified
: value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... 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 0..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
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ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 ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

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


... code Σ1..1CodeableConceptType of 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
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..1CodingLOINC code for the observation
...... 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:SNOMEDCT Σ0..1CodingSNOMED CT code for the observation
...... 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
..... coding:NPU Σ0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... 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: urn:oid:1.2.208.176.2.1
...... 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:IEEE Σ0..1CodingIEEE code for the observation
...... 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: urn:iso:std:iso:11073:10101
...... 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:MedCom Σ0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
...... 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://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... 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:SKS Σ0..1CodingSKS code for the observation
...... 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: urn:oid:1.2.208.176.2.4
...... 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 Σ1..1Reference(Danish Core Patient Profile | Group | Location | Device)Who and/or what the observation is about
... 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] Σ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1Actual result
Slice: Unordered, Open by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... value[x]:valueQuantity ΣC0..1QuantityActual result
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ0..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ0..1stringUnit representation
..... system ΣC0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
..... code Σ0..1codeCoded form of the unit
... dataAbsentReason C0..1CodeableConceptWhy the 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.


... note 0..*AnnotationComments about the observation
... bodySite 0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method 0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for 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:SCTCode Σ0..1CodingCode defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... 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
Required Pattern: http://snomed.info/sct
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ0..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
... specimen 0..1Reference(Specimen)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured.
... referenceRange C0..*BackboneElementProvides guide for interpretation
.... 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
.... 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 Σ0..*Reference(Observation | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence)Related measurements the observation is made from
... component Σ0..*BackboneElementComponent results
.... 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
..... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC Σ0..1CodingLOINC code for the observation
....... 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:SNOMEDCT Σ0..1CodingSNOMED CT code for the observation
....... 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
...... coding:NPU Σ0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... 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: urn:oid:1.2.208.176.2.1
....... 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:IEEE Σ0..1CodingIEEE code for the observation
....... 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: urn:iso:std:iso:11073:10101
....... 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:MedCom Σ0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
....... 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://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... 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:SKS Σ0..1CodingSKS code for the observation.
....... 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: urn:oid:1.2.208.176.2.4
....... 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
.... Slices for value[x] Σ0..1Actual component result
Slice: Unordered, Open by type:$this
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
..... value[x]:valueQuantity Σ0..1QuantityActual component result
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
...... code Σ0..1codeCoded form of the unit
.... 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
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.methodexampleObservationMethods
Observation.method.coding:SCTCodeexampleTechniquesSCTCodes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
dk-core-observation-mandatory-unitserrorObservationIf value is specified then unit and/or code must be specified
: value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists()

This structure is derived from Observation

Summary

Mandatory: 1 element (25 nested mandatory elements)
Fixed Value: 12 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.code.coding is sliced based on the value of value:system
  • The element Observation.value[x] is sliced based on the value of type:$this
  • The element Observation.method.coding is sliced based on the value of value:system
  • The element Observation.component.code.coding is sliced based on the value of value:system
  • The element Observation.component.value[x] is sliced based on the value of type:$this

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... code
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC 0..1CodingLOINC code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1codeSymbol in syntax defined by the system
..... coding:SNOMEDCT 0..1CodingSNOMED CT code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1codeSymbol in syntax defined by the system
..... coding:NPU 0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code 1..1codeSymbol in syntax defined by the system
..... coding:IEEE 0..1CodingIEEE code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1codeSymbol in syntax defined by the system
..... coding:MedCom 0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code 1..1codeSymbol in syntax defined by the system
..... coding:SKS 0..1CodingSKS code for the observation
...... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code 1..1codeSymbol in syntax defined by the system
... subject 1..1Reference(Danish Core Patient Profile | Group | Location | Device)Who and/or what the observation is about
... performer 0..*Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson)Who is responsible for the observation
.... value[x]:valueQuantity 0..1QuantityActual result
..... system 0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... method
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:SCTCode 0..1CodingCode defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... system 1..1uriIdentity of the terminology system
Required Pattern: http://snomed.info/sct
... device 0..1Reference(Device | DeviceMetric)The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured.
... component
.... code
..... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC 0..1CodingLOINC code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1codeSymbol in syntax defined by the system
...... coding:SNOMEDCT 0..1CodingSNOMED CT code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1codeSymbol in syntax defined by the system
...... coding:NPU 0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
....... code 1..1codeSymbol in syntax defined by the system
...... coding:IEEE 0..1CodingIEEE code for the observation
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
....... code 1..1codeSymbol in syntax defined by the system
...... coding:MedCom 0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
....... system 1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... code 1..1codeSymbol in syntax defined by the system
...... coding:SKS 0..1CodingSKS code for the observation.
....... system 1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
....... code 1..1codeSymbol in syntax defined by the system
.... Slices for value[x] 0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1QuantityActual component result
...... system 0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.method.coding:SCTCodeexampleTechniquesSCTCodes

Constraints

IdGradePath(s)DetailsRequirements
dk-core-observation-mandatory-unitserrorObservationIf value is specified then unit and/or code must be specified
: value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..1CodingLOINC code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SNOMEDCT Σ0..1CodingSNOMED CT code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:NPU Σ0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:IEEE Σ0..1CodingIEEE code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:MedCom Σ0..1CodingMedCom code for the observation. MedCom codes are administred by the MedCom.
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code Σ1..1codeSymbol in syntax defined by the system
..... coding:SKS Σ0..1CodingSKS code for the observation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code Σ1..1codeSymbol in syntax defined by the system
... subject Σ1..1Reference(Danish Core Patient Profile | Group | Location | Device)Who and/or what the observation is about
... performer Σ0..*Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1Actual result
Slice: Unordered, Open by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... value[x]:valueQuantity ΣC0..1QuantityActual result
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... system ΣC0..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... device 0..1Reference(Device | DeviceMetric)The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator

Constraints

IdGradePath(s)DetailsRequirements
dk-core-observation-mandatory-unitserrorObservationIf value is specified then unit and/or code must be specified
: value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... 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 0..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
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ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 ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

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


... code Σ1..1CodeableConceptType of 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
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ0..1CodingLOINC code for the observation
...... 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:SNOMEDCT Σ0..1CodingSNOMED CT code for the observation
...... 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
..... coding:NPU Σ0..1CodingNPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... 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: urn:oid:1.2.208.176.2.1
...... version Σ0..1stringVersion of the system - if relevant
....