1.0.0 - Release
This page is part of the KLChildren (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://fhir.kl.dk/children/StructureDefinition/klgateway-children-tobacco-observation | Version: 1.0.0 | |||
Active as of 2023-09-30 | Computable Name: KLGatewayChildrenTobaccoObservation |
Tobacco observation profile used in the children database
KLGatewayChildrenTobaccoObservation is used to document small childrens exposue to tobacco, and teenagers tocacco use.
Observation.code.coding, holds the valid value for the types of observations allowed. It is bound to a fixed SNOMED CT code ‘Tobacco use and exposure’.
Observation.value[x] is a coded value Observation.valueCodeableConcept, which should be drawn from the required ValueSet. The valid values are:
The time of the observation is documented in Observation.effective[x].
Observation.subject holds the reference to the child, who is obsesrved. Observation.encounter holds the reference to the encounter in which the observation is performed.
Notice that the status-attribute is mandatory. For normal use, just set to “final”, if data is missing or another problem has occured, follow the FHIR guidance to populate the field correctly. To indicate missing data, Observation.dataAbsentReason can be used as well. E.g when citizens are asked, but decline to answer, the dataAbsentReason should be populated with ‘asked-declined’.
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 |
---|---|---|
tobaksobservationKode | Klasse som udtrykker, hvad der observeres. | Observation.code.coding |
tobaksobservationResultat | Resultatet af observationen. | Observation.value[x] |
tobaksobservationTid | Tidspunkt for observationen. | Observation.effective |
tobaksobservationSubjekt | Den borger, for hvem der er foretaget en observation. | Observation.subject |
tobaksobservationKontakt | Den kontakt, hvor observationen er foretaget. | Observation.encounter |
tobaksobservationStatus | Klasse der udtrykker, hvor i sin proces, observationen er. | Observation.status |
tobaksobservationMangler | 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 Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | 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] tobaksobservationStatus | |
code | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt | |
effective[x] | 1..1 | dateTime | [DK] tobaksobservationTid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] tobaksobservationMangler | |
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 |
Observation.code | required | TobaccoObservablesChildren |
Observation.value[x] | required | TobaccoResultsChildren |
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..* | Observation | Measurements and simple assertions 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] tobaksobservationStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) |
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt |
effective[x] | Σ | 1..1 | dateTime | [DK] tobaksobservationTid |
value[x] | ΣC | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] tobaksobservationMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | required | TobaccoObservablesChildren |
Observation.value[x] | required | TobaccoResultsChildren |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-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..* | Observation | Measurements and simple assertions 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] tobaksobservationStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | Σ | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) | ||||
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt | ||||
effective[x] | Σ | 1..1 | dateTime | [DK] tobaksobservationTid | ||||
value[x] | ΣC | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] tobaksobservationMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
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 | |||||
component | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | required | TobaccoObservablesChildren | ||||
Observation.value[x] | required | TobaccoResultsChildren | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-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 Observation
Differential View
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | 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] tobaksobservationStatus | |
code | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) | |
subject | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt | |
focus | 0..0 | |||
encounter | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt | |
effective[x] | 1..1 | dateTime | [DK] tobaksobservationTid | |
issued | 0..0 | |||
performer | 0..0 | |||
value[x] | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) | |
dataAbsentReason | 0..1 | CodeableConcept | [DK] tobaksobservationMangler | |
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 |
Observation.code | required | TobaccoObservablesChildren |
Observation.value[x] | required | TobaccoResultsChildren |
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..* | Observation | Measurements and simple assertions 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] tobaksobservationStatus Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | Σ | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) |
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt |
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt |
effective[x] | Σ | 1..1 | dateTime | [DK] tobaksobservationTid |
value[x] | ΣC | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) |
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] tobaksobservationMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | required | TobaccoObservablesChildren |
Observation.value[x] | required | TobaccoResultsChildren |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-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..* | Observation | Measurements and simple assertions 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] tobaksobservationStatus Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | Σ | 1..1 | CodeableConcept | [DK] tobaksobservationsKode Binding: TobaccoobservablesChildren (required) | ||||
subject | Σ | 1..1 | Reference(KLGatewayChildrenCitizen) {b} | [DK] tobaksobservationSubjekt | ||||
encounter | Σ | 0..1 | Reference(KLGatewayChildrenEncounter) {b} | [DK] tobaksobservationKontakt | ||||
effective[x] | Σ | 1..1 | dateTime | [DK] tobaksobservationTid | ||||
value[x] | ΣC | 0..1 | CodeableConcept | [DK] tobaksobservationsResultat Binding: TobaccoResultsChildren (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | [DK] tobaksobservationMangler Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
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 | |||||
component | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.code | required | TobaccoObservablesChildren | ||||
Observation.value[x] | required | TobaccoResultsChildren | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
obs-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 Observation
Other representations of profile: CSV, Excel, Schematron