Personal Health Device Implementation Guide
1.1.0 - STU 1.1 International flag

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

Resource Profile: PhdBaseObservation ( Abstract )

Official URL: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation Version: 1.1.0
Draft as of 2017-11-24 Computable Name: PhdBaseObservation

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

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

  • gatewayDevice extension: the PHG responsible for generating the upload
  • code: what the measurement is,
  • subject: the patient this measurement refers to,
  • effective[x]: the time stamp and perhaps duration of the measurement,
  • device: the PHD taking the measurement,
  • derivedFrom: references to any coincident time stamp and/or refenced other observations, and
  • components: contains any additional measurement descriptions (Supplemental Information and relative time stamps)
  • category: a fixed value identifying observations generated by PHDs
  • measurement status
  • performer[ ]: optional, when the patient is known to be the performer this may refer to the patient

Usage:

Formal Views of Profile Content

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

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
... meta 1..1 Meta Metadata about the resource
.... Slices for security 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
..... security:PhdHtest 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... type 0..0
..... system 0..0
..... value 1..1 string The value that is unique
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
..... coding 1..* Coding Code defined by a terminology system
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
... code
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType 1..1 Coding The 11073-10101 MDC code for the measurement
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1 code Symbol in syntax defined by the system
..... coding:LoincCoding 0..1 Coding The LOINC code for the measurement
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1 code Symbol in syntax defined by the system
.... text 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... effective[x] 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dataAbsentReason 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault 1..1 Coding Code defined by a terminology system
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code 1..1 code Symbol in syntax defined by the system
... interpretation
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... code 1..1 code Symbol in syntax defined by the system
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... reference 1..1 string Reference to the device responsible for the measurement
... Slices for component 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:supplementalTypesComponent 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType 1..1 Coding The 11073-10101 MDC code for the measurement
........ system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
...... text 0..1 string Plain text representation of the concept
..... Slices for value[x] 1..1 CodeableConcept Actual component result
Slice: Unordered, Open by type:$this
...... value[x]:valueCodeableConcept 1..1 CodeableConcept Actual component result
....... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType 1..1 Coding Required MDC code entry.
......... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... code 1..1 code Symbol in syntax defined by the system
..... dataAbsentReason 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... meta Σ 1..1 Meta Metadata about the resource
.... Slices for security Σ 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.


..... security:PhdHtest Σ 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.


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an 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.


.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... coding Σ 1..* Coding Code defined by a terminology system
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:LoincCoding Σ 0..1 Coding The LOINC code for the measurement
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code Σ 1..1 code Symbol in syntax defined by the system
.... text Σ 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject Σ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... effective[x] Σ 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... 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.

.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault Σ 1..1 Coding Code defined by a terminology system
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code Σ 1..1 code Symbol in syntax defined by the system
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
... Slices for component Σ 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:supplementalTypesComponent Σ 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
...... text Σ 0..1 string Plain text representation of the concept
..... Slices for value[x] Σ 1..1 CodeableConcept Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept Σ 1..1 CodeableConcept Actual component result
....... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType Σ 1..1 Coding Required MDC code entry.
......... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... code Σ 1..1 code Symbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.security:PhdHtestextensibleFixed Value: HTEST
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.identifier:conditionalCreate.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:PHD-ObservationpreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security Σ 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.


..... security:PhdHtest Σ 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.


...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 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".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an 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.


.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 1..* Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:LoincCoding Σ 0..1 Coding The LOINC code for the measurement
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject Σ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 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).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] Σ 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant Date/Time this version was made available
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
... value[x] ΣC 0..1 Actual result
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
... dataAbsentReason C 0..1 CodeableConcept 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.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault Σ 1..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... note 0..* Annotation Comments about the observation
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
.... type Σ 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).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... referenceRange C 0..* BackboneElement Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... low C 0..1 SimpleQuantity Low Range, if relevant
.... high C 0..1 SimpleQuantity High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... Slices for component Σ 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
.... component:supplementalTypesComponent Σ 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ version Σ 0..1 string Version of the system - if relevant
........ code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
........ display Σ 0..1 string Representation defined by the system
........ userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... Slices for value[x] Σ 1..1 CodeableConcept Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept Σ 1..1 CodeableConcept Actual component result
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType Σ 1..1 Coding Required MDC code entry.
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... version Σ 0..1 string Version of the system - if relevant
......... code Σ 1..1 code Symbol in syntax defined by the system
......... display Σ 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
....... text Σ 0..1 string Plain text representation of the concept
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.security:PhdHtestextensibleFixed Value: HTEST
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.identifier:conditionalCreate.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:PHD-ObservationpreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.device.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG
Observation.component:supplementalTypesComponent.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 15 elements(23 nested mandatory elements)
Fixed: 11 elements
Prohibited: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
... meta 1..1 Meta Metadata about the resource
.... Slices for security 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system, value:code
..... security:PhdHtest 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... type 0..0
..... system 0..0
..... value 1..1 string The value that is unique
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
..... coding 1..* Coding Code defined by a terminology system
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
... code
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType 1..1 Coding The 11073-10101 MDC code for the measurement
...... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code 1..1 code Symbol in syntax defined by the system
..... coding:LoincCoding 0..1 Coding The LOINC code for the measurement
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1 code Symbol in syntax defined by the system
.... text 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... effective[x] 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dataAbsentReason 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault 1..1 Coding Code defined by a terminology system
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code 1..1 code Symbol in syntax defined by the system
... interpretation
.... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... code 1..1 code Symbol in syntax defined by the system
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... reference 1..1 string Reference to the device responsible for the measurement
... Slices for component 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:supplementalTypesComponent 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType 1..1 Coding The 11073-10101 MDC code for the measurement
........ system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
...... text 0..1 string Plain text representation of the concept
..... Slices for value[x] 1..1 CodeableConcept Actual component result
Slice: Unordered, Open by type:$this
...... value[x]:valueCodeableConcept 1..1 CodeableConcept Actual component result
....... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType 1..1 Coding Required MDC code entry.
......... system 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... code 1..1 code Symbol in syntax defined by the system
..... dataAbsentReason 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... meta Σ 1..1 Meta Metadata about the resource
.... Slices for security Σ 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.


..... security:PhdHtest Σ 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.


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an 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.


.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... coding Σ 1..* Coding Code defined by a terminology system
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:LoincCoding Σ 0..1 Coding The LOINC code for the measurement
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... code Σ 1..1 code Symbol in syntax defined by the system
.... text Σ 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject Σ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... effective[x] Σ 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... 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.

.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault Σ 1..1 Coding Code defined by a terminology system
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code Σ 1..1 code Symbol in syntax defined by the system
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
... Slices for component Σ 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:supplementalTypesComponent Σ 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
...... text Σ 0..1 string Plain text representation of the concept
..... Slices for value[x] Σ 1..1 CodeableConcept Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept Σ 1..1 CodeableConcept Actual component result
....... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType Σ 1..1 Coding Required MDC code entry.
......... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... code Σ 1..1 code Symbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.security:PhdHtestextensibleFixed Value: HTEST
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.identifier:conditionalCreate.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:PHD-ObservationpreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation This is an abstractprofile. Childprofiles: PhdBitsEnumerationObservation, PhdCodedEnumerationObservation, PhdCompoundNumericObservation, PhdNumericObservation, PhdRtsaObservation, PhdStringEnumerationObservation
Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security Σ 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.


..... security:PhdHtest Σ 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.


...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActReason
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 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".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... GatewayDevice 0..1 Reference(Device) Gateway Device
URL: http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice
.... CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by exists:value, exists:system, exists:type
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an 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.


.... category:PHD-Observation 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 1..* Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: phd-observation
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MDCType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:LoincCoding Σ 0..1 Coding The LOINC code for the measurement
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string It is recommended to display at least the reference identifier for the MDC code
... subject Σ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 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).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] Σ 1..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant Date/Time this version was made available
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
... value[x] ΣC 0..1 Actual result
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
... dataAbsentReason C 0..1 CodeableConcept 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.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:FhirDefault Σ 1..1 Coding Code defined by a terminology system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... note 0..* Annotation Comments about the observation
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 1..1 Reference(Device | DeviceMetric) (Measurement) Device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
.... type Σ 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).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... referenceRange C 0..* BackboneElement Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... low C 0..1 SimpleQuantity Low Range, if relevant
.... high C 0..1 SimpleQuantity High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... Slices for component Σ 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
.... component:supplementalTypesComponent Σ 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: CodeableConcept 11073 Attributes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
........ version Σ 0..1 string Version of the system - if relevant
........ code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
........ display Σ 0..1 string Representation defined by the system
........ userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... Slices for value[x] Σ 1..1 CodeableConcept Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept Σ 1..1 CodeableConcept Actual component result
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
........ coding:MDCType Σ 1..1 Coding Required MDC code entry.
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system Σ 1..1 uri Identity of the terminology system
Fixed Value: urn:iso:std:iso:11073:10101
......... version Σ 0..1 string Version of the system - if relevant
......... code Σ 1..1 code Symbol in syntax defined by the system
......... display Σ 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
....... text Σ 0..1 string Plain text representation of the concept
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.security:PhdHtestextensibleFixed Value: HTEST
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.identifier:conditionalCreate.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:PHD-ObservationpreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.device.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:supplementalTypesComponent.coderequiredCodeableConcept11073MDC
http://hl7.org/fhir/uv/phd/ValueSet/CodeableConcept11073MDC
from this IG
Observation.component:supplementalTypesComponent.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 15 elements(23 nested mandatory elements)
Fixed: 11 elements
Prohibited: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron

Notes:

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

Gateway Device extension

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

Observation Identifier - prevention of data duplication

The PHD Observation Identifier is defined to prevent data duplication. It can be used as the selection criterium in the conditional create when uploading observations.

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

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

Entry value Additional information
device "PHD Device.identifier.value" This value is the PHD IEEE EUI-64 system identifier
patient "Patient.identifier.value-Patient.identifier.system" or
provided logical id
The dashes are part of the identifier.
When the service provider gives the PHG a pre-determined patient logical id the PHG creates no Patient resource and has no patient information. In that special case the provided logical id is used
type "Observation.code.coding.code" See Obtaining the Observation.code
reported PHD timestamp "timestamp" See Generating the PHD Reported Time Stamp
duration "duration" See Generating the PHD Reported Time Stamp
Supplemental Information "Supplemental-Types.N-" A sequence of 32-bit MDC codes separated by a dash

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

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

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

Obtaining the Type of observation

One obtains the IEEE 11073-10101 observation type for the code element in the same manner for all metric observations. See the section Obtaining the Observation.code for the details of this mapping.

Subject

The subject element points to the PhdPatient resource using the logical id of the Patient resource, for example 'Patient/123546'.

Performer

In situations where the gateway knows that the patinet is the person performing the measurement, a Observation.performer[] element can also point to the PhdPatient resource. However, in most situations this is unknown and the performer is not filled in. And for coincident timestamp observations, the performer should not be provided.

Time Stamp: effective[x]

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

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

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

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

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

Time type Current Synced Offset Recommended Mapping
UTC Yes Yes Yes Keep as is with optional correction to PHG timeline, keep offset as is
UTC Yes Yes No Keep as is , with optional correction and optionally include PHG offset
UTC Yes No Yes Map to PHG timeline, including PHG offset
UTC Yes No No Map to PHG UTC timeline, optionally include PHG offset
UTC No Yes Yes Keep as is
UTC No Yes No Keep as is, optionally include PHG offset
UTC No No Yes Throw away
UTC No No No Throw away
Local Yes Yes Yes Map to UTC+offset with optional correction
Local Yes Yes No Map to UTC+offset, including PHG offset
Local Yes No Yes Map to PHG timeline, including PHG offset
Local Yes No No Map to PHG timeline, including PHG offset
Local No Yes Yes Map to UTC+offset
Local No Yes No Map to UTC, optionally include PHG offset
Local No No Yes Throw away
Local No No No Throw away
Tick counter Yes n.a. n.a. Map to PHG timeline, including PHG offset
Tick counter No n.a. n.a. Throw away

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

Device

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

This element references Observation resources that are in some manner related to this Observation resource. In the PHD use case, this situation occurs whenever the observation reported by the PHD has a time stamp and/or the observation contains a derivedFrom attribute referencing a related Observation.

This element is used when the PHD Observation reports a group of related observations.

In GHS an Observation can have an Is Member Of attribute that references a group observation. When uploading to a FHIR server the gateway should report the group observation with a hasMember reference to all member Observations.

In GHS the sensor device related Observations are identified using a 32-bit Observation Id that is unique in the set of observations transferred during a connection. When

Related observations are best uploaded in a single FHIR Bundle with logical ids assigned

Time Stamp case

When the observation contains a time stamp, there will be a Coincident Time Stamp Observation defining the details of how the Observation.effective[x] element is generated.

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

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

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

Category

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

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

Supplemental Information - Components

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

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

Observation.component element entry Additional Information
code.coding.code 68193 This is the MDC code for the Supplemental Types attribute
code.coding.system urn:iso:std:iso:11073:10101 Indicates the MDC coding system
code.text optional Should contain the reference id MDC_ATTR_SUPPLEMENTAL_TYPES along with any other additional text
valueCodeableConcept.coding.system urn:iso:std:iso:11073:10101 Indicates the MDC coding system
valueCodeableConcept.coding.code the MDC code as a decimal string  
valueCodeableConcept.text optional Should contain the reference id for the reported code along with any other additional text

Measurement Status

The Measurement Status element from IEEE 11073-10206 is used to report errors or other special conditions. The element reports one or more of the following conditions:

  • invalid
  • questionable
  • not-available
  • calibrating
  • test-data
  • early-estimate
  • threshold-error
  • annunciation-inhibited
  • setting
  • manually-entered

The Bluetooth SIG GHS specification adds two more:

  • Threshold error
  • Thresholding disabled

It is possible to have multiple conditions simultaneously, but some combinations of conditions do not make sense and should not occur.

To report these cases in FHIR requires the use of three different elements. The interpretation codes are taken from the measurement status value set defined in the Point of Care implementation guide. The mapping is shown in the following table:

Measurement Status FHIR® Observation Resource Data Element Further Handling Options
Invalid dataAbsentReason = error – from CS1
status = entered-in-error – from CS2
A device or gateway could decide not to upload invalid observations and could report an error by other means.
Questionable interpretation = questionable – from CS3 -
Not-available dataAbsentReason = not-performed – from CS1 A device or gateway could decide not to upload observations with no value and could report an error by other means.
Calibrating interpretation = calibration-ongoing – from CS3 -
Test-data meta.security = HTEST – from CS4 Test data should in most cases not be uploaded to a FHIR® server, except for testing purposes.
Early-estimate interpretation = early-indication – from CS3
status = preliminary – from CS2
-
Annunciation-inhibited TBD  
Manually-entered - Add a note to the Observation resource that it was manually entered.
Setting - For device settings, the Observation resource should reference the Device resource as a subject and not a Patient resource.
Threshold error interpretation = in-alarm – from CS3 Ignore or add a note to the Observation resource that it is outside its boundaries.
Thresholding disabled interpretation = alarm-inhibited – from CS3 Ignore or add a note to the Observation resource that its boundaries are not checked.

CS1: Data Absent Reason CodeSystem CS2: Observation Status CodeSystem CS3: CodeSystem: Measurement Status Codes CodeSystem CS4: CodeSystem: Act Reason CodeSystem