You are on page 1of 89

ISO/IEEE 11073 Personal Health

Devices Tutorial
Douglas P. Bogia
Working Group Chair

on behalf of the
ISO/IEEE 11073 Personal Health
Device Work Group
May 18, 2010
Copyright 2010 by IEEE and Intel

Agenda

Background

History
Personal Health Device Working Group Overview
Environment
Guiding Principles

Base Standard Tutorial (ISO/IEEE Std 11073-20601)


Device Specializations Tutorial (ISO/IEEE 11073104zz)

Demonstration
Summary
Questions (feel free to ask while we go too)

Copyright 2010 by IEEE and Intel

Background: Why was the ISO/IEEE


11073 group selected?

Respected standards body with open participation


Harmonized with ISO for International Standards
Also harmonized with NCCLS/CLSI, HL7, CEN
TC251, ISO TC215, IHE, FDA, and NIST
ISO/IEEE 11073 already formed and active
ISO/IEEE 11073 Charter contains health care devices
Standards structured to be transport portable
Able to support Disease Management, Health and
Fitness, and Independent Living
Low cost for membership and access to standards

Copyright 2010 by IEEE and Intel

Background: IEEE Structure

IEEE Engineering in Medicine and


Biology Society (EMB)

IEEE 11073 (EMB/11073 Elliot Sloane)

IEEE 11073 Clinical/General Committee Work


Group (Todd Cooper)

IEEE 11073 Personal Health Device Work


Group (Doug Bogia)

Copyright 2010 by IEEE and Intel

Many standards under development in this space

See following 2 slides for list of standards

Completed Standards

IEEE Std 11073-10404 Dev specialization Pulse oximeter


IEEE Std 11073-10407 Dev specialization Blood pressure monitor
IEEE Std 11073-10408 Dev specialization Thermometer
IEEE Std 11073-10415 Dev specialization Weighing scale
IEEE Std 11073-10417 Dev specialization Glucose meter
IEEE Std 11073-10420 Dev specialization Body composition
analyzer
IEEE Std 11073-10441 Dev specialization Cardiovascular
IEEE Std 11073-10442 Dev specialization Strength
IEEE Std 11073-10471 Dev specialization Activity hub
IEEE Std 11073-10472 Dev specialization Medication monitor
IEEE Std 11073-20601 Optimized exchange protocol

Copyright 2010 by IEEE and Intel

Projects Underway

Other work being drafted

IEEE P11073-00103 Technical Report Overview


IEEE P11073-10406 Dev specialization Basic ECG
IEEE P11073-10413 Dev specialization Respiration rate
IEEE P11073-10418 Dev specialization INR (blood
coagulation)
IEEE P11073-10419 Dev specialization Insulin pump
IEEE P11073-10421 Dev specialization Peak flow
IEEE P11073-10441 Dev specialization Revision to add
Physical activity monitor (3D accelerometer)

Copyright 2010 by IEEE and Intel

Progress of each standard

Phase 2 standards

Phase 3 standards

Approved and published IEEE stds


Copyright 2010 by IEEE and Intel

Approved international standards

Membership

277 members
153 organizations
Weekly conference calls (for now)
Face to face meetings planned every 2 4
months
International
involvement in
the Work Group
52% North America
29 % Europe
19% Far East

Copyright 2010 by IEEE and Intel

Background: Terminology

Agent
Other terms:
Service
Component
PAN Device
Device
Source
Sensor

Copyright 2010 by IEEE and Intel

Transport
Other terms:
PAN Interface

USB
Bluetooth

Manager
Other terms:
Client
Component
Application
Host Device
Host
Sink
Compute
Engine

Background: Supported Domains

Three domains

Disease Management

Health and Fitness

Agent Examples: Pulse oximeter, Heart rate monitor,


Blood pressure monitor, Thermometer, Weighing scale,
Glucose meter, ECG 1 3 lead, INR, Insulin pump, Body
composition analyzer, Peak flow
Agent Examples: Heart rate monitor, Weighing scale,
Thermometer, Cardiovascular fitness and activity
monitor, Strength fitness equipment, Physical activity
monitor

Independent Living (Aging Independently)

Copyright 2010 by IEEE and Intel

Agent Examples: Disease management devices plus


Independent living activity hub, Medication monitor

10

Background: Example Weight

A person steps on a scale


Measurement is taken
Weight is sent to a Manager for tracking
and trend analysis
If connection fails, weight is queued
until a future time
Same example applies to many other
measurement types: Blood pressure,
glucose, temperature, etc.

Copyright 2010 by IEEE and Intel

11

Background: Example Oxygen


Saturation

A person wears a pulse oximeter


Pulse and oxygen saturation is streamed to
the Manager
Stream packs waveform data as well as other
numeric data such as pulse or SpO2
Alternatively, the data may be stored on the
pulse oximeter (e.g. sleep study) and
transmitted at the end of a session
Same example applies to other measurement
types: fitness equipment, independent living
equipment

Copyright 2010 by IEEE and Intel

12

Background: Device Capabilities

Agents typically have:

Limited capabilities (RAM,


ROM, CPU)
Connection to a single
Manager
Limited power resource
(small battery)
Low cost (consumer device)
Fixed configurations (data
type and format does not
change)
Intermittent connections
(disconnect when inactive)

Copyright 2010 by IEEE and Intel

Managers typically have:

13

Richer capabilities (RAM,


ROM, CPU)
Connections to multiple
Agents
Wall power or larger
batteries

Background: Guiding Principles

Exchange protocol:

Places more burden on Managers than Agents


Supports multiple data types (episodic, streaming,
store and forward)
Designed to be transport portable (Bluetooth,
USB, etc.)
Optimizes data exchange
Enables efficient reconnections
Targets personal health in home and mobile
environments

Copyright 2010 by IEEE and Intel

14

Background: Personal Health Device


Standards Overview
-00103 Technical Report - Overview

OSI

-20601 Optimized Exchange Protocol

Communication Protocols
Serial

Copyright 2010 by IEEE and Intel

IrDA

Bluetooth

15

USB

ZigBee

Layers 1-4

-10404 -10407 -10408 -10415 -10417 -10441 -10442 -10471 Phase II


Pulse
Blood Thermo- Weighing Glucose Cardio Strength Activity

Oximeter Pressure meter


Scale
Data

Layers 5-7

Device Specializations

Agenda

Background

History
Personal Health Device Working Group Overview
Environment
Guiding Principles

Base Standard Tutorial (ISO/IEEE Std 11073-20601)


Device Specializations Tutorial (ISO/IEEE 11073104zz)

Demonstration
Summary
Questions (feel free to ask while we go too)

Copyright 2010 by IEEE and Intel

16

IEEE P11073-20601 Modeling


ASN.1

Domain
Nomenclature
Information Model
Service Model
Communication Model

ASN.1 language used in the abstract modeling of data and


interactions
Domain Information Model (DIM) describes the device and
physiological data
Nomenclature provides binary codes for terminology
Service Model defines interactions with the device and data
Communication Model manages the connection state machine and
communication characteristics

Copyright 2010 by IEEE and Intel

17

ASN.1

ASN.1 Overview

Domain
Nomenclature
Information Model
Service Model
Communication Model

ASN.1 used to describe objects and services


Can auto-generate C structures and
marshalling code for:

Fixed format binary, packed binary, and XML

Quick reference sheet for ASN.1

INTEGER signed/unsigned integers


BIT STRING bit mask
OCTET STRING string or binary array of bytes
SEQUENCE structure
SEQUENCE OF list
CHOICE union
ANY DEFINED BY void *, an identifier followed by data formatted
according to the identifier

Copyright 2010 by IEEE and Intel

18

ASN.1

Nomenclature
Description

Communication Model

Code block in high 16-bits


Term code in low 16-bits (with sub partitions)

Code blocks group similar term codes together

Service Model

Nomenclature defines 32-bit identifiers


Aids in semantic interoperability
Increases portability to different locales
Fully defined in ISO/IEEE Std 11073-10101
-20601 and -104zz standards repeat relevant parts
Each MDC_* identifier has two parts

Domain
Nomenclature
Information Model

Physiological measurements, dimensions, events, body sites

To reduce packet size, term code can be used alone

Code block must be already known (e.g. standardized)


For example, unit codes are always in dimension code block

Copyright 2010 by IEEE and Intel

19

ASN.1

Domain Information
Model (DIM)

Service Model
Communication Model

Object oriented model


No requirement to implement in object
oriented language
Generic set of classes created
Classes define attributes and methods

Domain
Nomenclature
Information Model

Attribute type defined in ASN.1


Objects are tailored using the attributes

Attributes may be:

Mandatory, optional, or conditional


Static or dynamically changing

Copyright 2010 by IEEE and Intel

20

Object Class Attribute Definitions

Each set of object class attributes are defined in


tabular form
Attribute name used when talking about the attribute
Nomenclature for attribute identification
ASN.1 attribute type definition (see -20601 Annex A
for full details)
Description of attribute usage and requirements
Qualifier: Mandatory, Conditional, Optional
IEEE Std 11073-20601 Health
informaticsPersonal health
device communication
Part 20601: Application profile

Optimized Exchange Protocol


Copyright 2008, IEEE. All
rights reserved.

Copyright 2010 by IEEE and Intel

21

DIM Classes
Class PHD-DIM
: MDS

: PM-Store
1

0..*

: Metric

0..*
Scanner Package
+Scanner
+CfgScanner
+EpiCfgScanner
+PeriCfgScanner

0..*

0..*

0..*
: Numeric

: RealTime-SA

: Enumeration

IEEE P11073-20601a Health


informaticsPersonal health
device communication
Part 20601a: Application profile

Optimized Exchange Protocol


Copyright 2010, IEEE. All
rights reserved.

0..*
: PM-Segment

Medical Device System (MDS) represents the


device
Metric models different forms of measurements
Persistent Metric Store (PM) provides mechanism
to store data for a period of time
Scanner groups and optimizes data transmission

Copyright 2010 by IEEE and Intel

22

Medical Device System Class (1 of 2)

Represents device parameters


Single MDS object whether single function or multi-function
Class code = MDC_MOC_VMS_MDS_SIMP
Attributes include:

Handle

M Object identifier

System-Type-Spec-List

C List of device specializations implemented and their


version numbers

System-Type

C Type of device (e.g. NIBP)

System-Model

M Manufacturer & Model

System-Id

M Unique device identifier as an EUI-64

Dev-Configuration-ID

M Configuration being used

Attribute-Value-Map

C Definition of fixed format message

ProductionSpecification

O Software, hardware, firmware version numbers, serial


number, part number

Copyright 2010 by IEEE and Intel

23

Medical Device System Class (2 of 2)


Mds-Time-Info

C Describes time handling capabilities, accuracy, and


resolutions

Date-and-Time

C Absolute date/time to 1/100th second

Relative-Time

C Offset from a relative point in time to 1/8th of a


millisecond

HiRes-Relative-Time

C High resolution time offset

Date-and-TimeAdjustment

C If Date-and-Time is changed (e.g. daylight savings


time), reports amount of change

Power-Status

O Battery or wall powered

Battery-Level

O Percentage of battery capacity remaining

Remaining-BatteryTime

O Estimate of battery time left

Reg-Cert-Data-List

O List of regulatory and/or certification compliance items


followed by the Agent

Confirm-Timeout

O Information about the length of time an Agent will wait


for a response to a Confirmed Event Report

Copyright 2010 by IEEE and Intel

24

Metric Class (1 of 2)

Base class for measurement classes (not instantiated)


Class code = MDC_MOC_VMO_METRIC
Attributes include:

Handle

M Object identifier

Type

M Type of the object (e.g. weight, oxygen saturation, )

Supplemental-Types

O Information beyond Type and Metric-Id

Metric-Spec-Small

M Specs on the object (periodic vs aperiodically


measured and sent, stores data, agent or manager
initiated, manually entered, calculated, or a setting)

Metric-Structure-Small

O Defines whether a simple or compound structure

Measurement-Status

O Validity of data (e.g. invalid, questionable, test, demo)

Metric-Id

C More specific type qualifier

Metric-Id-List

C List of Ids in a Compound metric

Metric-Id-Partition

O Nomenclature partition for Metric-Id & Metric-Id-List

Copyright 2010 by IEEE and Intel

25

Metric Class (2 of 2)
Unit-Code

O Dimension (e.g. lb, kg, %)

Attribute-Value-Map

C Definition of fixed format message

Source-HandleReference

O Relationship to another object

Label-String

O Text representation of Type

Unit-LabelString

C Text representation of Unit Code

Absolute-Time-Stamp

C Date & Time

Relative-Time-Stamp

C Relative time offset

HiRes-Time-Stamp

C High resolution relative time

Measure-Active-Period

O Time duration of measurement

Copyright 2010 by IEEE and Intel

26

Numeric Class

Represents a numerical measurement


Tends to be used in episodic cases
Derives from Metric
Class code = MDC_MOC_VMO_METRIC_NU
Attributes include:

Simple-Nu-Observed-Value

C Observed value in 32-bit FLOAT format

Compound-Simple-Nu-ObservedValue

C Array of Simple-Nu-Observed-Values

Basic-Nu-Observed-Value

C Observed value in 16-bit FLOAT format

Compound-Basic-Nu-ObservedValue

Array of Basic-Nu-Observed-Values

Nu-Observed-Value

C Observed value, measurement state, and unit

Compound-Nu-Observed-Value

C Array of Nu-Observed-Values

Accuracy

C Maximum deviation between observed value


and actual value

Copyright 2010 by IEEE and Intel

27

Real-Time Sample Array Class

Represents a waveform
Tends to be used in streaming cases
Derives from Metric
Class code = MDC_MOC_VMO_METRIC_SA_RT
Attributes include:

Sample-Period

M Time interval between successive samples

Simple-Sa-Observed-Value

M Observed sample array (8, 16, and 32-bit


variants)

Sa-Specification

M Description of number of samples, size,


format, and flags

Scale-and-Range-Specification

M Formula for mapping between samples and


actual values

Copyright 2010 by IEEE and Intel

28

Enumeration Class

Represents status and/or annotation information


May be used in both episodic and streaming cases
Derives from Metric
Class code = MDC_MOC_VMO_METRIC_ENUM
Attributes include:

Enum-Observed-Value-SimpleOID

C Condition reported with a nomenclature code

Enum-Observed-Value-SimpleBit-Str

C Condition reported as a bit string of 32-bits

Enum-Observed-Value-Basic-Str

C Condition reported as a bit string of 16-bits

Enum-Observed-Value-Simple-Str C Condition reported as a ASCII printable string


Enum-Observed-Value

C Condition reported as bit string, oid, or string


along with status and metric-id

Enum-Observed-Value-Partition

O Defines the nomeclature partition for EnumObserved-Value-Simple-OID or EnumObserved-Value

Copyright 2010 by IEEE and Intel

29

PM-Store Class (1 of 2)

Used for storing batches of data for later transmission


May be used in both episodic and streaming cases
Class code = MDC_MOC_VMO_PMSTORE
PM-Segment 1
PM-Segment Attributes
Pm-Segment-Entry-Map

Fix-SegmentData:

PM-Store

Entry
1:
Entry
2:
Entry
3:

SegmentEntryHeader(op
t)
SegmentEntryHeader(op
t)
SegmentEntryHeader(op

Entry
k:

SegmentEntryHeader(op
t)

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

t)

PM-Store
Attributes
PM-Segment 2
PM-Segment Attributes
Pm-Segment-Entry-Map

Fix-SegmentData:

Copyright 2010 by IEEE and Intel

Entry
1:
Entry
2:
Entry
3:

SegmentEntryHeader(op
t)
SegmentEntryHeader(op
t)
SegmentEntryHeader(op

Entry
k:

SegmentEntryHeader(op
t)

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

Element 1 Data

Element 2 Data

Element n Data

t)

30

IEEE Std 11073-20601 Health


informaticsPersonal health
device communication
Part 20601: Application profile

Optimized Exchange Protocol


Copyright 2008, IEEE. All
rights reserved.

PM-Store Class (2 of 2)
Attributes include:

Handle

M Object identifier

PM-Store-Capab

M Describes facilities provided by the PM-Store object

Store-SampleAlgorithm

M Algorithm (e.g. moving average) used on stored data

Store-Capacity-Count

O Maximum number of stored entries

Store-Usage-Count

O Current number of stored entries

Operational-State

M Indicates if store is enabled and adding new entries or


not

PM-Store-Label

O Printable string describing what the store contains

Sample-Period

C Defines frequency at which entries are added

Number-of-Segments

M Number of currently instantiated PM-Segments

Clear-Timeout

M The maximum time for a Clear-Segment action to take


effect

Copyright 2010 by IEEE and Intel

31

PM-Segment Class (1 of 2)

Represents measurement data in a PM-Store


Each segment contains zero or more entries
Class code = MDC_MOC_VMO_PM_SEGMENT
Attributes include:

Instance-number

M Identifier of the instance

PM-Segment-EntryMap

M Describes format and content of the header and


entries

PM-Seg-Person-Id

C Identifier of person associated with the stored data

Operational-State

M Indicates if segment is enabled and adding new


entries or not

Sample-period

C Defines frequency at which entries are added

Copyright 2010 by IEEE and Intel

32

PM-Segment Class (2 of 2)
Segment-Label

O Printable string describing what the segment contains

Segment-Start-AbsTime

O Start date/time for segment

Segment-End-AbsTime

O End date/time for segment

Date-and-TimeAdjustment

C If Date-and-Time is changed (e.g. daylight savings


time), reports amount of change for this segment

Segment-Usage-Count

O Actual number of stored entries

Segment-Statistics

O Array of min/mean/max

Fixed-Segment-Data

M Segment data

Confirm-Timeout

O Information about the length of time an Agent will wait


for a response to a Confirmed Event Report when
transferring segments

Transfer-Timeout

M Information about the length of time a Manager will


wait for complete transfer of a segment

Copyright 2010 by IEEE and Intel

33

Scanner Class

Class of objects that scan / group other


object data
Base class for scanner classes (not
instantiated)
Class code = MDC_MOC_SCAN
Attributes include:

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol
Copyright 2008, IEEE. All rights reserved.

: Scanner

: CfgScanner

: EpiCfgScanner

: PeriCfgScanner

Handle

M Object identifier

Operational-State

M Indicates if scanner is enabled to send data

Scan-Handle-List

C List of objects that might be reported in a Scanner


initiated event report

Scan-Handle-Attr-ValMap

C Definition of fixed format message with multiple


scanned objects

Copyright 2010 by IEEE and Intel

34

CfgScanner Class

Base class for scanner classes (not instantiated)


Derived from Scanner class
Class code = MDC_MOC_SCAN_CFG
Attributes include:

Confirm-Mode

M Defines whether event reports are sent confirmed or


unconfirmed

Confirm-Timeout

C Reports the length of time to wait for confirmation

Transmit-Window

O Reports maximum number of allowable outstanding


event reports. For this version, the value is always 1

Copyright 2010 by IEEE and Intel

35

EpiCfgScanner Class

Scans episodic objects (no fixed period)


Derived from CfgScanner class
Class code = MDC_MOC_SCAN_CFG_EPI
Attributes include:

Min-Reporting-Interval

Copyright 2010 by IEEE and Intel

O Estimated minimum time between two event reports

36

PeriCfgScanner Class

Scans objects using a fixed time interval


Derived from CfgScanner class
Class code = MDC_MOC_SCAN_CFG_PERI
Attributes include:

Reporting-Interval

Copyright 2010 by IEEE and Intel

M Reporting period of the event reports

37

Information Model Extensibility

Additional object attributes can be


borrowed from full DIM
Private nomenclature portions for
proprietary information exist (0xF000
0xFFFF)
Managers must ignore information they
do not understand

Copyright 2010 by IEEE and Intel

38

Configurations

An Agent supports one or more configuration


of objects
A configuration defines:

The objects that are present and their handles


Attributes in the object and their values

Configurations are assigned DevConfiguration-Ids to distinguish which is being


used
Configurations can be memorized by a
Manager avoiding the overhead of
transmission each association

Copyright 2010 by IEEE and Intel

39

Standard and Extended Configurations

There are two types of configuration:

Standard configuration

Extended configuration

All aspects are defined in one of the ISO/IEEE 11073-104zz device


specializations
Well-known Dev-Configuration-Ids are assigned to Standard
Configurations
Known a priori by Agent and Manager so they can pre-code that
configuration
Any Agent with the predefined Dev-Configuration-Id uses the same
configuration
Optimizes configuration phase since configuration normally does not
need to be sent
Agent must still be able to send configuration for cases where Manager
does not know the configuration (e.g. version mismatches)
A vendor defines a configuration
The Manager must not assume that two Agents with the same
extended Dev-Configuration-Id define the same configuration

For either type, adjustments can be made to the configuration


after association

Copyright 2010 by IEEE and Intel

40

Example

Weight : Numeric

Metric

Handle = 1
Type = MDC_MASS_BODY_ACTUAL
Metric-Spec-Small = 0xD040
Attribute-Value-Map
...
Simple-Nu-Observed-Value = 175.0
Unit-Code = MDC_DIM_LB
...

+Handle
+Type
-Metric-Spec-Small
-Attribute-Value-Map
-...

Numeric class is instantiated to


create a weight object
All mandatory attributes are included
(Handle, Type, Metric-Spec-Small)
Meets the conditions in the remarks column
for 2 conditional attributes (Attribute-ValueMap, Simple-Nu-Observed-Value)
Includes one optional attribute (Unit-Code)
NOTE: The weighing scale specialization
makes this mandatory, but -20601 does not
No other attributes are included

Numeric

+Simple-Nu-Observed-Value
+Unit-Code
-...

Copyright 2010 by IEEE and Intel

41

ASN.1

Service Model

Service Model

Format described in ASN.1


Available services

Config, Data Update

Object Access Service

Communication Model

Event Reporting Service

Domain
Nomenclature
Information Model

Get, Set, Actions (Methods)

Association Service

Copyright 2010 by IEEE and Intel

Assoc request/response, release


request/response, abort

42

Event Reporting Service (1 of 2)

Configuration Event Report

Describes a particular configuration


Describes all Agent objects
Transmits infrequently changing attributes
Optionally describes fixed and grouped
message formats
Manager accepts / rejects based on ability
to support

Copyright 2010 by IEEE and Intel

43

Event Reporting Service (2 of 2)

Data Update Event Reports

Formats

Support for

Single person reporting


Multi-person reporting

Transmission types

Variable sends type, length, data


Fixed send the type and length at configuration time
Scanner (Grouped) further optimization to remove
transmission of handles

Confirmed
Unconfirmed

PM-Segment Data Event Report

Used when transferring PM-Segments to Manager

Copyright 2010 by IEEE and Intel

44

Data Update Event Report Differences


Comparision between different reporting formats

Value_2_1

Variable
format is most
flexible
Fixed
optimizes per
object
Grouped
optimizes
across objects

Value_n_1

Value_n_1

IEEE Std 11073-20601 Health informatics


Personal health device communication
Part 20601: Application profile
Optimized Exchange Protocol
Copyright 2008, IEEE. All rights reserved.

Value_n_2

Value_n_2
45

Obj-handle x

2 bytes (Using MDER)

Attribute ID x_y
Length x_y

4 bytes (Using MDER)

Variable Format

Fixed Format

Grouped Format

Obj-handle 1

Obj-handle 1

Scanner Handle

Attribute ID 1_1
Length 1_1
Value_1_1

Value_1_1

Value_1_1

Value_1_2

Value_1_2

Attribute ID 1_2
Length 1_2
Value_1_2

Attribute ID 1_3
Length 1_3
Value_1_3

Obj-handle 2

Value_1_3

Value_1_3

Obj-handle 2

Attribute ID 2_1
Length 2_1
Value_2_1

Obj-handle n

Value_2_1

Obj-handle n

Attribute ID n_1
Length n_1
Value_n_1

Attribute ID n_2
Length n_2
Copyright 2010
by IEEE and Intel
Value_n_2

Object Access Service (1 of 2)

Currently defined Gets and Sets

Get

Types

Objects

Get all attributes (Mandatory)


Get list of attributes
MDS Object
PM-Store

Set

Copyright 2010 by IEEE and Intel

Scanner Operational State

46

Object Access Service (2 of 2)

Currently defined Actions (Methods):

MDS Object:

MDS-Data-Request (optional):

Set-Time (optional)

Poll for data


Enable data transmission timed
Enable data transmission untimed
Query for all attributes, list of attributes, or by class
Set time and date on Agent

PM-Store:

Copyright 2010 by IEEE and Intel

Clear-Segments Remove data from segment


Get-Segment-Info Retrieve information about segment
Trig-Segment-Data-Xfer Transfer contents of segment

47

Association Service

Association Request (aarq)

Association Response (aare)

Agent or Manager drop the association (session)

Release Response (rlre)

Manager responds

Release Request (rlrq)

Agent initiates an association with the Manager

Peers Response

Abort (abrt)

Agent or Manager abort the association (usually a


fault condition)

Copyright 2010 by IEEE and Intel

48

ASN.1

Domain
Nomenclature
Information Model

Communication
Model
Communication model describes:

Service Model
Communication Model

Communication characteristics
Connection state machine
Legal interactions in each state

Conversion Service

Copyright 2010 by IEEE and Intel

Fixed format binary, packed binary, XML

49

Common Communication
Characteristics

Connections are point to point


Generally, an Agent works with a single Manager. A
Manager may work with multiple Agents
Application Protocol Data Unit (APDU) must be
processed atomically
APDUs may be segmented and reassembled
Maximum APDU (unless device specialization
reduces further)

63K to Manager, 8K to Agent

Allows for two types of communication:

Reliable
Best effort / flushable

Copyright 2010 by IEEE and Intel

50

Reliable Communication
Characteristics
APDUs shall be delivered in order, free
of detectable errors, not duplicated, and
not missing
APDUs may be delayed due to retries
Comm layer shall indicate connection
started and should report disconnects
Comm layer shall indicate failure to
send APDU
Flow control shall be supported for full
APDU

Copyright 2010 by IEEE and Intel

51

Best Effort Communication


Characteristics
APDUs may be delayed, misordered, or
duplicated
APDUs shall have application level
sequencing numbering
APDUs may arrive at a rate that causes
buffer exhaustion

Copyright 2010 by IEEE and Intel

52

R
x

R
O

R
(

Connection
State Machine:
Disconnected
Agent starts off
disconnected
When
transport
indicates a
connection, it
moves to
Connected

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

53

R
x

R
O

R
(

Unassociated
Once
connected, the
Agent
determines
when to create
an association
and moves to
Associating
State

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

54

Associating
T

q
O

R
T

R
O

R
(

The Agent sends


the Association
Request command
Contains DevConfiguration-ID
Manager
determines whether
it knows the config
(accepted), needs
the configuration
(acceptedunknown-config),
rejects, or aborts

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

55

Configuring
T

R
x

R
O

R
(

q
O

If Manager needs
config, the Agent
sends it
Manager
determines
whether it can
use it. Sends
accepted-config
or unsupportedconfig
Agent repeats
sending configs
until one is
accepted or no
more remain

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

56

Operating
T

All Data Event


Reporting occurs during
this state

q
O

R
T

All Access services are


available

R
O

R
(

Agent initiated
Mgr initiated data
transfer
Variable, fixed,
grouped
PM segments

Get MDS (any time


when associated) or
PM-Store
Set Scanner
Mgr poll for data
Mgr initiated timed
Mgr initiated untimed
Set-Time
PM-Store Actions

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

57

Disassociating
T

R
x

R
O

R
(

q
O

When the Agent


wishes to release
the association it
moves to
Disassociating
The Association
Release is sent
When
acknowledged,
moves to
Unassociated

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

58

Example - Weight

Weight : Numeric

Metric

Handle = 1
Type = MDC_MASS_BODY_ACTUAL
Metric-Spec-Small = 0xD040
Attribute-Value-Map
...
Simple-Nu-Observed-Value = 175.0
Unit-Code = MDC_DIM_LB
...

+Handle
+Type
-Metric-Spec-Small
-Attribute-Value-Map
-...

Numeric
Weighing scale associates with Manager
+Simple-Nu-Observed-Value
+Unit-Code
First time, Manager needs config (an
-...
optimization will be shown later)
Agent sends object class, Handle, Type, Metric-SpecSmall, Attribute-Value-Map, and Unit-Code in
Configuration Event Report
Whenever the weight (Simple-Nu-Observed-Value)
changes, just the new weight value is communicated
in a Data Update Event Report
During next association Agent does not have to send
configuration if Manager remembers it

Copyright 2010 by IEEE and Intel

59

Example Pulse Ox

Agent associates
First time, Manager needs config
Agent sends:

Objects for Pulse, Oxygen Saturation, Waveform, Scanner,


and PM-Store
Static attributes in all the objects

If stream is started, the Scanner packs the waveform,


pulse, and Oxygen Saturation in a Data Update Event
report
If a sleep study was captured, the PM-Store is
transferred when queried by the Manager
During next association Agent does not have to send
configuration if Manager remembers it

Copyright 2010 by IEEE and Intel

60

Example Message Creation (Data


Event Report)
All messages start with ApduType
ApduType ::= CHOICE {
aarq [57856] AarqApdu,
aare [58112] AareApdu,
rlrq
[58368] RlrqApdu,
rlre
[58624] RlreApdu,
abrt [58880] AbrtApdu,
prst
[59136] PrstApdu
}
PrstApdu ::=
OCTET STRING

PrstAdpu contains encoded DataApdu


DataApdu ::= SEQUENCE {
invoke-id
InvokeIDType,
message
CHOICE {
roiv-cmip-event-report
[256]
EventReportArgumentSimple,
roiv-cmip-confirmed-event-report
[257]
EventReportArgumentSimple,
roiv-cmip-get
[259]
GetArgumentSimple,
-- Additional structure omitted
}
}

EventReportArgumentSimple ::= SEQUENCE {


obj-handle HANDLE,
event-time RelativeTime,
event-type OID-Type,
event-info ANY DEFINED BY event-type
}

Event-type =
MDC_NOTI_SCAN_REPORT_FIXED so
event-info is ScanReportInfoFixed
ScanReportInfoFixed ::= SEQUENCE {
data-req-id
DataReqId,
scan-report-no
INT-U16,
obs-scan-fixed
SEQUENCE OF
ObservationScanFixed
}
ObservationScanFixed ::= SEQUENCE {
obj-handle
HANDLE,
obs-val-data
OCTET STRING
}

Obs-val-data holds the data in the format that


was defined in Attribute-Value-Map at
configuration time

IEEE Std 11073-20601 Health informaticsPersonal health device communication


Part 20601: Application profileOptimized Exchange Protocol. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

61

Conversion Service

Utilize Encoding Rules facility from


ASN.1

Medical Device Encoding Rules (MDER)

Converts to a fixed format layout


Produces a format for simple Agents using
templates
Transmission uses network byte order (big
endian)

Packed Encoding Rules (PER)


XML Encoding Rules (XER)

Copyright 2010 by IEEE and Intel

62

Agenda

Background

History
Personal Health Device Working Group Overview
Environment
Guiding Principles

Base Standard Tutorial (ISO/IEEE Std 11073-20601)


Device Specializations Tutorial (IEEE 11073-104zz)
Demonstration
Summary
Questions (feel free to ask while we go too)

Copyright 2010 by IEEE and Intel

63

Specialization Overview

Device specializations describe


particular usages of -20601
Narrows definitions to constructs
required for type of device
Increases likelihood of interoperability
by defining specific objects, attributes,
nomenclature ids, and services

Copyright 2010 by IEEE and Intel

64

ISO/IEEE Std 11073-10404 Pulse Oximeter


SpO2 : Numeric

Pulse : Numeric

1..*

1..*

Device/Sensor Annunciation : Enumeration

1
MDS Object : MDS

1
1

0..1

Physiological Threshold Flags : Enumeratio

1
1

Pulse Amplitude : Numeric

0..*

1
0..*

1
1 1

0..*
0..*

Physiological Threshold Limits : Enumeration

Collection : PM-Store
0..1
Plethysmogram : RT-SA

0..*
0..*

Streaming : PeriCfgScanner

0..*

Pulse Character : Enumeration

1
0..*
Session : PM-Segment

Pulse Event : Enumeration

IEEE Std 11073-10404 Health informaticsPersonal health device communication


Device specializationPulse oximeter. Copyright 2008, IEEE. All rights reserved.

Measures blood oxygen saturation and pulse


Standard completed
Support for episodic, streaming, and off-line modes
Standard Config for episodic mode
Uses nomenclature from -10101 and adds new
nomenclature to support a range of pulse oximeter
types

Copyright 2010 by IEEE and Intel

65

ISO/IEEE P11073-10406 Basic ECG (1 to 3lead)

IEEE P11073-10406 Health informaticsPersonal health device


communication Device specializationBasic ECG (1 to 3-lead
ECG). Copyright 2010, IEEE. All rights reserved.

Copyright 2010 by IEEE and Intel

Measures 1 to 3-lead
electrocardiogram
In drafting stage, subject to
change.
Some data items being
proposed include: ECG
resolution, sampling
interval, sample size,
baseline, time, signal
length, heart rate

66

ISO/IEEE Std 11073-10407 Blood Pressure Monitor


MDS Object : MDS
1
1

0..1

Pulse : Numeric

1
Diastolic,Systolic,MAP : Compound Numeric

IEEE Std 11073-10407 Health informaticsPersonal health device communication


Device specializationBlood pressure monitor. Copyright 2008, IEEE. All rights reserved.

Measures blood pressure and optionally pulse


Standard completed
Support for episodic mode
Standard Config defined
Uses Compound Numeric to collect multiple
values together
Uses nomenclature from -10101

Copyright 2010 by IEEE and Intel

67

ISO/IEEE Std 11073-10408 Thermometer


Thermometer : MDS

1
1..*
Body Temperature : Numeric

IEEE Std 11073-10408 Health informaticsPersonal health device communication


Device specializationThermometer. Copyright 2008, IEEE. All rights reserved.

Measures body temperature


Standard completed
Support for episodic mode
Standard Config defined
Uses nomenclature from -10101 and
adds two new codes (armpit & GI Tract)

Copyright 2010 by IEEE and Intel

68

IEEE P11073-10413 Respiration rate

Measures respiration rate


In drafting stage, subject to change.
Brand new work
Initial model anticipated around June
2010

Copyright 2010 by IEEE and Intel

69

ISO/IEEE Std 11073-10415 Weighing Scale


1

Weighing Scale : MDS

1
Body Weight : Numeric

1
1
0..1

0..1
Body Mass Index : Numeric

Body Height : Numeric

IEEE Std 11073-10415 Health informaticsPersonal health device communication


Device specializationWeighing scale. Copyright 2008, IEEE. All rights reserved.

Measures weight and optionally BMI


Standard completed
Support for episodic mode
Standard Config defined
Uses nomenclature from -10101 and
adds a new term for BMI

Copyright 2010 by IEEE and Intel

70

ISO/IEEE Std 11073-10417 Glucose Meter


PHD-Glucose meter object instances

Glucose : Numeric

Glucose Meter : MDS

Observations : PM-Store
1

0..1

1
ContextExercise : Numeric

0..1

0..1

ContextDiet : Numeric

0..1

ContextMedication : Numeric

0..1

0..1

ContextHbA1C : Numeric

0..1

0..1

0..1

0..1

ContextHealth : Enumeration

EventDeviceErr : Enumeration

ContextMeal : Enumeration

ContextSampleLocation

: Enumeration

ContextTester : Enumeration

IEEE Std 11073-10417 Health informaticsPersonal health device communication


Device specializationGlucose meter. Copyright 2009, IEEE. All rights reserved.

Measures blood glucose


Standard completed
Two use cases: home use and carrying to a doctors office
Support for episodic mode
Standard Config defined
Uses nomenclature from -10101 and adds new terms for Glucose

Copyright 2010 by IEEE and Intel

71

ISO/IEEE P11073-10418 INR


O b je c t PH D - I N R o b jec t ins ta nce s

MDS

I NR

Numeric
P rothrom bin time

Qu ic k va lu e

I NR

Batch c od e

I SI

Numeric

Numeric

Numeric

Numeric

0 ..1
0 ..1

Schedule
Cu rren t medication sc hed ule

0 ..1

Numeric
C urren t medicatio n level

0. .1

Schedule
New medicatio n sc hed ule

1.. 1

1.. 1
0. .1

Numeric
New me dic atio n level

0. .1

Numeric

1 ..1
0 ..1

Ad ditiona l in formatio n
Enumeration
D evic e alarm

0.. 1

Review period
Enumeration
M easu rement s tat us

0 ..1

1.. 1

Numeric
T arget therapeu tic rang e

1.. 1

Measures blood
coagulation ability
In the balloting
stage, subject to
change
INR =
International
normalized ratio
Project approved
Early model
shown

IEEE P11073-10418 Health informaticsPersonal health device communication


Device specializationInternational Normalized Ratio (INR) Monitor. Copyright 2010, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

72

ISO/IEEE P11073-10419 Insulin pump


o

1
1

IEEE P11073-10419 Health informaticsPersonal health device communication


Device specializationInsulin pump. Copyright 2010, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

73

Measures
basal and
bolus insulin
delivery
In the balloting
stage, subject
to change

ISO/IEEE Std 11073-10420 Body composition


analyzer
Class PHD-Body Composition Analyzer object instances

MDSMDS
Weighing
Scale analyzer
Body
composition

1
Body fat

0..1

Numeric
Fat Free Mass

0..1

Numeric
Soft Lean Mass

Numeric
1

Numeric
Body height
1

0..1

Numeric
Body Water

0..1

Numeric
Body mass index

Numeric
Body weight
1

Measures key items


of body makeup
using bioelectrical
impedance analysis
Standard completed
Shares weight,
height, BMI from
11073-10415

IEEE P11073-10420 Health informaticsPersonal health device communication


Device specializationBody composition analyzer. Copyright 2010, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

74

ISO/IEEE P11073-10421 Peak flow

IEEE P11073-10421 Health informaticsPersonal health device communication


Device specializationPeak expiratory flow monitor (peak flow). Copyright 2010, IEEE. All rights reserved.

In the balloting stage, subject to change


PEF = peak expiratory flow
FEVx = forced expiratory volume in x
seconds

Copyright 2010 by IEEE and Intel

75

ISO/IEEE Std 11073-10441 Cardiovascular Fitness and Activity Monitor


MDS

Heart Rate

Speed
*

Altitude Gain

Slopes

Altitude Loss

Activity Time

Intensity

Distance

Sub-Session

Resistance

Session

Incline

Stride Length

Power

Height

Weight

Breathing Rate

User Max Heart Rate


*

Energy Expended

Carbohydrate Calories Ingested

Program Identifier

Calories Ingested

Sustained Phys Activity Threshold

Ascent Time and Distance

Altitude

Age

Cadence

Descent Time and Distance

IEEE Std 11073-10441 Health informaticsPersonal health device communication


Device specializationCardiovascular fitness and activity monitor. Copyright 2008, IEEE. All rights reserved.

General model for many types of cardio devices


Standard completed
Support for episodic mode
No standard configurations
Uses nomenclature from -10101 and adds new code block and
term codes

Copyright 2010 by IEEE and Intel

76

ISO/IEEE P11073-10441 (Cardio) Revision


Adding physical activity monitor

[b1]

IEEE P11073-10443 Health informaticsPersonal health device communication


Device specializationPhysical Activity Monitor. Copyright 2010, IEEE. All rights reserved.

Copyright 2010 by IEEE and Intel

77

Measures physical
activity (e.g. 3D
accelerometer) and
reports in near realtime
In drafting stage,
subject to change
RMS = root mean
squared
ZCM = zero crossing
mode
PIM = proportional
integral mode
TAT = time above
threshold

ISO/IEEE Std 11073-10442 Strength Fitness Equipment


1
MDS

1
1
1

0..*
Resistance

0..*
Exercise Modifier

0..*

0..*
Set

Repetition Count

0..*
Repetition

IEEE Std 11073-10442 Health informaticsPersonal health device communication


Device specializationStrength fitness equipment. Copyright 2008, IEEE. All rights reserved.

General model for many types of strength building equipment


Standard completed
Support for episodic mode
No standard configurations
Uses nomenclature from -10101 and adds new code block and
term codes

Copyright 2010 by IEEE and Intel

78

ISO/IEEE Std 11073-10471 Independent Living Activity Hub


MDS
Independent Living Activity Hub

1
Enumeration
Fall Sensor

0..*

0..*

Enumeration
Smoke Sensor

Enumeration
Motion Sensor

0..*

0..*

Enumeration
Property Exit Sensor

Enumeration
Enuresis Sensor

0..*

0..*

Enumeration
Temperature Sensor

Enumeration
Contact Closure Sensor

0..*

0..*

Enumeration
Usage Sensor

Enumeration
Switch Use Sensor

0..*

0..*

Enumeration
PERS Sensor

Enumeration
Medication Dosage

0..*

0..*

0..*

0..*

Enumeration
Water Sensor

Enumeration
CO Sensor

Enumeration
Gas Sensor

General model for


different home sensor
devices
Standard completed
Support for episodic
mode
No standard
configurations
Uses nomenclature
from -10101 and adds
new code block and
term codes

IEEE Std 11073-10471 Health informaticsPersonal health device communication


Device specializationIndependent living activity hub. Copyright 2008, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

79

ISO/IEEE Std 11073-10472 Medication


monitor

Measures
dispensing of
medication(s)
Standard
completed
Current model
shown

IEEE Std 11073-10472 Health informaticsPersonal health device communication


Device specializationMedication monitor. Copyright 2009, IEEE. All rights reserved.
Copyright 2010 by IEEE and Intel

80

Agenda

Background

History
Personal Health Device Working Group Overview
Environment
Guiding Principles

Base Standard Tutorial (IEEE 11073-20601)


Device Specializations Tutorial (IEEE 11073-104zz)
Demonstration
Summary
Questions (feel free to ask while we go too)

Copyright 2010 by IEEE and Intel

81

Tooling Support for IEEE 11073

National Institute of Standards and


Technologies (NIST) has support for
PHD in their test tools
Frontline Test Equipment has IEEE
11073 PHD support with three modes
(see next slides)
Continua has reference code available
for members

Copyright 2010 by IEEE and Intel

82

www.fte.com

Frontline IEEE 11073-CESL Analyzer


FREE! IEEE 11073-20601 Analyzer available for Continua Alliance
developers using CESL Platform.

Frontline Bluetooth Protocol Analyzer (FTS4BT) now supports


IEEE 11073-20601 over
Frontline USB Analyzer now supports IEEE11073-20601 over
Available at www.fte.com/Products

www.fte.com

Faster Time to Market

for Continua Alliance developers.

FREE PC Based Protocol analyzer for Continua Alliance


CESL Platform users.
No additional hardware cost. FREE.
Complete decoding of the IEEE11073-20601 run over CESL Platform
Interoperability issues solved with Protocol analyzer.
Helps Debug, Test and Verify your device code
www.fte.com/products

www.fte.com

Continua Alliance CESL Platform users.


Debug, Test and Verify (PC based analyzer, No hardware interface required).

CESL Program Modules

PC based analyzer, No hardware interface required

Free IEEE 11073-20601 Protocol Analyzer


for Continua Alliance CESL Platform users
www.fte.com/products

Summary

Optimized exchange protocol:

Places more burden on Managers than Agents. Agent is in


charge, Manager adapts
Supports multiple data types (episodic, streaming, store and
forward)
Designed to be transport portable (Bluetooth, USB, etc.)
Optimizes data exchange (data transmission sizes, run-time
construction, and parsing overhead)
Enables efficient reconnections (Agent not always
connected, configuration transferred a single time)
Targets personal health in home and mobile environments
Leverages traditional Domain Information Model to enable
leveraging other IEEE 11073 specifications

Device specializations:

Narrows a broad framework to a specific application


Enable interoperability for each device type

Copyright 2010 by IEEE and Intel

86

Questions and Answers

Join Information:

No cost to join the work group and


participate in development activities
To participate in final ballot, the costs are <
$250 USD per individual per year for an
IEEE and IEEE Standards Association
membership
To join the work group, contact:
phd-chair@ieee.org

Copyright 2010 by IEEE and Intel

87

Backup

Copyright 2010 by IEEE and Intel

Example of PM-Segment Offsets

PresentationMode Done
Time
Passage

Adjustment
to
[0] -60 0
current
min
clock

X XX

15
min

Segment 1

Oct 9, 07 16:00 175


Oct 10, 07 16:10 176

Nov 1, 07 15:50 174


Nov 2, 07 16:00 176
Nov 3, 07 16:30 175

[0] 60
X
X 75

[0] 15
min

[0]

Segment 2

Segment 3

Segment 4

min min

Nov 4, 07 15:50 176


Nov 5, 07 16:00 177
Nov 6, 07 16:30 176

Mar 4, 08 16:00 179

Mar 5, 08 16:00 178

Mar 3, 08 16:00 180

Time changed back


Time changed forward Time changed forward
1 hour due to Daylight 1 hour due to Daylight 15 minutes due to user
Savings Time
Savings Time
desires
Copyright 2010 by IEEE and Intel

89

You might also like