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/KLToolsCareRSS | Version: 1.0.0 | |||
Active as of 2023-08-27 | Computable Name: KLToolsCareRSS |
Thirty second chair stand test score, as performed in Danish municipalities
KLToolsCareRSS is an Observation that holds the results of a thirty second stand test. Its intended use is Danish municipalities. A thirty second stand test is used to evaluate the fuctional ability, which meassure how many times a citizen may rise from a chair in 30 seconds. A thirty second stand test may be used and documented in this model without a special license.
The test is performed using a chair with a straight back without arm rests (højrygget stol) or a foldig chair. Seat should be 44-47cm high. If the citizen has risen more than half, when the 30seconds have passed, it counts as a rise.
The citizen has been sitting in the middle of the chair, with a straight back, feets flat on the floor and have had arms crossed at the wrists and held the arms against the torso.
The Observation.code is fixed to the SNOMED CT code 450738001 “Thirty second chair stand test score (observable entity)”.
Observation.value[x] is of type Observation.valueInteger and should be a positive integer.
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 |
---|---|---|
RSSkode | Klasse som udtrykker, at der observeres på borgers evne til at rejse og sætte sig. | Observation.code |
RSSresultat | Heltal, der udtrykker, hvor mange gange borger kunne rejse og sætte sig. | Observation.valueInteger |
RSSsubjekt | Den borger, som er genstad for vurdering. | Observation.subject |
RSSkontakt | Den kontakt, hvor vurderingen er foretaget. | Observation.encounter |
RSSansvarlig | Den fagperson der er ansvarlig for observationen. | Observation.performer |
RSSprocedure | 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 |
RSStid | Tidspunkt for observationen. | Observation.effectiveDateTime |
RSSbemærkning | Bemærkning vedr. observationen | Observation.note.text |
RSSstatus | 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 | |
status | 1..1 | code | [DK] RSSstatus | |
code | 1..1 | CodeableConcept | [DK] RSSkode Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 450738001 | |
subject | 0..1 | Reference(Citizen) | [DK] RSSsubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] RSSkontakt | |
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] RSStid | |
performer | 0..* | Reference(Practioner) | [DK] RSSansvarlig | |
value[x] | 1..1 | integer | [DK] RSSresultat | |
note | ||||
text | 1..1 | markdown | [DK] RSSbemærkning | |
method | 1..1 | CodeableConcept | [DK] RSSprocedure | |
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] RSSstatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] RSSkode Binding: KLObservationskoder (extensible) Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 450738001 | |
subject | Σ | 0..1 | Reference(Citizen) | [DK] RSSsubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] RSSkontakt |
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] RSStid |
performer | Σ | 0..* | Reference(Practioner) | [DK] RSSansvarlig |
value[x] | ΣC | 1..1 | integer | [DK] RSSresultat |
method | 1..1 | CodeableConcept | [DK] RSSprocedure 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 / Code |
Observation.status | required | ObservationStatus |
Observation.code | extensible | Pattern: SNOMED CT code 450738001 |
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] RSSstatus 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] RSSkode Binding: KLObservationskoder (extensible) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://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: 450738001 | |||||
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 | |||||
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 | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | Σ | 0..1 | Reference(Citizen) | [DK] RSSsubjekt | ||||
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] RSSkontakt | ||||
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] RSStid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practioner) | [DK] RSSansvarlig | ||||
value[x] | ΣC | 1..1 | integer | [DK] RSSresultat | ||||
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] RSSbemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] RSSprocedure 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 / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | Pattern: SNOMED CT code 450738001 | ||||
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 | |
status | 1..1 | code | [DK] RSSstatus | |
code | 1..1 | CodeableConcept | [DK] RSSkode Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 450738001 | |
subject | 0..1 | Reference(Citizen) | [DK] RSSsubjekt | |
encounter | 0..1 | Reference(Encounter) | [DK] RSSkontakt | |
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] RSStid | |
performer | 0..* | Reference(Practioner) | [DK] RSSansvarlig | |
value[x] | 1..1 | integer | [DK] RSSresultat | |
note | ||||
text | 1..1 | markdown | [DK] RSSbemærkning | |
method | 1..1 | CodeableConcept | [DK] RSSprocedure | |
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] RSSstatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] RSSkode Binding: KLObservationskoder (extensible) Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 450738001 | |
subject | Σ | 0..1 | Reference(Citizen) | [DK] RSSsubjekt |
encounter | Σ | 0..1 | Reference(Encounter) | [DK] RSSkontakt |
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] RSStid |
performer | Σ | 0..* | Reference(Practioner) | [DK] RSSansvarlig |
value[x] | ΣC | 1..1 | integer | [DK] RSSresultat |
method | 1..1 | CodeableConcept | [DK] RSSprocedure 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 / Code |
Observation.status | required | ObservationStatus |
Observation.code | extensible | Pattern: SNOMED CT code 450738001 |
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] RSSstatus 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] RSSkode Binding: KLObservationskoder (extensible) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://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: 450738001 | |||||
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 | |||||
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 | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | Σ | 0..1 | Reference(Citizen) | [DK] RSSsubjekt | ||||
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] RSSkontakt | ||||
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] RSStid | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practioner) | [DK] RSSansvarlig | ||||
value[x] | ΣC | 1..1 | integer | [DK] RSSresultat | ||||
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] RSSbemærkning | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 1..1 | CodeableConcept | [DK] RSSprocedure 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 / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | extensible | Pattern: SNOMED CT code 450738001 | ||||
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