Personal Health Device Implementation Guide
2.0.1 - STU 2 International flag

Personal Health Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 2.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phd/ and changes regularly. See the Directory of published versions

Resource Profile: PhdBaseObservation ( Abstract )

Official URL: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation Version: 2.0.1
Standards status: Trial-use Maturity Level: 2 Computable Name: PhdBaseObservation
Other Identifiers: OID:2.16.840.1.113883.4.642.40.73.42.3

Common base profile with the elements that are common to the PHD IG Observation profiles.

The PHD Base Observation profile contains the elements that are common to all PHD Observation profiles describing measurements. These element are:

  • code: what the measurement is
  • subject: the patient this measurement refers to
  • effective[x]: the timestamp and perhaps duration of the measurement
  • device: reference to the PHD taking the measurement
  • derivedFrom / memberOf: references to related observations
  • components: contains any additional measurement descriptions (Supplemental Information)
  • category: a fixed value identifying observations generated by PHDs
  • measurementStatus: the status of the measurement
  • gatewayDevice extension: reference to the PHG responsible for generating the upload
  • coincidentTimestamp extension: reference to the coincidentTimestamp observation that relates PHD time and PHG time
  • performer: optional, when the patient is known to be the performer this may refer to the patient
  • identifier: the PHD conditional-create identifier for this measurement to avoid duplicate uploads

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:GatewayDevice.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.Slices for identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for identifier.identifier:conditionalCreate This element is included in summaries. 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Observation.Slices for identifier.identifier:conditionalCreate.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:PHD-Observation.coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.code This element is included in summaries. C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.subject This element is included in summaries. 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.Slices for effective[x] This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod This element is included in summaries. 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.dataAbsentReason.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.interpretation.Slices for coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation This element is included in summaries. 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.reference This element is included in summaries. C 1..1 string Reference to the device responsible for the measurement
Observation.hasMember This element is included in summaries. 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom This element is included in summaries. 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:supplementalTypesComponent This element is included in summaries. 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:supplementalTypesComponent.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.code.text 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.code.coding This element is included in summaries. 1..* Coding Code defined by a terminology system

Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.coding.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.code.coding.version 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.code.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x] This element is included in summaries. 0..1 CodeableConcept Actual component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Observation.id 0..1 id Logical id of this artifact
Observation.meta
Observation.meta.Slices for security 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.meta.Slices for security.security:PhdHtest 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Observation.meta.Slices for security.security:PhdHtest.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
Observation.meta.Slices for security.security:PhdHtest.code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.Slices for identifier.identifier:conditionalCreate 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.type 0..0 Description of identifier
Observation.Slices for identifier.identifier:conditionalCreate.system 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value 1..1 string The value that is unique
Observation.status 1..1 code registered | preliminary | final | amended +
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:PHD-Observation.coding 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.code C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.code.coding
Observation.code.coding.system 0..1 uri Identity of the terminology system
Observation.code.coding.code 0..1 code Symbol in syntax defined by the system
Observation.subject 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.Slices for effective[x] 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.start 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
Observation.dataAbsentReason 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Observation.dataAbsentReason.coding 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Observation.interpretation.Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code 1..1 code Symbol in syntax defined by the system
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.reference 1..1 string Reference to the device responsible for the measurement
Observation.hasMember 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:supplementalTypesComponent 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x] 0..1 CodeableConcept Actual component result
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.code 1..1 code Symbol in syntax defined by the system
Observation.Slices for component.component:supplementalTypesComponent.dataAbsentReason 0..0 Why the component result is missing

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.meta.id 0..1 string Unique id for inter-element referencing
Observation.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Observation.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Observation.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Observation.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Observation.meta.Slices for security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.meta.Slices for security.security:PhdHtest This element is included in summaries. 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Observation.meta.Slices for security.security:PhdHtest.id 0..1 string Unique id for inter-element referencing
Observation.meta.Slices for security.security:PhdHtest.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.meta.Slices for security.security:PhdHtest.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
Observation.meta.Slices for security.security:PhdHtest.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.meta.Slices for security.security:PhdHtest.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
Observation.meta.Slices for security.security:PhdHtest.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.meta.Slices for security.security:PhdHtest.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:GatewayDevice.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:GatewayDevice.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.Slices for identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for identifier.identifier:conditionalCreate This element is included in summaries. 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.id 0..1 string Unique id for inter-element referencing
Observation.Slices for identifier.identifier:conditionalCreate.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for identifier.identifier:conditionalCreate.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Observation.Slices for identifier.identifier:conditionalCreate.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Observation.Slices for identifier.identifier:conditionalCreate.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Observation.Slices for identifier.identifier:conditionalCreate.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:PHD-Observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:PHD-Observation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:PHD-Observation.coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:PHD-Observation.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:PHD-Observation.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for category.category:PHD-Observation.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.Slices for category.category:PHD-Observation.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for category.category:PHD-Observation.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for category.category:PHD-Observation.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.code This element is included in summaries. C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.code.id 0..1 string Unique id for inter-element referencing
Observation.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.code.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Observation.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.code.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.code.coding.system This element is included in summaries. 0..1 uri Identity of the terminology system
Observation.code.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.code.coding.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
Observation.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.code.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.subject This element is included in summaries. 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.Slices for effective[x] This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod This element is included in summaries. 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:effectivePeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:effectivePeriod.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.dataAbsentReason.id 0..1 string Unique id for inter-element referencing
Observation.dataAbsentReason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.dataAbsentReason.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.dataAbsentReason.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.interpretation.id 0..1 string Unique id for inter-element referencing
Observation.interpretation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.interpretation.Slices for coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation This element is included in summaries. 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.id 0..1 string Unique id for inter-element referencing
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.interpretation.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.id 0..1 string Unique id for inter-element referencing
Observation.device.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.device.reference This element is included in summaries. C 1..1 string Reference to the device responsible for the measurement
Observation.device.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.device.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.device.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom This element is included in summaries. 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:All Slices.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:All Slices.value[x] This element is included in summaries. 0..1 Actual component result
Observation.Slices for component.component:All Slices.value[x].valueQuantity Quantity
Observation.Slices for component.component:All Slices.value[x].valueCodeableConcept CodeableConcept
Observation.Slices for component.component:All Slices.value[x].valueString string
Observation.Slices for component.component:All Slices.value[x].valueBoolean boolean
Observation.Slices for component.component:All Slices.value[x].valueInteger integer
Observation.Slices for component.component:All Slices.value[x].valueRange Range
Observation.Slices for component.component:All Slices.value[x].valueRatio Ratio
Observation.Slices for component.component:All Slices.value[x].valueSampledData SampledData
Observation.Slices for component.component:All Slices.value[x].valueTime time
Observation.Slices for component.component:All Slices.value[x].valueDateTime dateTime
Observation.Slices for component.component:All Slices.value[x].valuePeriod Period
Observation.Slices for component.component:All Slices.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:All Slices.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:All Slices.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:supplementalTypesComponent This element is included in summaries. 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:supplementalTypesComponent.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.code.coding This element is included in summaries. 1..* Coding Code defined by a terminology system

Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.code.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.value[x] This element is included in summaries. 0..1 CodeableConcept Actual component result
Observation.Slices for component.component:supplementalTypesComponent.value[x].id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.value[x].text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:supplementalTypesComponent.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Observation.meta.security:PhdHtest Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Observation.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.device.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Observation

Summary

Mandatory: 11 elements(13 nested mandatory elements)
Fixed: 9 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 2 is sliced based on the values of Observation.meta.security
  • The element 1 is sliced based on the value of Observation.identifier
  • The element 2 is sliced based on the values of Observation.category
  • The element 1 is sliced based on the value of Observation.effective[x]
  • The element 1 is sliced based on the value of Observation.interpretation.coding
  • The element 1 is sliced based on the value of Observation.component

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:GatewayDevice.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.Slices for identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for identifier.identifier:conditionalCreate This element is included in summaries. 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Observation.Slices for identifier.identifier:conditionalCreate.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:PHD-Observation.coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.code This element is included in summaries. C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.subject This element is included in summaries. 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.Slices for effective[x] This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod This element is included in summaries. 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.dataAbsentReason.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.interpretation.Slices for coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation This element is included in summaries. 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.reference This element is included in summaries. C 1..1 string Reference to the device responsible for the measurement
Observation.hasMember This element is included in summaries. 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom This element is included in summaries. 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:supplementalTypesComponent This element is included in summaries. 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:supplementalTypesComponent.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.code.text 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.code.coding This element is included in summaries. 1..* Coding Code defined by a terminology system

Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.coding.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.code.coding.version 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.code.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x] This element is included in summaries. 0..1 CodeableConcept Actual component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Observation.id 0..1 id Logical id of this artifact
Observation.meta
Observation.meta.Slices for security 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.meta.Slices for security.security:PhdHtest 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Observation.meta.Slices for security.security:PhdHtest.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
Observation.meta.Slices for security.security:PhdHtest.code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.Slices for identifier 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for identifier.identifier:conditionalCreate 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.type 0..0 Description of identifier
Observation.Slices for identifier.identifier:conditionalCreate.system 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value 1..1 string The value that is unique
Observation.status 1..1 code registered | preliminary | final | amended +
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:PHD-Observation.coding 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.code C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.code.coding
Observation.code.coding.system 0..1 uri Identity of the terminology system
Observation.code.coding.code 0..1 code Symbol in syntax defined by the system
Observation.subject 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.Slices for effective[x] 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.start 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
Observation.dataAbsentReason 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Observation.dataAbsentReason.coding 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Observation.interpretation.Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code 1..1 code Symbol in syntax defined by the system
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.reference 1..1 string Reference to the device responsible for the measurement
Observation.hasMember 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:supplementalTypesComponent 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x] 0..1 CodeableConcept Actual component result
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.code 1..1 code Symbol in syntax defined by the system
Observation.Slices for component.component:supplementalTypesComponent.dataAbsentReason 0..0 Why the component result is missing

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').exists()

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation This is an abstract profile. Child profiles: PhdCodedEnumerationObservation, PhdStringObservation, PhdCompoundObservation, PhdNumericObservation, PhdRtsaObservation, PhdCompoundNumericObservation, PhdBitsEnumerationObservation
Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.meta.id 0..1 string Unique id for inter-element referencing
Observation.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Observation.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Observation.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Observation.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Observation.meta.Slices for security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.meta.Slices for security.security:PhdHtest This element is included in summaries. 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Observation.meta.Slices for security.security:PhdHtest.id 0..1 string Unique id for inter-element referencing
Observation.meta.Slices for security.security:PhdHtest.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.meta.Slices for security.security:PhdHtest.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
Observation.meta.Slices for security.security:PhdHtest.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.meta.Slices for security.security:PhdHtest.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
Observation.meta.Slices for security.security:PhdHtest.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.meta.Slices for security.security:PhdHtest.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for extension.extension:GatewayDevice 1..1 (Complex) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
Observation.Slices for extension.extension:GatewayDevice.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:GatewayDevice.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:GatewayDevice.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Observation.Slices for extension.extension:GatewayDevice.value[x] 1..1 Reference(PhgDevice) Reference to the PHG Device
Observation.Slices for extension.extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.Slices for identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for identifier.identifier:conditionalCreate This element is included in summaries. 0..1 Identifier Unique identifier of this measurement for a given patient and device
Observation.Slices for identifier.identifier:conditionalCreate.id 0..1 string Unique id for inter-element referencing
Observation.Slices for identifier.identifier:conditionalCreate.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for identifier.identifier:conditionalCreate.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Observation.Slices for identifier.identifier:conditionalCreate.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
Observation.Slices for identifier.identifier:conditionalCreate.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Observation.Slices for identifier.identifier:conditionalCreate.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Observation.Slices for identifier.identifier:conditionalCreate.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for category.category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:PHD-Observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:PHD-Observation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:PHD-Observation.coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Observation.Slices for category.category:PHD-Observation.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:PHD-Observation.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:PHD-Observation.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
Observation.Slices for category.category:PHD-Observation.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for category.category:PHD-Observation.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
Observation.Slices for category.category:PHD-Observation.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for category.category:PHD-Observation.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for category.category:PHD-Observation.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.code This element is included in summaries. C 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible)
Constraints: mdc-1
Observation.code.id 0..1 string Unique id for inter-element referencing
Observation.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.code.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Observation.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.code.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.code.coding.system This element is included in summaries. 0..1 uri Identity of the terminology system
Observation.code.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.code.coding.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
Observation.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.code.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.subject This element is included in summaries. 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.Slices for effective[x] This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effectiveDateTime dateTime
Observation.Slices for effective[x].effectivePeriod Period
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. 0..1 dateTime Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod This element is included in summaries. 0..1 Period Clinically relevant time/time-period for observation
Observation.Slices for effective[x].effective[x]:effectivePeriod.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:effectivePeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:effectivePeriod.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Observation.Slices for effective[x].effective[x]:effectivePeriod.end This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.dataAbsentReason.id 0..1 string Unique id for inter-element referencing
Observation.dataAbsentReason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.dataAbsentReason.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
Observation.dataAbsentReason.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.interpretation.id 0..1 string Unique id for inter-element referencing
Observation.interpretation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.interpretation.Slices for coding This element is included in summaries. 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation This element is included in summaries. 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.id 0..1 string Unique id for inter-element referencing
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.interpretation.Slices for coding.coding:MsmtStatusInterpretation.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.interpretation.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 1..1 Reference(PhdDevice) (Measurement) Device
Observation.device.id 0..1 string Unique id for inter-element referencing
Observation.device.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.device.reference This element is included in summaries. C 1..1 string Reference to the device responsible for the measurement
Observation.device.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.device.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.device.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
Observation.derivedFrom This element is included in summaries. 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:All Slices.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:All Slices.value[x] This element is included in summaries. 0..1 Actual component result
Observation.Slices for component.component:All Slices.value[x].valueQuantity Quantity
Observation.Slices for component.component:All Slices.value[x].valueCodeableConcept CodeableConcept
Observation.Slices for component.component:All Slices.value[x].valueString string
Observation.Slices for component.component:All Slices.value[x].valueBoolean boolean
Observation.Slices for component.component:All Slices.value[x].valueInteger integer
Observation.Slices for component.component:All Slices.value[x].valueRange Range
Observation.Slices for component.component:All Slices.value[x].valueRatio Ratio
Observation.Slices for component.component:All Slices.value[x].valueSampledData SampledData
Observation.Slices for component.component:All Slices.value[x].valueTime time
Observation.Slices for component.component:All Slices.value[x].valueDateTime dateTime
Observation.Slices for component.component:All Slices.value[x].valuePeriod Period
Observation.Slices for component.component:All Slices.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:All Slices.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:All Slices.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:supplementalTypesComponent This element is included in summaries. 0..* BackboneElement Supplemental Type: A further description of the measurement type.
Observation.Slices for component.component:supplementalTypesComponent.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:supplementalTypesComponent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:supplementalTypesComponent.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
Observation.Slices for component.component:supplementalTypesComponent.code.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.code.coding This element is included in summaries. 1..* Coding Code defined by a terminology system

Fixed Value: (Complex)
Observation.Slices for component.component:supplementalTypesComponent.code.coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.code.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.code.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.code.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.code.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
Observation.Slices for component.component:supplementalTypesComponent.code.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.code.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.value[x] This element is included in summaries. 0..1 CodeableConcept Actual component result
Observation.Slices for component.component:supplementalTypesComponent.value[x].id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.display This element is included in summaries. 0..1 string Representation defined by the system
Observation.Slices for component.component:supplementalTypesComponent.value[x].coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Observation.Slices for component.component:supplementalTypesComponent.value[x].text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for component.component:supplementalTypesComponent.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:supplementalTypesComponent.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Observation.meta.security:PhdHtest Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Observation.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦2.0.1 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.dataAbsentReason.​coding Base required DataAbsentReason 📦4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.device.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:supplementalTypesComponent.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Observation

Summary

Mandatory: 11 elements(13 nested mandatory elements)
Fixed: 9 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 2 is sliced based on the values of Observation.meta.security
  • The element 1 is sliced based on the value of Observation.identifier
  • The element 2 is sliced based on the values of Observation.category
  • The element 1 is sliced based on the value of Observation.effective[x]
  • The element 1 is sliced based on the value of Observation.interpretation.coding
  • The element 1 is sliced based on the value of Observation.component

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

The following sections give more details on the data elements in a PHDBaseObservation resource.

Gateway Device extension

HL7 has defined an extension for the Observation resource to reference a gateway device. This extension is used to reference the Device resource representing the Personal Health Gateway (PHG) device.

Conditional-create Identifier - prevention of data duplication

The Conditional-create Identifier is defined to prevent data duplication. It can be used as the selection criterion in the conditional create when uploading observations.

Ideally the PHG will implement a duplication detection mechanism and filter out any observations that have already been uploaded. One possible mechanism is to record the latest timestamp of any observation received during a connection. Then for a given device and patient and upload destination, on a subsequent connection the PHG can filter out any observations with a timestamp earlier than the recorded latest timestamp of the previous connection. The latest timestamp is then updated given the information received during the current connection. This filter not only saves the server from handling the conditional update transaction but saves bandwidth and upload costs.

Additionally a globally unique identifier can be used in combination with a conditional create operation to prevent duplication of observations on the server when multiple PHGs can upload observations from the same PHD. The identifier is a concatenated string of elements that contain sufficient information to uniquely identify the observation. The identifier is the concatenation of the device identifier, patient identifier, the PHD timestamp of the observation, the observation type code, the measurement duration if present, and the list of Supplemental-Types codes if any. Each entry is separated by a dash (-). It is important to use the timestamp of the PHD and not the potentially modified timestamp placed in the Observation.effective[x] element. Two PHGs may have slightly different times which would allow an undesired duplicate observation to appear. Note that for this scheme to work PHDs should NOT change the timestamp of a generated observation.

Entry value Additional information
device PHD Device.identifier.value This value is a hexadecimal representation of the PHD system identifier (16 hexadecimal characters for the IEEE EUI-64 identifier, 12 for the EUI-48 transport address identifier) all capitals and without dashes
patient Patient.identifier.value-Patient.identifier.system or
provided logical id
The dashes are part of the identifier.
When the service provider gives the PHG a pre-determined patient logical id the PHG creates no Patient resource and has no patient information. In that situation the provided logical id is used
type Observation.code.coding.code See MDC Nomenclature codes (decimal number)
timestamp Observation.effectiveDateTime or Observation.effectivePeriod.start The reported PHD timestamp. See Generating the PHD Reported Timestamp
duration the length of Observation.effectivePeriod See Generating the PHD Reported Timestamp
Supplemental Information Observation.component.valueCodeableConcept.coding.code A sequence of MDC codes (decimal number) separated by a dash from the "supplemental information" components.

The final identifier is made by concatenating the entries above as follows:

  • device-patient-type-timestamp-duration-Supplemental Information

All PHGs compliant to this IG should implement this identifier in the same manner. Compliance assures that even if the patient uploads the same observation to the same server from a different PHG, a duplicate of the observation will not be generated on the server. This is important since some PHDs do not provide a means of deleting stored and uploaded observations and will upload old observations again with each new addition of a observation as much as device storage allows.

An example of the this identifier from this example is given below:

{
  "resourceType" : "Observation",
  ...
  "identifier" : [
    {
      "system" : "http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation",
      "value" : "74E8FFFEFF051C00-sisansarahId-urn:oid:2.999.1.2.3.4.5.6.7.8.10-149530-20181113175903.00-150588"
    }
  ],
  ...
}

Obtaining the Type of observation

One obtains the IEEE 11073-10101 observation type for the code element in the same manner for all types of observations. See the section MDC Nomenclature codes for the details.

Subject

The subject element normally points to the PhdPatient resource using the logical id of the Patient resource, for example 'Patient/123546'. For device settings known to the PHG it should point to the PHD.

Performer

In situations where the gateway knows that the patient is the person performing the measurement, a Observation.performer element can also point to the PhdPatient resource. However, in most situations this is unknown and the performer is not filled in. And for coincident timestamp observations, the performer should not be provided. This profile puts no constraints on the performer element.

Timestamp: effective[x]

PHDs report timestamps in various methods and may not report timestamps at all. The PHG will include a timestamp in every observation that is uploaded using a conversion as needed based on the timestamp data received from the PHD. The timestamp types and corresponding PHG conversions are summarized below:

IEEE 11073-10206 timestamps represent a UTC time or a local time, that is synchronized with an external time source or not and can come with or without a TZ/DST offset or the timestamp represents a Tick Counter value. These timestamps can come from the current timeline of the PHD or not. In order to map a timestamp for the PHD's current timeline, the PHG needs the PHD's current time.

A timestamp comes from the current timeline of the PHD if the PHD's clock progressed naturally without discontinuities since the time reported in the timestamp. This information is included in the timestamp reported by an IEEE 11073-10206 compliant PHD, such as Bluetooth devices following the GHS specification. More information can be found in the IEEE 11073-10206 ACOM and Bluetooth GHS specifications.

Observations with a timestamp that is not from the current timeline of the PHD and that are not from a timeline synchronized with an external time source should be thrown away since there is no way to give them a correct timestamp.

The PHG can work with the assumption that the PHD and the PHG are always in the same time zone. This allows the PHG to set the offset of the timestamp to its offset.

For IEEE 11073-10206 timestamps the following table can be used:

Time type Current Synced Offset Recommended Mapping Coincident Timestamp Observation required
UTC Yes Yes Yes Keep as is No
UTC Yes Yes No Keep as is, but include PHG offset No
UTC Yes No Yes Map to PHG timeline, including PHG offset Yes
UTC Yes No No Map to PHG UTC timeline, include PHG offset Yes
UTC No Yes Yes Keep as is No
UTC No Yes No Keep as is, include PHG offset No
UTC No No Yes Throw away n.a.
UTC No No No Throw away n.a.
Local Yes Yes Yes Map to UTC+offset Yes
Local Yes Yes No Map to UTC+offset, including PHG offset Yes
Local Yes No Yes Map to PHG timeline, including PHG offset Yes
Local Yes No No Map to PHG timeline, including PHG offset Yes
Local No Yes Yes Map to UTC+offset No
Local No Yes No Map to UTC+offset, include PHG offset No
Local No No Yes Throw away n.a.
Local No No No Throw away n.a.
Tick counter Yes n.a. n.a. Map to PHG timeline, including PHG offset Yes
Tick counter No n.a. n.a. Throw away n.a.

The PHG maps the 'converted' timestamp to either an Observation.effectiveDateTime element or an Observation.effectivePeriod element. The second situation occurs when the observation includes a Measurement-Duration (duration) attribute. Then the timestamp attribute gives the start of the period and the end of the period is obtained by adding the Measurement-Duration value to it. If no timestamp is provided, the PHG, using the time of reception of the observation as its timestamp must then do the reverse; the time of reception is the end time and the start time is given by subtracting the Measurement-Duration value from it. When the PHG modifies an Observation's timestamp as received from the PHD it shall also generate a Coincident Timestamp observation that records how the Observation.effective[x] element is generated.

extension: Coincident timestamp reference

This extension references Coincident Timestamp Observation resource that relates the PHD and PHG timelines. This occurs whenever the observation reported by the PHD has a timestamp. The Coincident Timestamp Observation reports how this Observation.effective[x] element is generated.

Device

The Observation.device element is a reference to the Device resource representing the PHD that generated the observation.

The derivedFrom element references Observation resources that are in some manner related to this Observation resource. In the PHD use case, this situation occurs whenever the observation reported by the PHD contains a derivedFrom attribute referencing a related Observation.

The hasMember element is used when the PHD Observation reports a group of related observations. In GHS an Observation can have an Is Member Of attribute that references a group observation. When uploading to a FHIR server the gateway should report the group observation with a hasMember reference to all member Observations.

In GHS the sensor related Observations are identified using a 32-bit Observation Id that is unique in the set of observations transferred during a connection.
Related observations are best uploaded in a single FHIR Bundle with logical ids assigned.

Source-Handle-Reference case (concept from IEEE 11073-20601 - deprecated)

A Source-Handle-Reference attribute points to a previously reported observation that is important to this observation. By previously it is meant that the observation is reported prior to the current observation but in the same connection. If multiple such observations have been received, the correct one is that which is most recently received. As an example, the cardiovascular specialization defines a session observation defining some type of exercise period, such as a run. All observations taken during that run have a source handle reference attribute pointing to the session observation. Since Source-Handle-Reference attributes use IEEE 11073-20601 Object handle values and not Logical resource ids to point to observations, the PHG will need to keep track of the Observation resources created during a connection to identify the correct Observation resource, and thus logical id, the Source-Handle-Reference attribute points to. Recent versions of the IEEE 11073-20601 standard also supports a Source-Handle-Reference-List containing a list of handles so there can be more than one entry generated due to these attributes. The references are placed in a derivedFrom element.

This mapping is quite often semantically incorrect. In FHIR the session observation resource should have "hasMember" references to all observations that are part of the session.

Category

The category element identifies the observation as being generated by a PHD. This can be used in searches and distinguishes such observations from observations collected using clinical equipment or collected in a clinical context. PHGs shall include a category element with a fixed coding as specified by the profile.

Note that for vital signs observations there also should be a category element as defined by the Vital Signs profile.

Supplemental Information - Components

component elements are used whenever the observation contains additional information attributes that further describe the observation. PHD observations can include Supplemental-Information that can be mapped to one or more FHIR Observation components.

The Supplemental Information attribute contains a list of one or more MDC codes that describe some property of the observation. There will be one component element for each entry in the list. For example, the code MDC_MODALITY_SPOT used in the pulse oximeter specialization indicates that the observation reported is a stable average. In contrast there is MDC_MODALITY_FAST and MDC_MODALITY_SLOW.

{
  "resourceType" : "Observation",
  ...
  "component" : [
    {
      "code" : {
        "coding" : [
          {
            "system" : "urn:iso:std:iso:11073:10101",
            "code" : "68193",
            "display" : "MDC_ATTR_SUPPLEMENTAL_TYPES"
          }
        ]
      },
      "valueCodeableConcept" : {
        "coding" : [
          {
            "system" : "urn:iso:std:iso:11073:10101",
            "code" : "150588",
            "display" : "MDC_MODALITY_SPOT"
          }
        ]
      }
    }
  ]
}
Should we move Supplemental Type information to an extension? In the PHD IG v1.0 an attempt was made to avoid extensions as much as possible. In this version we are using extensions for less often used attributes of the IEEE 11073-10206 model and in places were the conceptual models from PHD and FHIR model are too different to have a 1-1 mapping between parts of these models. The question is if this applies to Supplemental Type information as well. Should IEEE 11073-10206/20601 Supplemental Information be modeled as a FHIR `Observation.component` or as an extension in FHIR? Input is welcome.

Measurement Status

The Measurement Status attribute from IEEE 11073-10206 ACOM is used to report errors or other special conditions. The Bluetooth SIG GHS specification adds more possible conditions. It is possible to have multiple conditions simultaneously, but some combinations of conditions do not make sense and should not occur.

To report these conditions in FHIR requires the use of different elements:

  • The dataAbsentReason element is used to report the error or not-available condition.
  • The status element is used to report the entered-in-error condition.
  • The interpretation element is used to report the questionable, calibrating, early-estimate, manually-entered, threshold error, and thresholding disabled conditions.

The table below lists the error conditions and the FHIR data elements to which they are mapped. The code system from which the code is drawn is also shown using a codsystem#code notation.

IEEE 11073-10206 Measurement Status FHIR Observation Resource Data Element Further Remarks Options
Invalid dataAbsentReason = DAR#error
status = HL7Status#entered-in-error
A device or gateway could decide not to upload invalid observations and could report an error by other means.
Questionable interpretation = PoCDStatus#questionable -
Not-available dataAbsentReason = DAR#not-performed A device or gateway could decide not to upload observations with no value and could report an error by other means.
Calibrating interpretation = PoCDStatus#calibration-ongoing -
Test-data meta.security = ActReason#HTEST Test data should in most cases not be uploaded to a FHIR server, except for testing purposes.
Early-estimate interpretation = PoCDStatus#early-indication
status = HL7Status#preliminary
-
Manually-entered - Add a note to the Observation resource that it was manually entered.
Setting - For device settings, the Observation resource should reference the PHD Device as the subject and not the Patient.
Threshold error interpretation = PoCDStatus#in-alarm Applies to numeric data. Add a note to the Observation resource that it is outside its boundaries. Should be used in combination with the SimpleAlerting Extension.
Thresholding disabled interpretation = PoCDStatus#alarm-inhibited Applies to numeric data. Add a note to the Observation resource that its boundaries are not checked. Should be used in combination with the SimpleAlerting Extension.

DAR: Data Absent Reason CodeSystem HL7Status: Observation Status CodeSystem PoCDStatus: Measurement Status Codes CodeSystem ActReason: Act Reason CodeSystem