1.0.0 - Release
This page is part of the KLChildren (v1.0.0: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://fhir.kl.dk/children/StructureDefinition/klgateway-children-bodyheight | Version: 1.0.0 | |||
Active as of 2023-09-30 | Computable Name: KLGatewayChildrenBodyHeight |
Body height profile used in Danish Municipalities, derived from HL7 standard profile
KLGatewayChildrenBodyHeight is used to document childrens 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:
The Observation.value[x] is a valueQuantity. The unit is drawn from UCUM and is always ‘cm’. The length/height should alwas be given as an integer. Decimal points should be rounded to nearest integer before reporting.
The effective time of the observation is documented in Observation.effective[x].
Observation.category is populated to conform to international vital-sign 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 occured, follow the FHIR guidance to populate the field correctly. To indicate missing data, Observation.dataAbsentReason can be used as well.
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 katagori 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 observation-bodyheight
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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..* | CodeableConcept | [DK] højdeKategori | |
code | 1..1 | CodeableConcept | [DK] højdeKode | |
coding | 2..* | Coding | Code defined by a terminology system | |
coding:snomedSlice | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (extensible) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
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]:valueQuantity | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
value | 1..1 | decimal | [DK] højdeResultat | |
system | 1..1 | uri | [DK] højdeEnhed | |
code | 1..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 |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren |
Id | Grade | Path(s) | Details | Requirements |
obs-1 | error | Observation | If height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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 | ?!SΣ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | [DK] højdeKategori Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣ | 1..1 | CodeableConcept | [DK] højdeKode Binding: VitalSigns (extensible): This identifies the vital sign result type. |
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:BodyHeightCode | Σ | 1..1 | Coding | Code defined by a terminology system |
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:snomedSlice | Σ | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (extensible) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
subject | SΣ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt |
effective[x] | SΣC | 1..1 | dateTime | [DK] højdeTid |
Slices for value[x] | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
value | SΣ | 1..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 | SΣ | 1..1 | string | Unit representation |
system | SΣC | 1..1 | uri | [DK] højdeEnhed Fixed Value: http://unitsofmeasure.org |
code | SΣ | 1..1 | code | [DK] højdeEnhed Binding: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference. Required Pattern: cm |
dataAbsentReason | SC | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
component | SΣC | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type. |
value[x] | SΣC | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | preferred | ObservationCategoryCodes |
Observation.code | extensible | VitalSigns |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.value[x]:valueQuantity.code | required | Pattern: cm |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.code | extensible | VitalSigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Id | Grade | Path(s) | Details | Requirements |
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 height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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 | ?!SΣ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | [DK] højdeKategori Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 1..* | Coding | Code defined by a terminology system | ||||
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 | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | CodeableConcept | [DK] højdeKode Binding: VitalSigns (extensible): This identifies the vital sign result type. | ||||
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 | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system | ||||
coding:BodyHeightCode | Σ | 1..1 | Coding | Code defined by a terminology system | ||||
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 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 | ||||
coding:snomedSlice | Σ | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (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 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 | ||||
subject | SΣ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | ||||
effective[x] | SΣC | 1..1 | dateTime | [DK] højdeTid | ||||
Slices for value[x] | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this | ||||
value[x]:valueQuantity | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | ||||
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 | SΣ | 1..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 | SΣ | 1..1 | string | Unit representation | ||||
system | SΣC | 1..1 | uri | [DK] højdeEnhed Fixed Value: http://unitsofmeasure.org | ||||
code | SΣ | 1..1 | code | [DK] højdeEnhed Binding: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference. Required Pattern: cm | ||||
dataAbsentReason | SC | 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 | ||||
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 | SΣC | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. | ||||
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 | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type. | ||||
value[x] | SΣC | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 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 | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.category:VSCat | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | VitalSigns | ||||
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.value[x]:valueQuantity.code | required | Pattern: cm | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | extensible | VitalSigns | ||||
Observation.component.value[x] | required | VitalSignsUnits | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
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 height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
This structure is derived from observation-bodyheight
Differential View
This structure is derived from observation-bodyheight
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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..* | CodeableConcept | [DK] højdeKategori | |
code | 1..1 | CodeableConcept | [DK] højdeKode | |
coding | 2..* | Coding | Code defined by a terminology system | |
coding:snomedSlice | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (extensible) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
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]:valueQuantity | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
value | 1..1 | decimal | [DK] højdeResultat | |
system | 1..1 | uri | [DK] højdeEnhed | |
code | 1..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 |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren |
Id | Grade | Path(s) | Details | Requirements |
obs-1 | error | Observation | If height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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 | ?!SΣ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | [DK] højdeKategori Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣ | 1..1 | CodeableConcept | [DK] højdeKode Binding: VitalSigns (extensible): This identifies the vital sign result type. |
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:BodyHeightCode | Σ | 1..1 | Coding | Code defined by a terminology system |
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:snomedSlice | Σ | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (extensible) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
subject | SΣ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt |
effective[x] | SΣC | 1..1 | dateTime | [DK] højdeTid |
Slices for value[x] | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
value | SΣ | 1..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 | SΣ | 1..1 | string | Unit representation |
system | SΣC | 1..1 | uri | [DK] højdeEnhed Fixed Value: http://unitsofmeasure.org |
code | SΣ | 1..1 | code | [DK] højdeEnhed Binding: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference. Required Pattern: cm |
dataAbsentReason | SC | 0..1 | CodeableConcept | [DK] højdeMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
component | SΣC | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type. |
value[x] | SΣC | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | preferred | ObservationCategoryCodes |
Observation.code | extensible | VitalSigns |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.value[x]:valueQuantity.code | required | Pattern: cm |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.code | extensible | VitalSigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Id | Grade | Path(s) | Details | Requirements |
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 height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile obs-1: If height is given as a decimal point number, 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 | ?!SΣ | 1..1 | code | [DK] højdeStatus Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | [DK] højdeKategori Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 1..* | Coding | Code defined by a terminology system | ||||
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 | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | CodeableConcept | [DK] højdeKode Binding: VitalSigns (extensible): This identifies the vital sign result type. | ||||
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 | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system | ||||
coding:BodyHeightCode | Σ | 1..1 | Coding | Code defined by a terminology system | ||||
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 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 | ||||
coding:snomedSlice | Σ | 1..1 | Coding | Code defined by a terminology system Binding: BodyheightSCTobservablesChildren (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 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 | ||||
subject | SΣ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] højdeSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] højdeKontakt | ||||
effective[x] | SΣC | 1..1 | dateTime | [DK] højdeTid | ||||
Slices for value[x] | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this | ||||
value[x]:valueQuantity | SΣC | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | ||||
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 | SΣ | 1..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 | SΣ | 1..1 | string | Unit representation | ||||
system | SΣC | 1..1 | uri | [DK] højdeEnhed Fixed Value: http://unitsofmeasure.org | ||||
code | SΣ | 1..1 | code | [DK] højdeEnhed Binding: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference. Required Pattern: cm | ||||
dataAbsentReason | SC | 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 | ||||
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 | SΣC | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. | ||||
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 | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type. | ||||
value[x] | SΣC | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 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 | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.category:VSCat | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | VitalSigns | ||||
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservablesChildren | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.value[x]:valueQuantity.code | required | Pattern: cm | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | extensible | VitalSigns | ||||
Observation.component.value[x] | required | VitalSignsUnits | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
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 height is given as a decimal point number, an error is returned : value.ofType(Quantity).value.toString().matches('^[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() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
This structure is derived from observation-bodyheight
Other representations of profile: CSV, Excel, Schematron