This page is part of the Point-of-care Device FHIR IG (v0.2.0: STU 1 Ballot 2) based on FHIR v3.5.0. . For a full list of available versions, see the Directory of published versions

This is a pre-release version (Ballot 2) of Point of Care Devices (PoCD) R1/STU. There is no current official version.
For a full list of available versions, see the Directory of published versions .

D.4.1 StructureDefinition: CompoundNumericObservation

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/pocd/StructureDefinition/CompoundNumericObservation

StructureDefinition for Observation resources that represent numerical measurements, calculations, or settings with multiple components.

This profile builds on Observation.

This profile was published on Tue Aug 07 00:00:00 AEST 2018 as a draft by Health Level Seven International (Health Care Devices Work Group).

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

This structure is derived from Observation

Summary

The profile defines the following rules:

  • Observation.code and Observation.component.code shall have a coding from the ISO/IEEE 11073 MDC Metric nomenclature if there is an appropriate code available. Depending on the type of measurement, the Vital Signs profiles may require additional LOINC codes.
  • Observation.subject shall be present and refer to a Patient resource or MDS Device resource.
  • Observation.value[x] must not be there.
  • Observation.device shall be present and refer to the Numeric DeviceMetric resource where this observation belongs to.
  • For each component, Observation.component.valueQuantity or, if there is no value, Observation.component.dataAbsentReason shall be present. Values shall have a UCUM unit code.
  • Observation.component.interpretation coding includes measurement status.

Mandatory: 3 elements (1 nested mandatory element)
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.component.value[x] is sliced based on the value of type:$this

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*
... code 1..1CodeableConceptBinding: 11073 MDC Metric nomenclature (extensible)
... subject 1..1Reference(Patient | MDS Device Profile)
... value[x] 0..0
... device 1..1Reference(Numeric DeviceMetric Profile)
... component I1..*BackboneElementpocd-obs-1: If there is no value a dataAbsentReason shall be present
.... code 1..1CodeableConceptBinding: 11073 MDC Metric nomenclature (extensible)
.... value[x] IQuantitySlice: Unordered, Open by type:$this
.... valueQuantity 0..1Quantity
..... value 1..1decimal
..... system 0..1uriFixed Value: http://unitsofmeasure.org
.... dataAbsentReason I0..1CodeableConcept
.... interpretation 0..*CodeableConceptBinding: Observation interpretation codes (extensible)

doco Documentation for this format

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*Measurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (preferred)
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness 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 ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred)
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: 11073 MDC Metric nomenclature (extensible)
... subject Σ1..1Reference(Patient | MDS Device Profile)Who and/or what the observation is about
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] Σ0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson)Who is responsible for the observation
... dataAbsentReason I0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible)
... comment 0..1stringComments about the test result value
... bodySite 0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethods (example)
... specimen 0..1Reference(Specimen)Specimen used for this observation
... device 1..1Reference(Numeric DeviceMetric Profile)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred)
.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember Σ0..*Reference(Observation | QuestionnaireResponse | Sequence)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | Sequence)Related measurements the observation is made from
... component ΣI1..*BackboneElementComponent results
pocd-obs-1: If there is no value a dataAbsentReason shall be present
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: 11073 MDC Metric nomenclature (extensible)
.... value[x] ΣQuantityActual component result
Slice: Unordered, Open by type:$this
.... valueQuantity Σ0..1QuantityActual component result
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required)
..... unit Σ0..1stringUnit representation
..... system ΣI0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ0..1codeCoded form of the unit
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible)
.... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: Observation interpretation codes (extensible)
.... referenceRange 0..*Unknown reference to #Observation.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

This structure is derived from Observation

Summary

The profile defines the following rules:

  • Observation.code and Observation.component.code shall have a coding from the ISO/IEEE 11073 MDC Metric nomenclature if there is an appropriate code available. Depending on the type of measurement, the Vital Signs profiles may require additional LOINC codes.
  • Observation.subject shall be present and refer to a Patient resource or MDS Device resource.
  • Observation.value[x] must not be there.
  • Observation.device shall be present and refer to the Numeric DeviceMetric resource where this observation belongs to.
  • For each component, Observation.component.valueQuantity or, if there is no value, Observation.component.dataAbsentReason shall be present. Values shall have a UCUM unit code.
  • Observation.component.interpretation coding includes measurement status.

Mandatory: 3 elements (1 nested mandatory element)
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.component.value[x] is sliced based on the value of type:$this

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*
... code 1..1CodeableConceptBinding: 11073 MDC Metric nomenclature (extensible)
... subject 1..1Reference(Patient | MDS Device Profile)
... value[x] 0..0
... device 1..1Reference(Numeric DeviceMetric Profile)
... component I1..*BackboneElementpocd-obs-1: If there is no value a dataAbsentReason shall be present
.... code 1..1CodeableConceptBinding: 11073 MDC Metric nomenclature (extensible)
.... value[x] IQuantitySlice: Unordered, Open by type:$this
.... valueQuantity 0..1Quantity
..... value 1..1decimal
..... system 0..1uriFixed Value: http://unitsofmeasure.org
.... dataAbsentReason I0..1CodeableConcept
.... interpretation 0..*CodeableConceptBinding: Observation interpretation codes (extensible)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*Measurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (preferred)
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness 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 ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred)
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: 11073 MDC Metric nomenclature (extensible)
... subject Σ1..1Reference(Patient | MDS Device Profile)Who and/or what the observation is about
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] Σ0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson)Who is responsible for the observation
... dataAbsentReason I0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible)
... comment 0..1stringComments about the test result value
... bodySite 0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethods (example)
... specimen 0..1Reference(Specimen)Specimen used for this observation
... device 1..1Reference(Numeric DeviceMetric Profile)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred)
.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember Σ0..*Reference(Observation | QuestionnaireResponse | Sequence)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | Sequence)Related measurements the observation is made from
... component ΣI1..*BackboneElementComponent results
pocd-obs-1: If there is no value a dataAbsentReason shall be present
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: 11073 MDC Metric nomenclature (extensible)
.... value[x] ΣQuantityActual component result
Slice: Unordered, Open by type:$this
.... valueQuantity Σ0..1QuantityActual component result
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required)
..... unit Σ0..1stringUnit representation
..... system ΣI0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ0..1codeCoded form of the unit
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible)
.... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: Observation interpretation codes (extensible)
.... referenceRange 0..*Unknown reference to #Observation.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Observation.languageLanguagepreferredCommon Languages
Observation.statusObservationStatusrequiredObservationStatus
Observation.categoryObservation Category CodespreferredObservationCategoryCodes
Observation.code11073 MDC Metric nomenclatureextensibleMdcMetric
Observation.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.interpretationObservation Interpretation CodesextensibleObservationInterpretationCodes
Observation.bodySiteSNOMED CT Body StructuresexampleSNOMEDCTBodyStructures
Observation.methodObservation MethodsexampleObservationMethods
Observation.referenceRange.typeObservation Reference Range Meaning CodespreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToObservation Reference Range Applies To CodesexampleObservationReferenceRangeAppliesToCodes
Observation.component.code11073 MDC Metric nomenclatureextensibleMdcMetric
Observation.component.valueQuantity.comparatorQuantityComparatorrequiredQuantityComparator
Observation.component.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationObservation interpretation codesextensibleObservationInterpretation

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4ObservationIf 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-3ObservationIf 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-6ObservationA resource should have narrative for robust management
: text.div.exists()
dom-5ObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
obs-7ObservationIf Observation.code is the same as a Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
ele-1Observation.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
obs-3Observation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
ele-1Observation.componentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pocd-obs-1Observation.componentIf there is no value a dataAbsentReason shall be present
: value.exists() or dataAbsentReason.exists()
.