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: PhdRtsaObservation

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

Observations from a PHD where the measurement is a sample array.

The (Real Time) Sample Array (RTSA) Observation Profile is used when the measurement is a periodic sequences of scalars in time, typically waveforms. In theory, this measurement could be split up into a sequence of Numeric Observations but that would be inefficient especially if one is talking about a 1000 samples per second or more. Waveforms are used for spirometry, ECG, pulse oximeter pleth wave traces, etc. This profile is used to represent ACOM Sample Array Observations.

The values are scaled to reduced bandwidth. The bandwidth reduction can be significant in cases where the actual values are small fluctuations about a large average value. The scale factors, number of bits in each sample, the period, and the number of samples in the sequence are given by a set of support attributes.

IEEE 11073-10206 ACOM and GHS support the concept of multi-dimensional arrays. Reporting a sequence of x, y, z acceleration components from a PHD can be done by reporting 3 samples per period, that all share the same unit and scaling factors. FHIR also support the concept of multi-dimensional arrays.

IEEE 11073-10206 Sample Array Attribute Value type Description
Sample-Period period Interval between samples
number-of-samples-per-period integer #Dimensions of the measurement
Actual-Range Real range Lowest-Highest unscaled value PHD can ever report [A,B]
Scaled-range Integer range Low- and high-value used for scaling [I,J]
Unit-code MDC code The unit of the samples
Samples array of integer The scaled measured samples

When mapping the samples directly to FHIR SampledData.data, the FHIR scale factor and origin can be derived from this:

  • SampledData.factor = (B-A)/(J-I)
  • SampledData.origin = (A*J - B*I)/ (J-I)

A graphing application could use the Actual-range limits to define the upper and lower ranges of a graph and be assured that the waveform would never go above or below those boundaries. These upper and lower boundaries are scaled and placed in the SampledData.lowerLimit and SampledData.upperLimit elements, respectively.

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..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7
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.value[x] This element is included in summaries. C 0..1 SampledData Actual result
Observation.value[x].origin This element is included in summaries. C 1..1 SimpleQuantity(4.0.1) Zero value and units
Constraints: sqty-1
Observation.value[x].origin.value This element is included in summaries. 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit This element is included in summaries. 0..1 string Unit representation
Observation.value[x].origin.system This element is included in summaries. C 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code This element is included in summaries. 1..1 code Coded form of the unit
Observation.value[x].period This element is included in summaries. 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor This element is included in summaries. 1..1 decimal The scale factor
Observation.value[x].lowerLimit This element is included in summaries. 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit This element is included in summaries. 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions This element is included in summaries. 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"
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.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.display 0..1 string Representation defined by the system
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

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.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()
sqty-1 error Observation.value[x].origin The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from PhdBaseObservation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* PhdBaseObservation Measurements and simple assertions
Observation.value[x] 0..1 SampledData Actual result
Observation.value[x].origin 1..1 SimpleQuantity(4.0.1) Zero value and units
Observation.value[x].origin.value 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit 0..1 string Unit representation
Observation.value[x].origin.system 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code 1..1 code Coded form of the unit
Observation.value[x].period 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor 1..1 decimal The scale factor
Observation.value[x].lowerLimit 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* PhdBaseObservation 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 SampledData Actual result
Observation.value[x].id 0..1 string Unique id for inter-element referencing
Observation.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.value[x].origin This element is included in summaries. C 1..1 SimpleQuantity(4.0.1) Zero value and units
Constraints: sqty-1
Observation.value[x].origin.id 0..1 string Unique id for inter-element referencing
Observation.value[x].origin.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.value[x].origin.value This element is included in summaries. 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit This element is included in summaries. 0..1 string Unit representation
Observation.value[x].origin.system This element is included in summaries. C 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code This element is included in summaries. 1..1 code Coded form of the unit
Observation.value[x].period This element is included in summaries. 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor This element is included in summaries. 1..1 decimal The scale factor
Observation.value[x].lowerLimit This element is included in summaries. 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit This element is included in summaries. 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions This element is included in summaries. 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"
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.value[x].origin, Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from PhdBaseObservation

Summary

Mandatory: 0 element(4 nested mandatory elements)
Fixed: 1 element

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7
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.value[x] This element is included in summaries. C 0..1 SampledData Actual result
Observation.value[x].origin This element is included in summaries. C 1..1 SimpleQuantity(4.0.1) Zero value and units
Constraints: sqty-1
Observation.value[x].origin.value This element is included in summaries. 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit This element is included in summaries. 0..1 string Unit representation
Observation.value[x].origin.system This element is included in summaries. C 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code This element is included in summaries. 1..1 code Coded form of the unit
Observation.value[x].period This element is included in summaries. 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor This element is included in summaries. 1..1 decimal The scale factor
Observation.value[x].lowerLimit This element is included in summaries. 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit This element is included in summaries. 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions This element is included in summaries. 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"
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.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.display 0..1 string Representation defined by the system
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

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.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()
sqty-1 error Observation.value[x].origin The comparator is not used on a SimpleQuantity comparator.empty()

Differential View

This structure is derived from PhdBaseObservation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* PhdBaseObservation Measurements and simple assertions
Observation.value[x] 0..1 SampledData Actual result
Observation.value[x].origin 1..1 SimpleQuantity(4.0.1) Zero value and units
Observation.value[x].origin.value 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit 0..1 string Unit representation
Observation.value[x].origin.system 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code 1..1 code Coded form of the unit
Observation.value[x].period 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor 1..1 decimal The scale factor
Observation.value[x].lowerLimit 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* PhdBaseObservation 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 SampledData Actual result
Observation.value[x].id 0..1 string Unique id for inter-element referencing
Observation.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.value[x].origin This element is included in summaries. C 1..1 SimpleQuantity(4.0.1) Zero value and units
Constraints: sqty-1
Observation.value[x].origin.id 0..1 string Unique id for inter-element referencing
Observation.value[x].origin.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.value[x].origin.value This element is included in summaries. 1..1 decimal Intercept value (with implicit precision)
Observation.value[x].origin.unit This element is included in summaries. 0..1 string Unit representation
Observation.value[x].origin.system This element is included in summaries. C 1..1 uri The UCUM coding system
Fixed Value: http://unitsofmeasure.org
Observation.value[x].origin.code This element is included in summaries. 1..1 code Coded form of the unit
Observation.value[x].period This element is included in summaries. 1..1 decimal Number of milliseconds between samples
Observation.value[x].factor This element is included in summaries. 1..1 decimal The scale factor
Observation.value[x].lowerLimit This element is included in summaries. 0..1 decimal The scaled lower limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].upperLimit This element is included in summaries. 0..1 decimal The scaled upper limit of the ACOM sample array when provided by the PHD device.
Observation.value[x].dimensions This element is included in summaries. 1..1 positiveInt Number of sample points at each time point
Observation.value[x].data 0..1 string Decimal values with spaces, or "E" | "U" | "L"
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.value[x].origin, Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from PhdBaseObservation

Summary

Mandatory: 0 element(4 nested mandatory elements)
Fixed: 1 element

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

These notes provide information on how the scaling of the ACOM Sample Array observation is done and how it can best be mapped to the FHIR Observation resource and its SampledData element.

In the case of the Sample Array observation, ACOM provides the Actual-range and Scaled-Range attributes. The ith entry of the actual unscaled data from the sensor is obtained from these attributes using the following relation:

y[i] = ((A – B)*x[i])/(I – J) + A – (A-B)*I/(I-J) where:

  • A = Actual-range.upper-value
  • B = Actual-range.lower-value
  • I = Scaled-Range.upper-value
  • J = Scaled-Range.lower-value
  • x[i] = SampleArray.samples[i]

Since ((A – B)*x[i])/(I – J) + A – (A-B)*I/(I-J) = d[i] * s + b,

d[i] = x[i] if

  • s = SampledData.scaleFactor = (A – B)/(I – J) and
  • b = SampledData.origin.value = A –(A-B)I/(I-J) = (B*I-A*J)/(I-J)

Using these scale factor and origin values allows to map the SampleArray.samples[i] values directly to the SampledData.data[i] values unchanged. It is recommended that the uploader maps the samples to the Observation.valueSampledData element using the above scaling as it is assumed the PHD chose this scaling for a good reason. However, that does not restrict the uploader using another scaling. As an example, the uploader could decode the scaled values and report the unscaled original sensor values in the Observation.valueSampledData.data element and set the Observation.valueSampledData.scaleFactor to 1.0 and the Observation.valueSampledData.origin.value to 0. This approach is used in IHE PCD-01.

Using the variables 'b' and 's' as defined above the mapping to the FHIR Observation resource is as follows:

IEEE 11073-10206 Sample Array Observation Attribute FHIR Observation element
samples[i] valueSampledData.data[i]
Unit-Code valueSampledData.origin.code (mapped to UCUM when available)
See calculation of 'b' above valueSampledData.origin.value = b
See calculation of 's' above valueSampledData.scaleFactor = s
Sample-period valueSampledData.period (milliseconds)
number-of-samples-per-period valueSampledData.dimensions
Actual-range.upper-limit valueSampledData.upperLimit
Actual-range.lower-limit valueSampledData.lowerLimit

Additional Sample Array Attributes

All additional attributes such as accuracy that may be reported in a numerical observation may also be present in a Sample Array Observation and are mapped to FHIR in the same way. See the Additional Numerical Measurement Information for more information on these attributes.

Consumers of the RTSA Profile

About the only work a consumer of this profile needs to do is to back-scale the valueSampledData.data values to the original values reported by the sensor. The following table summarizes where a reader can obtain the most pertinent information.

information Data element in Observation
Type of measurement code.coding.code
Time at the start of the waveform effectiveDateTime
Dimensions / number of samples per period valueSampledData.dimension
Time between samples in milliseconds valueSampledData.period
Units of samples valueSampledData.origin.code
Upper range of values valueSampledData.upperLimit (scaled)
Lower range of values valueSampledData.lowerLimit (scaled)
The actual n values valueSampledData.data[*n*] * valueSampledData.scaleFactor + valueSampledData.origin.value