KLChildren implementation guide, an implementation of FBU
2.1.0 - Release
KLChildren implementation guide, an implementation of FBU, published by Kommunernes Landsforening. This guide is not an authorized publication; it is the continuous build for version 2.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/kl-children/ and changes regularly. See the Directory of published versions
Official URL: http://fhir.kl.dk/children/StructureDefinition/klgateway-children-indicator | Version: 2.1.0 | |||
Active as of 2024-10-31 | Computable Name: KLGatewayChildrenIndicator |
Abstract indicator profile, used in the children database
KLGatewayChildrenIndicator is an abstract profile (i.e. cannot be instantiated). Indicators are characterized from the children’s standard, where a whole area of concern is evaluated using a two-, three- or four-point scale of no problems, potential concern and concerns respectively. A number of mandatory observations/evaluations inherits from this abstract profile. The profiles are:
Observation.code.coding, holds the valid values for the types of indicators. It is bound to a mandatory set of codes reflecting the areas mentioned above. The codes are owned by the municipalities and defined specifically for the children database.
For each indicator, Observation.value[x] is a coded value Observation.valueCodeableConcept. Each of the profiles that inherits from the abstract indicator defines the required ValueSets, which contain children database codes.
The effective time of the observation is documented in Observation.effectiveDateTime, all indicators should use the time, where the health nurse has an encounter with the family or child, not the time where a problem first occurred.
Observation.subject holds the reference to the child or parent, who is observed. Observation.encounter hold the reference to the encounter in which the observation is performed. For parent observations do not reference the child’s encounter, just leave it blank.
Notice that the status-attribute is mandatory. For normal use, just set to "final", if data is missing or another problem has occurred, follow the FHIR guidance to populate the field correctly.
To indicate missing data, Observation.dataAbsentReason is used. The value 'unknown' can always be used. It is also possible to use one of the other values in the ValueSet defined by the FHIR standard, if more details are nedded locally.
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 |
---|---|---|
indikatorKode | Klasse som udtrykker, hvad der observeres. | Observation.code.coding |
indikatorResultat | Resultatet af observationen. | Observation.value[x] |
indikatorTid | Tidspunkt eller periode for observationen. | Observation.effective |
indikatorSubjekt | Den borger, for hvem der er foretaget en observation. | Observation.subject |
indikatorKontakt | Den kontakt, hvor observationen er foretaget. | Observation.encounter |
indikatorstatus | Klasse der udtrykker, hvor i sin proces, observationen er. | Observation.status |
indikatorMangler | Klasse, der udtrykker hvorfor data mangler | Observation.dataAbsentReason |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from DkCoreObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-2: If the value is not given, then explain why using dataAbsentReason |
identifier | 0..0 | |||
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | [DK] IndikatorStatus | |
category | 0..0 | |||
code | 1..1 | CodeableConcept | [DK] IndikatorKode | |
Slices for coding | 1..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system | |
coding:LOINC | 0..0 | |||
coding:SNOMEDCT | 0..0 | |||
coding:NPU | 0..0 | |||
coding:IEEE | 0..0 | |||
coding:MedCom | 0..0 | |||
coding:SKS | 0..0 | |||
coding:FBOECode | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/term/CodeSystem/FBOE | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt | |
Slices for effective[x] | 1..1 | dateTime, Period, Timing, instant | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effective[x]:effectiveInstant | 0..0 | |||
effective[x]:effectivePeriod | 0..0 | |||
effective[x]:effectiveTiming | 0..0 | |||
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] Indikatortid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | CodeableConcept | [DK] IndikatorResultat | |
Slices for value[x] | Content/Rules for all slices | |||
value[x]:valueCodeableConcept | 0..1 | CodeableConcept | Actual result | |
coding | 1..1 | Coding | Code defined by a terminology system | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] IndikatorMangler | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG |
Id | Grade | Path(s) | Details | Requirements |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified obs-2: If the value is not given, then explain why using dataAbsentReason |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | [DK] IndikatorStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] IndikatorKode Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 1..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system |
coding:FBOECode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/term/CodeSystem/FBOE |
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt |
Slices for effective[x] | Σ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] Indikatortid |
Slices for value[x] | ΣC | 0..1 | CodeableConcept | [DK] IndikatorResultat Slice: Unordered, Closed by type:$this |
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result |
coding | Σ | 1..1 | Coding | Code defined by a terminology system |
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] IndikatorMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG | |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If value is specified then unit and/or code must be specified : value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists() | |
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-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified obs-2: If the value is not given, then explain why using dataAbsentReason | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
status | ?!Σ | 1..1 | code | [DK] IndikatorStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
code | Σ | 1..1 | CodeableConcept | [DK] IndikatorKode Binding: LOINCCodes (example): Codes identifying names of 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..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system | ||||
coding:FBOECode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (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/term/CodeSystem/FBOE | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt | ||||
Slices for effective[x] | Σ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] Indikatortid | ||||
Slices for value[x] | ΣC | 0..1 | CodeableConcept | [DK] IndikatorResultat Slice: Unordered, Closed by type:$this | ||||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result | ||||
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 | Σ | 1..1 | Coding | Code defined by a terminology system | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result | ||||
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) | ||||
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 | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] IndikatorMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
component | Σ | 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. | ||||
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 | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:LOINC | Σ | 0..1 | Coding | LOINC code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
coding:SNOMEDCT | Σ | 0..1 | Coding | SNOMED CT code for 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 | |||||
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 | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
coding:NPU | Σ | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:IEEE | Σ | 0..1 | Coding | IEEE code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:MedCom | Σ | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:SKS | Σ | 0..1 | Coding | SKS code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.4 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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 | ||||
Slices for value[x] | Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result | ||||
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) | ||||
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 | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
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 | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If value is specified then unit and/or code must be specified : value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists() | |
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-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from DkCoreObservation
Summary
Mandatory: 4 elements(1 nested mandatory element)
Prohibited: 24 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from DkCoreObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-2: If the value is not given, then explain why using dataAbsentReason |
identifier | 0..0 | |||
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | [DK] IndikatorStatus | |
category | 0..0 | |||
code | 1..1 | CodeableConcept | [DK] IndikatorKode | |
Slices for coding | 1..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system | |
coding:LOINC | 0..0 | |||
coding:SNOMEDCT | 0..0 | |||
coding:NPU | 0..0 | |||
coding:IEEE | 0..0 | |||
coding:MedCom | 0..0 | |||
coding:SKS | 0..0 | |||
coding:FBOECode | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (required) | |
system | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/term/CodeSystem/FBOE | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt | |
Slices for effective[x] | 1..1 | dateTime, Period, Timing, instant | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effective[x]:effectiveInstant | 0..0 | |||
effective[x]:effectivePeriod | 0..0 | |||
effective[x]:effectiveTiming | 0..0 | |||
effective[x]:effectiveDateTime | 0..1 | dateTime | [DK] Indikatortid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | CodeableConcept | [DK] IndikatorResultat | |
Slices for value[x] | Content/Rules for all slices | |||
value[x]:valueCodeableConcept | 0..1 | CodeableConcept | Actual result | |
coding | 1..1 | Coding | Code defined by a terminology system | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] IndikatorMangler | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG |
Id | Grade | Path(s) | Details | Requirements |
obs-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified obs-2: If the value is not given, then explain why using dataAbsentReason |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | [DK] IndikatorStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] IndikatorKode Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 1..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system |
coding:FBOECode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (required) |
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://fhir.kl.dk/term/CodeSystem/FBOE |
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt |
Slices for effective[x] | Σ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] Indikatortid |
Slices for value[x] | ΣC | 0..1 | CodeableConcept | [DK] IndikatorResultat Slice: Unordered, Closed by type:$this |
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result |
coding | Σ | 1..1 | Coding | Code defined by a terminology system |
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] IndikatorMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG | |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If value is specified then unit and/or code must be specified : value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists() | |
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-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | DkCoreObservation | This is an abstractprofile. Childprofiles: KLGatewayChildrenIndicatorCommunication, KLGatewayChildrenIndicatorHearing, KLGatewayChildrenIndicatorMotorFunction, KLGatewayChildrenIndicatorNicotine, KLGatewayChildrenIndicatorNutrition, KLGatewayChildrenIndicatorParentMentalStatus, KLGatewayChildrenIndicatorParentRelationship, KLGatewayChildrenIndicatorParentSocialStatus, KLGatewayChildrenIndicatorPassiveSmoking, KLGatewayChildrenIndicatorPhysicalActivity, KLGatewayChildrenIndicatorSight, KLGatewayChildrenIndicatorSleep, KLGatewayChildrenIndicatorSocialInteraction, KLGatewayChildrenIndicatorSocialSupportNetwork Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present dk-core-observation-mandatory-units: If value is specified then unit and/or code must be specified obs-2: If the value is not given, then explain why using dataAbsentReason | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
status | ?!Σ | 1..1 | code | [DK] IndikatorStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
code | Σ | 1..1 | CodeableConcept | [DK] IndikatorKode Binding: LOINCCodes (example): Codes identifying names of 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..1 | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system | ||||
coding:FBOECode | Σ | 1..1 | Coding | Code defined by a terminology system Binding: SundhedsplejeIndikatorkoder (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/term/CodeSystem/FBOE | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] Indikatorsubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] Indikatorkontakt | ||||
Slices for effective[x] | Σ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | [DK] Indikatortid | ||||
Slices for value[x] | ΣC | 0..1 | CodeableConcept | [DK] IndikatorResultat Slice: Unordered, Closed by type:$this | ||||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result | ||||
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 | Σ | 1..1 | Coding | Code defined by a terminology system | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
value[x]:valueQuantity | ΣC | 0..1 | Quantity | Actual result | ||||
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) | ||||
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 | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] IndikatorMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
component | Σ | 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. | ||||
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 | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
coding:LOINC | Σ | 0..1 | Coding | LOINC code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
coding:SNOMEDCT | Σ | 0..1 | Coding | SNOMED CT code for 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 | |||||
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 | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
coding:NPU | Σ | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:IEEE | Σ | 0..1 | Coding | IEEE code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:MedCom | Σ | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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:SKS | Σ | 0..1 | Coding | SKS code for 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 | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.4 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..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 | ||||
Slices for value[x] | Σ | 0..1 | Actual component result Slice: Unordered, Open by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
value[x]:valueQuantity | Σ | 0..1 | Quantity | Actual component result | ||||
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) | ||||
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 | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | Σ | 0..1 | code | Coded form of the unit | ||||
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 | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.code.coding:FBOECode | required | IndicatorCodesChildrenhttp://fhir.kl.dk/children/ValueSet/IndicatorCodesChildren from this IG | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.method.coding:SCTCode | example | TechniquesSCTCodeshttp://hl7.dk/fhir/core/ValueSet/dk-core-TechniquesSCTCodes | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1 from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dk-core-observation-mandatory-units | error | Observation | If value is specified then unit and/or code must be specified : value.ofType(Quantity).value.exists() implies value.ofType(Quantity).unit.exists() or value.ofType(Quantity).code.exists() | |
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-2 | error | Observation | If the value is not given, then explain why using dataAbsentReason : value.empty() implies dataAbsentReason.exists() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
This structure is derived from DkCoreObservation
Summary
Mandatory: 4 elements(1 nested mandatory element)
Prohibited: 24 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron