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/KLToolsCare6minwalk | Version: 1.0.0 | |||
Active as of 2023-08-27 | Computable Name: KLToolsCare6minwalk |
6 minutes walking test, as performed in Danish municipalities
KLToolsCare6minwalk is an Observation that holds the results of a Six-Minute Walk Test (6MWT). Its intended use is Danish municipalities. A Six-Minute Walk Test is used to evaluate the fuctional ability, which meassure how many meters a person can walk in 6 minutes.
The citizen walks on a surface with a length of 20-50meters
The citizen has performed the test without the use af walking aids or other physical support.
The Observation.code is fixed to the SNOMED CT code 165263003 “Walking distance (observable entity)” and the more precise LOINC code 64098-7 “Walking distance 6 minutes”
Observation.value[x] is of type Observation.valueQuantity. It should contain a positive decimal in Observation.valueQuantity.value, and use the UCUM unit for meter.
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. In addition, use the SNOMED CT code 761996005 ‘Estimation technique (qualifier value)’ if the procedure standard has not been followed, and 272391002 ‘Measurement technique (qualifier value)’ otherwise.
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 |
---|---|---|
6MinutterGangKode | Klasse som udtrykker, at der observeres på borgers evne til at gå i 6 minutter. | Observation.code |
6MinutterGangResultat | Decimaltal, der udtrykker, antallet af meter, borgeren kunne gå. | Observation.valueQuantity.value |
6MinutterGangEnhed | Klasse, der udtrykker, at den enhed der anvendes er meter. | Observation.valueQuantity.system and Observation.valueQuantity.code |
6MinutterGangsubjekt | Den borger, som er genstand for observationen. | Observation.subject |
6MinutterGangkontakt | Den kontakt, hvor observationen er foretaget. | Observation.encounter |
6MinutterGangansvarlig | Den fagperson der er ansvarlig for observationen. | Observation.performer |
6MinutterGangprocedure | 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 |
6MinutterGangtid | Tidspunkt for observationen. | Observation.effectiveDateTime |
6MinutterGangbemærkning | Bemærkning vedr. observationen | Observation.note.text |
6MinutterGangstatus | 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 KLCommonCareSocialObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions | |
code | 1..1 | CodeableConcept | [DK] 6MinutterGangKode | |
coding | 0..* | Coding | [DK] observationskode Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |
subject | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] 6MinutterGangKontakt | |
Slices for effective[x] | 0..1 | dateTime, Period, Timing, instant | [DK] observationstid Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] 6MinutterGangTid | |
performer | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig | |
value[x] | 1..1 | Quantity | [DK] observationsresultat | |
value | 0..1 | decimal | [DK] 6MinutterGangResultat | |
system | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org | |
code | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m | |
note | ||||
text | 1..1 | markdown | [DK] 6MinutterGangbemærkning | |
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure | |
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 | |
referenceRange | ||||
low | ||||
value | 0..1 | decimal | Numerical value (with implicit precision) Required Pattern: 0 | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | [DK] observationsstatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] 6MinutterGangKode Binding: KLObservationskoder (extensible) |
coding | Σ | 0..* | Coding | [DK] observationskode Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |
subject | Σ | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] 6MinutterGangKontakt |
Slices for effective[x] | Σ | 0..1 | [DK] observationstid Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] 6MinutterGangTid |
performer | Σ | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig |
value[x] | ΣC | 1..1 | Quantity | [DK] observationsresultat |
value | Σ | 0..1 | decimal | [DK] 6MinutterGangResultat |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
system | ΣC | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org |
code | Σ | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m |
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure 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 |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | extensible | KLObservationCodes |
Observation.value[x].comparator | required | QuantityComparator |
Observation.method | example | ObservationMethods |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions | ||||
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(PlannedIntervention | ServiceRequest | CarePlan) | [DK] observationBaseretPå | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!Σ | 1..1 | code | [DK] observationsstatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | Σ | 1..1 | CodeableConcept | [DK] 6MinutterGangKode Binding: KLObservationskoder (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 | |||||
coding | Σ | 0..* | Coding | [DK] observationskode Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |||||
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 | Σ | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt | ||||
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] 6MinutterGangKontakt | ||||
Slices for effective[x] | Σ | 0..1 | [DK] observationstid Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] 6MinutterGangTid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig | ||||
value[x] | ΣC | 1..1 | Quantity | [DK] observationsresultat | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | Σ | 0..1 | decimal | [DK] 6MinutterGangResultat | ||||
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
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] 6MinutterGangbemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure 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 | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | Σ | 0..1 | decimal | Numerical value (with implicit precision) Required Pattern: 0 | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 0..1 | uri | System that defines coded unit form | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
component | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | KLObservationCodes | ||||
Observation.value[x].comparator | required | QuantityComparator | ||||
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 | example | LOINCCodes (a valid code from LOINC) | ||||
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() |
This structure is derived from KLCommonCareSocialObservation
Summary
Mandatory: 5 elements (1 nested mandatory element)
Slices
This structure defines the following Slices:
Differential View
This structure is derived from KLCommonCareSocialObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions | |
code | 1..1 | CodeableConcept | [DK] 6MinutterGangKode | |
coding | 0..* | Coding | [DK] observationskode Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |
subject | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] 6MinutterGangKontakt | |
Slices for effective[x] | 0..1 | dateTime, Period, Timing, instant | [DK] observationstid Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] 6MinutterGangTid | |
performer | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig | |
value[x] | 1..1 | Quantity | [DK] observationsresultat | |
value | 0..1 | decimal | [DK] 6MinutterGangResultat | |
system | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org | |
code | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m | |
note | ||||
text | 1..1 | markdown | [DK] 6MinutterGangbemærkning | |
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure | |
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 | |
referenceRange | ||||
low | ||||
value | 0..1 | decimal | Numerical value (with implicit precision) Required Pattern: 0 | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | [DK] observationsstatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] 6MinutterGangKode Binding: KLObservationskoder (extensible) |
coding | Σ | 0..* | Coding | [DK] observationskode Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |
subject | Σ | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] 6MinutterGangKontakt |
Slices for effective[x] | Σ | 0..1 | [DK] observationstid Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] 6MinutterGangTid |
performer | Σ | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig |
value[x] | ΣC | 1..1 | Quantity | [DK] observationsresultat |
value | Σ | 0..1 | decimal | [DK] 6MinutterGangResultat |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
system | ΣC | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org |
code | Σ | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m |
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure 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 |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | extensible | KLObservationCodes |
Observation.value[x].comparator | required | QuantityComparator |
Observation.method | example | ObservationMethods |
Observation.method.coding:KLCode | required | KLtechniquesCodes |
Observation.method.coding:SCTCode | required | TechniqesSCTCodes |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | KLCommonCareSocialObservation | Measurements and simple assertions | ||||
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(PlannedIntervention | ServiceRequest | CarePlan) | [DK] observationBaseretPå | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!Σ | 1..1 | code | [DK] observationsstatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | Σ | 1..1 | CodeableConcept | [DK] 6MinutterGangKode Binding: KLObservationskoder (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 | |||||
coding | Σ | 0..* | Coding | [DK] observationskode Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 1144649008 | |||||
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 | Σ | 0..1 | Reference(Citizen) | [DK] 6MinutterGangSubjekt | ||||
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] 6MinutterGangKontakt | ||||
Slices for effective[x] | Σ | 0..1 | [DK] observationstid Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] 6MinutterGangTid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practioner) | [DK] 6MinutterGangAnsvarlig | ||||
value[x] | ΣC | 1..1 | Quantity | [DK] observationsresultat | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | Σ | 0..1 | decimal | [DK] 6MinutterGangResultat | ||||
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 0..1 | uri | [DK] 6MinutterGangEnhed Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | [DK] 6MinutterGangEnhed Required Pattern: m | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
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] 6MinutterGangbemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] 6MinutterGangprocedure 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 | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | Σ | 0..1 | decimal | Numerical value (with implicit precision) Required Pattern: 0 | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 0..1 | uri | System that defines coded unit form | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
component | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | KLObservationCodes | ||||
Observation.value[x].comparator | required | QuantityComparator | ||||
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 | example | LOINCCodes (a valid code from LOINC) | ||||
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() |
This structure is derived from KLCommonCareSocialObservation
Summary
Mandatory: 5 elements (1 nested mandatory element)
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron