Brian-Reinhold-Remote-Patient-Monitoring-_-DevDays-2019-Amsterdam-1.pdf

ingoreichert2 19 views 29 slides May 31, 2024
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

remote patient monitoring


Slide Content

HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission.
November 20-22, Amsterdam | @HL7 @FirelyTeam | #fhirdevdays | www.devdays.com

Personal Health Device Data as FHIR in Practice:
Remote Patient Monitoring
Brian Reinhold

The Standards Dream
Ideal
Buy any PHD from any manufacturer and it will work with any PHG from any
manufacturer
PHG will upload PHD data as FHIR resources in such a manner that one does not
have to write a new decoder for a new PHD.
PHDs
PHGs
FHIR Servers
Reader app

PCHA Guidelines: PHD to FHIR Plug
and Play Interoperability

What exists:
PHDs
PHGs
FHIR Servers
Reader app
Continua PHD IG 1:
http://build.fhir.org/ig/HL7/PHD/
Continua PHD Interface
Code For HealthCare
H&FS Interface
Code for HealthCare
Bluetooth Manager
Code For
HealthCare
H&FS
WIP!
Continua PHD IG 2:
http://build.fhir.org/ig/HL7/PHD/

Personal Health Device (PHD)
Implementation Guide
Personal Health
Devices
Personal Health
Gateways
FHIR Server
Remote Patient
Monitoring
1
2
Home
mapping
creating
consuming

Hands on – lets code
Personal Health
Devices
Personal Health
Gateways
FHIR Server
Remote Patient
Monitoring
1
2
IT DOES
YOU DO
WE PROVIDE:

How We Help
FHIR Server
Remote Patient Monitoring,
Alert system,
Diagnostics,
Whatever else you can dream up,
PC, Linux, Android
2
Java Intellij ‘RPM’ Source project:
•MDC dictionary
•Asn1ToHL7 dictionary
•Websockets subscription support
Examples of Observation and Device decoding
WE PROVIDE:
Gateways allow manual data entry so one can
simulate various medical conditions like hypertension.
Gateways are on Android PlayStore - BYOA

FHIR Resources
Coincident Time Stamp
Observation
Patient

Observation
Context
Observation
PHD Device
PHG Device
=
=
.subject*
.subject*
.device*
.device*
.extension-gateway*
.extension-gateway*
.dervicedFrom
.dervicedFrom
.dervicedFrom
.device*
.extension-gateway*
.subject*
* = required

Observation
Scalar Vector Code Event/State String
Six Measurement Value Types
37.5 C
161.2 lbs
96 mg/dL
25.5 km
8943 steps
43 bpm
{102 mmHg
51 mmHg
76 mmHg}

{9.2 m/s
2
8.5 m/s
2
19.6 m/s
2}
PREPRANDIAL
FASTING
CASUAL
BEDTIME

{battery_low
poor_perfusion
signal_poor
Pulse_irregular}

Fat Burning
Hill Climb
Random

Waveform
5,6,5,2,-1,
-2,-5,0,7,9,
5, …
Generic Mapping

PHG
XD
Proprietary # 1
IEEE 20601
Proprietary # 2
Proprietary # 4
Proprietary # 3
Proprietary # 5
Proprietary # 6
Heart Rate
Blood Pressure
Glucometer
Thermometer
Pulse Oximeter
Weight Scale
Proprietary # 7
Proprietary # 8
Proprietary # 10
Proprietary # 9
Proprietary # 11
Proprietary # 12
Special
code for
each
device
Personal Health Gateway
(PHG)
PHDs
Each arrow represents
suffering for the PHG
implementer.
The Weak Link:
Device communications
Continua Design Guidelines

PHG
XD
Proprietary # 1
IEEE 20601
Proprietary # 2
Proprietary # 4
Proprietary # 3
Proprietary # 5
Proprietary # 6
Heart Rate
Blood Pressure
Glucometer
Thermometer
Pulse Oximeter
Weight Scale
Proprietary # 7
Proprietary # 8
Proprietary # 10
Proprietary # 9
Proprietary # 11
Proprietary # 12
PHD Implementation Guide Part 1
Special
code for
each
device
PHDs
Personal Health Gateway
(PHG)
Again, each arrow represents suffering
for the PHG implementer.

•The 20601 arrow represents the
mapping to FHIR as in IG part 1

•The BTLE arrows are done by mapping to
the IEEE 20601 standard.

•The dashed arrows are done by mapping
to the IEEE 20601 but may not be
possible
Continua Design Guidelines

PHG
XD
Proprietary # 1
IEEE 20601
Proprietary # 2
Proprietary # 4
Proprietary # 3
Proprietary # 5
Proprietary # 6
Heart Rate
Blood Pressure
Glucometer
Thermometer
Pulse Oximeter
Weight Scale
Proprietary # 7
Proprietary # 8
Proprietary # 10
Proprietary # 9
Proprietary # 11
Proprietary # 12
PHD Implementation Guide Part 1
FHIR Resources
FHIR Server
Oauth Token Server
FHIR
reader
Special
code for
each
device
PHD
Device
PHG
Device
Patient
Observation n
Personal Health Gateway (PHG)
PHDs
PHD Implementation Guide Part 2

Implementing a PHG is hard
need to know binary PHD protocols
need to know FHIR
Continua is developing tools to simplify this task
PHD Data to FHIR and upload exists
PHD to PHG is a work in progress

When these are both completed, we could have
a let’s build session concerning PHG implementation

For Now

We examine the FHIR data
generated by the PHG
To develop applications that USE this data

What data does a PHD provide?

Device Information
(MDS)

Metric Information
(observation, measurement, …)
MDS = Medical Device System

Device Information

•Specialization (blood pressure, pulse ox, etc.)*
•Manufacturer name*
•Model number*
•Serial number**
•Firmware**, hardware, software, protocol, and Continua**
versions
•Part number
•System Identifier*
•Time properties
•Clock type**
•Synchronization**
•Resolution
•Accuracy
•Regulatory information
•Regulation status**
•Certification status**
•Current Time**
* = required
** = conditionally required

Device Information
•Specialization
•Manufacturer name
•Model number
•Serial number
•Firmware, hardware, software,
protocol, and Continua versions
•Part number
•System Identifier
•Time properties
•Clock type
•Synchronization
•Resolution
•Accuracy
•Regulatory information
•Regulation status
•Certification status
•Current Time
Device Resource
•profile: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdDevice
•type: PHD
•specialization – code, version
•manufacturer
•modelNumber
•serialNumber
•version – code, value

•partNumber
•identifier – code, system, value
•property – code, value (code, quantity)




•property
Coincident Time Stamp

Metric Information:
•Type: what it is. Given by an MDC code.
•Time stamp: when the sensor recording was made.
•Recorded by the sensor
•Recorded by the Gateway (time of reception)
•Value: the quantitative representation; one of six
possible representations
•Optional descriptions:
•Supplemental information
•Duration of recording (such as a cardio session)
•Status (questionable, invalid, in progress, etc.)
•Related metrics (src-handle-references)
•Thresholds, etc.

The 6 Value Representations:
•Single Number (scalars): weight, temperature,
pulse rate, glucose concentration, etc.- units
•Multiple numbers (vectors): blood pressure
{systolic, diastolic, mean), acceleration (x, y, z
components), etc. - units
•Coded: meal context, test method, health
context, etc.
•State and Event: sensor status, patient’s room
status, etc. State example: door opened or closed Event
example: finger poorly placed
•Waveforms (periodic scalars): ecg trace, pleth
wave, spirometry flow rates, etc. - units
•String: human readable message

PHDs and PoCDs
Personal Health Devices (PHD) Point of Care Devices (PoCD)
Consumer device Not for the average pocketbook
Measurements taken by patient Run by medical professionals
Used in the home or on patient Used in acute care environments
Portability, power consumption,
simplicity important
Accuracy, reliability, mission-
critical operation important
Quantity vs Quality Quality vs Quantity
How different?

Metric Observation
•Type
•Time stamp
•without duration
•with duration
•Value
•Single number
•Multiple numbers
•Coded
•State/Event

•Waveform
•String
•meta.profile (depends on value)
•code
•effective[x]
•effectiveDateTime
•effectivePeriod
•value[x]
•valueQuantity*
•component.code, valueQuantity*
•valueCodeableConcept
•component.code,
valueCodeableConcept
•valueSampledData
•valueString
* dataAbsentReason on NaN, Pinf, Ninf

Result:
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation
•temperature, glucose concentration, weight, height, SpO
2, pulse rate, steps,
calories burned, RR-interval, the vast majority of measurements fall into this
category
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundNumericObservation
•blood pressure, acceleration, AMM feedback – rare except for BP
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCodedEnumerationObservation
•Glucose meal context, glucose health context, insulin delivery context,
medication acting context
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBitsEnumerationObservation
•device sensor status, independent living states
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdStringEnumerationObservation
•exercise program name
•http://hl7.org/fhir/uv/phd/StructureDefinition/PhdRtsaObservation
•ecg trace, spirometry flow traces, sleep apnea breathing rates, other waveforms

The Metric Mapping approach
is likely the single most important
take away -

Generic Mapping:

Very different than having to write a
different decoder for every
measurement type

Devices on FHIR
PHD/PoCD Harmonization
An SpO
2 measurement from a PoCD
should be expressed in FHIR in the same way as
an SpO
2 measurement from a PHD
At the same time we will want to be able
to tell that the measurement came from
a PoCD or a PHD

Result - PoCD:
•http://hl7.org/fhir/uv/pocd/StructureDefinition/NumericObservation
•temperature, SpO
2, pulse rate, RR-interval, the vast majority of measurements
fall into this category
•http://hl7.org/fhir/uv/pocd/StructureDefinition/CompoundNumericObservation
•blood pressure
Note that your code ONLY needs to change the profile to read
measurement Observation resources from PoCDs

Patient
•PHD gives no
patient data
•meta.profile
http://hl7.org/fhir/uv/phd/StructureD
efinition/PhdPatient
•Identifier*
*In the PHD profile, the identifier MUST
uniquely identify the patient

Coincident Time Stamp
It’s a measure of the current time of the PHD at the current time of the PHG
code - Type of PHD time stamp
effectiveDateTime - Current Time of PHG
valueDatetime -
valueQuantity -
dataAbsentReason -
Current Time of PHD
PHG corrects measurement time stamps and provides
local time plus offset to UTC

Metric Special Observation
•Optional descriptions
•status

•Supplemental types

•Related metrics
•Thresholds, etc


•dataAbsentReason
•interpretation
•component.code,
valueCodeableConcept
•derivedFrom
•component.code, value[x]

•Have an IHE or FHIR Patient Care Plan profile that has
patients taking measurements at home
•Want to write a monitoring application for a physician
•Want to write an application that detects certain medical
conditions (pre eclampsia, edema in recovering heart
patients, etc.)
Why would you want PHD Data?