KLChildren implementation guide, an implementation of FBU
2.1.0 - Release
KLChildren implementation guide, an implementation of FBU, published by Kommunernes Landsforening. This guide is not an authorized publication; it is the continuous build for version 2.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/kl-children/ and changes regularly. See the Directory of published versions
Official URL: http://fhir.kl.dk/children/StructureDefinition/klgateway-children-bodyheight | Version: 2.1.0 | |||
Active as of 2024-10-31 | Computable Name: KLGatewayChildrenBodyHeight |
Body height profile used in Danish Municipalities, derived from HL7 DK standard profile
KLGatewayChildrenBodyHeight is used to document children’s length or height.
Observation.code.coding holds the valid values for the types of observations allowed. It is bound to a mandatory LOINC code: 8302-2 'Body height', and a mandatory set of SNOMED CT codes. The allowed SNOMED CT observation codes are:
Choose 'body height recumbent' as long as the child is lying down while being measured, and shift to 'body heigh standing' when the child starts to stand up. Use 'Body height' if body position is unknown.
The Observation.value[x] is a valueQuantity. The unit is drawn from UCUM and is always 'cm'. The height should be given as a decimal point with one precision. The Danish Health Authorities recommend rounding to the nearest half centimeter. Remember to use '.' not ',' for decimal points.
The effective time of the observation is documented in Observation.effective[x].
Observation.category is populated to conform to national and international vital-sign/basic observation standards. The value should always be 'vital-signs'.
Observation.subject holds the reference to the child. Observation.encounter holds the reference to the encounter in which the observation is performed.
Notice that the status-attribute is mandatory. For normal use, just set to "final", if data is missing or another problem has occurred, follow the FHIR guidance to populate the field correctly. To indicate missing data, Observation.dataAbsentReason is used. Observation.dataAbsentReason is mandatory if no value is given. The value 'unknown' can always be used. It is also possible to use one of the other values in the ValueSet defined by the FHIR standard, if more details are nedded locally.
Nedenstående tabel oversætter mellem de attributter der er defineret i den fælleskommunale informationsmodel (FKI), definerer kort den enkelte attribut på dansk og specificerer hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet.
FKI-attribut | Definition | FHIR |
---|---|---|
højdeKode | Klasse som udtrykker, hvad der observeres. | Observation.code.coding |
højdeResultat | Resultatet af observationen. | Observation.value[x] |
højdeEnhed | Enheden på observationsresultatet. | Observation.valueQuantity.unit |
højdeTid | Tidspunkt for observationen. | Observation.effective |
højdeKategori | Klasse der udtrykker en overordnet kategori for hvad der observeres | Observation.category |
højdeSubjekt | Den borger, for hvem der er foretaget en observation. | Observation.subject |
højdeKontakt | Den kontakt, hvor observationen er foretaget. | Observation.encounter |
højdeStatus | Klasse der udtrykker, hvor i sin proces, observationen er. | Observation.status |
højdeMangler | Klasse, der udtrykker hvorfor data mangler | Observation.dataAbsentReason |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from DkCoreBasicObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | Measurements and simple assertions obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason |
identifier | 0..0 | |||
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | [DK] højdeStatus | |
category | 1..1 | CodeableConcept | [DK] højdeKategori | |
code | 1..1 | CodeableConcept | [DK] højdeKode | |
Slices for coding | Content/Rules for all slices | |||
coding:LOINC | 1..1 | Coding | LOINC code for the observation Required Pattern: At least the following | |
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 Fixed Value: 8302-2 | |
coding:SNOMEDCT | 0..1 | Coding | SNOMED CT code for the observation Binding: HøjdeObservationskoderSCT (required) | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | |
effective[x] | 1..1 | dateTime | [DK] højdeTid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | Quantity | Actual result | |
Slices for value[x] | Content/Rules for all slices | |||
value[x]:valueQuantity | 0..1 | Quantity | Actual result | |
value | 0..1 | decimal | [DK] højdeResultat | |
system | 0..1 | uri | [DK] højdeEnhed | |
code | 0..1 | code | [DK] højdeEnhed Required Pattern: cm | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] højdeMangler | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG |
Id | Grade | Path(s) | Details | Requirements |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | 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 obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason |
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 | [DK] højdeStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
category | 1..1 | CodeableConcept | [DK] højdeKategori Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | |
code | Σ | 1..1 | CodeableConcept | [DK] højdeKode Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:LOINC | Σ | 1..1 | Coding | LOINC code for the observation Binding: DK Core LOINC Basic Observations (extensible) Required Pattern: At least the following |
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 Fixed Value: 8302-2 | |
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 Binding: HøjdeObservationskoderSCT (required) |
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. Binding: DK Core NPU Basic Observation (extensible) |
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 Binding: Dk Core IEEE Basic Observation (extensible) |
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(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt |
effective[x] | Σ | 1..1 | dateTime | [DK] højdeTid |
Slices for value[x] | ΣC | 0..1 | Quantity | Actual result Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result |
value | Σ | 0..1 | decimal | [DK] højdeResultat |
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 | [DK] højdeEnhed Binding: DK Core UCUM Basic Units (extensible) Required Pattern: http://unitsofmeasure.org |
code | Σ | 0..1 | code | [DK] højdeEnhed Required Pattern: cm |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.category | preferred | Pattern: vital-signshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.code.coding:LOINC | extensible | Pattern: LOINC Code 8302-2http://hl7.dk/fhir/core/ValueSet/dk-core-LoincBasicObservation | |
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG | |
Observation.code.coding:NPU | extensible | NPUBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-NPUBasicObservation | |
Observation.code.coding:IEEE | extensible | IEEEBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-IEEEBasicObservation | |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | |
Observation.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If 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() | |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | 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 obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason | ||||
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.
| |||||
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 | ||||
status | ?!Σ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 1..1 | CodeableConcept | [DK] højdeKategori Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | |||||
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 | |||||
code | Σ | 1..1 | CodeableConcept | [DK] højdeKode 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 | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:LOINC | Σ | 1..1 | Coding | LOINC code for the observation Binding: DK Core LOINC Basic Observations (extensible) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8302-2 | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
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 Binding: HøjdeObservationskoderSCT (required) | ||||
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. Binding: DK Core NPU Basic Observation (extensible) | ||||
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 Binding: Dk Core IEEE Basic Observation (extensible) | ||||
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(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | ||||
effective[x] | Σ | 1..1 | dateTime | [DK] højdeTid | ||||
Slices for value[x] | ΣC | 0..1 | Quantity | Actual result Slice: Unordered, Closed by type:$this | ||||
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 | [DK] højdeResultat | ||||
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 | [DK] højdeEnhed Binding: DK Core UCUM Basic Units (extensible) Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | [DK] højdeEnhed Required Pattern: cm | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
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 | |||||
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, Closed by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
value[x]:valueQuantity | Σ | 0..1 | 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 Binding: DK Core UCUM Basic Units (extensible) 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | Pattern: vital-signshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.code.coding:LOINC | extensible | Pattern: LOINC Code 8302-2http://hl7.dk/fhir/core/ValueSet/dk-core-LoincBasicObservation | ||||
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG | ||||
Observation.code.coding:NPU | extensible | NPUBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-NPUBasicObservation | ||||
Observation.code.coding:IEEE | extensible | IEEEBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-IEEEBasicObservation | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If 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() | |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from DkCoreBasicObservation
Differential View
This structure is derived from DkCoreBasicObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | Measurements and simple assertions obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason |
identifier | 0..0 | |||
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | [DK] højdeStatus | |
category | 1..1 | CodeableConcept | [DK] højdeKategori | |
code | 1..1 | CodeableConcept | [DK] højdeKode | |
Slices for coding | Content/Rules for all slices | |||
coding:LOINC | 1..1 | Coding | LOINC code for the observation Required Pattern: At least the following | |
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 Fixed Value: 8302-2 | |
coding:SNOMEDCT | 0..1 | Coding | SNOMED CT code for the observation Binding: HøjdeObservationskoderSCT (required) | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | |
effective[x] | 1..1 | dateTime | [DK] højdeTid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | Quantity | Actual result | |
Slices for value[x] | Content/Rules for all slices | |||
value[x]:valueQuantity | 0..1 | Quantity | Actual result | |
value | 0..1 | decimal | [DK] højdeResultat | |
system | 0..1 | uri | [DK] højdeEnhed | |
code | 0..1 | code | [DK] højdeEnhed Required Pattern: cm | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] højdeMangler | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG |
Id | Grade | Path(s) | Details | Requirements |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | 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 obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason |
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 | [DK] højdeStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
category | 1..1 | CodeableConcept | [DK] højdeKategori Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | |
code | Σ | 1..1 | CodeableConcept | [DK] højdeKode Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:LOINC | Σ | 1..1 | Coding | LOINC code for the observation Binding: DK Core LOINC Basic Observations (extensible) Required Pattern: At least the following |
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 Fixed Value: 8302-2 | |
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 Binding: HøjdeObservationskoderSCT (required) |
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. Binding: DK Core NPU Basic Observation (extensible) |
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 Binding: Dk Core IEEE Basic Observation (extensible) |
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(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt |
effective[x] | Σ | 1..1 | dateTime | [DK] højdeTid |
Slices for value[x] | ΣC | 0..1 | Quantity | Actual result Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result |
value | Σ | 0..1 | decimal | [DK] højdeResultat |
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 | [DK] højdeEnhed Binding: DK Core UCUM Basic Units (extensible) Required Pattern: http://unitsofmeasure.org |
code | Σ | 0..1 | code | [DK] højdeEnhed Required Pattern: cm |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.category | preferred | Pattern: vital-signshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.code.coding:LOINC | extensible | Pattern: LOINC Code 8302-2http://hl7.dk/fhir/core/ValueSet/dk-core-LoincBasicObservation | |
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG | |
Observation.code.coding:NPU | extensible | NPUBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-NPUBasicObservation | |
Observation.code.coding:IEEE | extensible | IEEEBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-IEEEBasicObservation | |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | |
Observation.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If 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() | |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | DkCoreBasicObservation | 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 obs-1: If value is given as a decimal point number with more than one precision, an error is returned obs-2: If the value is not given, then explain why using dataAbsentReason | ||||
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.
| |||||
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 | ||||
status | ?!Σ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 1..1 | CodeableConcept | [DK] højdeKategori Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | |||||
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 | |||||
code | Σ | 1..1 | CodeableConcept | [DK] højdeKode 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 | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:LOINC | Σ | 1..1 | Coding | LOINC code for the observation Binding: DK Core LOINC Basic Observations (extensible) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 8302-2 | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
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 Binding: HøjdeObservationskoderSCT (required) | ||||
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. Binding: DK Core NPU Basic Observation (extensible) | ||||
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 Binding: Dk Core IEEE Basic Observation (extensible) | ||||
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(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | ||||
effective[x] | Σ | 1..1 | dateTime | [DK] højdeTid | ||||
Slices for value[x] | ΣC | 0..1 | Quantity | Actual result Slice: Unordered, Closed by type:$this | ||||
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 | [DK] højdeResultat | ||||
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 | [DK] højdeEnhed Binding: DK Core UCUM Basic Units (extensible) Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | [DK] højdeEnhed Required Pattern: cm | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
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 | |||||
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, Closed by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
value[x]:valueQuantity | Σ | 0..1 | 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 Binding: DK Core UCUM Basic Units (extensible) 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | Pattern: vital-signshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.code.coding:LOINC | extensible | Pattern: LOINC Code 8302-2http://hl7.dk/fhir/core/ValueSet/dk-core-LoincBasicObservation | ||||
Observation.code.coding:SNOMEDCT | required | BodyheightSCTobservablesChildrenhttp://fhir.kl.dk/children/ValueSet/BodyheightSCTobservablesChildren from this IG | ||||
Observation.code.coding:NPU | extensible | NPUBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-NPUBasicObservation | ||||
Observation.code.coding:IEEE | extensible | IEEEBasicObservationhttp://hl7.dk/fhir/core/ValueSet/dk-core-IEEEBasicObservation | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.system | extensible | Pattern: http://unitsofmeasure.orghttp://hl7.dk/fhir/core/ValueSet/dk-core-UCUM-BasicUnits | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If 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() | |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-1 | error | Observation | If value is given as a decimal point number with more than one precision, an error is returned : value.ofType(Quantity).value.toString().matches('^[0-9]*\u002e?[0-9]$') | |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from DkCoreBasicObservation
Other representations of profile: CSV, Excel, Schematron