MedCom HomeCareObservation
1.0.0 - release
This page is part of the The DK MedCom HomeCareObservation (v1.0.0: Release) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Official URL: http://medcomfhir.dk/ig/homecareobservation/StructureDefinition/medcom-homeCare-observation | Version: 1.0.0 | |||
Active as of 2023-10-31 | Computable Name: MedComHomeCareObservation |
This profile is intended to be used in HomeCareObservation to hold information about the observation results.
The MedComHomeCareObservation profile holds information about the observation results from the municipal acute care team The MedComHomeCareObservations are collected in a MedComHomeCareDiagnosticReport, that is sent as a MedComHomeCareObservation message to the general practitioner.
The observations results needs to have a observation code that defines the type of the observation. The code for the observation shall be seleceted from a national analysis repertoire, that defines which observations and assesments methods the municipal acute care team can performe and send to the general practitioner. The national analysis repertoire can be found here.
In a Observation resource, codes from CodeSystems are used to describe what is observed in the elements Observation.code.coding. In the element Observation.code.coding two CodeSystem are specified.
It is required to send the long and short name of the analysis. Both the long and short name of the performed observation can be fund on med medcom’s terminology server. Click here to see NPU observation codes. Click here to see MCS observation codes.
In a Observation resource, it is required to specify the status of the result. When nurse from the acute care team perform the analysis and the result from the analysis is ready then the. HomeCareObservation.status shall be #final.
In HomeCareObservation it is required to send information that result of the observation is not interpreted (Dansk: ikke reference vurderet). Therefore i is required that the observation.interpretation.coding.code is “NI” not interpreted.
The result of the observation shall be expresed using eighter Observation.value[x]:valueQuantity and Observation.value[x]:valueString element. If the observation result is numerical then the Observation.value[x]:valueQuantity shall be used and if the result is alphanumeric e.g. positive/negative then the Observation.value[x]:valueString element shall be used. Both elemets Observation.value[x]:valueQuantity og Observation.value[x]:valueString are restricted to max 12 character due to limitations in laborartory kort.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from MedComCoreObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | MedComCoreObservation | Measurements and simple assertions | |
code | ||||
coding | 0..* | Coding | Code defined by a terminology system | |
display | S | 0..1 | string | Representation defined by the system |
coding:LOINC | 0..1 | Coding | LOINC code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:SNOMEDCT | 0..1 | Coding | SNOMED CT code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:NPU | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. | |
system | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) | |
display | S | 0..1 | string | Representation defined by the system |
coding:IEEE | 0..1 | Coding | IEEE code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:MedCom | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. | |
system | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) | |
display | S | 0..1 | string | Representation defined by the system |
coding:SKS | 0..1 | Coding | SKS code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
value[x]:valueQuantity | S | 0..1 | Quantity | Actual result Max Length: 12 |
value[x]:valueString | S | 0..1 | string | Actual result Max Length: 12 |
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (required) |
coding | ||||
code | 0..1 | code | Symbol in syntax defined by the system Required Pattern: NI | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.code.coding:NPU.system | required | NPUObservationCodesValueSet |
Observation.code.coding:MedCom.system | required | MedComObservationValueSet |
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | MedComCoreObservation | 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 | ?!SΣ | 1..1 | code | registered | partial | preliminary | final | corrected | cancelled | entered-in-error Binding: MedComCoreObservationStatus (required) |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:All Slices | Content/Rules for all slices | |||
system | SΣ | 0..1 | uri | Identity of the terminology system |
code | SΣ | 0..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:LOINC | Σ | 0..1 | Coding | LOINC code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:SNOMEDCT | Σ | 0..1 | Coding | SNOMED CT code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://www.snomed.org/ |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:NPU | Σ | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. |
system | SΣ | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) Fixed Value: urn:oid:1.2.208.176.2.1 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:IEEE | Σ | 0..1 | Coding | IEEE code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:MedCom | Σ | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. |
system | SΣ | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) Fixed Value: https://terminology.medcom.dk/fhir/observation-code |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:SKS | Σ | 0..1 | Coding | SKS code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.4 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
subject | SΣ | 1..1 | Reference(MedComCorePatient) {b} | Who and/or what the observation is about |
Slices for effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | SΣ | 0..1 | dateTime | The date and time the sample was taken (Danish: prøvetegningstidspunkt). |
Slices for value[x] | ΣC | 0..1 | Actual result Slice: Unordered, Closed 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 | SΣC | 0..1 | Quantity | Actual result Max Length: 12 |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
value[x]:valueString | SΣC | 0..1 | string | Actual result Max Length: 12 |
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (required) |
note | S | 0..* | Annotation | A comment on the individual result (Danish: Analysekommentar) |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | MedComCoreObservationStatus |
Observation.code | example | LOINCCodes (a valid code from LOINC) |
Observation.code.coding:NPU.system | required | Fixed Value: urn:oid:1.2.208.176.2.1 |
Observation.code.coding:MedCom.system | required | Fixed Value: https://terminology.medcom.dk/fhir/observation-code |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes |
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 : Observation.valueQuantity.value.exists() implies Observation.valueQuantity.unit.exists() or Observation.valueQuantity.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-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..* | MedComCoreObservation | 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(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | registered | partial | preliminary | final | corrected | cancelled | entered-in-error Binding: MedComCoreObservationStatus (required) | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | SΣ | 1..1 | CodeableConcept | Type of 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:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | SΣ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
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 | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://www.snomed.org/ | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) Fixed Value: https://terminology.medcom.dk/fhir/observation-code | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | SΣ | 1..1 | Reference(MedComCorePatient) {b} | Who and/or what the observation is about | ||||
focus | ΣTU | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
Slices for effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | SΣ | 0..1 | dateTime | The date and time the sample was taken (Danish: prøvetegningstidspunkt). | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation | ||||
Slices for value[x] | ΣC | 0..1 | Actual result Slice: Unordered, Closed 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 | SΣC | 0..1 | Quantity | Actual result Max Length: 12 | ||||
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 | ||||
value[x]:valueString | SΣC | 0..1 | string | Actual result Max Length: 12 | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (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 | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: NI | ||||
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 | ||||
note | S | 0..* | Annotation | A comment on the individual result (Danish: Analysekommentar) | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done 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 | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
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) | The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured. | |||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(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. | ||||
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: https://www.snomed.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: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: https://terminology.medcom.dk/fhir/observation-code | ||||
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 / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | MedComCoreObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.code.coding:NPU.system | required | Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
Observation.code.coding:MedCom.system | required | Fixed Value: https://terminology.medcom.dk/fhir/observation-code | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
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.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
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 : Observation.valueQuantity.value.exists() implies Observation.valueQuantity.unit.exists() or Observation.valueQuantity.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-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 MedComCoreObservation
Differential View
This structure is derived from MedComCoreObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | MedComCoreObservation | Measurements and simple assertions | |
code | ||||
coding | 0..* | Coding | Code defined by a terminology system | |
display | S | 0..1 | string | Representation defined by the system |
coding:LOINC | 0..1 | Coding | LOINC code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:SNOMEDCT | 0..1 | Coding | SNOMED CT code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:NPU | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. | |
system | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) | |
display | S | 0..1 | string | Representation defined by the system |
coding:IEEE | 0..1 | Coding | IEEE code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
coding:MedCom | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. | |
system | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) | |
display | S | 0..1 | string | Representation defined by the system |
coding:SKS | 0..1 | Coding | SKS code for the observation | |
display | S | 0..1 | string | Representation defined by the system |
value[x]:valueQuantity | S | 0..1 | Quantity | Actual result Max Length: 12 |
value[x]:valueString | S | 0..1 | string | Actual result Max Length: 12 |
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (required) |
coding | ||||
code | 0..1 | code | Symbol in syntax defined by the system Required Pattern: NI | |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.code.coding:NPU.system | required | NPUObservationCodesValueSet |
Observation.code.coding:MedCom.system | required | MedComObservationValueSet |
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | MedComCoreObservation | 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 | ?!SΣ | 1..1 | code | registered | partial | preliminary | final | corrected | cancelled | entered-in-error Binding: MedComCoreObservationStatus (required) |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:All Slices | Content/Rules for all slices | |||
system | SΣ | 0..1 | uri | Identity of the terminology system |
code | SΣ | 0..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:LOINC | Σ | 0..1 | Coding | LOINC code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:SNOMEDCT | Σ | 0..1 | Coding | SNOMED CT code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://www.snomed.org/ |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:NPU | Σ | 0..1 | Coding | NPU code for the observation. NPU codes are administred by the Danish Health Data Authority. |
system | SΣ | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) Fixed Value: urn:oid:1.2.208.176.2.1 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:IEEE | Σ | 0..1 | Coding | IEEE code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:MedCom | Σ | 0..1 | Coding | MedCom code for the observation. MedCom codes are administred by the MedCom. |
system | SΣ | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) Fixed Value: https://terminology.medcom.dk/fhir/observation-code |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
coding:SKS | Σ | 0..1 | Coding | SKS code for the observation |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.2.208.176.2.4 |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
display | SΣ | 0..1 | string | Representation defined by the system |
subject | SΣ | 1..1 | Reference(MedComCorePatient) {b} | Who and/or what the observation is about |
Slices for effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveTiming | Timing | |||
effectiveInstant | instant | |||
effective[x]:effectiveDateTime | SΣ | 0..1 | dateTime | The date and time the sample was taken (Danish: prøvetegningstidspunkt). |
Slices for value[x] | ΣC | 0..1 | Actual result Slice: Unordered, Closed 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 | SΣC | 0..1 | Quantity | Actual result Max Length: 12 |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
value[x]:valueString | SΣC | 0..1 | string | Actual result Max Length: 12 |
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (required) |
note | S | 0..* | Annotation | A comment on the individual result (Danish: Analysekommentar) |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | MedComCoreObservationStatus |
Observation.code | example | LOINCCodes (a valid code from LOINC) |
Observation.code.coding:NPU.system | required | Fixed Value: urn:oid:1.2.208.176.2.1 |
Observation.code.coding:MedCom.system | required | Fixed Value: https://terminology.medcom.dk/fhir/observation-code |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes |
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 : Observation.valueQuantity.value.exists() implies Observation.valueQuantity.unit.exists() or Observation.valueQuantity.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-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..* | MedComCoreObservation | 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(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | registered | partial | preliminary | final | corrected | cancelled | entered-in-error Binding: MedComCoreObservationStatus (required) | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | SΣ | 1..1 | CodeableConcept | Type of 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:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | SΣ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 0..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
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 | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://www.snomed.org/ | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Binding: NPUObservationCodesValueSet (required) Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 1..1 | uri | Identity of the terminology system Binding: MedCom Observation ValueSet (required) Fixed Value: https://terminology.medcom.dk/fhir/observation-code | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 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 | SΣ | 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 | SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | SΣ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | SΣ | 1..1 | Reference(MedComCorePatient) {b} | Who and/or what the observation is about | ||||
focus | ΣTU | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
Slices for effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
effective[x]:effectiveDateTime | SΣ | 0..1 | dateTime | The date and time the sample was taken (Danish: prøvetegningstidspunkt). | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Danish Core Practitioner Profile | Danish Core Organization Profile | Danish Core Patient Profile | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation | ||||
Slices for value[x] | ΣC | 0..1 | Actual result Slice: Unordered, Closed 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 | SΣC | 0..1 | Quantity | Actual result Max Length: 12 | ||||
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 | ||||
value[x]:valueString | SΣC | 0..1 | string | Actual result Max Length: 12 | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | S | 0..1 | CodeableConcept | High, low, normal, etc. Binding: http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes (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 | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: NI | ||||
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 | ||||
note | S | 0..* | Annotation | A comment on the individual result (Danish: Analysekommentar) | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done 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 | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
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) | The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured. | |||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(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. | ||||
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: https://www.snomed.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: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: https://terminology.medcom.dk/fhir/observation-code | ||||
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 / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | MedComCoreObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.code.coding:NPU.system | required | Fixed Value: urn:oid:1.2.208.176.2.1 | ||||
Observation.code.coding:MedCom.system | required | Fixed Value: https://terminology.medcom.dk/fhir/observation-code | ||||
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | required | http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-core-interpretation-codes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
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.value[x]:valueQuantity.comparator | required | QuantityComparator | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
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 : Observation.valueQuantity.value.exists() implies Observation.valueQuantity.unit.exists() or Observation.valueQuantity.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-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 MedComCoreObservation
Other representations of profile: CSV, Excel, Schematron