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

This page is part of the HL7 FHIR Implementation Guide: DK Core (v3.2.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.2.0
Active as of 2024-05-06 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 DkCoreRelatedPerson.

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 C 0..* Observation Measurements 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..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC 0..1 Coding LOINC code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1 code Symbol in syntax defined by the system
..... coding:SNOMEDCT 0..1 Coding SNOMED CT code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
..... coding:NPU 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code 1..1 code Symbol in syntax defined by the system
..... coding:IEEE 0..1 Coding IEEE code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1 code Symbol in syntax defined by the system
..... coding:MedCom 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code 1..1 code Symbol in syntax defined by the system
..... coding:SKS 0..1 Coding SKS code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code 1..1 code Symbol in syntax defined by the system
... subject 1..1 Reference(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 | Danish Core Related Person Profile) Who is responsible for the observation
.... value[x]:valueQuantity 0..1 Quantity Actual result
..... system 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... method
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:SCTCode 0..1 Coding Code defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... system 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
... device 0..1 Reference(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..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC 0..1 Coding LOINC code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1 code Symbol in syntax defined by the system
...... coding:SNOMEDCT 0..1 Coding SNOMED CT code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1 code Symbol in syntax defined by the system
...... coding:NPU 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
....... code 1..1 code Symbol in syntax defined by the system
...... coding:IEEE 0..1 Coding IEEE code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
....... code 1..1 code Symbol in syntax defined by the system
...... coding:MedCom 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... code 1..1 code Symbol in syntax defined by the system
...... coding:SKS 0..1 Coding SKS code for the observation.
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
....... code 1..1 code Symbol in syntax defined by the system
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1 Quantity Actual component result
...... system 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.method.coding:SCTCodeexampleTechniquesSCTCodes
http://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes
from this IG

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 C 0..* Observation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ 0..1 Coding LOINC code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:SNOMEDCT Σ 0..1 Coding SNOMED CT code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:NPU Σ 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:IEEE Σ 0..1 Coding IEEE code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:MedCom Σ 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:SKS Σ 0..1 Coding SKS code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code Σ 1..1 code Symbol in syntax defined by the system
... subject Σ 1..1 Reference(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 | Danish Core Related Person Profile) Who is responsible for the observation
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... system ΣC 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... device 0..1 Reference(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

PathConformanceValueSetURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

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 C 0..* Observation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

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


... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ 0..1 Coding LOINC code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:SNOMEDCT Σ 0..1 Coding SNOMED CT code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:NPU Σ 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:IEEE Σ 0..1 Coding IEEE code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:MedCom Σ 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:SKS Σ 0..1 Coding SKS code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 1..1 Reference(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..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] Σ 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
.... effectiveInstant instant
... issued Σ 0..1 instant Date/Time this version was made available
... performer Σ 0..* Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | Danish Core Related Person Profile) Who is responsible for the observation
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ 0..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ 0..1 string Unit representation
..... system ΣC 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
..... code Σ 0..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

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


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

... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:SCTCode Σ 0..1 Coding Code defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(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 C 0..* BackboneElement Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... low C 0..1 SimpleQuantity Low Range, if relevant
.... high C 0..1 SimpleQuantity High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

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


.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(Observation | 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..* BackboneElement Component results
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC Σ 0..1 Coding LOINC code for the observation
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:SNOMEDCT Σ 0..1 Coding SNOMED CT code for the observation
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:NPU Σ 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:IEEE Σ 0..1 Coding IEEE code for the observation
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:MedCom Σ 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:SKS Σ 0..1 Coding SKS code for the observation.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
.... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Open by type:$this
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
...... code Σ 0..1 code Coded form of the unit
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

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


.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

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.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
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.method.coding:SCTCodeexampleTechniquesSCTCodes
http://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes
from this IG
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.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
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

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: 12 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.code.coding
  • The element 1 is sliced based on the value of Observation.value[x]
  • The element 1 is sliced based on the value of Observation.method.coding
  • The element 1 is sliced based on the value of Observation.component.code.coding
  • The element 1 is sliced based on the value of Observation.component.value[x]

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation Measurements 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..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC 0..1 Coding LOINC code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1 code Symbol in syntax defined by the system
..... coding:SNOMEDCT 0..1 Coding SNOMED CT code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
..... coding:NPU 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code 1..1 code Symbol in syntax defined by the system
..... coding:IEEE 0..1 Coding IEEE code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1 code Symbol in syntax defined by the system
..... coding:MedCom 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code 1..1 code Symbol in syntax defined by the system
..... coding:SKS 0..1 Coding SKS code for the observation
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code 1..1 code Symbol in syntax defined by the system
... subject 1..1 Reference(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 | Danish Core Related Person Profile) Who is responsible for the observation
.... value[x]:valueQuantity 0..1 Quantity Actual result
..... system 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... method
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:SCTCode 0..1 Coding Code defined by a terminology system
Binding: DK TechniquesSCTCodes (example)
...... system 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
... device 0..1 Reference(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..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:LOINC 0..1 Coding LOINC code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1 code Symbol in syntax defined by the system
...... coding:SNOMEDCT 0..1 Coding SNOMED CT code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
....... code 1..1 code Symbol in syntax defined by the system
...... coding:NPU 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
....... code 1..1 code Symbol in syntax defined by the system
...... coding:IEEE 0..1 Coding IEEE code for the observation
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
....... code 1..1 code Symbol in syntax defined by the system
...... coding:MedCom 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
....... code 1..1 code Symbol in syntax defined by the system
...... coding:SKS 0..1 Coding SKS code for the observation.
....... system 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
....... code 1..1 code Symbol in syntax defined by the system
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1 Quantity Actual component result
...... system 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.method.coding:SCTCodeexampleTechniquesSCTCodes
http://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes
from this IG

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 C 0..* Observation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ 0..1 Coding LOINC code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:SNOMEDCT Σ 0..1 Coding SNOMED CT code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:NPU Σ 0..1 Coding NPU code for the observation. NPU codes are administred by the Danish Health Data Authority.
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.1
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:IEEE Σ 0..1 Coding IEEE code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:MedCom Σ 0..1 Coding MedCom code for the observation. MedCom codes are administred by the MedCom.
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:SKS Σ 0..1 Coding SKS code for the observation
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:oid:1.2.208.176.2.4
...... code Σ 1..1 code Symbol in syntax defined by the system
... subject Σ 1..1 Reference(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 | Danish Core Related Person Profile) Who is responsible for the observation
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... system ΣC 0..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
... device 0..1 Reference(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

PathConformanceValueSetURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

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 C 0..* Observation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

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


... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:LOINC Σ 0..1 Coding LOINC code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:SNOMEDCT Σ 0..1 Coding SNOMED CT code for the observation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...