Personal Health Device Implementation Guide
1.0.0 - STU 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.0.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

Artifact List

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

PHD Profiles

Profiles for mapping IEEE 11073-20601 Personal Health Devices to FHIR resources

PhdBaseObservation

Observation elements that are common to all the Continua PHD Observation profiles

PhdNumericObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement is number.

PhdCompoundNumericObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement is described by a set of numbers such as the x, y, and x components of an acceleration.

PhdCodedEnumerationObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement itself is an enumerated code.

PhdBitsEnumerationObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement is an ASN1 BITS value.

PhdRtsaObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement is a waveform.

PhdStringEnumerationObservation

StructureDefinition for Observation Resources representing measurement data coming from a medical device where the measurement itself is an enumerated human readable string.

PhdCoincidentTimeStampObservation

StructureDefinition for Observation Resources representing the coincident time stamp. This report is a measurement of the current time of the sensor at the current time of the PHG. The purpose of this observation is to record the difference in the time lines between the PHG and PHD and to be able to recover the original measurement time stamps reported by the PHD should the PHG correct them because the sensor clock is in error.

PhdDevice

StructureDefinition for the Device Resource representing a PHD

PhgDevice

StructureDefinition for the Device Resource representing a PHG (gateway)

PhdPatient

Structure definition for the patient information reported from personal health gateways (PHG)

Value Sets

Value Sets used and defined in this Implementation Guide

CodeableConcept11073MDC

Value set for those MDC attribute codes whose values are represented by CodeableConcepts. These codes are used as slicing discriminators.

Quantity11073MDC

Value set for those MDC attribute codes whose values are represented by Quantities. These codes are used as slicing discriminators.

Range11073MDC

Value set for those MDC attribute codes whose values are represented by Ranges. These codes are used as slicing discriminators.

String11073MDC

Value set for those MDC attribute codes whose values are represented by Strings. These codes are used as slicing discriminators.

MDCnotObject

Value set for those Observation component elements that come from compound and BITs measurements. These attributes come from several partitions but NOT the MDC Object partition. These codes are used as slicing discriminators to distinguish between those components that represent measurement values in the compound and ASN1 BITs profiles from those components providing additional information about the values. For example, the supplemental types would give an extra description about the measurement such as ‘duration average’ whereas the measurement itself might be acceleration values.

ASN1attribute

Value set for those Asn1ToHL7 codes whose PHD source is an attribute, such as the regulation status or time capabilities.

ASN1measurement

Value set for those Asn1ToHL7 codes whose source is a measurement attribute; one of the Enum-observed-value attributes.

Device System Id Identifier

ValueSet for the Codes describing the type of device identifier, such as a system id or Bluetooth address.

Device Transport Address Identifiers

ValueSet for the Codes describing the type of device transport identifier, such the Bluetooth address.

Device Type Specialization IEEE 11073-10101 Nomenclature Codes

ValueSet for the ISO/IEEE 11073-10101 Nomenclatures Describing Device specialization types.

IEEE 11073 MDC Object infrastructure and Device nomenclature

ValueSet for the ISO/IEEE 11073-10101 Nomenclature filtered by Object partition.

Code Systems

Code Systems defined in this Implementation Guide

ContinuaDeviceIdentifiers

Codes that identify the device ‘identifier’, such as whether an EUI is a system id, Bluetooth address, or Ethernet MAC address

ASN1ToHL7

Codes for the IEEE 11073-20601 BITs measurement bit values. For example, 150604.0 is the code for Mder bit 0 in measurement type 150604 which is a pulse oximeter device and sensor status. The description of that code is ‘Indicates the device is not connected with the sensor’. This code system will grow as more BITs measurements are defined in specializations

ContinuaHFS

Codes for the Continua Health and Fitness interfaces

ContinuaPHD

Codes for the Continua certified PAN interfaces. These codes indicate that the respective platform has been certified for certain transports (Bluetooth, USB, Bluetooth Low Energy, ZigBee) and device specializations.

PhdObservationCategories

Category value for observations generated by PHD devices.

Capability Statements

Capability Statements defined in this Implementation Guide

PhdServerCapabilityStatement

Capability statement. This statement indicates what the server must support and accept to work with this Guide. Though the CapabilityStatement indicates, for example, that the server must support the Device resource, it does not mean the server must save the Device resource. The use case may only be interested in the Observation and Patient resources. What it does mean is that the server cannot generate an error when the PHG uploads a Device resource or references a Device resource that it has uploaded.

Examples

Examples of resources following the Implementation Guide Profiles

Example of a first time Bundle upload

This example shows a full transaction Bundle containing Patient, Device, and Observation resources. In subsequent uploads, the Patient and Device resources would not need to be present. The udiCarrier element present in the example was constructed from information sent by the device to illustrate what a UDI might look like; an actual UDI was not sent by protocol fromthe device. This guide does not yet stipulate how to map the UDI.

Example of PHD Device

This example PHD Device resource is referenced by other examples and is present for the validator.

Example Bundled upload

This example is an upload from a Bluetooth Low Energy Pulse oximeter device streaming data. In this case the gateway has previously uploaded measurements and saved the logical ids of the Patient and Device resources so they are not re-uploaded.

Example of a numeric.

This example is a simple numeric observation of a pulse rate from a pulse oximeter. This particular example also has a component as the original measurement has a Supplemental Types attribute indicating that this is a SPOT measurement (a stable average).

Example of an Rtsa.

This example is an RTSA observation of a pleth signal from a pulse oximeter. This very short waveform maps to a valueSampledData element.

Example of a NaN case

This example contains a NaN (not a number) measurement.

Example of coded enumeration

This example contains measurement that is itself a code. The measurement comes from a Glucose meter and indicates that the glucose measurement was taken after lunch or dinner. It is also known as the meal context.

Example of a ASN1 BITs measurement

This example is a device and sensor status measurement from a pulse oximeter. This measurement indicates one or more issues the sensor had attempting to take the measurement, for example, finger poorly positioned, cannot get a sufficiently strong signal, etc.

Example of Compound measurement

This example is from a Blood Pressure cuff.

Example of String measurement

This example is some arbitrary text from a Glucose meter explaining the failure of the measurement.

Example of a Coincident Time Stamp PHG better synchronized

This example is a Coincident Time stamp where the PHG is better synchronized to NTP time than the PHD. This situation is the most prevalent.

Example of a Coincident Time Stamp with a Time Fault

This example is a Coincident Time stamp where the PHD has a time fault; it’s current time line is unknown and it reported time stamps in its measurements.

Example of a Blood Pressure PHD

This example maps the MDS data from a Blood Pressure PHD. This device did not report Reg-Cert-Data-List information.

Example of a Glucose Monitor PHD

This example maps an Glucose monitor PHD. It is referenced by a coded Glucose meal context observation

Example of a Coincident Time Stamp referenced from BP observation

This Coincident Time Stamp observation is referenced by the Blood Pressure Observation

Example of a Coincident Time Stamp referenced by the Glucose Meal Context Observation

This Coincident Time Stamp observation is referenced by the the Glucose meal context Observation

Example of a Gateway

This example maps an Android Gateway

Example of a Patient

This example maps a patient where an optional patient name is included