Implementation Guide for fælles faglige instrumenter (FFInst)
1.0.0 - release
This page is part of the KLFFinst (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/ffinst/StructureDefinition/KLToolsCareBodyHeight | Version: 1.0.0 | |||
Active as of 2023-08-27 | Computable Name: KLToolsCareBodyHeight |
Body height profile used in Danish Municipalities, derived from HL7 standard profile
KLToolsCareBodyHeight is an observation of height. Its intended use is Danish municipalities.
The length of the citizens body is meassured standing or lying down.
The citizen holds a steady lying or standing pose
The Observation.code is fixed to a single LOINC code 8302-2 “Body height” and a ValueSet with different SNOMED CT codes for height. The SNOMED CT code 248334005 |Length of body (observable entity)| is appropriate for most use cases.
Observation.value[x] is of type Observation.valueQuantity. It should contain a positive decimal in Observation.valueQuantity.value, and use the UCUM unit for centimeter.
Observation.method holds information about whether the “Test-setup” and “Citizen performance” have met the procedure-standards as described by KL, which are summarized above in English. The SNOMED CT code is 761996005 ‘Estimation technique (qualifier value)’ if the procedure standard has not been followed, and 272391002’ Measurement technique (qualifier value)’ otherwise. However, if the height is obtained, by asking the citizen about their height, Observation.method should be set to FFInst: 6713249a-433e-4b93-8975-0214a47 Afvigelse i borgers udførelse og test-setup, and SNOMED CT: 733985002 | Reported (qualifier value) | . |
Observation.note.text may be used to hold remarks about the observation. Observation.status is typically ‘final’.
Nedenstående tabel oversætter mellem de attributter der er defineret i værktøjsprojektet og den fælleskommunale informationsmodel, og definerer kort den enkelte attribut på dansk og specificerer, hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet.
Informationsmodel | Definition | FHIR |
---|---|---|
HøjdeKode | Klasse som udtrykker, at der observeres på borgers højde. | Observation.code |
HøjdeResultat | Decimaltal, der udtrykker, antallet af centimeter, borgeren er høj. | Observation.valueQuantity.value |
HøjdeEnhed | Klasse, der udtrykker, at den enhed der anvendes er centimeter. | Observation.valueQuantity.system and Observation.valueQuantity.code |
Højdesubjekt | Den borger, som er genstand for observationen. | Observation.subject |
Højdekontakt | Den kontakt, hvor observationen er foretaget. | Observation.encounter |
Højdeansvarlig | Den fagperson der er ansvarlig for observationen. | Observation.performer |
HøjdeProcedure | Information vedr. den procedure, der er brugt ifm. udførelsen ift. om test-setup og borgers udførelse har været i overensstemmelse med det beskrevne. | Observation.method |
Højdetid | Tidspunkt for observationen. | Observation.effectiveDateTime |
HøjdeBemærkning | Bemærkning vedr. observationen | Observation.note.text |
HøjdeStatus | Klasse der udtrykker, hvor i sin proces, observationen er. | Observation.status |
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 | 0..* | observation-bodyheight | FHIR Body Height Profile | |
status | 1..1 | code | [DK] HøjdeStatus | |
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: BodyheightSCTobservables (extensible) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
subject | 1..1 | Reference(Patient) | [DK] Højdesubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] Højdekontakt | |
Slices for effective[x] | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] Højdetid | |
performer | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig | |
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 | |
note | ||||
text | 1..1 | markdown | [DK] HøjdeBemærkning | |
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure | |
Slices for coding | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
coding:KLCode | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes | |
coding:SCTCode | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservables |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile |
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 | Classification of type of observation 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: BodyheightSCTobservables (extensible) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
subject | SΣ | 1..1 | Reference(Patient) | [DK] Højdesubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] Højdekontakt |
Slices for effective[x] | SΣC | 1..1 | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | SΣC | 0..1 | dateTime | [DK] Højdetid |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig |
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. |
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure Binding: ObservationMethods (example): Methods for simple observations. | |
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:KLCode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes |
coding:SCTCode | Σ | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
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 |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | preferred | ObservationCategoryCodes |
Observation.code | extensible | VitalSigns |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservables |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.value[x]:valueQuantity.code | required | BodyLengthUnits |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.method | example | ObservationMethods |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
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-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], Observation.effective[x]:effectiveDateTime | 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 | ||||
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 | ||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | [DK] HøjdeStatus Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation 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: BodyheightSCTobservables (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(Patient) | [DK] Højdesubjekt | ||||
focus | ΣTU | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | [DK] Højdekontakt | ||||
Slices for effective[x] | SΣC | 1..1 | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effective[x]:effectiveDateTime | SΣC | 0..1 | dateTime | [DK] Højdetid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig | ||||
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. | ||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
author[x] | Σ | 0..1 | Individual responsible for the annotation | |||||
authorReference | Reference(Practitioner | Patient | RelatedPerson | Organization) | |||||||
authorString | string | |||||||
time | Σ | 0..1 | dateTime | When the annotation was made | ||||
text | Σ | 1..1 | markdown | [DK] HøjdeBemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure Binding: ObservationMethods (example): Methods for simple observations. | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:KLCode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (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 Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes | ||||
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 | ||||
coding:SCTCode | Σ | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (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 Required Pattern: http://snomed.info/sct | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
specimen | 0..1 | Reference(Specimen) | Specimen used for this observation | |||||
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
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 | |||||
hasMember | Σ | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from | ||||
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 | ||||
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 | BodyheightSCTobservables | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.value[x]:valueQuantity.code | required | BodyLengthUnits | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | extensible | ObservationInterpretationCodes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
Observation.method.coding:KLCode | required | KLtechniquesCodes | ||||
Observation.method.coding:SCTCode | required | TechniqesSCTCodes | ||||
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-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], Observation.effective[x]:effectiveDateTime | 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
Summary
Mandatory: 6 elements (1 nested mandatory element)
Slices
This structure defines the following Slices:
Differential View
This structure is derived from observation-bodyheight
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | observation-bodyheight | FHIR Body Height Profile | |
status | 1..1 | code | [DK] HøjdeStatus | |
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: BodyheightSCTobservables (extensible) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
subject | 1..1 | Reference(Patient) | [DK] Højdesubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] Højdekontakt | |
Slices for effective[x] | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] Højdetid | |
performer | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig | |
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 | |
note | ||||
text | 1..1 | markdown | [DK] HøjdeBemærkning | |
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure | |
Slices for coding | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
coding:KLCode | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes | |
coding:SCTCode | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservables |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-bodyheight | FHIR Body Height Profile |
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 | Classification of type of observation 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: BodyheightSCTobservables (extensible) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
subject | SΣ | 1..1 | Reference(Patient) | [DK] Højdesubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] Højdekontakt |
Slices for effective[x] | SΣC | 1..1 | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | SΣC | 0..1 | dateTime | [DK] Højdetid |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig |
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. |
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure Binding: ObservationMethods (example): Methods for simple observations. | |
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:KLCode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes |
coding:SCTCode | Σ | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
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 |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | preferred | ObservationCategoryCodes |
Observation.code | extensible | VitalSigns |
Observation.code.coding:snomedSlice | extensible | BodyheightSCTobservables |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.value[x]:valueQuantity.code | required | BodyLengthUnits |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.method | example | ObservationMethods |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
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-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], Observation.effective[x]:effectiveDateTime | 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 | ||||
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 | ||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | [DK] HøjdeStatus Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation 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: BodyheightSCTobservables (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(Patient) | [DK] Højdesubjekt | ||||
focus | ΣTU | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | [DK] Højdekontakt | ||||
Slices for effective[x] | SΣC | 1..1 | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effective[x]:effectiveDateTime | SΣC | 0..1 | dateTime | [DK] Højdetid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | [DK] Højdeansvarlig | ||||
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. | ||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
author[x] | Σ | 0..1 | Individual responsible for the annotation | |||||
authorReference | Reference(Practitioner | Patient | RelatedPerson | Organization) | |||||||
authorString | string | |||||||
time | Σ | 0..1 | dateTime | When the annotation was made | ||||
text | Σ | 1..1 | markdown | [DK] HøjdeBemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] HøjdeProcedure Binding: ObservationMethods (example): Methods for simple observations. | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:KLCode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: KLtechniquesCodes (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 Required Pattern: http://fhir.kl.dk/ffinst/CodeSystem/KLToolsCodes | ||||
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 | ||||
coding:SCTCode | Σ | 0..1 | Coding | Code defined by a terminology system Binding: TechniqesSCTCodes (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 Required Pattern: http://snomed.info/sct | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
specimen | 0..1 | Reference(Specimen) | Specimen used for this observation | |||||
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
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 | |||||
hasMember | Σ | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from | ||||
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 | ||||
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 | BodyheightSCTobservables | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.value[x]:valueQuantity.code | required | BodyLengthUnits | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | extensible | ObservationInterpretationCodes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
Observation.method.coding:KLCode | required | KLtechniquesCodes | ||||
Observation.method.coding:SCTCode | required | TechniqesSCTCodes | ||||
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-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], Observation.effective[x]:effectiveDateTime | 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
Summary
Mandatory: 6 elements (1 nested mandatory element)
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron