Personal Health Device Implementation Guide
3.0.0-draft - STU 3 - R6 Global (Whole world)

Personal Health Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 3.0.0-draft 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

Artifacts Summary

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

Observation Profiles

Profiles for different types of observations from personal health devices

PhdBaseObservation

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

PhdNumericObservation

Observations from a PHD where the measurement is number

PhdCompoundObservation

Observations from a PHD where the measurement is a set of numbers such as the x, y, and z components of an acceleration.

PhdCompoundNumericObservation

Observations coming from a PHD where the measurement is a set of numbers such as the x, y, and z components of an acceleration.

PhdCodedEnumerationObservation

Observations coming from a PHD where the measurement value is a code.

PhdBitsEnumerationObservation

Observations from a PHD where the measurement is an ASN1 BITS value.

PhdRtsaObservation

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

PhdStringObservation

Observations from a PHD where the measurement is a human readable string.

PhdCoincidentTimeStampObservation

Observations containing a coincident timestamp.

Device Profiles

Profiles for personal health devices and gateways

PhdDevice

Profile for the Device Resource for a PHD

PhgDevice

Profile for the Device Resource for a PHG

Patient Profile

Profile for patients using personal health devices

PhdPatient

The patient information reported from personal health gateways (PHG)

Other Profiles

Additional profiles used in the PHD implementation guide

PhdDeviceMetric

Profile for the DeviceMetric for a PHD

PhdDeviceAlert

Profile for device alert that capture alert conditions from personal health devices.

Extensions

Extensions used by the PHD profiles

Numeric Accuracy

The accuracy of a measurable quantity.

Confidence 95 range

The Confidence 95 range of a measurable quantity.

Coincident Timestamp Reference

Reference to a coincident timestamp observation that relates the gateway timeline to the PHD timeline.

Terminology

Code systems and value sets for personal health device data

ACME Inc Private MDC Codes

An example CodeSystem that defines two private codes for an imaginary company in the MDC CodeSystem.

ASN1 to HL7 Mapping

Codes for the IEEE 11073-10206 BITs measurement bit values. For example, 150604.0 is the code for bit 0 in measurement type 150604 which is a pulse oximeter status. The description of that code is 'Indicates the device is not connected with the sensor'.

Continua Device Identifiers

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

Continua Health and Fitness Service Interfaces

Codes used to describe the Continua Health and Fitness interfaces supported by a Personal Health Gateway. More codes maybe added to this list in the future.

Continua Device Interface Identifiers

Codes used to describe the PHD types and interfaces supported by a Personal Health Gateway. More codes maybe added to this list in the future.

Device Alert Category Code System

Codes used to categorize device alerts coming from PHD devices.

Missing MDC Codes

Codes that are missing from the MDC (Medical Device Communication) standard.

PHD Observation Categories Code System

Codes used for tagging observations coming from PHD devices. More codes maybe added to this list in the future.

ANS1ToHL7 codes defined for Boolean Clock attributes

ValueSet for the ANS1ToHL7 codes that are not derived from enumeration measurements.

ANS1ToHL7 codes defined for non-measurement attributes

ValueSet for the ANS1ToHL7 codes that are not derived from enumeration measurements.

ASN1 Event or State Values

ValueSet for the eventOrState property values in the ASN1ToHL7 CodeSystem

ASN1 Measurement Bits

Value set for those Asn1ToHL7 codes whose source is a measurement attribute.

ASN1 Source Values

ValueSet for the source property values in the ASN1ToHL7 CodeSystem

Continua PHD-PHG Device Interfaces ValueSet

ValueSet containing all codes from the ContinuaPHDInterfaceIDs CodeSystem, representing Continua Personal Area Network (PHD) interfaces supported by a Personal Health Gateway.

Continua PHG-HFS Interfaces ValueSet

ValueSet containing all codes from the ContinuaHFS CodeSystem, representing Continua Health and Fitness Server (HFS) interfaces supported by a PHG.

Device Type Specialization IEEE 11073-10101 Nomenclature Codes

ValueSet for the ISO/IEEE 11073-10101 Nomenclature Codes for Device Specialization types

MDC Clock Resolution Types

ValueSet for the ISO/IEEE 11073-10101 Nomenclature Codes for Clock Resolution types

MDC Clock Types

ValueSet for the ISO/IEEE 11073-10101 Nomenclature Codes for Clock Types

MDC Device Identifier Types

ValueSet for the MDC Device Identifier Types

MDC Device Version Type codes

ValueSet for the MDC Device Version Type codes. ToDo: We still need to define a code for the ACOM version.

MDC Non-Object codes

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

IEEE 11073 MDC Object infrastructure and Device nomenclature

ValueSet for the ISO/IEEE 11073-10101 Nomenclature filtered by & Device nomenclature partition.

MDC Time Synchronization Methods

ValueSet for the MDC codes representing time synchronization methods such as NTP, GPS, and others.

MDC Value Set

ValueSet for the MDC CodeSystem.

Capability Statement

Server capability requirements

PhdFHIRServer

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.

Example Bundles

Complete transaction examples

First time Bundle upload

This example shows a full first time transaction Bundle containing Patient, Device, and Observation resources.

Pulse Oximeter Bundle 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 Devices

Device and gateway examples

PHD Device Example

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

Blood Pressure PHD

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

Glucose Monitor PHD

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

Gateway 1

This example maps an Android Gateway

Gateway 2

This example maps an Android Gateway

Phd Device Metric for Blood Pressure

This example is a PhdDeviceMetric for a Blood Pressure measurement.

Example Patients

Patient examples

Known Patient 1

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

Unknown Patient

This example maps an unknown patient.

Example Observations

Various observation examples from different device types

Pulse rate numeric observation

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 Information attribute indicating that this is a SPOT measurement (a stable average).

Pulse oximeter SpO2 observation with alert

This example is a simple numeric observation from a pulse oximeter with an alert.

Body temperature observation

This example is a simple numeric observation of a health thermometer.

Blood glucose observation.

This example is a simple numeric observation of a (continuous) glucose monitor.

Observation with NaN measurement

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

Pleth waveform observation

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

ECG waveform with scaling

This example is an RTSA observation of an ECG waveform with scaling.

Meal context coded enumeration observation

This example contains measurement that is itself a code. The measurement indicates that the glucose measurement was taken after lunch or dinner, also known as the meal context.

ASN1 BITs measurement from a Pulse Oximeter

This example is a device and sensor status measurement from a pulse oximeter.

BPM status report

This example reports the status of a BPM measurement.

Blood pressure compound (numeric) observation

This example reports a measurement from a Blood Pressure cuff.

Compound numeric observation with one component value absent

This example is from a Blood Pressure cuff with one missing component.

Compound observation with glucose and context

This artificial example combines a glucose measurement and context information.

String measurement example 1

This example observation reports some arbitrary text from a cardiovascular fitness device.

String measurement example 2

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

Coincident Timestamp with the gateway better synchronized then the

This example is a Coincident Timestamp where the PHG is better synchronized to NTP time than the PHD.

Coincident Timestamp with a Time Fault

This example is a Coincident Timestamp where the PHD has a time fault; it's current timeline is unknown and it reported timestamps in its measurements.

Coincident Timestamp from a BP device

This Coincident Timestamp observation is referenced by the Blood Pressure Observation

Another Coincident Timestamp example

This Coincident Timestamp observation is referenced by other Observation examples.

Other Examples

Additional example resources

Blood Pressure ObservationDefinition

This example defines the structure for blood pressure observations, including systolic (60-279 mmHg) and diastolic (40-200 mmHg) components with absolute ranges, using both IEEE 11073 MDC and LOINC codes.

Phd Device Alert for Blood Pressure

This example is a PhdDeviceAlert for a Blood Pressure measurement alert condition.

Phd Device Alert for SpO2

This example is a PhdDeviceAlert generated from a pulse oximeter observation alert condition.