1.1.0 - release Denmark flag

This page is part of the KL Gateway (v1.1.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

Resource Profile: CareCitizensOwnObservation

Official URL: http://fhir.kl.dk/gateway/StructureDefinition/klgateway-care-citizens-own-observation Version: 1.1.0
Active as of 2023-06-21 Computable Name: KLGatewayCareCitizensOwnObservation

Measurements and simple assertions made about a patient by the patient.

Scope and usage

CitizensOwnObservation is used to document, performance level (udførelse) or importance level (betydning) as defined by FSIII. Note that each of the observations require its own instance of this model. The observation only makes sense linked to an already defined Condition or MatterOfInterest. Consequently, the focus-attribute is mandatory.

The code-attribute refers to either performance level or importance level using a required ValueSet, and the result is expressed in valueCodeableConcept, which is also bound to a required FSIII valueSet. Observation and value codes should be correctly matched, so that a performance-result is not used with a importance observation-code.

Notice that the status-attribute is mandatory. For normal use, just set to “final”. If data is missing or another problem has occured, follow the FHIR guidance to populate the field correctly.

Conversions between Danish information model and FHIR-profile

Nedenstående tabel oversætter mellem de attributter, der er defineret i den fælleskommunale informationsmodel (FKI), definerer kort den enkelte attribut på dansk og specificerer, hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet.

FKI-attribut Definition FHIR
borgervurderingskode Klasse som udtrykker, at der observeres på borgers evne til at udføre funktion eller aktivitet. Observation.code.coding
borgervurderingsresultat Klasse, der udtrykker resultatet af borgers vurdering. Observation.valueCodeableConcept.coding
borgervurderingssubjekt Den borger, som er genstand for vurdering. Observation.subject
borgervurderingsfokus Tilstand eller matter of interest, som denne borgervurdering er direkte observation på. Observation.focus
borgervurderingstid Tidspunkt for borgervurderingen. Observation.effectiveDateTime
borgervurderingsstatus Klasse der udtrykker, hvor i sin proces, borgervurderingen er. Observation.status

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... identifier 0..0
... basedOn 0..0
... partOf 0..0
... category 0..0
... code 1..1CodeableConceptType of observation (code / type)
Binding: KLBorgervurderingsObservationskoderFSIII (required)
.... coding 0..*Coding[DK] borgervurderingskode
..... version 0..0
..... display 0..0
..... userSelected 0..0
.... text 0..0
... subject 0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus 1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... encounter 0..0
... effective[x] 1..1dateTime[DK] borgervurderingstid
... issued 0..0
... performer 0..0
... value[x] 1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... coding 0..*Coding[DK] borgervurderingsresultat
..... version 0..0
..... display 0..0
..... userSelected 0..0
.... text 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII

Constraints

IdGradePath(s)DetailsRequirements
klgateway-citizen-observation-code-and-value-must-matcherrorObservationThe value of the observation shall be member of the valueset matching the code of the observation
: ((code.coding.code = 'C') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLPerformanceLevelCodesFSIII'))) or ((code.coding.code = 'D') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLImportanceLevelCodesFSIII')))
klgateway-focus-must-be-home-care-condition-or-areaerrorObservationThe focus shall be a home care condition or a home care matter of interest
: focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLConditionCodesHomeCare') or focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLHomeCareAreasFSIII')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] borgervurderingsstatus
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... coding Σ0..*Coding[DK] borgervurderingskode
... subject Σ0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus Σ1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... effective[x] Σ1..1dateTime[DK] borgervurderingstid
... value[x] ΣC1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... coding Σ0..*Coding[DK] borgervurderingsresultat

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-citizen-observation-code-and-value-must-matcherrorObservationThe value of the observation shall be member of the valueset matching the code of the observation
: ((code.coding.code = 'C') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLPerformanceLevelCodesFSIII'))) or ((code.coding.code = 'D') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLImportanceLevelCodesFSIII')))
klgateway-focus-must-be-home-care-condition-or-areaerrorObservationThe focus shall be a home care condition or a home care matter of interest
: focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLConditionCodesHomeCare') or focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLHomeCareAreasFSIII')
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] borgervurderingsstatus
Binding: ObservationStatus (required): Codes providing the status of an observation.

... code Σ1..1CodeableConceptType of observation (code / type)
Binding: KLBorgervurderingsObservationskoderFSIII (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] borgervurderingskode
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... code Σ0..1codeSymbol in syntax defined by the system
... subject Σ0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus Σ1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... effective[x] Σ1..1dateTime[DK] borgervurderingstid
... value[x] ΣC1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] borgervurderingsresultat
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... code Σ0..1codeSymbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Observation.statusrequiredObservationStatus
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... identifier 0..0
... basedOn 0..0
... partOf 0..0
... category 0..0
... code 1..1CodeableConceptType of observation (code / type)
Binding: KLBorgervurderingsObservationskoderFSIII (required)
.... coding 0..*Coding[DK] borgervurderingskode
..... version 0..0
..... display 0..0
..... userSelected 0..0
.... text 0..0
... subject 0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus 1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... encounter 0..0
... effective[x] 1..1dateTime[DK] borgervurderingstid
... issued 0..0
... performer 0..0
... value[x] 1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... coding 0..*Coding[DK] borgervurderingsresultat
..... version 0..0
..... display 0..0
..... userSelected 0..0
.... text 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII

Constraints

IdGradePath(s)DetailsRequirements
klgateway-citizen-observation-code-and-value-must-matcherrorObservationThe value of the observation shall be member of the valueset matching the code of the observation
: ((code.coding.code = 'C') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLPerformanceLevelCodesFSIII'))) or ((code.coding.code = 'D') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLImportanceLevelCodesFSIII')))
klgateway-focus-must-be-home-care-condition-or-areaerrorObservationThe focus shall be a home care condition or a home care matter of interest
: focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLConditionCodesHomeCare') or focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLHomeCareAreasFSIII')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] borgervurderingsstatus
Binding: ObservationStatus (required): Codes providing the status of an observation.

.... coding Σ0..*Coding[DK] borgervurderingskode
... subject Σ0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus Σ1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... effective[x] Σ1..1dateTime[DK] borgervurderingstid
... value[x] ΣC1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... coding Σ0..*Coding[DK] borgervurderingsresultat

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-citizen-observation-code-and-value-must-matcherrorObservationThe value of the observation shall be member of the valueset matching the code of the observation
: ((code.coding.code = 'C') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLPerformanceLevelCodesFSIII'))) or ((code.coding.code = 'D') and (valueCodeableConcept.memberOf('http://fhir.kl.dk/term/ValueSet/KLImportanceLevelCodesFSIII')))
klgateway-focus-must-be-home-care-condition-or-areaerrorObservationThe focus shall be a home care condition or a home care matter of interest
: focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLConditionCodesHomeCare') or focus.resolve().code.coding.memberOf('http://fhir.kl.dk/term/ValueSet/KLHomeCareAreasFSIII')
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
klgateway-citizen-observation-code-and-value-must-match: The value of the observation shall be member of the valueset matching the code of the observation
klgateway-focus-must-be-home-care-condition-or-area: The focus shall be a home care condition or a home care matter of interest
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] borgervurderingsstatus
Binding: ObservationStatus (required): Codes providing the status of an observation.

... code Σ1..1CodeableConceptType of observation (code / type)
Binding: KLBorgervurderingsObservationskoderFSIII (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] borgervurderingskode
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... code Σ0..1codeSymbol in syntax defined by the system
... subject Σ0..1Reference(CareCitizen) {b}[DK] borgervurderingssubjekt
... focus Σ1..1Reference(CareCondition | CareMatterOfInterestObservation) {b}[DK] borgervurderingsfokus
... effective[x] Σ1..1dateTime[DK] borgervurderingstid
... value[x] ΣC1..1CodeableConceptActual result
Binding: KLBorgervurderingsResultatkoderFSIII (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*Coding[DK] borgervurderingsresultat
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... code Σ0..1codeSymbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Observation.statusrequiredObservationStatus
Observation.coderequiredKLCitizenObservationCodesFSIII
Observation.value[x]requiredKLCitizenObservationResultCodesFSIII
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron