Bluetooth Personal Health Devices Transcoding User Manual

Bluetooth® White Paper
Personal Health Devices Transcoding
Revision v16
Group Prepared By Medical Devices Working Group
Feedback Email med-main@bluetooth.org
Abstract:
This document describes the task of implementing a transcoder from GATT-based specifications designed for Bluetooth devices to a format compatible with IEEE 11073-20601. It provides recommendations and examples describing how a transcoding process can be done. This document is not a Bluetooth Specification as defined in the Bluetooth Patent/Copyright License Agreement between Bluetooth SIG, Inc. and its members.
Bluetooth SIG Proprietary
Personal Health Devices Transcoding
Revision Number
Date
Comments
Bluetooth White Paper
Revision History
V10r00 10 May 2011 Approved by the Bluetooth SIG Board of Directors. V11r00 25 October 2011 Incorporated Heart Rate transcoding section 3.2.
Incorporated fixes and clarifications throughout document based on feedback. Approved by the Bluetooth SIG Board of Directors.
V12r00 15 November
2011
V13r00 31 May 2012 Added Glucose Meter transcoding section 3.4.
V14r00 30 Apr 2013 Added section 3.2.2.3: transcoding of Energy
V15r00 21 October 2014 Added Section 3.5 related to the Weight Scale
v16
Added Blood Pressure transcoding section 3.3. Minor editorial and formatting fixes in other sections. Incorporated fixes and clarifications based on feedback. Approved by the Blueto oth SIG Board of Directors.
Changed Thermometer transcoding section 3.1.2. Added Metric-Id to identify thermometer location. Changed section 2.2.4, item Date-and-Time. Incorporated fixes and clarifications based on feedback.
Expended for Heart Rate. Incorporated fixes and clarifications based on feedback from Lamprey Networks and others. Incorporated feedback from BARB. Approved by the Bluetooth SIG Board of Directors.
specification with the Body Com pos ition opt ion . Generalized text to enable use with GATT-based devices using the BR/EDR transport and not just those using the Bluetooth low energy transport. Added text related to Base-Offset-Time characteristic. Phased out recommendations related to the use of the Date Time characteristic in favor of the use of Current Time Service v1.1. Incorporated several fixes and clarifications throughout based on feedback from Continua.
Approved by the Bluetooth SIG Board of Directors.
Bluetooth SIG Proprietary Page 2 of 101
V16r00_draft 14 April 2015 –
9/2/2015
v16 28 October 2015 BARB Approval
Added Section 3.6 related to the Continuous Glucose Monitoring specification. Added Section 3.7 related to the Pulse Oximeter specification.
Drafts: (will be removed at final) 1 – initial draft 2 – incorporated feedback form MED WG 3-8 – incorporated feedback from BARB and TEs
Contributors
Name
Company
Raúl González Gómez AT4 wireless Robert D. Hughes Intel Corporation Doug Bogia Intel Corporation Krishna Shingala MindTree Laurie Kermes Nonin Medical Mateus Lima Signove Raul Herbster Signove Elvis Pfützenreuter Signove Len Ott Socket Mobile John R. Barr Motorola Mobility, Inc. Guillaume Schatz Polar
Personal Health Devices Transcoding
Bluetooth White Paper
Raymond Strickland Roche Brian Reinhold Lamprey Networks Malcolm Clarke Brunel University Nathaniel Hamming University Health Network Melanie Yeung University Health Network
v16
Wolfgang Heck Roche Jordan Hartmann Nonin Medical
Bluetooth SIG Proprietary Page 3 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
DISCLAIMER AND COPYRIGHT NOTICE
THIS DOCUMENT IS PROVIDED “AS IS” AND BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES MAKE NO REPRESENTATIONS OR WARRANTIES AND DISCLAIM A LL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, TITLE, NONI NFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR THAT THE CONTENT OF THIS DOCUMENT IS FREE OF ERRORS.
TO MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES DISCLAIM ALL LIABILITY ARISING OUT OF OR RELATI NG TO USE OF THIS DOCUMENT AND ANY INFORMATION CONTAINED IN THIS DOCUMENT, INCLUDING WITHOUT LIMITATI O N, LO ST REV ENUE, PROFITS, DATA OR PROGRAMS, OR BUSINESS INTERRUPTION, OR FOR SPECIAL, INDI RECT, CONSE Q UENT IA L, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, AND EVEN IF BLUETOOTH SIG, ITS MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF THE DAMAGES.
This document is proprietary to Bluetooth SIG. This document may contain or cover subject matter that is intellectual property of Bluetooth SIG and its members. The furnishing of this document does not grant any license to any intellectual property of Bluetooth SIG or its members. This document is subject to change without notice.
Copyright © 2011 - 2015 by Bluetooth SIG, Inc. The Bluetooth word mark and logos are owned by Bluetooth SIG, Inc. Other third-party brands and names are the property of their respective owners.
v16
Bluetooth SIG Proprietary Page 4 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
Contents
Overview ............................................................................................................................................... 8
1
2 General Data Requirements .............................................................................................................. 11
2.1 Common MDS Class Requirements ............................................................................................. 11
2.2 TRANSCODING BLUETOOTH CHARACTERISTICS TO 11073-20601 ATTRIBUTES ............. 14
2.2.1 32-BIT FLOATING POINT DATA TYPE (FLOAT-TYPE) ........................................................ 14
2.2.2 16-BIT FLOATING POINT DATA TYPE (SFLOAT-TYPE) ..................................................... 15
2.2.3 STRING CONVERSION .......................................................................................................... 15
2.2.4 MDS ATTRIBUTE CONVERSION .......................................................................................... 16
2.2.5 IEEE 11073-20601 REGULATORY CERTIFICATION DATA LIST ........................................ 17
2.2.6 TRANSCODING TIME STAMPS AND CURRENT TIME TO IEEE 11073-20601
ABSOLUTETIME ................................................................................................................................. 20
2.3 ATTRIBUTE-VALUE-MAP ............................................................................................................ 21
2.4 PM STORES, SCANNE R S, AND PM S EG ME N TS ..................................................................... 21
3 Device Specific Data Requirements ................................................................................................. 22
3.1 HEALTH THERMOMETER .......................................................................................................... 22
3.1.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS ............................................................. 22
3.1.2 11073-10408 NUMER IC CLASS REQUIREM EN T S .............................................................. 23
3.2 HEART RATE SENSOR ............................................................................................................... 24
3.2.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS ............................................................. 25
v16
3.2.2 11073-10406 AND 11073-10441 NUMERIC CLASS REQUIREMENTS................................ 25
3.2.2.1 HEART RATE MEASUREMENT ................................................................................. 26
3.2.2.2 RR-INTERVAL ............................................................................................................. 26
3.2.2.3 ENERGY EXPENDED ................................................................................................. 27
3.3 BLOOD PRESSURE MONITOR .................................................................................................. 28
3.3.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS ............................................................. 28
3.3.2 11073-10407 NUMER IC CLASS REQUIREM EN T S .............................................................. 28
3.3.2.1 SYSTOLIC/DIASTOLIC/MAP COMPOUND NUMERIC OBJECT (BLOOD
PRESSURE) .................................................................................................................................... 29
3.3.2.2 Pulse Rate .................................................................................................................... 30
3.3.2.3 USER ID ....................................................................................................................... 31
3.3.2.4 MEASUREMENT STATUS .......................................................................................... 31
3.3.2.5 Blood Pressure feature ................................................................................................ 32
3.4 Glucose Meter .............................................................................................................................. 32
3.4.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS ............................................................. 32
3.4.2 11073-10417 Numeric CLASS Req uirements ......................................................................... 33
3.4.2.1 Derivation of absolute time stamp ................................................................................ 33
3.4.2.2 Blood Glucose Objects ................................................................................................. 33
Bluetooth SIG Proprietary Page 5 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
3.4.2.3 HEMOGLOBIN BOUND TO GLUCOSE A1C FORM .................................................. 36
3.4.2.4 CONTEXT EXERCISE ................................................................................................. 36
3.4.2.5 CONTEXT MEDICATION ............................................................................................ 37
3.4.2.6 CONTEXT CARBOHYDRATES................................................................................... 39
3.4.3 Enumeration Objects ............................................................................................................... 40
3.4.3.1 Device and sensor annunciation .................................................................................. 40
3.4.3.2 Context meal ................................................................................................................ 42
3.4.3.3 Context sample location ............................................................................................... 43
3.4.3.4 Context tester ............................................................................................................... 44
3.4.3.5 Context health .............................................................................................................. 44
3.5 Weight Scale ................................................................................................................................. 45
3.5.1 Device-Specific MDS class Requirements .............................................................................. 46
3.5.2 Weight Scale feature ............................................................................................................... 46
3.5.3 Body Composition feature ....................................................................................................... 47
3.5.4 11073-10415 Numeric CLASS Req uirements ......................................................................... 49
3.5.4.1 Weight .......................................................................................................................... 49
3.5.4.2 Height ........................................................................................................................... 50
3.5.4.3 Body Mass Index (BMI) ................................................................................................ 52
3.5.4.4 User ID ......................................................................................................................... 53
3.5.5 11073-10420 Numeric CLASS Req uirements ......................................................................... 53
3.5.5.1 Body Fat Percentage ................................................................................................... 54
v16
3.5.5.2 Fat Free Mass .............................................................................................................. 55
3.5.5.3 Soft Lean Mass ............................................................................................................ 56
3.5.5.4 Body Water Mass ......................................................................................................... 58
3.5.5.5 WEIGHT ....................................................................................................................... 59
3.5.5.6 HEIGHT ........................................................................................................................ 59
3.5.5.7 Impedance.................................................................................................................... 59
3.5.5.8 Basal Metabolism ......................................................................................................... 60
3.5.5.9 Muscle Percentage ...................................................................................................... 62
3.5.5.10 Muscle Mass ................................................................................................................ 63
3.5.5.11 User ID ......................................................................................................................... 64
3.5.5.12 Multiple Packet Measurement flag ............................................................................... 64
3.6 Continuous Glucose Monitoring ................................................................................................... 65
3.6.1 Device-Specific MDS class Requirements .............................................................................. 65
3.6.2 11073-10425 Numeric CLASS Req uirements ......................................................................... 66
3.6.2.1 Derivation of Base-Offset time stamp .......................................................................... 66
3.6.2.2 Glucose Numeric Object .............................................................................................. 66
3.6.2.3 Sensor Calibration Numeric Object .............................................................................. 69
3.6.2.4 Sensor Run-time Numeric Object ................................................................................ 71
Bluetooth SIG Proprietary Page 6 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
3.6.2.5 Glucose Sampling Interval Numeric Object ................................................................. 72
3.6.2.6 Glucose trend Numeric Object ..................................................................................... 73
3.6.2.7 Patient low/high thresholds Compound Numeric Object ............................................. 75
3.6.2.8 Device hypo/hyper Thresholds Compound Numeric Object ........................................ 76
3.6.2.9 Glucose rate of change thresholds Compound Numeric Object.................................. 78
3.6.3 Enumeration Objects ............................................................................................................... 79
3.6.3.1 PHD DM Status Enumeration Object ........................................................................... 79
3.6.3.2 CGM Status Enumeration Obj ec t ................................................................................. 81
3.7 Pulse Oximeter ............................................................................................................................. 83
3.7.1 Device Specific MDS class Requirements .............................................................................. 84
3.7.2 11073-10404 Numeric CLASS Req uirements ......................................................................... 84
3.7.2.1 SpO2 ............................................................................................................................ 84
3.7.2.2 Pulse Rate .................................................................................................................... 87
3.7.2.3 Pulsatile Quality (Pulse Amplitude Index) .................................................................... 89
3.7.3 Enumeration Objects ............................................................................................................... 91
3.7.3.1 Device and Sensor Status............................................................................................ 91
4 End-To-End Example ......................................................................................................................... 93
4.1 Health Thermometer Data ............................................................................................................ 93
Health Thermometer Service Data .......................................................................................................... 93
Device Information Service Data ............................................................................................................. 94
4.2 Health thermometer Service ReCord ........................................................................................... 94
v16
4.3 11073-20601 Objects ................................................................................................................... 96
MDS Object ................................................................................................................................................ 96
Numeric Object .......................................................................................................................................... 98
5 Acronyms and Abbreviations ........................................................................................................... 99
6 References ........................................................................................................................................ 100
Bluetooth SIG Proprietary Page 7 of 101
Personal Health Devices Transcoding
Bluetooth White Paper

1 Overview

This document describes how data sent by a Bluetooth Sensor based on GATT (Generic Attribute Profile) and received by a Collector can be transcoded at the Collector into an IEEE Std. 11073-20601a [1] compatible nomenclature and model, thus enabling compatibility with the ISO/IEEE Std. 11073-104xx family of standards (both hereafter known as 11073-20601).
GATT-bas ed Services and Profiles have been developed to support low power and low cost device implementation. Data values used in these Services and Profiles are defined as characteristics associated with a UUID accessible via the Bluetooth SIG Assigned Numbers [3].
This document covers how characteristic values can be mapped or transcoded in a consistent way to 11073-20601 nomenclature/object/attribute equivalents. This data compatibility will enable data from GATT-based Bluetooth devices to be used in the broader health ecosystem such that the transcoded measurement data will look the same as data from a Bluetooth Health Device Profile [26] device or a USB Personal Healthcare Device Class [27] device.
This data compatibility will enable data to be usable and consumable by a variety of healthcare­related organizations including the Continua Health Alliance and standards organizations related to health records such as HL7. All mandatory (as well as some optional) attributes defined for each specialization in 11073-104xx standards are supported by Bluetooth Profiles defined within this document, but support for optional attributes is not specifically required for data compatibility.
For the Bluetooth Profiles encompassed by the material in this document, all characteristics and
v16
fields that are relevant to 11073-20601 have been defined with the intent that they can be transcoded at the Collector without any loss of precision.
In order to enable such a process for a particular device, the Collector device implementing transcoding software is required to follow the general requirements in Section 2 and the device­specific requirements in Section 3. Section 3 will be expanded as new health-related Bluetooth Profiles and Services become available. Section 4 provides an end-to-end example describing how data can be mapped from a GATT-based Health Thermometer [5] to a Collector implementing a Transcoder.
While it is beyond the scope of this document to mandate or specify a specific method for transcoding Bluetooth characteristics into 11073-20601, this white paper provides requirements and guidelines to enable implementations to do so. This document does not discuss 11073­20601 concepts and details; rather, it focuses on how data from Bluetooth sensors can be transcoded for use in the 11073-20601 domain.
Although some areas of this document summarize requirements of 11073-20601 and 11073­104xx documents as a useful reference, refer to the 11073-20601 and 11073-104xx standards to ensure the most accurate information regarding 11073-20601 specifications’ requirements. Similarly, refer to the relevant Bluetooth Profile specifications with their associated Service
Bluetooth SIG Proprietary Page 8 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
specifications and characteristic(s) as the official sources for requirements relating to Bluetooth wireless technology.
Figure 1: GATT-based Bluetooth Sensor to 11073-20601 Data Flow
The 11073-20601 DIM (Domain Information Model) of any given device type is typically more complex than, and completely different from, the related Bluetooth GATT-based health Service. This document specifies how to transcode data from GATT-based Services to DIM and nomenclature, but it is important to recognize that Collector devices are not actually required to create the DIM, with all its objects, attributes, or APDUs (Application Protocol Data Units, i.e. network packets) associated with 11073-20601 transactions.
v16
The purpose of the transcoded DIMs and nomenclatures described in this white paper is just to provide a mapping. In the end, if the Collector wishes to forward data over any additional interfaces (e.g. IHE-PCD-01 [17] documents) requiring 11073-20601 nomenclature, it must do so as if the data had come from the DIMs as described in this white paper.
There are a number of objects that may exist in a 11073-20601 DIM that have the purpose to aid in providing more efficient transfer of data from the Sensor (Agent) device to the Collector (Manager). Scanner and PM-Store are examples of such objects. They do not affect the value and meaning of data measurements. This paper will not describe these kinds of objects and their use is at implementation’s discretion.
In addition, all 11073-20601 APDUs are only of interest for 11073-20601 formatted exchanges. Transcoding the sensor device down to the APDU level, simulating a complete 11073-20601 Agent that exchanges APDUs with a 11073-20601 Manager/Collector is a valid transcoding strategy. But is not the only strategy, and it is not mandated by this paper. Any simulation of APDU transcoding is outside the purpose of this paper and is left up to the implementation.
Likewise, this paper will restrict itself to the description of those components of the DIM and nomenclature that are used to describe the measurements and the device. All additional
Bluetooth SIG Proprietary Page 9 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
components of the DIM are outside the purpose of this paper and are left up to the implementation.
v16
Bluetooth SIG Proprietary Page 10 of 101
Personal Health Devices Transcoding
List of (INT-
Bluetooth White Paper

2 General Data Requ irements

This section describes the transcoding of general data from a Bluetooth Sensor for compatibility with the 11073-20601 ecosystem, and general data mapping requirements that are common to all devices addressed by this white paper. Device-specific data requirements are described in Section 3.

2.1 Common MDS Class Requirement s

This sub-section describes general Medical Device System (MDS) class requirements from 11073-20601. The MDS is the object that describes the device and its properties. The majority of the data to populate this object’s attributes comes from the Device Information Service (DIS)
[2] and the Current Time Service (CTS) [14]. 11073-20601 attributes not mentioned in this
section likely refer to Bluetooth device-specific data requirements and are shown in Section 3. The Device Information Service is a general Bluetooth Service designed to describe
characteristics that are often common between different sensors. The DIS includes characteristics that contain information such as the manufacturer name, model number, hardware revision, firmware revision, and software revision among others. Many characteristics in the DIS are used within the 11073-20601 and Continua Health Alliance infrastructure.
The Current Time Service provides the Collector with a means of obtaining the current time on the Sensor device. This time is entered into the Date-and-Time attribute of the MDS. The need to know the current time on the Sensor is essential if the Sensor sends measurement characteristics that contain time stamps. Knowing the Sensor’s current time allows the Collector
v16
to compare its current clock with the Sensor’s current clock and determine any differences. This clock information is required for the generation of e.g. HL7 data. If the Sensor provides no time stamps, the Collector uses the time of reception as the time stamp. Such devices do not need a Current Time Service and the transcoded MDS will not have a Date-and-Time attribute.
11073-20601 Attribute
Handle None N/A N/A HANDLE1 INT-U16
System-Model
System-Id System ID DIS EUI-64 OCTET STRING
Dev­Configuration Id
Bluetooth Equivalent Characteristic
Model Number String, Manufacturer Name String
None N/A N/A ConfigId
Bluetooth Service
DIS
Bluetooth Data Type
UTF-8 String, UTF-8 String
11073-20601 Attribute Type (ASN.1)
SystemModel
2
3
11073-20601 Data Type (informative)
(OCTET STRING, OCTET STRING)
OCTET STRING
U16, INT­U16)
Bluetooth SIG Proprietary Page 11 of 101
Personal Health Devices Transcoding
Bluetooth
Bluetooth
Bluetooth
11073-20601
OCTET
Bluetooth White Paper
11073-20601 Attribute
Attribute-Value­Map
Equivalent Characteristic
Service
Data Type
None N/A N/A AttrValMap
11073-20601 Attribute Type (ASN.1)
4
Data Type (informative)
List of (INT­U16, INT­U16)
Serial Number String,
List of (INT­U16, INT-U16, OCTET STRING)
Production­Specification
Hardware Revision String, Software Revision String,
DIS
UTF-8 String
ProductionSpec
Firmware Revision String
Date-and-Time Current Time Current
5
Time Service
Aggregate AbsoluteTime (INT-U8, INT-
U8, INT-U8,
6
INT-U8, INT­U8, INT-U8, INT-U8, INT­U8)
(BITS-16, INT-U16, INT-
Mds-Time-Info None N/A N/A MdsTimeInfo
U32, INT-U16, INT-U16, INT­U32)
v16
Relative-Time None N/A N/A RelativeTime INT-U32 HiRes-Relative-
Time
Date-and-Time­Adjustment
None N/A N/A HighResRelativeTime
None N/A N/A AbsoluteTimeAdjust
OCTET STRING (SIZE(8))
STRING (SIZE(6))
In Developm
Power-Status
In Development (Future updated Battery Service)
ent (Future updated
N/A PowerStatus BITS-16
Battery
Service) Battery-Level Battery Level Remaining-
Battery-Time
Bluetooth SIG Proprietary Page 12 of 101
None N/A N/A BatMeasure
Battery
Service
UINT8 INT-U16
7
INT-U16
(FLOAT-Type, INT-U16)
Personal Health Devices Transcoding
Bluetooth
Bluetooth
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Reg-Cert-Data­List
System-Type­Spec-List
Confirm­Timeout
Table 1: Common MDS Class Requirements
9
Equivalent Characteristic
IEEE 11073­20601 Regulatory Certification Data List
None N/A N/A TypeVerList
None N/A N/A RelativeTime
Service
DIS Aggregate RegCertDataList
Data Type
11073-20601 Attribute Type (ASN.1)
8
Notes:
1. 11073-20601 requires that it is always set to 0.
2. SystemModel is described as SEQUENCE (Manufacturer Name, Model Number).
Data Type (informative)
List of ((INT­U8, INT-U8), ANY)
List of (INT­U16, INT­U16)
OCTET STRING (SIZE(6))
3. The device configuration id is only of use in 11073-20601 formatted exchanges. Its value is implementation specific.
4. This 11073-20601 attribute is transmission-related only. As this document is only relevant for
v16
nomenclature and model compatibility and does not mandate any way to reach the 11073-20601 domain, this attribute is implementation specific.
5. Each field is mapped into a unique entry of ProductionSpec list; for example, Serial Number String is mapped as (0x0001, INT-U16, serial_number_value). See Section
6. This attribute is necessary and readable when the device timestamps measurements. See Section
7. Both Battery Level characteristic and Battery-Level attribute express battery level as an integer percentage (0 to 100). Characteristic is transcoded simply by promoting value from UINT8 to INT­U16 with no scaling.
8. For each Bluetooth Service addressed by this white paper and implemented by the device, an entry has to be added to the TypeVerList. For example, if a device implements the Health Thermometer Service [5], the following entry is required by 11073-20601 to be added to the TypeVerList which identifies the corresponding 11073-20601 Profile:
0x10 0x08 type = MDC_DEV_SPEC_PROFILE_TEMP 0x00 0x01 version = version 1 of the specialization
NOTE: The reference to “PROFILE” in the MDC_DEV_SPEC_PROFILE_TEMP refers to device specializations defined in 11073-20601 and should not be confused with Bluetooth Profiles.
9. The ConfirmTimeout is only for use in 11073-20601 formatted exchanges. It tells the Manager how long the Agent will wait for a confirmation to a confirmed event report before timing out. Its value is implementation specific.
2.2.4, subtopic “Date and Time”, and Section 2.2.6 for details.
2.2.4.
Bluetooth SIG Proprietary Page 13 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
2.2 TRANSCODING BLUETOOTH CHARACTERI S TICS TO 11073­20601 ATTRIBUTES

2.2.1 32-BIT FLOATING POINT DATA TYPE (FLOAT-TYPE)

The following information is defined in ISO/IEEE Std. 11073-20601™-2008 [1]. The FLOAT-Type data type is defined to represent numeric values that are not integer in type.
The FLOAT-Type is defined as a 32-bit value with a 24-bit mantissa and an 8-bit exponent. See Annex F.6 of [1] for a thorough definition of the FLOAT-Type. This data type is defined as follows:
Size
The 32 bits contain an 8-bit signed exponent to base 10, followed by a 24-bit signed integer (mantissa).
Special values are assigned to express the following:
+ INFINITY [exponent 0, mantissa +(2^23 –2) → 0x007FFFFE]
NaN (Not a Number) [exponent 0, mantissa +(2^23 –1) → 0x007FFFFF]
v16
NRes (Not at this Resolution) [exponent 0, mantissa –(2^23) → 0x00800000]
Reserved for future use [exponent 0, mantissa –(2^23–1) → 0x00800001]
– INFINITY [exponent 0, mantissa –(2^23 –2) → 0x00800002]
NaN is used to report an invalid result from a computation step or to indicate missing data due to the hardware’s inability to provide a valid measurement, perhaps from sensor disturbances.
NRes is used to report that the value cannot be represented with the available range and resolution, possibly resulting from an overflow or underflow situation.
Exponent Mantissa
1 octet 3 octets
Example
Example for temperature measurement in 11073-20601 FLOAT-Type format: Consider a temperature measurement of 36.4 degrees Celsius with precision of 0.1 degrees
Celsius. The FLOAT-Type representation is a 32-bit value consisting of an exponent of an 8-bit signed integer followed by a mantissa of a 24-bit signed integer; here, the exponent is -1 (0xFF) and the mantissa is 364 (0x00016C). Therefore, the FLOAT-Type representation of 36.4 is 0xFF00016C.
Bluetooth SIG Proprietary Page 14 of 101
Personal Health Devices Transcoding
Bluetooth White Paper

2.2.2 16-BIT FLOATING POINT DATA TYPE (SFLOAT-TYPE)

The following information is defined in ISO/IEEE Std. 11073-20601™-2008 [1]. The SFLOAT-Type data type (a shortened version of FLOAT-Type) is defined to represent
numeric values that are not integer in type. The SFLOAT-Type is defined as a 16-bit value with 12-bit mantissa and 4-bit exponent. See Annex F.8 of [1] for a thorough definition of the SFLOAT-Type. This data type is defined as follows:
Size
The 16–bit value contains a 4-bit exponent to base 10, followed by a 12-bit mantissa. Each is in twos-complement form.
Special values are assigned to express the following:
Exponent Mantissa
4 bit 12 bit
NaN (Not a Number) [exponent 0, mantissa +(2^11 –1) → 0x07FF]
NRes (Not at this Resolution) [exponent 0, mantissa –(2^11) → 0x0800]
+ INFINITY [exponent 0, mantissa +(2^11 –2) → 0x07FE]
– INFINITY [exponent 0, mantissa –(2^11 –2) → 0x0802]
Reserved for future use [exponent 0, mantissa –(2^11 –1) → 0x0801]
v16
Example
Example for blood pressure measurement in 11073-20601 SFLOAT-Type format: Consider a systolic blood pressure measurement of 114 mmHg with a precision of 1 mmHg.
The SFLOAT-Type representation is a 16-bit value consisting of an exponent of a 4-bit signed integer followed by a mantissa of a12-bit signed integer; here, the exponent is 0 (0x0) and the mantissa is 114 (0x072). Therefore, the SFLOAT-Type representation of 114 is 0x0072.

2.2.3 STRING CONVERSION

11073-20601 variable-length string type is encoded with a field length of 2 octets followed by the specific OCTET STRING data array. 11073-20601 strings must be even length (16-bit aligned). For optimized data exchange over GATT, no such requirement exists. Bluetooth characteristic strings can be odd or even length, and the length of the string can be deciphered from the data. To transcode an odd length string, append a zero (0x00) byte to the end of the string, and increment the string length field.
Bluetooth characteristic strings are encoded as UTF-8, whereas 11073-20601 strings are encoded as ASCII printable characters (a UTF-8 subset). The transcoder shall convert non­ASCII characters in characteristic strings to ASCII in order to satisfy 11073-20601 standards.
Bluetooth SIG Proprietary Page 15 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
The converted string may have a different length than the original UTF-8 string. The choic e of conversion strategy is left to the implementation.
If the transcoder implementation chooses to transcode health device data directly from Bluetooth GATT string format to a higher-level protocol (e.g. PCD-01) that supports UTF-8, no string conversion is necessary.

2.2.4 MDS ATTRIBUTE CONVERSION

System-Model
The System-Model 11073-20601 attribute consists of a sequence that contains manufacturer name and model number, respectively. Its content is vendor-decided, and represented as an OCTET STRING. Therefore, it must follow the string conversion rules as described in Section
2.2.3.
All fields of the System-Model attribute are derived from the characteristics in the DIS [2]. The Bluetooth “Manufacturer Name String” and “Model Number String” characteristics of the DIS map to the Manufacturer Name and Model Number field of the System Model 11073-20601 Attribute.
System-Id
The System-Id 11073-20601 attribute has the same constraints as defined by the “System ID” Bluetooth characteristic (an EUI-64, which consists of a 24-bit Organizationally Unique Identifier followed by a 40-bit manufacturer-defined identifier). It is mapped directly from the DIS “System ID” Bluetooth characteristic value. For more information, see the DIS [2].
v16
Production-Specification
The 11073-20601 attribute consists of a ProdSpecEntry list. Each entry may describe specific information such as serial number, hardware revision, software revision, protocol revision, firmware revision, and part numbers. Additionally, each entry in the list contains a Spec Type defining which type of specification it refers to, a vendor-specified component ID, and a vendor­specified ASCII printable string, mapped directly from the DIS characteristics as follows.
ProdSpecEntry Spec Type Bluetooth characteristic 11073-20601 Spec Type Value
Unspecified N/A 0x0000 Serial Number Serial Number String (DIS) 0x0001 Part Number N/A 0x0002 Hardware Revision Hardware Revision String (DIS) 0x0003 Software Revision Software Revision String (DIS) 0x0004 Firmware Revision Firmware Revision String (DIS) 0x0005 Protocol Revision N/A 0x0006
Bluetooth SIG Proprietary Page 16 of 101
Personal Health Devices Transcoding
ProdSpecEntry Spec Type
Bluetooth characteristic
11073-20601 Spec Type Value
Bluetooth White Paper
GMDN (Global Medical Device Nomenclature)
Table 2: Production Specification
N/A 0x0007
The conversion is done as follows for each Bluetooth characteristic (Serial Number String, Hardware Revision String, Software Revision String, and Firmware Revision String):
1. Create a new ProdSpecEntry.
2. Set the first field (spec_type) according to table above.
3. Set the second field to the vendor-specified component ID.
4. Set the third field to the corresponding Bluetooth characteristic value.
Date-and-Time
5. The transcoder shall provide this attribute if measurements report timestamps in any message (ref: [1] Section 6.3.2.3). The attribute represents the current time in Sensor’s clock.
6. If the Sensor reports a timestamp in any message, the Sensor implementation should support the Current Time Service [14]. The 10-byte Current Time characteristic value is transcoded to the 8-byte Date-and-Time attribute value as specified in Section 2.2.6 and the 1-byte Day of Week and Adjust Reason fields are not part of the Date-and-Time attribute. Note that starting in v1.5 of the white paper, text in this section related to
v16
exposing the Date Time characteristic (first added in v1.3) has been removed and replaced with a recommendation to use CTS v1.1. This is due to the recent release of CTS v1.1 which added useful features and resolved limitations in CTS v1.0.
7. Since the Current Time characteristic uses absolute time, an issue may arise in cases where measurement results are time stamped with absolute time or separate base time and time offset fields. If the time is changed on the Sensor after the last measurement is stored in the Sensor’s memory and before the Collector reads the current time from the Sensor, then the measurement results will not be on the same absolute time base as the Sensor’s current time. This may cause the Collector to incorrectly synchronize the prior measurement results to the Collector’s time base.
8. The value of ‘unknown’ is not permitted for year, month or day, as valid values are required for transcoding. If ‘unknown’ values are observed, the information shall be discarded, and handled as nonexistent.

2.2.5 IEEE 11073-20601 REGULATORY CERTIFICATION DATA LIST

Health and Medical Devices may claim adherence to various regulatory and/or certification compliance items as an informative statement.
Bluetooth SIG Proprietary Page 17 of 101
Personal Health Devices Transcoding
Certified device class list
10
Bluetooth White Paper
The IEEE 11073-20601 Regulatory Certification Data List [16] enables a device to list the compliance items identifying the authorizing body and its data. IEEE, Continua, and the FDA are a few examples of authorizing bodies.
The IEEE 11073-20601 Regulatory Certification Data List is defined as an opaque structure (a “blob”) in the DIS by a regulatory body. The endianness of this data structure is as defined in the associated regulatory specification. For example, if the regulatory body is Continua, the “RegCertDataList” data structure will be in big-endian format.
Following is an example of this structure based on Continua Design Guidelines 2015 (v5.0) [6]. In this example, the IEEE 11073-20601 Regulatory Certification Data List characteristic is
required to have the following format:
Field Name Offset Size Data Type Definition / Notes
Regulatory Certification Data List 0
Count 0 2 octet INT-U16 Length 2 2 octet INT-U16
Authorization Body 4 1 octet INT-U8 Code assigned by IEEE
11073-20601 identif ying the authorizing body
Authorization Body Structure Type
Authorization Body Structure
v16
Length Authorizing Body Data 8 variable
Major IG version 8 1 octet INT-U8 Minor IG version 9 1 octet INT-U8
Count (c) 10 2 octet INT-U16 Number of device
Length 12 2 octet INT-U16 c * sizeof(INT-U16)
Certified device class entry 12+n*2 2 octet INT-U16 May be several of these
5 1 octet INT-U8 Identifies the data
structure
6 2 octet INT-U16 Defines authorization
body data length
length
Opaque structure
Format defined by Authorizing Body (Continua)
classes
entries (i.e., c > 1), where n is the index of device entry [1..c].
Continua Regulatory Structure 14+c*2 2 octet INT-U16
Structure length 16+c*2 2 octet INT-U16 Regulation Bit Field Type 18+c*2 2 octet BITS-16
Table 3: Format Example for IEEE 11073-20601 Regulatory Cer tifi cati on Dat a List char act eristic
Bluetooth SIG Proprietary Page 18 of 101
Personal Health Devices Transcoding
0x00 0x12
RegCertDataList.len gth = 1 8
Bluetooth White Paper
Regulatory Certification Data List and Certified device class list are types based on SEQUENCE OF, which specifies a list header with both count and length, even when the entry size is perfectly known. This allows for robust decoding, allowing the decoder to skip the sequence when it does not know the entry type.
Table 4 is an example showing the contents of this structure based on Continua Design
Guidelines 2010 (v1.5) [6]. The minor and major Interoperability Guidelines (IG) version represents the current Continua Guideline being followed, and will be updated as new guidelines are adopted and followed by this document.
In this example, the Continua Health Alliance is the regulatory body and the device includes only one device specialization – the IEEE 11073-10408 Thermometer device specialization [3]. As a result, the IEEE 11073-20601 Regulatory Certification Data List characteristic is required to have the following format and values:
Data Description
0x00 0x02 RegCertDataList.count = 2
0x02 0x01 RegCertDataList{0}
auth-body = auth-body-continua = 2 RegCertDataList{0}.auth-body-struc-type = continua-version-struct = 1
(ContinuaBodyStruct)
0x00 0x08 RegCertDataList{0}. auth-body-data.length = 8
v16
0x01 0x05 RegCertDataList{0}. auth-body-data:
ContinuaBodyStruct.major-IG-version = 5
ContinuaBodyStruct.minor-IG-version = 0 0x00 0x01 CertifiedDeviceClassList.count = 1 0x00 0x02 Certified De viceClassList.length = 2 0x80 0x08 CertifiedDeviceClassList{0} = 0x8008
Based on Continua 2010 (v1.5) guidelines for a Low Power Wireless PAN
Thermometer:Transport Code (TCode) = 4 (Low Power Wireless PAN)
MDC_DEV_SPEC_PROFILE_TEMP = 0x10 0x08 = 410410
CertifiedDeviceClass = 4104-4096+4*8192 = 3277610 -> 0x8008 0x02 0x02 RegCertDataList{1}
auth-body = auth-body-continua = 2
RegCertDataList{1}.auth-body-struc-type = continua-reg-struct = 2
(ContinuaRegStruct) 0x00 0x02 RegCertDataList{1}. auth-body-data.length = 2 0x00 0x00 This is a regulated device
Table 4: IEEE 11073-20601 Regulatory Certification Data List Characteristic Example
In this example, the total length of the structure is 22 octets.
Bluetooth SIG Proprietary Page 19 of 101
Personal Health Devices Transcoding
Bluetooth White Paper

2.2.6 TRANSCODING TIME STAMPS AND CURRE NT TIME TO IEEE 11073-20601 ABSOLUTETIME

For the Bluetooth Profiles addressed by this white paper, the measurement time stamps follow the format of the Bluetooth Date Time characteristic. This format is encoded according to the Date Time characteristic definition accessible via the Bluetooth SIG Assigned Numbers [3]. Each field is an 8-bit integer, except for “year”, which is a 16-bit integer.
For example, the time stamp for 18th December 2010, 15:23:06 is encoded as the following 7­byte sequence in the Date Time field: 0xDA 0x07 0x0C 0x12 0x0F 0x17 0x06. Note that due to the little-endian order, the first two bytes in the sequence represent the year.
The Sensor’s current time is exposed by Current Time characteristic in Current Time Service. The format is accessible via the Bluetooth SIG Assigned Numbers [3]. The Current Time characteristic has 10 bytes; the first 7 bytes are in Date Time format, and the ninth byte exposes fractions of a second, in units of 1/256th of a second. The eighth byte (day of week) and tenth byte (adjust reason) are not taken into consideration for transcoding at this time.
For example, the Sensor’s clock for 18th December 2010, 15:23:06.750 is encoded as the following 10-byte sequence in the Current Time field: 0xDA 0x07 0x0C 0X12 0X0F 0x17 0x06 0xXX 0xC0 0xXX.
IEEE 11073-20601 AbsoluteTime specifies time with a resolution of 1/100 of a second. Its data format is encoded using binary coded decimal (i.e., 4-bit nibbles) and every field has 8 bits. For example, the date/time 18th December 2010, 15:23:06:75 is encoded as 0x20 0x10 0x12 0x18 0x15 0x23 0x06 0x75.
v16
Bluetooth Date Time characteristic format has a resolution of one second, so, when it is used for timestamps as a standalone format, the sec-fractions field must be set to zero in the transcoding process.
On the other hand, the Current Time characteristic format has a resolution of 1/256 of a second, so the sec-fractions field should be converted in the transcoding process.
Because AbsoluteTime is encoded as a Binary Coded Decimal (BCD) format, a conversion between formats is needed; however, the BCD conversion does not result in a loss of precision.
Table 5 shows mapping from the Bluetooth Time Stamp fields to the AbsoluteTime type fields:
Bluetooth Field Name (Date Time or Current Time) AbsoluteTime Field Name
Year
century year2
1
Month month Day day Hours hour
Bluetooth SIG Proprietary Page 20 of 101
Personal Health Devices Transcoding
Bluetooth Field Name (Date Time or Current Time)
AbsoluteTime Field Name
Bluetooth White Paper
Minutes minute Seconds second Fractions256 (only for Current Time) sec-fractions3
Table 5: Bluetooth Date Time characteristic format to IEEE 11073-20601 AbsoluteTime Conversion
Notes:
1. This field is set to the two most significant decimal digits of the Bluetooth Year field, when the value of the Bluetooth Year field is expressed as a 4-digit decimal value.
2. This field is set to the two least significant decimal digits of the Bluetooth Year field, when the value of the Bluetooth Year field is expressed as a 4-digit decimal value.
3. This field is transcoded by multiplying the Fractions256 value by 0.390625 (100/256), rounding down the result to the nearest integer, and then converted to BCD.

2.3 ATTRIBUTE-VALUE-MAP

Each Metric object and the MDS have a conditional Attribute-Value-Map attribute. It is mandatory if the Agent uses fixed-format data update messages. Fixed-format event reports refer to those attributes.
As this document is only relevant for nomenclature and model compatibility and does not mandate any way to reach the 11073-20601 domain, this attribute is implementation-specific.

2.4 PM STORES, SCANNERS, AND PM SEGMENTS

v16
This set of objects and their attributes are only concerned with the 11073-20601 transfer of data.
As this document is only relevant for nomenclature and model compatibility and does not mandate any way to reach the 11073-20601 domain, the creation and use of these objects and their respective attributes is implementation-specific.
Bluetooth SIG Proprietary Page 21 of 101
Personal Health Devices Transcoding
Supported Over
Supported Over
Health Thermometer Service v1.0
Yes
Not in this version.
Device Information Service v1. 1
Yes
Yes
Bluetooth White Paper

3 Device Specific Data Requirements

This section describes the mapping of device specific data from a Bluetooth environment to an 11073-20601 environment. This section will be expanded for various Bluetooth Profiles and Services in the future as they become available.
The table below shows the transport(s) supported by each GATT-based service referenced in this document.
GATT Based Specification
Heart Rate Service v1.0 Yes Not in this version. Blood Pressure Service v1.0 Yes Not in this version. Glucose Service v1.0 Yes Not in this version. Weight Scale Service v1.0 Yes Yes Body Composition Service v1. 0 Yes Yes Current Time Service v1.1 Yes Yes
Pulse Oximeter Service v1.0 Yes Yes Continuous Glucose Monitoring Service v1.0 Yes Yes
Table 6: Transport Support for GATT-based Services
Bluetooth LE
Bluetooth BR/EDR
v16

3.1 HEALTH THERMOMETER

This sub-section defines transcoding the thermometer device specific data into IEEE 11073­10408 Thermometer device specialization [3] class attributes.

3.1.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS

In addition to the MDS class requirements shown in Section 2.1, Table 7 shows incremental MDS class requirements specific to this device.
11073-20601 Attribute
System-Type N/A N/A N/A TYPE1 System-Type-
Spec-List
Table 7: Device-specific MDS Class Requirements
Notes:
Bluetooth SIG Proprietary Page 22 of 101
Bluetooth Equivalent Characteristic
N/A N/A N/A
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
TypeVer
2
List
11073-20601 Data Type (informative)
(INT-U16, INT­U16)
List of (INT­U16, INT-U16)
Personal Health Devices Transcoding
0x10 0x08
type = MDC_DEV_SPEC_PROFILE_TEMP
0x00 0x01
version = version 1 of the 11073-10408 device
11073-
Bluetooth
11073-20601
11073-20601
Bluetooth White Paper
1. Value not present since System-Type-Spec-List exists.
2. Since the “Health Thermometer Service“ [5] is a “Primary Service”, an entry is required to be added to the TypeVerList as follows:
specialization

3.1.2 11073-10408 NUMERIC CLASS REQUIREMENTS

This section describes the 11073-10408 numeric class requirements. It is restricted to those 11073-20601 attributes that are used on the Thermometer device.
20601 Attribute
Equivalent Characteristic
Bluetooth Service
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
v16
Metric-Id
N/A N/A N/A MetricSpecSmall Temperature
Measurement
Health Thermometer
Temperature
Unit-Code
Type and Temperature
Health Thermometer
Measurement
Absolute­Time-Stamp
Simple-Nu­Observed­Value
Table 8: 11073-10408 Numeric Class Requirements
Temperature Measurement
Temperature Measurement
Health Thermometer
Health Thermometer
Bluetooth Data Type
Aggregate OID-Type
Aggregate OID-Type
Aggregate AbsoluteTime
Attribute Type (ASN.1)
4
INT-U16
5
INT-U16
3
BITS-16
6
Aggregate SimpleNuObsValue
Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT­U8, INT-U8, INT-U8, INT­U8, INT-U8, INT-U8, INT­U8)
7
FLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_TEMP_BODY}.
Bluetooth SIG Proprietary Page 23 of 101
Personal Health Devices Transcoding
Temperature
Bluetooth Temperature
Temperature Unit
Bluetooth White Paper
3. When the Measurement Interval characteristic is not present or when it is present and its value is zero (aperiodic mode) then this is set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt-aperiodic, mss-acc-agent-initiated). When the Measurement Interval characteristic is present and its value is non-zero (periodic mode) this is set to 0x4040 (mss-avail-stored-data, mss- acc-agent-initiated).
4. The value is inferred either based on the non-static Temperature Type field of Temperature Measurement when it is present (presence indicated by bit 2 of Flags field) or the static Temperature Type characteristic. If both are absent, Metric-Id shall be set to MDC_TEMP_BODY.
11073-10408 Temperature Metric-Id code
MDC_TEMP_AXILLA Armpit 0x01 MDC_TEMP_BODY Body (general) 0x02 MDC_TEMP_EAR Ear (usually ear lobe) 0x03 MDC_TEMP_FINGER Finger 0x04 MDC_TEMP_GIT Gastro-intestinal Tract 0x05 MDC_TEMP_ORAL Mouth 0x06 MDC_TEMP_RECT Rectum 0x07 MDC_TEMP_TOE Toe 0x08 MDC_TEMP_TYMP Tympanum (ear drum) 0x09 Reserved All other values
Table 9: Temperature Metric-Id Description Conversion
Bluetooth Temperature Type Description
Bluetooth Value
v16
5. This value is mapped from Bit 0 of the least significant octet of the Temperature Measurement characteristic. The mapping is as follows in Table 10:
11073-10408
Unit Value
Unit Value
Description
Table 10: Temperature Type Description Conversion
6. When supported, this value is derived from the Time Stamp field of Temperature Measurement characteristic. See Section 2.2.6.
7. This value is derived from the Temperature Measurement Value field of the Temperature Measurement characteristic.

3.2 HEART RATE SENSOR

This section defines transcoding the heart rate Sensor device specific data into IEEE 11073­10406 Basic Electrocardiograph (ECG) device specialization [7] class attributes and the energy expended object of the IEEE 11073-10441 Cardiovascular Fitness and Activity Monitor device specialization [15].
Bluetooth SIG Proprietary Page 24 of 101
MDC_DIM_DEGC 0 Celsius MDC_DIM_FAHR 1 Fahrenheit
Personal Health Devices Transcoding
0x10 0x06
Specialization value = MDC_DEV_SPEC_PROFILE_ECG
0x00 0x01
version = version 1 of the 11073-10406 device specialization
0x10 0x29
Specialization value = MDC_DEV_SPEC_PROFILE_HF_CARDIO
0x00 0x01
version = version 1 of the 11073-10441 device specialization
0x10 0x8D
Profile value = MDC_DEV_SUB_SPEC_PROFILE_HR
0x00 0x01
version = version 1 of the 11073-10406 device specialization
Bluetooth White Paper

3.2.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS

In addition to the MDS class requirements shown in Section 2.1, Table 11 shows incremental MDS class requirements specific to this device.
Bluetooth 11073-20601 Attribute
System-Type N/A N/A N/A TYPE1 System-Type-
Spec-List Tick-resolution2 N/A N/A N/A FLOAT-Type FLOAT-Type
Table 11: Device-specific MDS Class Requirements
Notes:
1. Value not present since System -Type-Spec-List exists.
2. Defined as 2^(-10)=1/1024. Matches [8] FLOAT-Type.
3. Since the “Heart Rate Service” [8] is a “Primary Service”, the following entries are required to be added to the TypeVerList (the cardiovascular device specialization may be excluded if the device does not contain the Energy Expended field in the Heart Rate Measurement characteristic; since its absence can only be ascertained when the m eas urement sequence is completed, in pract ice its omission would happen if, for example, creating upstream data from the measurement
v16
sequence):
Equivalent Characteristi c
N/A N/A N/A TypeVerList3
Bluetooth Service
Bluetooth Data Type
RR-Interval unit, and can be represented exactly by
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT­U16)
List of (INT­U16, INT-U16)
Note that there should be no Date-and-Time attribute since this Service does not support time stamps in its measurements. The Manager shall enter a time stamp at the time of reception of the data.

3.2.2 11073-10406 AND 11073-10441 NUMERIC CLASS REQUIREMENTS

This section describes the 11073-10406 and 11073-10441 numeric class requirements. It is restricted to those 11073-20601 attributes that are used on the Basic Electrocardiograph device and the Cardiovascular Fitness and Activity Monitor device.
Bluetooth SIG Proprietary Page 25 of 101
3.2.2.1 HEART RATE MEASUREMENT
Personal Health Devices Transcoding
Bluetooth White Paper
11073-20601 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
N/A N/A N/A MetricSpecSmall
(INT-U16, INT-U16)
3
BITS-16
Unit-Code N/A N/A N/A OID-Type4 INT-U16
Heart Rate Simple-Nu­Observed­Value
Table 12: 11073-10406 Numeric Class Requirements
Measurement
(Heart Rate
Measurement
Value field)
Heart Rate Aggregate
SimpleNuObs
5
Value
FLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value is set to {MDC_PART_SCADA | MDC_ECG_HEART_RATE_INSTANT}.
3. Set to 0x4040 (mss-avail-stored-data, mss-acc-agent-initiated).
v16
4. Unit is MDC_DIM_BEAT_PER_MIN.
5. This value is derived from the Heart Rate Measurement Value field of the Heart Rate Measurement characteristic, which is either an 8-bit or 16-bit uns ign ed int eger de pend in g upon bit 0 of the Flags field. This value is converted to FLOAT-Type for transcoding using an exponent of
0.
3.2.2.2 RR-INTERVAL
This data is optionally transcoded when Heart Rate Measurement contains RR-Interval data.
11073-20601 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
N/A N/A N/A MetricSpecSmall
Unit-Code N/A N/A N/A OID-Type4 INT-U16
11073-20601 Attribute Type (ASN.1)
3
BITS-16
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
Bluetooth SIG Proprietary Page 26 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Simple-Nu­Observed­Value
Table 13: 11073-10406 Numeric Class Requirements
Equivalent Characteristic
Heart Rate Measurement (RR-Interval field)
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
Heart Rate Aggregate SimpleNuObsValue
Data Type (informative)
5
FLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_SCADA | MDC_ECG_TIME_PD_RR_GL.
3. Set to 0x5440 (mss-avail-stored-data, mss-acc-agent-initiated, mss-msmt-btb-metric, mss-msmt­aperiodic).
4. Unit is MDC_DIM_TICK (1/1024s).
5. One or more values are derived from the variable-size R R-Interval field of the Heart Rate Measurement characteristic. In 11073-10406 the sequence of heart rate measurements would occur in independent scan event reports since the event is episodic.
3.2.2.3 ENERGY EXPENDED
This data is optionally transcoded when Heart Rate Measurement contains Energy Expended field.
v16
11073-20601 Attribute
Equivalent Characteristic
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
N/A N/A N/A MetricSpecSmall
Unit-Code N/A N/A N/A OID-Type4 INT-U16
Heart Rate Simple-Nu­Observed­Value
Table 14: 11073-10441 Numeric Class Requirements
Measurement
(Energy
Expended
field)
Bluetooth Service
Bluetooth Data Type
11073 Attribute Type (ASN.1)
3
BITS-16
Heart Rate Aggregate SimpleNuObsValue
Data Type (informative)
(INT-U16, INT-U16)
5
FLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
Bluetooth SIG Proprietary Page 27 of 101
Personal Health Devices Transcoding
0x10 0x07
Specialization value = MDC_DEV_SPEC_PROFILE_BP
0x00 0x01
version = version 1 of the 11073-10407 device specialization
Bluetooth White Paper
2. Value set to {MDC_PART_PHD_HF | MDC_HF_ENERGY}.
3. Set to 0xf040 (mss-avail-intermittent, mss-avail-stored-data, mss-updt-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
4. Unit is MDC_DIM_JOULES.
5. This value is derived from the Energy Expended field of the Heart Rate Measurement characteristic by converting from an unsigned 16-bit integer to a FLOAT using an exponent of 3, and attributing the same numeric value of the field to the mantissa. For example, an Energy Expended of 123 is transcoded to a FLOAT with mantissa=123 and exponent=3. The transcoded value is equal to 123000J, which is equivalent to the original field value of 123kJ. This procedure compensates for the change of unit, without loss of precision.

3.3 BLOOD PRESSURE MONITOR

This section defines transcoding the blood pressure monitor device specific data into IEEE 11073-10407 Blood Pressure Monitor device specialization [10] class attributes.

3.3.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS

In addition to the MDS class requirements shown in Section 2.1, Table 15 shows incremental MDS class requirements specific to this device.
11073-20601 Attribute
v16
System-Type N/A N/A N/A TYPE1 System-Type-
Spec-List
Table 15: Device-specific MDS Class Requirements
Notes:
1. Value not present since System -Type-Spec-List exists.
2. Since the “Blood Pressure Service” [9] is a “Primary Service,” the following entries are required to be added to the TypeVerList:
Bluetooth equivalent Characteristic
N/A N/A N/A TypeVerList
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
2
11073-20601 Data Type (informative)
(INT-U16, INT­U16)
List of (INT­U16, INT-U16)

3.3.2 11073-10407 NUMERIC CLASS REQUIREMENTS

This section describes the 11073-10407 numeric class requirements. It is restricted to those 11073-20601 attributes that are used on the Blood Pressure Monitor device.
Bluetooth SIG Proprietary Page 28 of 101
Personal Health Devices Transcoding
Bluetooth
Bluetooth
11073-20601
11073-20601
(INT-U16,
Bluetooth White Paper
3.3.2.1 SYSTOLIC/DIASTOLIC/MAP COMPOUND NUMERIC OBJECT (BLOOD PRESSURE)
11073-20601 Attribute
equivalent Characteristic
Bluetooth Service
Data Type
Attribute Type (ASN.1)
Data Type (informative)
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2
INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16 Measurement-
Status Metric-Structure-
Small
Blood Pressure Measurement
Blood Pressure
Aggregate
N/A N/A N/A
Metric-Id-List N/A N/A N/A MetricIdList6
Unit-Code
Blood Pressure Measurement
Blood Pressure
Aggregate OID-Type
MeasurementStatu
4
s MetricStructure
5
Small
7
INT-U16
BITS-16
(INT-U8, INT-
U8)
List of (INT-
U16)
(INT-U8, INT-
U8, INT-U8, Absolute-Time­Stamp
Blood Pressure Measurement
Blood Pressure
Aggregate AbsoluteTime
8
INT-U8, INT-
U8, INT-U8,
INT-U8, INT-
U8)
v16
Compound-Basic­Nu-Observed­Value
Blood Pressure Measurement
Blood Pressure
Aggregate
Compound­BasicNuObserved
9
Value
List of
SFLOAT-Type
Table 16: 11073-10407 Numeric Class Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value is set to {MDC_PART_SCADA | MDC_PRESS_BLD_NONINV}.
3. Set to 0xF040 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated).
4. Omitted if measurement is ok or Measurement Status field is not present; set to 0x4000 (measurement questionable) if any bit of Measurement Status field is set and the Measurement Status feature is supported.
5. Set to (0x03, 0x03) {ms-struct-compound-fix, 3}.
6. List set to {MDC_PRESS_BLD_NONINV_SYS, MDC_PRESS_BLD_NONINV_DIA, MDC_PRESS_BLD_NONINV_MEAN}.
7. This value is mapped from Bit 0 of the least significant octet of the Blood Pressure Measurement characteristic. The mapping is as follows in Table 17:
Bluetooth SIG Proprietary Page 29 of 101
Personal Health Devices Transcoding
11073-10407 Pressure Unit
Bluetooth Pressure Unit Value
Unit Description
MDC_DIM_MMHG
0
mmHg
Bluetooth White Paper
Value
MDC_DIM_KILO_PASCAL 1 kPa
Table 17: Pressure Type Description Conversion
8. When supported, this value is derived from the Time Stamp field of Blood Pressure Measurement characteristic. See Section 2.2.6.
9. This is a list of exactly three values derived from Blood Pressure Measurement characteristic: Systolic pressure, Diastolic Pressure and MAP: If any of these measurements are temporarily unavailable, this condition is signaled with NaN special value.
3.3.2.2 Pulse Rate
This data is optionally transcoded when Blood Pressure Measurement contains Pulse Rate data.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
v16
Measurement­Status
Unit-Code N/A N/A N/A OID-Type5 INT-U16
Absolute-Time­Stamp
Basic-Nu­Observed-Value
Table 18: 11073-10407 Numeric Class Requirements
Bluetooth Equivalent Characteristic
Blood Pressure Measurement (Measurement Status)
Blood Pressure Measurement (Time Stamp field)
Blood Pressure Measurement (Pulse Rate field)
Bluetooth Service
Blood Pressure
Blood Pressure
Blood Pressure
Bluetooth Data Type
Aggregate MeasurementStatus4 BITS-16
Aggregate AbsoluteTime6
Aggregate
11073-20601 Attribute Type (ASN.1)
BasicNuObserved Value7
11073-20601 Data Type (informative)
(INT-U16, INT­U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
Bluetooth SIG Proprietary Page 30 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
2. Value set to MDC_PART_SCADA | MDC_PULS_RATE_NON_INV.
3. Set to 0xf040 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss -msmt­aperiodic | mss-acc-agent-initiated).
4. Absent if the measurement is good or Measurement Status field is not present; set to 0x4000 (measurement questionable) if any bit of Measurement Status field is set and the Measurement Status feature is supported. The IEEE Measurement-Status attribute is an observational attribute and only has meaning for the observation in which it is sent. The absence of the attribute implies a good measurement.
5. Unit is MDC_DIM_BEAT_PER_MIN.
6. When supported, this value is derived from the Time Stamp field of Blood Pressure Measurement characteristic. See Section 2.2.6.
7. This value is derived from Pulse Rate field of Blood Pressure Measurement characteristic, if available.
3.3.2.3 USER ID
The 11073-20601 Person-ID is of type INT-U16, while the User ID from the characteristic is one octet, unsigned. When the User ID is in range 0x00 to 0xFE, conversion shall keep the numeric value. For example, User ID 0x02 would be transcoded to Person-ID 0x0002, and 0x85 would be transcoded to 0x0085.
When the User ID is 0xFF (unknown or guest user) it shall be transcoded to 0xFFFF (unknown­person-id).
The use of the Person ID is unspecified in 11073-20601 and is implementation specific. Depending upon the implementation, if the User-ID is absent in the characteristic value it may
v16
be ignored or transcoded to the unknown-person-id (0xFFFF).
3.3.2.4 MEASUREMENT STATUS
The Measurement Status data field in the Blood Pressure Measurement characteristic is transcoded in a lossy fashion to 11073-20601 Measurement-Status. There are several bits in Measurement Status field that indicate potential measurement problems. If any of these bits is set, the 11073-20601 Measurement-Status is set as “questionable” (0x4000).
If all these measurement status bits are zero, or if measurement status is not present, the 11073-20601 Measurement-Status is absent. The Blood Pressure Feature characteristic is needed in order to ascertain whether the Measurement Status data field is valid.
Measurement Status field bit (LSB)
0 (body movement) 0x4000 (questionable)
11073-20601 Measurement-Status
1 (cuff fit) 0x4000 (questionable) 2 (irregular pulse) 0x4000 (questionable) 3 (pulse rate range) 0x4000 (questionable)
Bluetooth SIG Proprietary Page 31 of 101
Personal Health Devices Transcoding
Measurement Status field bit
11073-20601
5 (measurement position)
0x4000 (questionable)
11073-20601
Bluetooth White Paper
(LSB)
Other bits Reserved for future use
Table 19: Measurement Status bit field relationship with Measurement-Status
Measurement-Status
3.3.2.5 Blood Pressure feature
The Blood Pressure Feature characteristic of the Blood Pressure Service is used to assist in the generation of the 11073-20601 Measurement-Status attribute. If the Blood Pressure Feature characteristic indicates no support for reporting measurement status error conditions, the measurement status field in the Blood Pressure Measurement characteristic shall be ignored. In this case the transcoded objects from the Blood Pressure Measurement characteristic shall have no Measurement-Status attribute.

3.4 Glucose Meter

This section defines transcoding of the glucose meter device-specific data into IEEE 11073­10417 Glucose Meter device specialization [11] class attributes.
The Glucose Meter device specialization specifies two ways to transmit data to Manager: event reports or having a PM-Store. They are mutually exclusive; that is, if the configuration has a PM­Store, it shall not send real time agent-init measurement events. The Bluetooth Glucose Service supports only the concept of stored data. The stored data is accessed by the Collector using Record Access Control Point (RACP) procedures. The result is that the Collector receives one or more Glucose Measurement characteristics. This paper is only concerned with the
v16
transcoding of these Glucose Measurement characteristics into their respective 11073-10417 metric objects. Any mapping of the set of PM Store and PM Segment objects and their
respective APDU sequences to the Bluetooth Glucose Service RACP procedures is implementation specific.

3.4.1 DEVICE-SPECIFIC MDS CLASS REQUIREMENTS

In addition to the MDS class requirements shown in Section 2.1, Table 20 shows incremental MDS class requirements specific to this device.
11073-20601 Attribute
System-Type N/A N/A N/A TYPE1
System-Type­Spec-List
Table 20: Device-specific MDS Class Requirements
Bluetooth SIG Proprietary Page 32 of 101
Bluetooth Equivalent Characteristic
N/A N/A N/A TypeVerList2
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
List of (INT­U16, INT­U16)
Personal Health Devices Transcoding
0x10 0x11
Specialization value = MDC_DEV_SPEC_PROFILE_GLUCOSE
0x00 0x02
version = version 2 of the 11073-10417 device specialization
Bluetooth White Paper
Notes:
1. Value is not present since System-Type-Spec-List exists.
2. Since the “Glucose Service” [12] is a “Primary Service”, the following entries are required to be added to the TypeVerList:
The Date-and-Time attribute (specified in Section 2.1 and described in detail in Sections 2.2.4 and 2.2.6) is required since the Glucose Sensor has stored data.

3.4.2 11073-10417 Numeric CLASS Requirements

This section describes the 11073-10417 numeric class requirements. It is restricted to those 11073-10417 attributes that are used on the Glucose Sensor device.
3.4.2.1 Derivation of absolute time stamp
The Absolute Time Stamp of each observation is derived from the mandatory Base Time field of the Glucose Measurement characteristic, together with a potential adjustment due to the Time Offset value. The measurement characteristic may contain the optional Time Offset which is analogous to the Date-and-Time-Adjustment attribute in 11073-20601 (though Time Offset is expressed in minutes).
While there are similar ities between the Time Offset field and the Date-and-Time-Adjustment
v16
attribute of 11073-20601 in the Glucose meter, there are differences. Specifically, the Date-and­Time-Adjustment contains individual adjustments, whereas each Time Offset is the total time adjustment applied on Base Time, up to the moment of the respective measurement.
The Date-and-Time-Adjustment is thus the difference between a given offset and the first offset received. Thus the Base Time plus first offset received in an RACP transaction (the first packet received in an RACP transaction always contains an offset) transcodes to the Absolute Time stamp and the difference between any subsequent offset and the first offset is equivalent to the cumulative date time adjustment.
3.4.2.2 Blood Glucose Objects
Each 11073-10417 object has a static TYPE related to the type of blood sample (capillary plasma, control solution etc.). The 11073-20601 Manager (Collector) obtains all the types supported by the device during configuration and creates its DIM objects based upon this information. A GATT-based Bluetooth device does not provide such information and to follow the 11073-20601 model a generic transcoder would need to populate its DIM with a numeric metric object for each of the possible supported TYPEs (a total of ten) even though only one may be used. In practice an implementation would likely create the numeric metric object on the
Bluetooth SIG Proprietary Page 33 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Metric-Spec-Small
N/A N/A N/A MetricSpecSmall
BITS-16
Bluetooth White Paper
fly as needed or obtain the information from the RACP procedures (replacing the configuration procedure of 11073-20601) and creating the DIM prior to invoking the actual data transfer.
Table 21 is the template structure for each of the ten blood glucose objects. Each object has a
different TYPE.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type
Unit-Code
Absolute-Time­Stamp
Basic-Nu­Observed-Value
Table 21: 11073-10417 Blood Glucose Numeric Class Requirements
Notes:
v16
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Each object has a different TYPE, of the ten types specified in [11]. They are related to
measurements according to Table 22:
Equivalent Characteristic
Glucose Measurement
Glucose Measurement
Glucose Measurement
Glucose Measurement
Bluetooth Service
Glucose N/A TYPE2 (INT-U16, INT-U16)
Glucose Aggregate OID-Type4 INT-U16
Glucose Aggregate AbsoluteTime5
Glucose Aggregate
Bluetooth Data Type
Attribute Type (ASN.1)
BasicNuObserved Value6
11073-20601 Data Type (informative)
3
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
Bluetooth SIG Proprietary Page 34 of 101
Type Nibble in Glucose Measurement
0x1 (capillary wholeblood) {MDC_PART_SC ADA |
0x2 (capillary plasma) {MDC_PART_ SC ADA |
0x3 (venous wholeblood) {MDC_PART_SCADA |
0x4 (venous plasma) {MDC_PART_SCADA | MDC_CONC_GLU_VENOUS_PLASMA} 0x5 (arterial wholeblood) {MDC_PART_SCAD A |
0x6 (arterial plasma) {MDC_PART_SCADA |
11073-10417 Type
MDC_CONC_GLU_CAPILLARY_WHOLEBLOOD}
MDC_CONC_GLU_CAPILLARY_PLASMA}
MDC_CONC_GLU_VENOUS_WHOLEBLOOD}
MDC_CONC_GLU_ARTERIAL_WHOLEBLOOD}
MDC_CONC_GLU_ARTERIAL_PLASMA}
Type Nibble in Glucose
Measurement
11073-10417 Type
0x7 (undetermined
{MDC_PART_SC ADA |
11073-10417 Glucose Unit Value
Bluetooth Glucose
Unit
Personal Health Devices Transcoding
Bluetooth White Paper
wholeblood) 0x8 (undetermined plasma) {MDC_PART_SCAD A |
0x9 (interstitial fluid – ISF) {MDC_PART_SCADA | MDC_CONC_GLU_ISF} 0xA (control solution) {MDC_PART_SCADA | MDC_CONC_GLU_CONTROL} 0xF (type not available) N/A
Table 22: Object Type relationship with measurement type
3. Set to 0xF040 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-
msmt-aperiodic | mss-acc-agent-initiated).
4. This value is mapped from Bit 1 of the Flags field of the Glucose Measurement characteristic.
The characteristic unit is kg/L (when flag is 0) or mol/L (when flag is 1). The transcoded units are not the same as the characteristic units, but the selection of unit codes allow conversion of measurement values by simple scaling. The mapping is as follows:
MDC_DIM_MILLI_G_PER_DL 0 mg/dL MDC_DIM_MILLI_MOLE_PER_L 1 mmol/L
Table 23: Glucose: Glucose Unit Conversion
v16
5. This value is derived from the mandatory Base Time field of Glucose Measurement
characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
MDC_CONC_GLU_UNDETERMINED_WHOLEBLOOD}
MDC_CONC_GLU_UNDETERMINED_PLASMA}
Unit Value
Description
6. This value is derived from Glucose Concentration value of Glucose Measurement
characteristic. The value shall be converted to match the selected Unit-Code. If the characteristic unit is kg/L, the transcoded unit shall be mg/dL and the units are different by a factor of 10 units are different by a factor of 10 SFLOAT exponent, respectively, without changing the mantissa.
If measurement value is above device capabilities, value shall be +INFINITY. Symmetrically, if measurement is below device capabilities, value shall be –INFINITY. Both conditions can be detected in Sensor Status Annunciation Value Field of Glucose Measurement characteristic, bits 5 and 6 respectively. Device may report a NaN or NRes value as well to signal some problem during measurement, which shall be transcoded as is.
The Sequence Number of the Glucose Measurement characteristic is equivalent to the scan­report number in scan event reports. It assures the Manager that a measurement is not lost or dropped. Its use is implementation specific. It has no influence on the measurement itself.
Bluetooth SIG Proprietary Page 35 of 101
5
. If the characteristic unit is mol/L, the transcoded unit shall be mmol/L and the
3
. Both conversions are implemented by adding 5 and 3 to
Personal Health Devices Transcoding
Bluetooth White Paper
3.4.2.3 HEMOGLOBIN BOUND TO GLUCOSE A1C FORM
This data is optionally transcoded when Glucose Measurement Context characteristic is present and the Flags field of that characteristic signals (in bit 6) that HbA1c value is present.
Note that a measurement may lack glucose concentration and still contain an HbA1c value.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16 Unit-Code N/A N/A N/A OID-Type4 INT-U16
Absolute-Time­Stamp
Basic-Nu­Observed-Value
Table 24: 11073-10417 HbA1c Numeric Class Requirements
v16
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_SCADA | MDC_CONC_HBA1C.
Bluetooth Equivalent Characteristic
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate AbsoluteTime5
Glucose Aggregate
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
BasicNuObserved Value6
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
4. Unit is MDC_DIM_PERCENT.
5. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
6. This value is derived from HbA1c value of Glucose Measurement Context characteristic.
3.4.2.4 CONTEXT EXERCISE
This data is optionally transcoded when Glucose Measurement Context characteristic is present and the Flags field of that characteristic signals (in bit 3) that exercise value is present.
Bluetooth SIG Proprietary Page 36 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16 Unit-Code N/A N/A N/A OID-Type4 INT-U16
Absolute-Time­Stamp
Measure-Active­Period
Basic-Nu­Observed-Value
Table 25: 11073-10417 Context Exercise Numeric Class Requirements
Notes:
Bluetooth Equivalent Characteristic
Glucose Measurement
Glucose Measurement Context
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate AbsoluteTime5
Glucose Aggregate FLOAT-Type6 FLOAT-Type
Glucose Aggregate
Bluetooth data type
11073-20601 Attribute Type (ASN.1)
BasicNuObserved Value7
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
v16
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_EXERCISE.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
4. Unit is MDC_DIM_PERCENT.
5. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
6. This value is derived from Exercise Duration value of Glucose Measurement Context characteristic. Value is converted to FLOAT with an exponent of 0.
7. This value is derived from Exercise Intensity value of Glucose Measurement Context characteristic. Value is converted to SFLOAT with an exponent of 0.
3.4.2.5 CONTEXT MEDICATION
This data is optionally transcoded when Glucose Measurement Context characteristic is present and the Flags field of that characteristic signals (in bit 4) that medication value is present.
Bluetooth SIG Proprietary Page 37 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Metric-Id
Unit-Code
Absolute-Time­Stamp
Basic-Nu­Observed-Value
Table 26: 11073-10417 Context Medication Numeric Class Requirements
Bluetooth Equivalent Characteristic
Glucose Measurement Context
Glucose Measurement Context
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate OID-Type4 INT-U16
Glucose Aggregate OID-Type5 INT-U16
Glucose Aggregate AbsoluteTime6
Glucose Aggregate
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
BasicNuObserved Value7
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
v16
2. Value is set to MDC_PART_PHD_DM | MDC_CTXT_MEDICATION.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
4. Value is set based on Medication ID Value field of Glucose Measurement Context characteristic, according to the following table:
Medication ID 11073-10417 Value
0x1 (rapid action insuli n) MDC_CTXT_MEDICATION_RAPIDACTING 0x2 (short acting insulin) MDC_CTXT_MEDICATION_SHORTACTING 0x3 (intermediate acting insulin) MDC_CTXT_MEDICATION_INTERMEDIATEACTING 0x4 (long acting insulin) MDC_CTXT_MEDICATION_LONGACTING 0x5 (pre-mixed insulin) MDC_CTXT_MEDICATION_PREMIX
Table 27: Medication ID and Metric ID relationship
5. Unit is set based on Medication Units Flag (bit 5 of Flags of the Glucose Measurement Context characteristic), according to the following table:
Medication Units Flag 11073-10417 Value Unit
0x0 MDC_DIM_MILLI_G mg
Bluetooth SIG Proprietary Page 38 of 101
Personal Health Devices Transcoding
Medication Units Flag
11073-10417 Value
Unit
Bluetooth White Paper
0x1 MDC_DIM_MILLI_L ml
Table 28: Medication Units Flag and Unit relationship
Note that characteristic value has unit of kilogram (kg) or liter (L), while the transcoded unit code is milligram (mg) or milliliter (mL) respectively, so the medication value needs to be converted.
6. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
7. This value is derived from Medication Value of Glucose Measurement Context characteristic. The value shall be converted to match the selected Unit-Code. If the characteristic medication unit is kg, the transcoded unit shall be mg, and the units are different by a factor of 10 characteristic medication unit is L, the transcoded unit shall be mL and the units are different by a factor of 10 respectively, without changing the mantissa.
3
. Both conversions are implemented by adding 6 and 3 to SFLOAT exponent,
6
. If the
3.4.2.6 CONTEXT CARBOHYDRATES
This data is optionally transcoded when Glucose Measurement Context characteristic is present and the Flags field of that characteristic signals (in bit 0) that carbohydrates value is present.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16
v16
Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Metric-Id
Unit-Code N/A N/A N/A OID-Type5 INT-U16
Absolute-Time­Stamp
Basic-Nu­Observed-Value
Table 29: 11073-10417 Context Carbohydrates Numeric Class Requirements
Bluetooth Equivalent Characteristic
Glucose Measurement Context
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate OID-Type4 INT-U16
Glucose Aggregate AbsoluteTime6
Glucose Aggregate
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
BasicNuObserved Value7
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_CARB.
Bluetooth SIG Proprietary Page 39 of 101
Personal Health Devices Transcoding
Carbohydrate ID
11073-10417 Value
Bluetooth
11073-20601
Bluetooth White Paper
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
4. Value is set based on Carbohydrate ID Value field of Glucose Measurement Context characteristic, accordin g to the follo wing tab le:
0x1 (breakfast) MDC_CTXT_GLU_CARB_BREAKFAST 0x2 (lunch) MDC_CTXT_GLU_CARB_LUNCH 0x3 (dinner) MDC_CTXT_GLU_CARB_DINNER 0x4 (snack) MDC_CTXT_GLU_CARB_SNACK 0x5 (drink) MDC_CTXT_GLU_CARB_DRINK 0x6 (supper) MDC_CTXT_GLU_CARB_SUPPER 0x7 (brunch) MDC_CTXT_GLU_CARB_BRUNCH
Table 30: Carbohydrate ID and Metric Id relationship
5. Unit is MDC_DIM_X_G. Note that characteristic value has unit of kilogram, while this transcoded unit code is gram, so the carbohydrate value needs to be converted.
6. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
7. This value is derived from Carbohydrate Value of Glucose Measurement Context characteristic. The characteristic unit is kg, transcoded unit is g, and the units are different by a factor of 10 Conversion is achieved by adding 3 to SFLOAT exponent, without changing the mantissa.
v16

3.4.3 Enumeration Objects

This section describes the 11073-10417 enumeration class requirements. It is restricted to those 11073 attributes that are used on the Glucose Sensor device.
3.4.3.1 Device and sensor annunciation
This data is optional l y trans coded w hen Glucos e Me asur ement characteristic contains the Sensor Sta tus Annunciation Value field.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16)
Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
3
.
11073-20601 Data Type (informative)
Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Absolute-Time­Stamp
Bluetooth SIG Proprietary Page 40 of 101
Glucose Measurement
Glucose Aggregate AbsoluteTime
(INT-U8, INT-U8,
4
INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Enum-Observed­Value-Basic-Bit-Str
Table 31: 11073-10417 Device and Sensor Annunciation Enumeration Class Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_GLU_METER_DEV_STATUS
3. Set to 0xF040 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated).
4. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
5. This value is derived from Sensor Status Annunciation Value Field of the Glucose Measurement characteristic. Bits with value 1 mean that the respective failure mode has happened at measurement time. The bitmap is composed according to Table 32:
11073-10417 Device Or Sensor Condition Bit (GlucoseDevStat)
Bit 0 is MSB
Equivalent Characteristic
Glucose Measurement
Bluetooth Service
Glucose Aggregate BITS-16
Bluetooth Data Type
Bluetooth Sensor Status Annunciation Bit
Bit 0 is LSB
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
5
BITS-16
device-battery-low (0) 0 (device batt ery low) sensor-malfunction (1) 1 (sensor malfunction)
v16
sensor-sample-size-insufficient (2) 2 (sample size insufficient, not enough
blood or control solution) sensor-strip-insertion (3) 3 (strip insertion error) sensor-strip-type-incorrect (4) 4 (strip type is incorrect) sensor-result-too-high (5) 5 (sensor result higher than device can
process) sensor-result-too-low (6) 6 (sensor result lower than device can
process) sensor-temp-too-high (7) 7 (ambient temperature too high for a
valid test/result) sensor-temp-too-low (8) 8 (ambient temperature too low for a
valid test/result) sensor-read-interrupt (9) 9 (reading was interrupted and/or strip
was pulled too soon) device-gen-fault (10) 10 (general device fault) No correspondence 11 (time fault)
Table 32: Relationship between Sensor Status Annunciation and 11073-10417 sensor condition
Bluetooth SIG Proprietary Page 41 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
For example, if the battery was low and on top of that the user pulled the strip too soon, the Sensor status value would be 0x0201 (bits 0 and 9 LSB set), and the 11073-20601 transcoded value would be 0x8040 (bits 0 and 9 MSB set).
3.4.3.2 Context meal
This data is optionally transcoded when Glucose Measurement Context characteristic is present and the respective Flags field indicates that Meal Value field is present.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Absolute-Time­Stamp
Enum-Observed­Value-Simple-OID
Table 33: 11073-10417 Context Meal Enumeration Class Requirements
Notes:
Equivalent Characteristic
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate AbsoluteTime4
Glucose Aggregate OID-Type5 INT-U16
v16
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_MEAL.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
5. This value is derived from Meal Value Field of the Glucose Measurement Context characteristic, according to Table 34:
11073-10417 Nomenclature Value Bluetooth Meal Value
MDC_CTXT_GLU_MEAL_PREPRANDIAL 0x1 (preprandial – before meal) MDC_CTXT_GLU_MEAL_POSTPRANDIAL 0x2 (postprandial – after meal) MDC_CTXT_GLU_MEAL_FASTING 0x3 (fasting) MDC_CTXT_GLU_MEAL_CASUAL 0x4 (casual – snacks, drinks etc.) MDC_CTXT_GLU_MEAL_BEDTIME 0x5 (bedtime)
Table 34: Relationship between Bluetooth Meal value and context meal enumeration
Bluetooth SIG Proprietary Page 42 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
3.4.3.3 Context sample location
This data is optionally transcoded when Glucose Measurement characteristic contains the Type/Sample Location Value field, and the Sample nibble value of this field is different from 0xF (0xF means sample location not available).
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Absolute-Time­Stamp
Enum-Observed­Value-Simple-OID
Table 35: 11073-10417 Context Sample Location Enumeration Class Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_SAMPLELOCATION
v16
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
Equivalent Characteristic
Glucose Measurement
Glucose Measurement
Bluetooth Service
Glucose Aggregate AbsoluteTime4
Glucose Aggregate OID-Type5 INT-U16
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
5. This value is derived from Sample Location nibble in Type/Sample Location Value Field of the Glucose Measurement characteristic, according to Table 36:
11073-10417 Nomenclat ure Value Bluetooth Sample Location
Nibble Value
MDC_CTXT_GLU_SAMPLELOCATION_FINGER 0x1 (finger) MDC_CTXT_GLU_SAMPLELOCATION_AST 0x2 (alternate site test) MDC_CTXT_GLU_SAMPLELOCATION_EARLOBE 0x3 (earlobe) MDC_CTXT_GLU_SAMPLELOCATION_CTRLSOLUTION 0x4 (control solution)
Table 36: Relationship between Bluetooth Sample Location and location nomenclature
Bluetooth SIG Proprietary Page 43 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
3.4.3.4 Context tester
This data is optionally transcoded when Glucose Measurement Context characteristic is present, the respective Flags field indicates that Tester/Health field is present, and Tester nibble value of this field is different from 0xF (0xF means health value not available).
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Absolute-Time­Stamp
Enum-Observed­Value-Simple-OID
Table 37: 11073-10417 Context Tester Enumeration Class Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
v16
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_TESTER.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
Equivalent Characteristic
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate AbsoluteTime4
Glucose Aggregate OID-Type5 INT-U16
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
5. This value is derived from Tester nibble in Tester/Health Value Field of the Glucose Measurement Context characteristic, according to Table 38:
11073-10417 Nomenclat ure Value Bluetooth Tester Nibble Value
MDC_CTXT_GLU_TESTER_SELF 0x1 (self) MDC_CTXT_GLU_TESTER_HCP 0x2 (health care professional) MDC_CTXT_GLU_TESTER_LAB 0x3 (lab test)
Table 38: Relationship betwe e n Bluetooth Tester value and tester nomenclature value
3.4.3.5 Context health
This data is optionally transcoded when Glucose Measurement Context characteristic is present, the respective Flags field indicates that Tester/Health field is present, and Health nibble value of this field is different from 0xF (0xF means health value not available).
Bluetooth SIG Proprietary Page 44 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-10417 Nomenclat ure Value
Bluetooth Health Nibble Value
MDC_CTXT_GLU_HEALTH_STRESS
0x4 (under stress)
Bluetooth White Paper
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Absolute-Time­Stamp
Enum-Observed­Value-Simple-OID
Table 39: 11073-10417 Context Health Enumeration Class Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CTXT_GLU_HEALTH.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmt­aperiodic | mss-acc-agent-initiated | mss-cat-manual).
Equivalent Characteristic
Glucose Measurement
Glucose Measurement Context
Bluetooth Service
Glucose Aggregate AbsoluteTime4
Glucose Aggregate OID-Type5 INT-U16
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is derived from the mandatory Base Time field of Glucose Measurement characteristic (which is mandatory), added by the optional Time Offset field of the same characteristic. See Section 3.4.2.1 for details.
v16
5. Derived from Health nibble in Tester/Health Value Field of the Glucose Measurement Context characteristic, according to Table 40:
MDC_CTXT_GLU_HEALTH_MINOR 0x1 (minor health issues) MDC_CTXT_GLU_HEALTH_MAJOR 0x2 (major health issues) MDC_CTXT_GLU_HEALTH_MENSES 0x3 (menses)
MDC_CTXT_GLU_HEALTH_NONE 0x5 (no health issues)
Table 40: Relationship between Bluetooth Health nibble in Tester/Health Value Field and Context Health
nomenclature

3.5 Weight Scale

This section defines transcoding the weight scale device-specific data into IEEE 11073-10415 Weighing Sca le [20] and IEEE 11073-10420 Body Composition [21] device specialization class attributes.
Bluetooth SIG Proprietary Page 45 of 101
Personal Health Devices Transcoding
0x10 0x0F
Specialization value = MDC_DEV_SPEC_PROFILE_SCALE
0x00 0x01
version = version 1 of the 11073-10415 device specialization
0x10 0x14
Specialization value = MDC_DEV_SPEC_PROFILE_BCA
0x00 0x01
version = version 1 of the 11073-10420 device specialization
Bluetooth White Paper

3.5.1 Device-Specific MDS class Requirements

In addition to the MDS class requirements shown in Section 2.1, Table 41 shows incremental MDS class requirements specific to this device.
11073-20601 Attribute
System-Type N/A N/A N/A TYPE1 System-Type-
Spec-List
Table 41: Device-specific MDS Class Requirements
Notes:
1. Value not present since Sys tem -Type-Spec-List exists.
2. If the Sensor exposes only the Weight Scale Service [18] the following entry is required to be added to the TypeVerList:
v16
If the Sensor exposes both the Weight Scale Service [18] and the Bo d y Com pos ition Ser vice
[19] the following entry is required to be added to the TypeVerList:
Bluetooth equivalent Characteristic
N/A N/A N/A TypeVerList2
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT­U16)
List of (INT­U16, INT-U16)

3.5.2 Weight Scale feature

The Weight Scale Feature characteristic of the Weight Scale Service contains the weight and height measurement resolutions.
Weight measurement resolution is specified by bits 3 to 6, according to Table 42. Note that resolution value is little-endian, so the LSB is bit 3 and MSB is bit 6.
Height measurement resolution is specified by bits 7 to 9, according to Table 43. Note that this resolution value is little endian as well.
Other than these resolution bits, the Weight Scale Feature characteristic of the Weight Scale Service does not contain additional information for transcoding, since it merely describes which optional features may appear in the measurement.
Bluetooth SIG Proprietary Page 46 of 101
Personal Health Devices Transcoding
0b010
0.005m/0.5in
-3
-1
Bluetooth White Paper
Weight Scale Feature Weight Measurement Resolution (bits 6, 5, 4, 3)
0b0000 Not specified -3 -2 0b0001 0.5kg/1lb -1 0 0b0010 0.2kg/0.5lb -1 -1 0b0011 0.1kg/0.2lb -1 -1 0b0100 0.05kg/0.1lb -2 -1 0b0101 0.02kg/0.05lb -2 -2 0b0110 0.01kg/0.02lb -2 -2 0b0111 0.005kg/0.01lb -3 -2 0b1000 to 0b1111 Reserved for
Table 42: Weight Scale Feature: Weight Measurement Resolution
Resolution Exponent
for kg
N/A N/A
future use
Exponent for lb
The exponent for the transcoded Weight value (Section 3.5.4.1) should be chosen according to the value of Weight Measurement Resolution bits and the measurement unit (SI or Imperial).
Weight Scale Feature Height Measurement Resolution (bits 9, 8, 7)
v16
0b000 Not specified -3 -1
Resolution Exponent
for m
Exponent for in
0b001 0.01m/1in -2 0
0b011 0.001m/0.1in -3 -1 0b100 to 0b111 Reserved for
future use
Table 43: Weight Scale Feature: Height Measurement Resolution
N/A N/A
The exponent for the transcoded Height value (Section 3.5.4.2) should be chosen according to the value of Height Measurement Resolution bits and the measurement unit (SI or Imperial).

3.5.3 Body Composition feature

The Body Composition Feature characteristic of the Body Composition Service contains the Body Mass and Height measurement resolutions.
The Mass Measurement Resolution is specified by bits 11, 12, 13 and 14, according to Table
44. Note that resolution value is little-endian, so the LSB is bit 11 and MSB is bit 14.
Bluetooth SIG Proprietary Page 47 of 101
Personal Health Devices Transcoding
Body Composition Feature
Resolution
Exponent
Exponent
0b0010
0.2kg/0.5lb
-1
-1
Bluetooth White Paper
The Height resolution is specified by bits 15, 16 and 17, according to Table 45. The resolution value is little-endian as the Mass resolution.
Note that, in the context of Weight Scale Profile, the Body Composition Service shall not include the Height and Weight fields in measurements. In the absence of Height, the Height Resolution bits of Body Composition Feature are meaningless and shall be zero.
Other than these resolution bits, the Body Composition Feature characteristic of the Body Composition Service does not contain additional information for transcoding, since it merely describes which optional features may appear in the measurement.
Mass Measurement Resolution (bits 14, 13, 12, 11)
0b0000 Not specified -3 -2 0b0001 0.5kg/1lb -1 0
0b0011 0.1kg/0.2lb -1 -1 0b0100 0.05kg/0.1lb -2 -1 0b0101 0.02kg/0.05lb -2 -2 0b0110 0.01kg/0.02lb -2 -2 0b0111 0.005kg/0.01lb -3 -2 0b1000 to 0b1111 Reserved for
v16
Table 44: Body Composition Feature: Mass Measurement Resolution
future use
for kg
N/A N/A
for lb
The exponent for the transcoded mass values (Sections 3.5.5.2, 3.5.5.3, 3.5.5.4, and 3.5.5.10) shall be set according to the value of the resolution bits and the mass measurement unit (kg or lb).
Body Composition Feature Height Measurement Resolution (bits 17, 16, 15)
Resolution Exponent
for m
Exponent for in
0b000 Not specified -3 -1 0b001 0.01m/1in -2 0 0b010 0.005m/0.5in -3 -1 0b011 0.001m/0.1in -3 -1 0b100 to 0b111 Reserved for
Table 45: Body Composition Feature: Height Measurement Resolution
Bluetooth SIG Proprietary Page 48 of 101
N/A N/A
future use
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Metric-Spec-
Weight
Bluetooth White Paper
Table 45 is supplied only for completeness. The Height Resolution bits are not transcoded in the
context of Weight Scale transcoding, as Body Composition Service does not include the Height field in this context.

3.5.4 11073-10415 Numeric CLASS Requirements

This section describes the 11073-10415 numeric class requirements. It is restricted to those 11073-20601 attributes that are used on the Weight Scale device.
3.5.4.1 Weight
Mandatory object, transcoded from Weight Measurement data. Attributes are defined in Table
46.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2
Small Unit-Code
v16
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 46: 11073-10415 Numeric Class Requirements: Weight
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
Measurement
Weight Measurement
Weight Measurement
Bluetooth Service
Weight Scale Aggregate OID-Type4 INT-U16
Weight Scale Aggregate AbsoluteTime5
Weight Scale Aggregate SimpleNuObsValue6 FLOAT-Type
Bluetooth Data Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
2. Set to {MDC_PART_SCADA, MDC_MASS_BODY_ACTUAL}.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
4. This value is mapped from Bit 0 LSB of Flags field of the Weight Measurement characteristic. The mapping is as follows in Table 47:
11073-10415 Weight Unit Value
MDC_DIM_KILO_G 0 Kilogram
Bluetooth SIG Proprietary Page 49 of 101
Bluetooth Measurement Units bit value
Weight Unit Description
Personal Health Devices Transcoding
Weight Unit
Bluetooth Measurement
Weight Unit
MDC_DIM_LB
1
Pound
Bluetooth White Paper
11073-10415
Value
Table 47: Weight Unit Type
5. When supported, this value is derived from the Time Stamp field of Weight Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Weight field of the Weight Measurement characteristic has a UINT16 format where the least significant bit represents a value of 0.005kg when the unit is set to kg, and 0.01lb when the unit is set to lb. Therefore if the unit is set to kg and the field value is e.g. 16000, this equates to a weight of 80.000 kg (16000 x 0.005). Similarly, if the unit is set to lb and the field value is e.g. 16000, this equates to a weight of 160.00lb (16000 x 0.01).
To convert this to a FLOAT, the exponent is selected according to the value of the Weight Measurement Resolution bits (see Section 3.5.2 for details) and the weight measurement unit (i.e. kg or lb). The mantissa is scaled according to the exponent. For example, if unit is kg and the measurement is 80kg (field value of 16000), and scale resolution is 0.01kg, the exponent is set to
-2 and the mantissa is set to 8000 (16000 x 0.005 x 10
In another example, if unit is lb and measurement is 160lb (field value of 16000) and scale resolution is 0.1lb, the exponent is set to -1 and the mantissa is set to 1600 (16000 x 0.01 x 10
1)
).
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the
v16
transcoded FLOAT value should be NaN, indicating that measurement is invalid.
This procedure does not result in loss of precision in the equivalent representation regardless of the selected unit.
Units bit value
-(-2)
Description
).
-(-
3.5.4.2 Height
This data is optionally transcoded when Weight Measurement characteristic contains the Height field (i.e. when bit 3 of Flags field equal to 1). Attributes are defined in Table 48.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small Unit-Code
Bluetooth SIG Proprietary Page 50 of 101
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Weight
Measurement
Bluetooth Service
Weight Scale Aggregate OID-Type4 INT-U16
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Height Unit
Bluetooth Measurement
Height Unit
Bluetooth White Paper
11073-20601 Attribute
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 48: 11073-10415 Numeric Class Requirements: Height
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_LEN_BODY_ACTUAL}.
3. Set to 0xF048 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperio dic, m ss -msmt­aperiodic, mss-acc-agent-initiated, mss-cat-manual).
4. This value is mapped from Bit 0 LSB of Flags field of the Weight Measurement characteristic. The mapping is as follows in Table 49:
Equivalent Characteristic
Weight Measurement
Weight Measurement
Bluetooth Service
Weight Scale Aggregate AbsoluteTime5
Weight Scale Aggregate SimpleNuObsValue6 FLOAT-Type
Bluetooth Data Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
11073-10415
Value
v16
5. When supported, this value is derived from the Time Stamp field of Weight Measurement
6. The Height field of the Weight Measurement characteristic has a UINT16 format where each bit
MDC_DIM_CENTI_M 0 Centimeter MDC_DIM_INCH 1 Inch
Table 49: Height Type Description Conversion
characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section Error! Reference source not found.2.2.6.
represents a value of 0.001m when the unit is set to meters, and 0.1in when the unit is set to inches. Therefore if the unit is set to meters and the field value is e.g. 1715, this equates to a height of 1.715m (1715 x 0.001). Similarly, if the unit is set to inches and the field value is e.g. 677, this equates to a height of 67.7in or 5’ 7.7”. (These are examples for scale resolutions of
0.1cm and 0.1in, respectively.)
To convert this to a FLOAT, the exponent is selected according to the value of the Height Measurement Resolution bits (see Section 3.5.2 for details) and the height measurement unit (i.e. cm or in). The mantissa is scaled according to the exponent. For example, if unit is m and the measurement is 1.720m (field value of 1720), and scale resolution is 0.01m, the exponent is set to -2 and the mantissa is set to 172 (1720 x 0.0 01 x 10
Units bit value
-(-2)
Description
).
Bluetooth SIG Proprietary Page 51 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
In another example, if unit is in and measurement is 68.0in (field value of 680) and scale resolution is 1in, the exponent is set to 0 and the mantissa is set to 68 (68 x 0.1 x 10
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
-(0)
).
3.5.4.3 Body Mass Index (BMI)
This data is optionally transcoded when Weight Measurement characteristic contains the BMI field (i.e. when bit 3 of Flags field equal to 1). Attributes are defined in Table 50.
In 11073-10415, the Height object is mandatory when the BMI object is present. In the Weight Measurement, either both Height and BMI are present or both are absent, as the presence of both is announced by the same bit of Flags field (bit 3: “BMI and Height present”).
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
v16
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 50: 11073-10415 Numeric Class Requirements: BMI
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Weight
Measurement
Weight Measurement
Weight Measurement
Bluetooth Service
Weight Scale Aggregate OID-Type4 INT-U16
Weight Scale Aggregate AbsoluteTime5
Weight Scale Aggregate SimpleNuObsValue6 FLOAT-Type
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
2. Set to {MDC_PART_SCADA, MDC_RATIO_MASS_BODY_LEN_SQ}.
3. Set to 0xF042 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated, mss-cat-calculation).
4. Set to MDC_DIM_KG_PER_M_SQ. It does not change, regardless of bit 0 in Flags field.
Bluetooth SIG Proprietary Page 52 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
5. When supported, this value is derived from the Time Stamp field of Weight Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. This value is derived from the BMI field of the Weight measurement characteristic by converting from an unsigned 16-bit integer to a FLOAT using an exponent of -1, and attributing the same numeric value of the field to the mantissa. For example, a BMI of 275 is transcoded to a FLOAT with mantissa=275 and exponent=-1. The transcoded value is equal to 27.5. This procedure does not result in loss of precision.
3.5.4.4 User ID
Weight Measurement contains a User ID field when the bit 2 LSB of Flags field of the characteristic is set to 1.
The 11073-20601 Person-ID is of type INT-U16, while the User ID from the Weight Measurement characteristic is one octet, unsigned. When the User ID is in range 0x00 to 0xFE, conversion shall keep the numeric value. For example, User ID 0x02 would be transcoded to Person-ID 0x0002, and 0x85 would be transcoded to 0x0085.
When the User ID is 0xFF (unknown or guest user) it shall be transcoded to 0xFFFF (unknown­person-id).
The use of the Person ID is unspecified in 11073-20601 and is implementation specific. Depending upon the implementation, if the User-ID is absent in the characteristic value it may be ignored or transcoded to the unknown-person-id (0xFFFF).
v16

3.5.5 11073-10420 Numeric CLASS Requirements

This section describes the 11073-10420 numeric class requirements. It is restricted to those 11073-20601 attributes that are used on the Body Composition Analyzer features of the Weight Scale device.
The 11073-10420 specialization has three mandatory numeric objects: Weight, Height and Body Fat. Since Weight is also mandatory for 11073-10415 (Weight Scale), it is already satisfied by Section 3.5.4.1. In the other hand, Height is optional for Weight Scale.
Body Composition measurements depend on two conditions to be transcodable:
Height and BMI are exposed by Weight Scale Service;
At least the Height object (Section 3.5.4.2) is implemented by the transcoder.
The class definitions for Weight and Height objects are exactly the same in 11073-10415 and 11073-10420. They are specified in Sections 3.5.4.1 and 3.5.4.2.
Likewise, the optional Body Mass Index object has the same class definition in both specializations and is specified in Section 3.5.4.3.
Bluetooth SIG Proprietary Page 53 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
In the context of Weight Scale devices, Weight and Height can only be exposed by the Weight Scale Service, not by the Body Composition Service. Therefore, the data source for Weight and Height is always the Weight Scale Service.
Any given measurement may be transmitted (indicated) in two pieces, to cover the situation when data would not fit in a single indication packet (case of e.g. Low Energy transport when the default ATT_MTU is used). The transcoder should handle the two-part measurement as if it were single-part. See Section 3.5.5.12 for details.
3.5.5.1 Body Fat Percentage
This mandatory object is transcoded from Body Composition Measurement. While 11073-10420 allows body fat to be expressed either in percentage or absolute weight units, the Body Composition Service always uses percentage.
Attributes are defined in Table 51.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
v16
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 51: 11073-10420 Numeric Class Requirements: Body Fat
Notes:
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_BODY_FAT}.
3. Set to 0xF042 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated, mss-cat-calculation).
4. Set to MDC_DIM_PERCENT.
Bluetooth SIG Proprietary Page 54 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
(INT-U8, INT-U8,
Bluetooth White Paper
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. This value is derived from the Body Fat Percentage field of the Body Composition Measurement characteristic by converting from an unsigned 16-bit integer to a FLOAT using an exponent of -1, and attributing the same numeric value of the field to the mantissa. For example, a Body Fat Percentage of 275 is transcoded to a FLOAT with mantissa=275 and exponent=-1. The transcoded value is equal to 27.5.This procedure does not result in loss of precision.
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful, and it should be transcoded as a FLOAT NaN. This indicates that the measurement is invalid.
3.5.5.2 Fat Free Mass
This data is optionally transcoded when bit 6 of Flags field in Body Composition Measurement is set to 1. Attributes are defined in Table 52.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
v16
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 52: 11073-10420 Numeric Class Requirements: Fat Free Mass
Notes:
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U16, INT-U16)
INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
Bluetooth SIG Proprietary Page 55 of 101
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_MASS_BODY_FAT_FREE}.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Bluetooth White Paper
4. This value is mapped from Bit 0 LSB of Flags field of the Body Composition Measurement characteristic. The mapping is as follows in Table 53:
11073-10420 Mass Unit Value
MDC_DIM_KILO_G 0 Kilogram MDC_DIM_LB 1 Pound
Table 53: Mass Type Description Conversion
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Fat Free Mass field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 0.005k g when the unit is set to kg, and 0.01lb when the unit is set to lb. Therefore if the unit is set to kg and the field value is e.g. 16000, this equates to a mass of 80.000 kg (16000 x 0.005). Similarly, if the unit is set to lb and the field value is e.g. 16000, this equates to a mass of 160.00lb (16000 x 0.01).
To convert this to a FLOAT, the exponent is selected according to the value of the Mass Measurement Resolution bits (see Section 3.5.3 for details) and the mass measurement unit (i.e. kg or lb). The mantissa is scaled according to the exponent. For example, if unit is kg and the measurement is 80kg (field value of 16000), and scale resolution is 0.01kg, the exponent is set to
-2 and the mantissa is set to 8000 (16000 x 0.005 x 10
In another example, if unit is lb and measurement is 160lb (field value of 16000) and scale
v16
resolution is 1lb, the exponent is set to -1 and the mantissa is set to 1600 (16000 x 0.01 x 10
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
Bluetooth Measurement Units bit value
-(-2)
).
Mass Unit Description
-(-1)
).
3.5.5.3 Soft Lean Mass
This data is optionally transcoded when bit 7 of Flags field in Body Composition Measurement is set to 1. Attributes are defined in Table 54.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
Bluetooth SIG Proprietary Page 56 of 101
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U16, INT-U16)
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Mass Unit
Bluetooth Measurement
Mass Unit Description
MDC_DIM_LB
1
Pound
Bluetooth White Paper
11073-20601 Attribute
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 54: 11073-10420 Numeric Class Requirements: Soft Lean Mass
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_MASS_BODY_SOFT_LEAN}.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss -msmt­aperiodic, mss-acc-agent-initiated).
Equivalent Characteristic
Body Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is mapped from Bit 0 LSB of Flags field of the Body Composition Measurement characteristic. The mapping is as follows in Table 55:
v16
11073-10420
Value
MDC_DIM_KILO_G 0 Kilogram
Table 55: Mass Type Description Conversion
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Soft Lean Mass field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 0.005kg when the unit is set to kg, and 0.01lb when the unit is set to lb. Therefore if the unit is set to kg and the field value is e.g. 16000, this equates to a mass of 80.000 kg (16000 x 0.005). Similarly, if the unit is set to lb and the field value is e.g. 16000, this equates to a mass of 160.00lb (16000 x 0.01).
To convert this to a FLOAT, the exponent is selected according to the value of the Mass Measurement Resolution bits (see Section 3.5.3 for details) and the mass measurement unit (i.e. kg or lb). The mantissa is scaled according to the exponent. For example, if unit is kg and the measurement is 80kg (field value of 16000), and scale resolution is 0.01kg, the exponent is set to
Units bit value
Bluetooth SIG Proprietary Page 57 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
-2 and the mantissa is set to 8000 (16000 x 0.005 x 10
In another example, if unit is lb and measurement is 160lb (field value of 16000) and scale resolution is 0.1lb, the exponent is set to -1 and the mantissa is set to 1600 (16000 x 0.01 x 10
1)
).
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
-(-2)
).
-(-
3.5.5.4 Body Water Mass
This data is optionally transcoded when bit 8 of Flags field in Body Composition Measurement is set to 1. Attributes are defined in Table 56.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
Metric-Spec­Small
Unit-Code
v16
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 56: 11073-10420 Numeric Class Requirements: Body Water Mass
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, MDC_MASS_BODY_WATER}.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Body Composition
Body Composition
Body Composition
Aggregate OID-Type4 INT-U16
(INT-U8, INT-U8,
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
4. This value is mapped from Bit 0 LSB of Flags field of the Body Composition Measurement characteristic. The mapping is as follows in Table 57:
Bluetooth SIG Proprietary Page 58 of 101
Personal Health Devices Transcoding
Mass Unit
Bluetooth Measurement
Mass Unit Description
MDC_DIM_KILO_G
0
Kilogram
Bluetooth White Paper
11073-10420
Value
MDC_DIM_LB 1 Pound
Table 57: Mass Type Description Conversion
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Body Water Mass field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 0.005kg when the unit is set to kg, and 0.01lb when the unit is set to lb. Therefore if the unit is set to kg and the field value is e.g. 16000, this equates to a mass of 80.000 kg (16000 x 0.005). Similarly, if the unit is set to lb and the field value is e.g. 16000, this equates to a mass of 160.00lb (16000 x 0.01).
To convert this to a FLOAT, the exponent is selected according to the value of the Mass Measurement Resolution bits (see Section 3.5.3 for details) and the mass measurement unit (i.e. kg or lb). The mantissa is scaled according to the exponent. For example, if unit is kg and the measurement is 80kg (field value of 16000), and scale resolution is 0.01kg, the exponent is set to
-2 and the mantissa is set to 8000 (16000 x 0.005 x 10
In another example, if unit is lb and measurement is 160lb (field value of 16000) and scale resolution is 0.1lb, the exponent is set to -1 and the mantissa is set to 1600 (16000 x 0.01 x 10
1)
).
v16
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
Units bit value
-(-2)
).
-(-
3.5.5.5 WEIGHT
This value in Body Composition Measurement (present when bit 10 of Flags field is equal to 1) is not used in the Body Composition Service in the context of the Weight Scale Profile, since the weight information comes from the Weight Measurement characteristic (see Section 3.5.4.1).
3.5.5.6 HEIGHT
This value in Body Composition Measurement (present when bit 11 of Flags field is equal to 1) is not used in the Body Composition Service in the context of the Weight Scale Profile, since the height information comes from the Weight Measurement characteristic (see Section 3.5.4.2).
3.5.5.7 Impedance
This value is optionally transcoded when bit 9 of the Flags field in the Body Composition Measurement is set to 1. Attributes are defined in Table 58.
This attribute is not specified in the current version of the 11073-10420 specialization.
Bluetooth SIG Proprietary Page 59 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 58: Numeric Class: Impedance
Notes:
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
v16
2. Set to “Body electrical impedance” {MDC_PART_SCADA, 57708}. This unit code has been reserved but does not have a Ref ID yet.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
4. Set to MDC_DIM_X_OHM.
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Impedance field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 0.1 ohm. It is transcoded to FLOAT by setting the exponent to -1 and attributing the unchanged numeric value from the Impedance field to the mantissa.
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
3.5.5.8 Basal Metabolism
This value is optionally transcoded when bit 3 of the Flags field in the Body Composition Measurement is set to 1. Attributes are defined in Table 59.
Bluetooth SIG Proprietary Page 60 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
This attribute is not specified in the current version of the 11073-10420 specialization.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
Table 59: Numeric Class: Basal Metabolism
Notes:
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
v16
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, 57696}. This unit code has been reserved but does not have a Ref ID yet.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss -msmt­aperiodic, mss-acc-agent-initiated).
4. Set to MDC_DIM_JOULES.
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Basal Metabolism field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 1kJ. It is transcoded to FLOAT, by setting the exponent to +3 and attributing the unchanged numeric value from the field to the mantissa.
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
Bluetooth SIG Proprietary Page 61 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
11073-20601
Metric-Spec-
Body
Bluetooth White Paper
3.5.5.9 Muscle Percentage
This value is optionally transcoded when bit 4 of the Flags field in the Body Composition Measurement is set to 1. Attributes are defined in Table 60.
This attribute is not specified in the current version of the 11073-10420 specialization.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2
Small
Unit-Code
Absolute-Time­Stamp
Simple-Nu­Observed-Value
v16
Table 60: Numeric Class: Muscle Percentage
Notes:
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
Composition Measurement
Body Composition Measurement
Body Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
Attribute Type (ASN.1)
Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, 57700}. This unit code has been reserved but does not have a Ref ID yet.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
4. Set to MDC_DIM_PERCENT.
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Muscle Percentage field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value 0.1%. It is converted to FLOAT by setting the exponent to -1 and attributing the unchanged numeric value from the field to the mantissa.
Bluetooth SIG Proprietary Page 62 of 101
Personal Health Devices Transcoding
Body
Bluetooth White Paper
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
3.5.5.10 Muscle Mass
This value is optionally transcoded when bit 5 of the Flags field in the Body Composition Measurement is set to 1. Attributes are defined in Table 61.
This attribute is not specified in the current version of the 11073-10420 specialization.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 Metric-Spec-
Small
Unit-Code
Absolute-Time­Stamp
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 Body
Composition Measurement
Body Composition Measurement
v16
Simple-Nu­Observed-Value
Table 61: Numeric Class: Muscle Mass
Notes:
Composition Measurement
Bluetooth Service
Body Composition
Body Composition
Body Composition
Bluetooth Data Type
Aggregate OID-Type4 INT-U16
Aggregate AbsoluteTime5
Aggregate SimpleNuObsValue6 FLOAT-Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U16, INT-U16)
(INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8, INT-U8)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Set to {MDC_PART_SCADA, 57704}. This unit code has been reserved but does not have a Ref ID yet.
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmt­aperiodic, mss-acc-agent-initiated).
4. This value is mapped from Bit 0 LSB of Flags field of the Body Composition Measurement characteristic. The mapping is as follows in Table 62:
Bluetooth SIG Proprietary Page 63 of 101
Personal Health Devices Transcoding
Mass Unit
Bluetooth Measurement
Mass Unit Description
MDC_DIM_KILO_G
0
Kilogram
Bluetooth White Paper
11073-10420
Value
MDC_DIM_LB 1 Pound
Table 62: Mass Type Description Conversion
5. When supported, this value is derived from the Time Stamp field of Body Composition Measurement characteristic. Time Stamp field is present when bit 1 LSB of Flags field in characteristic is set to1. See Section 2.2.6.
6. The Muscle Mass field of the Body Composition Measurement characteristic has a UINT16 format where each bit represents a value of 0.005kg when the unit is set to kg, and 0.01lb when the unit is set to lb. Therefore if the unit is set to kg and the field value is e.g. 16000, this equates to a mass of 80.000 kg (16000 x 0.005). Similarly, if the unit is set to lb and the field value is e.g. 16000, this equates to a mass of 160.00lb (16000 x 0.01).
To convert this to a FLOAT, the exponent is selected according to the value of the Mass Measurement Resolution bits (see Section 3.5.3 for details) and the mass measurement unit (i.e. kg or lb). The mantissa is scaled according to the exponent. For example, if unit is kg and the measurement is 80kg (field value of 16000), and scale resolution is 0.01kg, the exponent is set to
-2 and the mantissa is set to 8000 (16000 x 0.005 x 10
Units bit value
-(-2)
).
In another example, if unit is lb and measurement is 160lb (field value of 16000) and scale resolution is 0.1lb, the exponent is set to -1 and the mantissa is set to 1600 (16000 x 0.01 x 10
1)
).
v16
If the field value is 0xFFFF (65535), this means that the measurement was unsuccessful and the transcoded FLOAT value should be NaN, indicating that measurement is invalid.
3.5.5.11 User ID
User ID is present in Body Composition Measurement when bit 1 of Flag fields is equal to 1. The 11073-20601 Person-ID is of type INT-U16, while the User ID from the Body Composition
Measurement characteristic is one octet, unsigned. When the User ID is in range 0x00 to 0xFE, conversion shall keep the numeric value. For example, User ID 0x02 would be transcoded to Person-ID 0x0002, and 0x85 would be transcoded to 0x0085.
When the User ID is 0xFF (unknown or guest user) it shall be transcoded to 0xFFFF (unknown­person-id).
The use and interpretation of the Person ID in 11073-20601 is implementation-specific. Depending upon the implementation, if the User-ID is absent in the characteristic value it may be ignored or transcoded to the unknown-person-id (0xFFFF).
-(-
3.5.5.12 Multiple Packet Measurement flag
The bit 12 in Flags field in Body Composition Measurement, when is equal to 1, informs that the measurement data is being sent in two pieces (i.e. two consecutive indications).
Bluetooth SIG Proprietary Page 64 of 101
Personal Health Devices Transcoding
(INT-U16, INT-
Bluetooth White Paper
Both first and second indications have the bit 12 equal to 1;
The second indication contains the optional fields that did not fit in the first indication but
belong to the same measurement. The respective bits in Fields flag are set accordingly;
If the service supports Time Stamp and/or User ID, these fields are present only in the
first indication;
The mandatory Body Fat Percentage field is present in both indications, containing the
same value.
The transcoder should detect the multiple-packet flag, wait for the second indication and handle the pair of indications as if it were a single-packet measurement.

3.6 Continuous Glucose Monitoring

This section defines transcoding of the continuous glucose monitoring device-specific data into IEEE 11073-10425 Continuous Glucose Monitor device specialization [22] class attributes.
The Continuous Glucose Monitoring Service communicates observations using notification and indications, which will be transcoded as agent-init events. In addition, stored observations retrieved using the Record Access Control Point (RACP) will be transcoded to agent-init events.

3.6.1 Device-Specific MDS class Requirements

In addition to the MDS class requirements shown in Section 2.1, Table 63 shows incremental MDS class requirements specific to this device.
v16
11073-20601 Attribute
System-Type N/A N/A N/A TYPE1 System-Type-
Spec-List
Table 63: Device-specific MDS Class Requirements
Notes:
1. Value is not present since System-Type-Spec-List exists.
2. Since the “Continuous Glucose Monitoring Service” [23] entries are required to be added to the TypeVerList:
Bluetooth Equivalent Characteristic
N/A N/A N/A TypeVerList2
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
is a “Primary Service”, the following
11073-20601 Data Type (informative)
U16) List of (INT-
U16, INT-U16)
0x10 0x1A Specialization value = MDC_DEV_SPEC_PROFILE_CGM 0x00 0x01 version = version 1 of the 11073-10425 device specialization
Bluetooth SIG Proprietary Page 65 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
The Date-and-Time attribute (specified in Section 2.1 and described in detail in Sections
2.2.6) is required since the Continuous Glucose Monitoring (CGM) Service has stored data.
2.2.4 and

3.6.2 11073-10425 Numeric CLASS Requirements

This section describes the 11073-10425 numeric class requirements. It is restricted to those 11073-10425 attributes that are used on the Continuous Glucose Monitoring device.
3.6.2.1 Derivation of Base-Offset time stamp
The Base-Offset-Time-Stamp attribute of each observation is derived either from the collector’s time or from the mandatory CGM Session Start Time characteristic’s Session Start Time, Time Zone, DST - Offset fields plus the observation’s Time O ffset field value. The observation’s Time Offset field is the relative time difference in minutes for that observation from the Session Start Time field.
In the case of the CGM Specific Ops Control Point procedures where the observation response does not have a Time Offset field, the Base-Offset-Time-Stamp attribute will be derived from the collector’s time at the time of collection. In the case of the CGM Session Run Time field in the CGM Session Run Time characteristic, the Base-Offset-Time-Stamp attribute will be derived from CGM Session Start Time characteristic’s Session Start Time, Time Zone, DST - Offset fields. In all other cases, the Base-Offset-Time-Stamp attribute will be derived from the Session Start Time, Time Zone, DST – Offset fields with the addition of the observation’s Time Offset field.
v16
3.6.2.2 Glucose Numeric Object
This is a mandatory object to be transcoded from a continuous glucose monitor. The Glucose numeric object of 11073-10425 has a static TYPE related to the type of fluid being sampled (interstitial fluid, capillary plasma, etc.). The 11073-20601 Manager (Collector) obtains the types supported by the device during configuration and creates its domain information model (DIM) objects based upon this information. A GATT-based Bluetooth device does not provide such information and to follow the 11073-20601 model a generic transcoder may choose to populate its DIM with a numeric metric object for each of the possible supported TYPEs even though only one type may be used. Alternatively, an implementation could create the glucose objects as needed at run-time time after obtaining the TYPE from the CGM Feature Characteristic as described in
Table 65.
The CGM Quality field of the CGM Measurement characteristic is not transcodable.
Table 64 is the template structure for the Glucose numeric object.
11073-20601 Attribute
Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Bluetooth SIG Proprietary Page 66 of 101
Personal Health Devices Transcoding
Handle
N/A
N/A
N/A
HANDLE1
INT-U16
0x5 (arterial wholeblood)
{MDC_PART_SC ADA |
0x6 (arterial plasma)
{MDC_PART_SC ADA |
Bluetooth White Paper
Type CGM Feature CGM Aggregate TYPE2 (INT-U16, INT-U16) Supplement-
Types Metric-Spec-
Small Measurement-
Status Unit-Code N/A N/A N/A OID-Type6 INT-U16
Base-Offset­Time-Stamp
Basic-Nu­Observed-Value
Threshold­Notification-Text­String
Table 64: 11073-10425 Glucose Numeric Object Requirements
Notes:
CGM Feature CGM Aggregate SupplementalTypeList3
N/A N/A N/A MetricSpecSmall4 BITS-16 CGM
Measurement
CGM Measurement & CGM Session Start Time
CGM Measurement
CGM Measurement
CGM Aggregate MeasurementStatus5 BITS-16
CGM Aggregate BaseOffsetTime7
CGM Aggregate BasicNuObsValue8 SFLOAT-Type
CGM Aggregate OCTET STRING9 OCTET STRING
List of (INT-U16, INT-U16)
(INT-U32, INT-U16, INT-U16)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
v16
2. Each object has a different TYPE, of the types specified in [22]. They are related to measurements according to Table 65:
Type Nibble in CGM Feature 11073-10425 Glucose Numeric Type
0x1 (capillary wholeblood) { MDC _ PAR T _ SC ADA |
MDC_CONC_GLU_CAPILLARY_WHOLEBLOOD}
0x2 (capillary plasma) {MDC_PART_SCADA |
MDC_CONC_GLU_CAPILLARY_PLASMA}
0x3 (venous wholeblood) {MDC_PART_SCADA |
MDC_CONC_GLU_VENOUS_WHOLEBLOOD}
0x4 (venous plasma) {MDC _ PART_SCADA |
MDC_CONC_GLU_VENOUS_PLASMA}
MDC_CONC_GLU_ARTERIAL_WHOLEBLOOD}
MDC_CONC_GLU_ARTERIAL_PLASMA}
0x7 (undetermined wholeblood) {MDC_PART_SCADA |
MDC_CONC_GLU_UNDETERMINED_WHOLEBLOOD}
Bluetooth SIG Proprietary Page 67 of 101
Personal Health Devices Transcoding
Type Nibble in CGM Feature
11073-10425 Glucose Nu meric Type
0xA (control solution)
{MDC_PART_SCADA | MDC_CONC_GLU_CONTROL}
Sample location
11073-10425 Glucose Numeric Supplemental-Types
0x4 (control solution)
{MDC_PART_PHD_DM |
0x5 (subcutaneous
{MDC_PART_PHD_DM |
Bluetooth White Paper
0x8 (undetermined plasma) {MDC_PART_SCADA |
MDC_CONC_GLU_UNDETERMINED_PLASMA}
0x9 (interstitial fluid – ISF) {MDC_PART_SCADA | MDC_CONC_GLU_ISF}
Table 65: Object Type relationship with measurement type
3. Each object may have a different supplemental type, which indicates the sample location and is specified in [22]. They are related to glucose measurement sample locations according to Table
:
66
Nibble in CGM Feature
0x1 (finger) {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_FINGER}
0x2 (alternative site test) {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_AST}
0x3 (earlobe) {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_EARLOBE}
MDC_CTXT_GLU_SAMPLELOCATION_CTRLSOLUTION}
tissue)
v16
0xF (sample location value not available)
Table 66: Object supplemental type relationship with sample location
4. Set to 0xC042 (mss-avail-intermittent | mss-avail-stored-data | mss-acc-agent-initiated | mss-cat­calculation).
5. Each Glucose object may have a different measurement status and the Measurement-Status attribute value can be determined from the Sensor Status Annunciation Field. The IEEE Measurement-Status attribute is an observational attribute and only has meaning for the observation in which it is sent. The absence of the Measurement-Status attribute or setting bit 8 (validated-data) implies a good measurement. Setting bit 1 (questionable) shall indicate that the measurement is not reliable. Table 67 Measurement-Status attribute.
Sensor Status Annunciation bit (LSB) in CGM Measurement
MDC_CTXT_GLU_SAMPLELOCATION_SUBCUTANEOUS} {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_UNDERTERMINED}
relates the Sensor Status Annunciation Field to the
11073-10425 Glucose Nu meric Measurement-Status
11 (calibration required) Set bit 1 (questionable) 12 (sensor temperature too high for valid test/result
at time of measurement)
Bluetooth SIG Proprietary Page 68 of 101
Set bit 0 (invalid)
Personal Health Devices Transcoding
Sensor Status Annunciation bit (LSB) in CGM
11073-10425 Glucose Nu meric
13 (sensor temperature too low for valid test/result
Set bit 0 (invalid)
Bluetooth White Paper
Measurement
at time of measurement) 16 (Sensor result lower than the Patient Low level) Set bit 14 (measurement outside
17 (Sensor result higher than the Patient Low level) Set bit 14 (measurement outside
18 (Sensor result lower than the Hypo level) Set bit 14 (measurement outside
19 (Sensor result higher than the Hyper level) Set bit 14 (measurement outside
22 (sensor result lower than the device can process)
23 (sensor result higher than the device can process)
Table 67: Glucose numeric object Measurement-Status relationship with Sensor Status Annunciation
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as such, the Unit­Code attribute shall be transcoded to MDC_DIM_MILLI_G_PER_DL.
7. Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM measurement characteristic. See Section 3.6.2.1
for details.
Measurement-Status
threshold boundaries)
threshold boundaries)
threshold boundaries)
threshold boundaries) Set bit 0 (invalid)
Set bit 0 (invalid)
v16
8. The Basic-Nu-Observed-Value attribute value is the CGM Glucose Concentration value of the CGM Measurement characteristic. If the measurement is below device capabilities, value shall be -INFINITY. Symmetrically, if measurement is above device capabilities, value shall be +INFINITY. Both conditions can be detected in Sensor Status Annunciation Field of CGM Measurement characteristic, bits 22 and 23 respectively. Device may report a NaN or NRes value as well to signal some problem during measurement, which shall be transcoded as is.
9. The Threshold-Notification-Text-String attribute provides a user readab le desc r ipt ion of the threshold notification and can be determined from bits 16 through 19 of the Sensor Status Annunciation Field in the CGM measurement.
3.6.2.3 Sensor Calibration Numeric Object
If calibration support is indicated in the CGM Feature characteristic (bit 0), the Sensor Calibration numeric object of 11073-10425 shall be reported when the Glucose Calibration procedure has been executed using the CGM Specific Ops Control Point Characteristic or the calibration bit is set in the sensor status field.
Table 68 is the template structure for the Sensor Calibration numeric object.
Bluetooth SIG Proprietary Page 69 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16)
Supplement­Types
Metric-Spec­Small
Measurement­Status
Unit-Code N/A N/A N/A OID-Type6 INT-U16
Base-Offset­Time-Stamp
Basic-Nu­Observed-Value
Table 68: 11073-10425 Sensor Calibration Numeric Object Requirements
v16
Notes:
Equivalent Characteristic
CGM Specific Ops Control Point
N/A N/A N/A MetricSpecSmall4 BITS-16 CGM Specific
Ops Control Point
CGM Specific Ops Control Point & CGM Session Start Time
CGM Specific Ops Control Point
Bluetooth Service
CGM Aggregate SupplementalTypeList3
CGM Aggregate MeasurementStatus5 BITS-16
CGM Aggregate BaseOffsetTime7
CGM Aggregate BasicNuObsValue 8 SFLOAT-Type
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
List of (INT-U16, INT-U16)
(INT-U32, INT-U16, INT-U16)
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CGM_SENSOR_CALIBRATION.
3. Each object may have a different supplemental type, which indicates the sample location and are specified in [22]. They are related to glucose measurement sample locations according to Table
69:
Sample location Nibble in Calibration Data Record
0x1 (finger) {MDC_PART_PHD_DM |
0x2 (alternative site test) {MDC_PART_PHD_DM |
0x3 (earlobe) {MDC_PART_PHD_DM |
Bluetooth SIG Proprietary Page 70 of 101
11073-10425 Sensor Calibration Numeric Supplemental­Types
MDC_CTXT_GLU_SAMPLELOCATION_FINGER}
MDC_CTXT_GLU_SAMPLELOCATION_AST}
MDC_CTXT_GLU_SAMPLELOCATION_EARLOBE}
Personal Health Devices Transcoding
Sample location
11073-10425 Sensor Calibration Numeric Supplemental-
Bluetooth White Paper
Nibble in Calibration Data Record
0x4 (control solution) {MDC_PART_PHD_DM |
0x5 (subcutaneous tissue)
0xF (sample location value not available)
Table 69: Object supplemental type relationship with sample loca tion
4. Set to 0x6044 (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat­setting) when the Glucose Calibration procedure has been executed. Otherwise set to 0x604C (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat-manual | mss-cat­setting) when the calibration was updated manually by the user.
5. Set to 0x8000 (invalid) when setting the calibration value was not successful, which can be determined if either bit 0 (calibration data rejected) or bit 1 (calibration data out-of-range) of the Calibration Status field in the Calibration Data Record is true. Set to 0x1000 (calibration-ongoing) when bit 2 (calibration process pending) of the Calibration Status field is true. T he abs ence of the Measurement-Status attribute or a value of 0x0080 (validated-data) implies a calibration was set successfully.
Types
MDC_CTXT_GLU_SAMPLELOCATION_CTRLSOLUTION} {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_SUBCUTANEOUS} {MDC_PART_PHD_DM |
MDC_CTXT_GLU_SAMPLELOCATION_UNDERTERMINED}
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as such, the Unit­Code attribute shall be transcoded to MDC_DIM_MILLI_G_PER_DL.
v16
7. Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Calibration Time field of the Calibration Data Record. See Section
3.6.2.1
for details.
8. The Basic-Nu-Observed-Value attribute value is the Glucose Concentration of Calibration field value of the Calibration Data Record.
3.6.2.4 Sensor Run-time Numeric Object
The CGM Session Run-time is a mandatory characteristic for the CGM service and shall be transcoded to the Sensor Run-time numeric object. Both values indicate the run-time of the sensor in hours from a reference time. The reference time for the CGM Session Run-Time is the CGM Session Start Time. The reference time for the Sensor Run-time numeric object is its Base-Offset-Time-Stamp attribute.
Table 70 is the template structure for the Sensor run-time numeric object.
11073-20601 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Handle N/A N/A N/A HANDLE1 INT-U16
Bluetooth SIG Proprietary Page 71 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-
Small Unit-Code N/A N/A N/A OID-Type4 INT-U16 Base-Offset-
Time-Stamp Simple-Nu-
Observed-Value
Table 70: 11073-10425 Sensor Run-time Numeric Object Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CGM_SENSOR_RUN_TIME.
3. Set to 0x7046 (mss-upd-aperiodic | mss-msmt-aperiodic | mss-acc-agent-initiated | mss-cat­calculation | mss-avail-stored-data | mss-cat-setting).
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
CGM Session Start Time
CGM Session Run-time
Bluetooth Service
CGM Aggregate BaseOffsetTime5
CGM Aggregate SimpleNuObsValue 6 FLOAT-Type
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U32, INT-U16, INT-U16)
4. Value set MDC_DIM_HR.
5. Base-Offset-Time-Stamp attribute value is the CGM Session Start Time characteristic. See Section 3.6.2.1
for details.
v16
6. The Simple-Nu-Observed-Value attribute value is derived from the CGM Session Run-time field, which reports a 16-bit unsigned integer. This value is converted to FLOAT-Type for transcoding using an exponent of 0.
3.6.2.5 Glucose Sampling Interval Numeric Object
The Glucose Sampling Interval numeric object of 11073-10425 shall be reported when the CGM Communication Interval procedure is executed using the CGM Specific Ops Control Point Characteristic. Both the Glucose Sampling Interval numeric object and CGM Communication Interval procedure report the interval in minutes.
Table 71 is the template structure for the Glucose Sampling Interval numeric object.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16)
Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Metric-Spec­Small
Bluetooth SIG Proprietary Page 72 of 101
N/A N/A N/A MetricSpecSmall3 BITS-16
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Unit-Code N/A N/A N/A OID-Type4 INT-U16 Base-Offset-
Time-Stamp Basic-Nu-
Observed-Value
Table 71: 11073-10425 Sensor Run-time Numeric Object Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CGM_SENSOR_SAMPLE_INTERVAL.
3. Set to 0x6044 (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat­setting) when the CGM Communication Interval procedure has been executed. Otherwise set to 0x604C (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat-manual | mss-cat-setting) when the communication interval was updated manually by the user.
4. Value set MDC_DIM_MIN.
Equivalent Characteristic
N/A N/A N/A BaseOffsetTime5 CGM Specific
Ops Control Point
Bluetooth Service
CGM Aggregate BasicNuObsValue 6 SFLOAT-Type
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U32, INT-U16, INT-U16)
5. Base-Offset-Time-Stamp attribute value is determined at the time of collection by the collector’s time. See Section
v16
6. The Basic-Nu-Observed-Value attribute value is derived from the CGM Communication Interval procedure, which reports an 8-bit unsigned integer. This value is converted to SFLOAT-Type for transcoding using an exponent of 0.
3.6.2.1 for details.
3.6.2.6 Glucose trend Numeric Object
If CGM trend information support is indicated in the CGM Feature characteristic (bit 15), the Glucose Trend numeric object of 11073-10425 shall be reported.
Table 72 is the template structure for the Glucose Trend numeric object.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-
Small Measurement-
Status
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16 CGM
Measurement
Bluetooth Service
CGM Aggregate MeasurementStatus4 BITS-16
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Bluetooth SIG Proprietary Page 73 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Unit-Code N/A N/A N/A OID-Type5 INT-U16
Base-Offset­Time-Stamp
Basic-Nu­Observed-Value
Threshold­Notification-Text­String
Table 72: 11073-10425 Gluco se Sampl ing Interval Numeric Object Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CONC_GLU_TREND.
3. Set to 0xF042 (mss-avail-intermittent | mss-upd-aper iodic | mss-msmt-aperiodic | mss-acc-agent­initiated | mss-cat-calculation | mss-avail-stored-data).
Equivalent Characteristic
CGM Measurement & CGM Session Start Time
CGM Measurement
CGM Measurement
Bluetooth Service
N/A Aggregate BaseOffsetTime6
CGM Aggregate BasicNuObsValue 7 SFLOAT-Type
CGM Aggregate OCTET STRING8 OCTET STRING
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(INT-U32, INT-U16, INT-U16)
4. Each Glucose Trend numeric object may have a different measurement status and the
v16
Measurement-Status attribute value can be determined from the Sensor Status Annunciation Field. The IEEE Measurement-Status attribute is an observational attribute and only has meaning for the observation in which it is sent. the Measurement-Status attribute.
Sensor Status Annunciation bit (LSB) in CGM Measurement
20 (Sensor Rate of Decrease exceeded) Set bit 14 (measurement outside
21 (Sensor Rate of Decrease exceeded) Set bit 14 (measurement outside
Table 73: Glucose Trend numeric object Measurement-Status relationship with Sensor Status
Annunciation
5. Value set MDC_DIM_MILLI_G_PER_DL_PER_MIN.
6. Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM measurement characteristic. SeeSection 3.6.2.1
7. The Basic-Nu-Observed-Value attribute value is the CGM Trend Information Field value of the CGM Measurement characteristic.
for details.
Table 73 relates the Sensor Status Annunciation Field to
11073-10425 Glucose Trend Numeric Measurement-Status
threshold boundaries)
threshold boundaries)
Bluetooth SIG Proprietary Page 74 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
8. The Threshold-Notification-Text-String attribute provides a user readable description of the threshold notification and can be determined from bits 20 and 21 of the Sensor Status Annunciation Field in the CGM measurement.
3.6.2.7 Patient low/high thresholds Compound Numeric Object
If Patient High/Low Alerts support is indicated in the CGM Feature characteristic (bit 1), the Patient Low/High Thresholds compound numeric object of 11073-10425 s h al l be repor ted when the Pat ie nt High/Low Alert Level procedure has been executed using the CGM Specific Ops Control Point Characteristic.
Table 74 is the template structure for the Patient Low/High Thresholds compound numeric object.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-
Small Metric-Structure-
Small Metric-Id-List N/A N/A N/A MetricIdList5 Unit-Code N/A N/A N/A OID-Type6 INT-U16
v16
Base-Offset­Time-Stamp
Compound­Basic-Nu­Observed-Value
Table 74: 11073-10425 Patient Low/High Thresholds Compound Numeric Object Requirements
Bluetooth Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
N/A N/A N/A MetricStructureSmall4 (INT-U8, INT-U8)
CGM Specific Ops Control Point & CGM Session Start Time
CGM Specific Ops Control Point
Bluetooth Service
CGM Aggregate BaseOffsetTime7
CGM Aggregate
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
BasicNuObsValueCmp
8
11073-20601 Data Type (informative)
(INT-U16, INT-U16, list of (INT-U16))
(INT-U32, INT-U16, INT-U16)
(INT-U16, INT-U16, List of (SFLOAT­Type))
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CONC_GLU_PATIENT_THRESHOLDS_LOW_HIGH.
3. Set to 0x6044 (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat­setting) when the Patient High/Low Alert Level procedure has been executed. Otherwise set to 0x604C (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat-manual | mss-cat-setting) when the patient low/high thresholds were updated manually by the user.
4. Set to 0x40 (ms-struct-compound), 0x02 (number of components is 2).
Bluetooth SIG Proprietary Page 75 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
5. Set to 0x0002 (count of metric ids is 2), 0x0004 (list length is 4 octets), MDC_CONC_GLU_PATIENT_THRESHOLD_LOW, MDC_CONC_GLU_PATIENT_THRESHOLD_HIGH.
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as s uc h, the Unit ­Code attribute shall be transcoded to MDC_DIM_MILLI_G_PER_DL.
7. Base-Offset-Time-Stamp attribute value is determined at the time of collection by the collector’s time. See Section 3.6.2.1
8. The Compound-Basic-Nu-Observed-Value attribute value is 0x0002 (count of components is 2), 0x0004 (component list length is 4 octets), the Patient Low Alert Level Response Operand followed by the Patient High Alert Level Response Operand, as indica ted in
for details.
Table 75.
Compound-Basic-Nu-Observed-Value attribute structure
Component count (INT-U16) 0x0002 Length in octets (INT-U16) 0x0004 First value (SFLOAT-Type) Patient Low Alert Level Response Operand Second value (SFLOAT-Type) Patient High Alert Level Response Operand
Table 75: Values for the Compound-Basic-Nu-Observed-Value attribute structure
Value
3.6.2.8 Device hypo/hyper Thresholds Compound Numeric Object
If Hypo Alerts and/or Hyper Alerts support is indicated in the CGM Feature characteristic (bits 2
v16
and 3), the Device Hypo/Hyper Thresholds compound numeric object of 11073-10425 shall be reported when either the Hypo Alert or Hyper Alert procedure has been executed using the CGM Specific Ops Control Point Characteristic.
Table 76 is the template structure for the Device Hypo/Hyper Thresholds compound numeric
object.
11073-20601 Attribute
Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-
Small Metric-Structure-
Small Metric-Id-List N/A N/A N/A MetricIdList5
Bluetooth SIG Proprietary Page 76 of 101
N/A N/A N/A MetricSpecSmall3 BITS-16
N/A N/A N/A MetricStructureSmall4 (INT-U8, INT-U8)
(INT-U16, INT-U16, list of (INT-U16))
Personal Health Devices Transcoding
Bluetooth
11073-20601 Compound-Basic-Nu-Observed-Value
Value
Bluetooth White Paper
11073-20601 Attribute
Unit-Code N/A N/A N/A OID-Type6 INT-U16
Base-Offset­Time-Stamp
Compound­Basic-Nu­Observed-Value
Table 76: 11073-10425 Device Hypo/Hyper Thresholds Compound Numeric Object Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CONC_GLU_THRESHOLDS_HYPO_HYPER.
3. Set to 0x6044 (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat­setting) when either the Hypo Alert or Hyper Alert procedure has been executed. Otherwise set to 0x604C (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat-manual | mss-cat-setting) when the hypo/hyper thresholds were updated manually by the user.
Equivalent Characteristic
CGM Specific Ops Control Point & CGM Session Start Time
CGM Specific Ops Control Point
Bluetooth Service
N/A Aggregate BaseOffsetTime7
CGM Aggregate
Bluetooth Data Type
Attribute Type (ASN.1)
BasicNuObsValueCmp
8
11073-20601 Data Type (informative)
(INT-U32, INT-U16, INT-U16)
(INT-U16, INT-U16, List of (SFLOAT­Type))
4. Set to 0x40 (ms-struct-compound), 0x02 (number of components is 2).
v16
5. Set to 0x0002 (count of metric ids is 2), 0x0004 (list length is 4 octets), MDC_CONC_GLU_THRESHOLD_HYPO, MDC_CONC_GLU_THRESHOLD_HYPER.
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as such, the Unit­Code attribute shall be transcoded to MDC_DIM_MILLI_G_PER_DL.
7. Base-Offset-Time-Stamp attribute value is determined at the time of collection by the collector’s time. See Section 3.6.2.1
8. The Compound-Basic-Nu-Observed-Value attribute value is 0x0002 (count of components is 2), 0x0004 (component list length is 4 octets), the Hypo Alert Level Response Operand followed by the Hyper Alert Level Response Operand, as indicated in Table 77. If only one of the Hypo Alert or the Hyper Alert support is indicated in the CGM Feature characteristic, NaN will be used for the component of the Compound-Basic-Nu-Observed-Value that corresponds with the unsupported alert.
attribute structure
Component count (INT-U16) 0x0002 Length in octets (INT-U16) 0x0004
for details.
Bluetooth SIG Proprietary Page 77 of 101
Personal Health Devices Transcoding
Compound-Basic-Nu-Observed-Value
Value
First value (SFLOAT-Type)
Hypo Alert Level Response Operand
Bluetooth
11073-20601
Bluetooth White Paper
attribute structure
Second value (SFLOAT-Type) Hyper Alert Level Response Operand
Table 77: Values for the Compound-Basic-Nu-Observed-Value attribute structure
3.6.2.9 Glucose rate of change thresholds Compound Numeric Object
If Rate of Increase/Decrease Alerts support is indicated in the CGM Feature characteristic (bit
4), the Glucose Rate of Change Thresholds compound numeric object of 11073-10425 shall be reported when the Rate of Increase/Decrease Alert Level procedure has been executed using the CGM Specific Ops Control Point Characteristic.
Table 78 is the template structure for the Glucose Rate of Change Thresholds compound
numeric object.
11073-20601 Attribute
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-
Small Metric-Structure-
v16
Small Metric-Id-List N/A N/A N/A MetricIdList5 Unit-Code N/A N/A N/A OID-Type6 INT-U16
Base-Offset­Time-Stamp
Compound­Basic-Nu­Observed-Value
Table 78: 11073-10425 Glucose Rate of Change Thresholds Compound Numeric Object Requirements
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall3 BITS-16
N/A N/A N/A MetricStructureSmall4 (INT-U8, INT-U8)
CGM Specific Ops Control Point & CGM Session Start Time
CGM Specific Ops Control Point
Bluetooth Service
N/A Aggregate BaseOffsetTime7
CGM Aggregate
Bluetooth Data Type
Attribute Type (ASN.1)
BasicNuObsValueCmp
8
11073-20601 Data Type (informative)
(INT-U16, INT-U16, list of (INT-U16))
(INT-U32, INT-U16, INT-U16)
(INT-U16, INT-U16, List of (SFLOAT­Type))
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CONC_GLU_RATE_THRESHOLDS.
Bluetooth SIG Proprietary Page 78 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
3. Set to 0x6044 (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat­setting) when the Rate of Increase/Decrease Alert Level procedure has been executed. Otherwise set to 0x604C (mss-avail-stored-data | mss-upd-aperiodic | mss-acc-agent-initiated | mss-cat-manual | mss-cat-setting) when the rate of change thresholds were updated manually by the user.
4. Set to 0x40 (ms-struct-compound), 0x02 (number of components is 2).
5. Set to 0x0002 (count of metric ids is 2), 0x0004 (list length is 4 octets), MDC_CONC_GLU_RATE_THRESHOLD_INCREASE, MDC_CONC_GLU_RATE_THRESHOLD_DECREASE.
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as such, the Unit­Code attribute shall be transcoded to MDC_DIM_MILLI_G_PER_DL_PER_MIN.
7. Base-Offset-Time-Stamp attribute value is determined at the time of collection by the collector’s time. See Section 3.6.2.1
8. for details.
9. The Compound-Basic-Nu-Observed-Value attribute value is 0x0002 (count of components is 2), 0x0004 (component list length is 4 octets), the Rate of Increase Alert Level Response Operand followed by the Rate of Decrease Alert Level Response Operand, as indicated in Table 79.
Compound-Basic-Nu-Observed-Value attribute structure
Component count (INT-U16) 0x0002
v16
Length in octets (INT-U16) 0x0004 First value (SFLOAT-Type) Rate of Increase Alert Level Response Operand Second value (SFLOAT-Type) Rate of Decrease Alert Level Response
Table 79: Values for the Compound-Basic-Nu-Observed-Value attribute structure
Value
Operand

3.6.3 Enumeration Objects

This section describes the 11073-10425 enumeration class requirements. It is restricted to those 11073 attributes that are used on the Continuous Glucose Monitoring device.
3.6.3.1 PHD DM Status Enumeration Object
Both the CGM Status and CGM Measurement are mandatory characteristics for the CGM service and shall be transcoded to the PHD DM Status enumeration object as needed. There are optional status features where support can be determined from the CGM Feature characteristic (bits 9 and 11).
Table 80 is the template structure for the PHD DM Status enumeration object.
Bluetooth SIG Proprietary Page 79 of 101
Personal Health Devices Transcoding
Bluetooth
11073-20601
Bluetooth White Paper
11073-20601 Attribute
Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
Attribute Type (ASN.1)
11073-20601 Data Type (informative)
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16)
Supplement-Types N/A N/A N/A
SupplementalTypeL
3
ist
List of (INT-U16, INT-U16)
Metric-Spec-Small N/A N/A N/A MetricSpecSmall4 BITS-16
(CGM Status |
CGM Base-Offset-Time­Stamp
Measurement)
& CGM
CGM Aggregate BaseOffsetTime
5
(INT-U32, INT-U16,
INT-U16) Session Start Time
Enum-Observed­Value-Simple-Bit­Str
Table 80: 11073-10425 PHD DM Status Enumeration Object Requirements
CGM Status | CGM Measurement
CGM Aggregate BITS-32
6
BITS-32
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_PHD_DM_DEV_STAT.
v16
3. There may be multiple instances of the PHD DM Status enumeration object, which is dependent on the physical component architecture of the Continuous Glucose Monitoring device. When it is possible to assign the status to a specific physical component, the Supplement-Types attribute should be reported. Otherwise is may be omitted. Possible values for the Supplement-Types attribute are limited to MDC_CGM_DEV_TYPE_SENSOR, MDC_CGM_DEV_TYPE_TRANSMITTER, MDC_CGM_DEV_TYPE_RECEIVER, or MDC_CGM_DEV_TYPE_OTHER. There shall be only one instance of the PHD DM status object for each physical component.
4. Set to 0xF040 (mss-avail-intermittent | mss-upd-aper iodic | mss-msmt-aperiodic | mss-acc-agent­initiated | mss-avail-stored-data).
5. If the status is coming from the CGM Status Characteristic, the Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM Status characteristic. If the status is coming from the CGM Measurement Characteristic, the Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM Measurement characteristic. See Section 3.6.2.1
for details.
6. The Enum-Observed-Value-Simple-Bit-Str attribute value is derived from either the CGM Status field of the CGM Status characteristic or Sensor Status Annunciation field of the CGM Measurement. The bit definition and ordering for both the CGM Status field and Sensor Status
Bluetooth SIG Proprietary Page 80 of 101
Personal Health Devices Transcoding
Bluetooth White Paper
Annunciation field are identical. Table 81 relates those bits to the Enum-Observed-Value-Simple­Bit-Str attribute value.
Status bit (LSB) 11073-10425 PHD DM Status Enumeration
Enum-Observed-Value-Simple-Bit-Str
1 (device battery low) Set bit 25 (device-status-battery-low) 5 (general device fault has occurr ed in the
sensor) 8 (time synchronization between sensor
and collector required)
Table 81: PHD DM Status enumeration object Enum-Observed-Value-Simple-Bit-Str relationship with
CGM Status
Set bit 5 (device-status-error)
Set bit 16 (device-status-service-time-sync­required)
3.6.3.2 CGM Status Enumeration Object
Both the CGM Status and CGM Measurement are mandatory characteristics for the CGM service and shall be transcoded to the CGM Status enumeration object as needed. There are optional status features where support can be determined from the CGM Feature characteristic (bits 0-8 and 10).
Table 82 is the template structure for the CGM Status enumeration object.
11073-20601 Attribute
v16
Handle N/A N/A N/A HANDLE1 INT-U16 Type N/A N/A N/A TYPE2 (INT-U16, INT-U16) Metric-Spec-Small N/A N/A N/A MetricSpecSmall3 BITS-16
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
(CGM Status |
CGM Base-Offset-Time­Stamp
Enum-Observed­Value-Simple-Bit­Str
Table 82: 11073-10425 CGM Status Enumeration Object Requirements
Notes:
1. Each metric object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to MDC_PART_PHD_DM | MDC_CGM_DEV_STAT.
3. Set to 0xF040 (mss-avail-intermittent | mss-upd-aper iodic | mss-msmt-aperiodic | mss-acc-agent­initiated | mss-avail-stored-data).
Bluetooth SIG Proprietary Page 81 of 101
Measurement) & CGM Session Start Time
CGM Status | CGM Measurement
CGM Aggregate BaseOffsetTime
CGM Aggregate BITS-32
5
BITS-32
4
(INT-U32, INT-U16, INT-U16)
Personal Health Devices Transcoding
11 (calibration required)
Set bit 9 (sensor-calibration-required)
Bluetooth White Paper
4. If the status is coming from the CGM Status Characteristic, the Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM Status characteristic. If the status is coming from the CGM Measurement Characteristic, the Base-Offset-Time-Stamp attribute value is derived from the mandatory CGM Session Start Time characteristic, added by the Time Offset field of the CGM Measurement characteristic. See Section 3.6.2.1
5. The Enum-Observed-Value-Simple-Bit-Str attribute value is derived from either the CGM Status field of the CGM Status characteristic or Sensor Status Annunciation field of the CGM Measurement. The bit definition and ordering for both the CGM Status field and Sensor Status Annunciation field are identical. Table 83 Bit-Str attribute value.
Status bit (LSB) 11073-10425 CGM Status Enumeration
0 (session stopped) Set bit 0 (sensor-session-stopped) 2 (sensor type incorrect for device) Set bit 2 (sensor-type-incorrect)
for details.
relates those bits to the Enum-Observed-Value-Simple-
Enum-Observed-Value-Simple-Bit-Str
3 (time synchronization between sensor and collector required)
4 (device specific alert) Set bit 4 (device-specific-alert) 9 (calibration not allowed) Set bit 7 (sensor-calibration-not-allowed) 10 (calibration recommended) Set bit 8 (sensor-calibration-recommended)
v16
12 (sensor temperature too high for valid test/result at time of measurement)
13 (sensor temperature too low for valid test/result at time of measurement)
16 (sensor result lower than the patient low level)
17 (sensor result higher than the patient low level)
18 (sensor result lower than the hypo level) Set bit 14 (sensor-low-hypo) 19 (sensor result lower than the hyper level) Set bit 15 (sensor-high-hyper) 20 (sensor rate of decrease exceeded) Set bit 16 (sensor-rate-decrease-exceeded) 21 (sensor rate of increase exceeded) Set bit 17 (sensor-rate-increase-exceeded)
Set bit 3 (sensor-malfunction)
Set bit 10 (sensor-temp-too-high)
Set bit 11 (sensor-temp-too-low)
Set bit 12 (sensor-result-below-patient-low)
Set bit 13 (sensor-result-above-patient-low)
22 (sensor result lower than the device can process)
23 (sensor result higher than the device can process)
Table 83: CGM Status enumeration object Enum-Observed-Value-Simple-Bit-Str relationship with CGM
Status
Bluetooth SIG Proprietary Page 82 of 101
Set bit 18 (sensor-result-too-low)
Set bit 19 (sensor-result-too-high)
Personal Health Devices Transcoding
Bluetooth White Paper

3.7 Pulse Oximeter

This section defines transcoding the pulse oximeter sensor device specific data into IEEE 11073-10404 Pulse Oximeter device specialization [25] class attributes.
The Pulse Oximeter Service com m unicates measurements using notifications and indications of characteristics. For the purposes of transcoding it is not important how those characteristics are obtained. The values in these received characteristics are composed of measurements and various status settings. These fields are subsequently transcoded into the respective metric objects and attributes of the IEEE 11073-10404 Pulse Oximeter specialization.
In the Pulse Oximeter Service, a pulse rate measurement always accompanies a SpO2 measurement. Therefore, whenever a measurement is transcoded, both the SpO2 and pulse rate objects will be transcoded into. If a measurement status field accompanies the measurement, it will be transcoded into both the SpO2 and pulse rate numeric objects.
The measurement fields are transcoded into a set of numeric metric objects whose TYPE attribute is MDC_PULS_OXIM_SAT_O2 for oxygen saturations, MDC_PULS_OXIM_PULS_RATE for pul se rates, and MDC_SAT_O2_QUAL for the amplitude index measurements. The saturation and pulse rate measurements may be further qualified by a Supplemental types attribute describing the modality of the measurement (if the measurement has a modality), in this case one of MDC_MODALITY_SPOT (when transcoded from the PLX Spot-check Measurement characteristic value), MDC_MODALITY_FAST, or MDC_MODALITY_SLOW (when transcoded from the PLX Continuous Measurement characteristic value’s SpO2PR-Fast and SpO2PR-Slow fields). No supplemental type attribute is present when the measurement is being transcoded from the SpO2PR-Normal field in the PLX
v16
Continuous Measurement characteristic. The measurement status fields are transcoded into the IEEE 11073-20601 measurement status attribute of the appropriate numeric metric object whereas the device status field is transcoded into an enumeration metric object whose TYPE attribute is given by MDC_PULS_OXIM_DEV_STATUS. This enumeration metric does NOT contain a supplemental types attribute.
The attributes of the IEEE 11073-20601 MDS object are populated by reading the characteristics of the Device Information Service, or the Current Time Service , and optionally the Battery Service Battery Level Characteristic should the sensor support a Battery service. If the battery level characteristic is updated by notification, the collector will need to update its MDS Battery Level attribute with the notified characteristic value if the collector is supporting the Battery Level attribute. It should be noted that Continua-compliant Bluetooth pulse oximeters are required to expose a RegCertData characteristic in its Device Information Service. Exposing this characteristic is optional in the Pulse Oximeter Profile. It should also be noted that a Continua-compliant Bluetooth pulse oximeter that reports time stamps in any of its measurements (stored or otherwise) are required to support some source of sensor current time. Exposing a source of current time is optional in the Pulse Oximeter Profile.
Bluetooth SIG Proprietary Page 83 of 101
Personal Health Devices Transcoding
0x10 0x04
Specialization value = MDC_DEV_SPEC_PROFILE_PULS_OXIM
0x00 0x01
version = version 1 of the 11073-10404 device specialization
Bluetooth White Paper

3.7.1 Device Specific MD S clas s Req uirements

In addition to the MDS class requirements shown in Section 2.1, Table 84 shows incremental MDS class requirements specific to this device. The Battery-Level is optional but recommended if the device exposes it.
11073-20601 Attribute
System-Type N/A N/A N/A TYPE1 (INT-U16, INT-U16) System-
Type-Spec­List
Table 84: Device-specific MDS Class Requirements
Notes:
1. Value is not present since System-Type-Spec-List exists.
2. Since the “Pulse Oximeter Service” to be added to the TypeVerList:
Bluetooth Equivalent Characteristic
N/A N/A N/A TypeVerList2
v16
Bluetooth Service
[24] is a “Primary Service”, the following entries are required
Bluetoot h Data Type
11073-20601 Attribute Type (ASN.1)
11073-20601 Data Type (informative)
List of (INT-U16, INT­U16)

3.7.2 11073-10404 Numeric CLASS Requirements

This section describes the 11073 numeric class requirements. It is restricted to those 11073 attributes that are used on the Pulse Oximeter. All unmentioned attributes defined in [1] are not applicable to this device.
3.7.2.1 SpO2
Mandatory object transcoded from a pulse oximeter. The device will have at least one, and up to four, SpO2 numeric objects, belonging to the following measurement modes: spot-check, continuous measurement normal, continuous measurement fast response, and continuous measurement slow response.
The fast and slow response measurement types are supported by a pulse oximeter if the Supported Features field of the PLX Features characteristic indicates they are supported, as follows:
If bit 4 (LSB) is set to 1, the fast response mode is supported
If bit 5 (LSB) is set to 1, the slow response mode is supported
Bluetooth SIG Proprietary Page 84 of 101
Personal Health Devices Transcoding
Handle
N/A
N/A
N/A
HANDLE
1
INT-U16
(INT-U16, INT-
Supplemental-
Supplemental
List of (INT-U16,
Metric-Spec-
Spot-Check
Unit-Code
N/A
N/A
N/A
OID-Type
7
INT-U16
(INT-U8, INT-U8,
Spot-Check
Bluetooth White Paper
Both in the Pulse Oximetry Spot-check Measurement and in the Pulse Oximetry Continuous Measurement Characteristic, every SpO
value is always accompanied by a pulse rate. For
2
transcoding purposes, this means that, for every measurement received from the device, there should be a pair of objects: a SpO
object and a related Pulse Rate object. They are both
2
present or both absent from configuration, as the related measurement characteristic is supported or not.
If a measurement could not determine the SpO2, the special value NaN will be used (the field is not omitted from the measurement).
The Pulse Amplitude Index field of the spot-check and continuous characteristics measures the quality of the signal being handled by the device. This field is transcoded into the Pulsatile Quality object in IEEE 11073-10404 and is addressed in Section 3.7.2.3.
The device and sensor status field of the spot-check and continuous characteristics is handled by the enumeration object in Section 3.7.3.1.
11073 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Type N/A N/A N/A TYPE
Types
v16
Small
Measurement-
5
Status
N/A N/A N/A
N/A N/A N/A MetricSpecSmall
Measurement or Continuous
Pulse Oximeter
Bluetooth Data Type
Aggregate
11073 Attribute Type (ASN.1)
2
TypeList
3
Measurement
6
Status
11073 Data Type (informative)
U16)
INT-U16)
4
BITS-16
BITS-16
Measurement
Table 85: SpO2 11073 Numeric Class Requirements
Bluetooth SIG Proprietary Page 85 of 101
Absolute-Time-
8
Stamp
Basic-Nu­Observed­Value
Spot-Check Measurement
Measurement or Continuous Measurement
Pulse Oximeter
Pulse Oximeter
Aggregate AbsoluteTime
Aggregate
BasicNuObs
10
Value
INT-U8, INT-U8,
9
INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
Personal Health Devices Transcoding
invalid (0)
15 (Invalid measurement detected)
questionable (1)
14 (Questionable measurement detected)
not-available (2)
13 (Measurement not available)
calibration-ongoing (3)
12 (Calibration ongoing)
test-data (4)
11 (Data for testing)
demo-data (5)
10 (Data for demonstration)
validated-data (8)
7 (Fully qualified data)
early-indication (9)
6 (Early estimated data)
msmt-ongoing (10)
5 (Measurement ongoing)
Bluetooth White Paper
Notes:
1. Each object is required to have a unique non-zero ID assigned by the implementation.
2. Value is set to {MDC_PART_SCADA, MDC_PULS_OXIM_SAT_O2}.
3. For the spot-check object, value is set to {MDC_PART_SCADA, MDC_MODALITY_SPOT}. For the continuous measurement object (normal), value is set to empty. For the continuous measurement/fast mode object, value is set to {MDC_PART_SCADA, MDC_MODALITY_FAST}. For the continuous measurement/slow mode, value is set to {MDC_PART_SCADA, MDC_MODALITY_SLOW}.
4. Value is set to one of the following three possibilities: a) 0x5040 (mss-avail-stored-data, mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot­check object when device supports measurement storage (which is signaled by bit 2 of the Supported Features field in Pulse Oximetry Features characteristic). b) 0x1040 (mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot-check object when device does not support measurement storage. c) 0x0040 (mss-acc-agent-initiated) for continuous-measurement objects.
5. This attribute is present when Measurement Status support is present (signaled by bit 0 of the Supported Features field in PLX Features characteristic being equal to 1).
6. This value is derived from Measurement Status field of the PLX Spot-Check Measurement or Continuous Measurement characteristic. The bitmap is composed according to Table 86:
11073 MeasurementStatus Bit 0 is MSB
Bluetooth Measurement Status Bit Bit 0 is LSB
v16
Table 86: Relationship between Measurement Status and 11073 MeasurementStatus
7. Unit is MDC_DIM_PERCENT .
8. Only the PLX Spot-Check Measurement Characteristic has a timestamp, so this attribute is only present in the spot-check object (and not in the continuous measurement objects).
9. This value is derived from the Timestamp field of PLX Spot-Check Measurement characteristic. See also Section 2.2.6.
Bluetooth SIG Proprietary Page 86 of 101
Personal Health Devices Transcoding
Handle
N/A
N/A
N/A
HANDLE
1
INT-U16
(INT-U16, INT-
Supplemental-
Supplemental
List of (INT-U16,
Metric-Spec-
Bluetooth White Paper
10. For the spot-check object, this value is derived from the SpO2 value of the SpO measurement objects, value is derived from the SpO Normal, SpO
field in PLX Spot-Check Measurement characteristic. For continuous
2PR
value of the SpO2PR -
2
PR -Fast (if supported) or SpO2PR -Slow (if supported) of the PLX
2
Continuous Measurement characteristic, accordingly to object’s Supplemental Type.
3.7.2.2 Pulse Rate
Configuration has at least one, and up to four, pulse rate numeric objects, belonging to the following measurement modes: spot-check, continuous measurement normal, continuous measurement fast response and continuous measurement slow response.
Each pulse rate object is paired to a SpO the same requirements for SpO
(Section 3.7.2.1).
2
object and its presence or absence follows exactly
2
Both in Pulse Oximetry Spot-check Measurement and in Pulse Oximetry Continuous Measurement Characteristic, every Pulse Rate value is always accompanied by a SpO transcoding purposes, this means that, for every measurement received from the device, there should be a pair of objects: a SpO
object and a related Pulse Rate object. They are both
2
present or both absent from configuration, as the related measurement mode is supported or not.
If a measurement could not determine the Pulse Rate, the special value NaN will be used (the field is not omitted from the measurement).
The Pulse Amplitude Index field of the spot-check and continuous characteristics measures the quality of the signal being handled by the device. This field is transcoded into the Pulsatile Quality object in IEEE 11073-10404 and is addressed in Section 3.7.2.3.
v16
The device and sensor status field of the spot-check and continuous characteristics is handled by the enumeration object in Section 3.7.3.1.
11073 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073 Attribute Type (ASN.1)
11073 Data Type (informative)
. For
2
Bluetooth SIG Proprietary Page 87 of 101
Type N/A N/A N/A TYPE
Types
Small
N/A N/A N/A
N/A N/A N/A MetricSpecSmall
TypeList
2
3
U16)
INT-U16)
4
BITS-16
Personal Health Devices Transcoding
Bluetooth
Bluetooth
Spot-Check
Unit-Code
N/A
N/A
N/A
OID-Type
7
INT-U16
(INT-U8, INT-U8,
Spot-Check
Bluetooth White Paper
11073 Attribute
Measurement-
5
Status
Absolute-Time­Stamp
Basic-Nu­Observed­Value
Table 87: Pulse Rate 11073 Numeric Class Requirements
8
Equivalent Characteristic
Measurement or Continuous Measurement
Spot-Check Measurement
Measurement or Continuous Measurement
Bluetooth Service
Pulse Oximeter
Pulse Oximeter
Pulse Oximeter
Data Type
Aggregate
Aggregate AbsoluteTime
Aggregate
11073 Attribute Type (ASN.1)
Measurement
6
Status
BasicNuObs Value
10
11073 Data Type (informative)
BITS-16
INT-U8, INT-U8,
9
INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
v16
Notes:
1. Each object is required to have a unique non-zero ID assigned by the implementation.
2. Value is set to {MDC_PART_SCADA, MDC_PUL S _OXIM_PULS_RATE}.
3. For the spot-check object, value is set to {MDC_PART_SCADA, MDC_MODALITY_SPOT}. For the continuous measurement object (normal), value is set to empty. For the continuous measurement/fast mode object, value is set to {MDC_PART_SCADA, MDC_MODALITY_FAST}. For the continuous measurement/slow mode, value is set to {MDC_PART_SCADA, MDC_MODALITY_SLOW}.
4. Value is set to one of the following three possibilities: a) 0x5040 (mss-avail-stored-data, mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot-check object when device supports measurement storage (which is signaled by bit 2 of the Supported Features field in Pulse Oximetry Features characteristic). b) 0x1040 (mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot-check object when device does not support measurement storage. c) 0x0040 (mss-acc-agent-initiated) for continuous-measurement objects.
5. This attribute is present when Measurement Status support is present (signaled by bit 0 of the Supported Features field in PLX Features characteristic being equal to 1).
6. This value is derived from Measurement Status field of the Pulse Oximetry Spot-Check Measurement or Continuous Measurement characteristic. The bitmap is composed according to Table 96:
Bluetooth SIG Proprietary Page 88 of 101
Personal Health Devices Transcoding
11073 MeasurementStatus
Bluetooth Measurement Status Bit
invalid (0)
15 (Invalid measurement detected)
questionable (1)
14 (Questionable measurement detected)
not-available (2)
13 (Measurement not available)
calibration-ongoing (3)
12 (Calibration ongoing)
test-data (4)
11 (Data for testing)
demo-data (5)
10 (Data for demonstration)
validated-data (8)
7 (Fully qualified data)
early-indication (9)
6 (Early estimated data)
msmt-ongoing (10)
5 (Measurement ongoing)
Handle
N/A
N/A
N/A
HANDLE
1
INT-U16
Type
N/A
N/A
N/A
TYPE
2
(INT-U16, INT-U16)
Bluetooth White Paper
Bit 0 is MSB
Table 88: Relationship between Measurement Status and 11073 MeasurementStatus
Bit 0 is LSB
7. Unit is MDC_DIM_BEAT_PER_MIN.
8. Only the PLX Spot-Check Measurement Characteristic has a timestamp, so this attribute is only mandatory in the spot-check object (and not in the continuous measurement objects).
9. This value is derived from the Timestamp field of PLX Spot-Check Measurement
v16
characteristic. See also Section 2.2.6.
10. For the spot-check object, this value is derived from the PR value of the SpO2PR field in PLX Spot-Check Measurement characteristic. For continuous measurement objects, value is derived from the PR value of the SpO2PR -Normal, SpO2PR -Fast (if supported) or SpO2PR -Slow (if supported) of the PLX Continuous Measurement characteristic, accordingly to object’s Supplemental Type.
3.7.2.3 Pulsatile Quality (Pulse Amplitude Index)
The Pulse Amplitude index represents the quality of the signal and is transcoded to the IEEE 11073-10404 Pulsatile Quality numeric metric object. The IEEE specialization offers serval alternatives but the option applicable to this case is the measure expressed as a percentage.
The device and sensor status field of the spot-check and continuous characteristics is handled by the enumeration object in Section 3.7.3.1.
11073 Attribute
Bluetooth Equivalent Characteristic
Bluetooth Service
Bluetooth Data Type
11073 Attribute Type (ASN.1)
11073 Data Type (informative)
Bluetooth SIG Proprietary Page 89 of 101
Personal Health Devices Transcoding
Bluetooth
Bluetooth
Metric-
Unit-Code
N/A
N/A
N/A
OID-Type
4
INT-U16
Label-String
N/A
N/A
N/A
OctetString
5
OctetString
(INT-U8, INT-U8, Basic-Nu-
Bluetooth White Paper
11073 Attribute
Spec-Small
Absolute­Time-
6
Stamp
Observed­Value
Table 89: Pulsatile Quality 11073 Numeric Class Requirements
Equivalent Characteristic
N/A N/A N/A MetricSpecSmall
Spot-Check Measurement
Amplitude Index
Bluetooth Service
Pulse Oximeter
Pulse Oximeter
Data Type
Aggregate AbsoluteTime
Aggregate
11073 Attribute Type (ASN.1)
BasicNuObs
8
Value
11073 Data Type (informative)
3
BITS-16
INT-U8, INT-U8,
7
INT-U8, INT-U8, INT-U8, INT-U8)
SFLOAT-Type
1. Each object is required to have a unique non-zero ID assigned by the implementation.
2. Value is set to {MDC_PART_SCADA, MDC_SAT_O2_QUAL}.
3. Value is set to one of the following three possibilities: a) 0x5040 (mss-avail-stored-data, mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot-check object when device supports measurement storage (which is signaled by bit
v16
2 of the Supported Features field in Pulse Oximetry Features characteristic). b) 0x1040 (mss-msmt-aperiodic, mss-acc-agent-initiated) for the spot-check object when device does not support measurement storage. c) 0x0040 (mss-acc-agent-initiated) for continuous-measurement objects.
4. Unit is MDC_DIM_PERCENT.
5. This optional attribute provides a human readable string which further clarifies the meaning of the TYPE. In this case it could state “This measure is the ratio of the AC to DC signal of the Pleth Waveform”.
6. Only the PLX Spot-Check Measurement Characteristic has a timestamp, so this attribute is only mandatory if it appears in the Spot check measurements (and not in the continuous measurement objects).
7. This value is derived from the Timestamp field of PLX Spot-Check Measurement characteristic. See also Section 2.2.6.
8. This value is derived from the Pulse Amplitude Index field of the PLX Spot-check Measurement or PLX Continuous Measurement characteristic.
Bluetooth SIG Proprietary Page 90 of 101
Personal Health Devices Transcoding
Bluetooth
Handle
N/A
N/A
N/A
HANDLE
1
INT-U16
Type
N/A
N/A
N/A
TYPE
2
(INT-U16, INT-U16)
Metric-Spec-Small
N/A
N/A
N/A
MetricSpecSmall
3
BITS-16
Spot-Check
11073 Device and Sensor Status Bit
Bluetooth Device and Sensor Status Bit
device-extended-update (15)
0 (extended display update ongoing)
device-equipment-malfunction (14)
1 (equipment malfunction)
signal-processing-irregularity (13)
2 (signal processing irregular it y detect ed)
Bluetooth White Paper

3.7.3 Enumeration Objects

This section describes the 11073 enumeration class requirements. It is restricted to those 11073 attributes that are used on the Pulse Oximeter device. All unmentioned attributes defined in [1] are not applicable to those devices.
3.7.3.1 Device and Sensor Status
This data is optionally transcoded when device supports reporting Device and Sensor Status (bit 1 (LSB) of Supported Features field in Pulse Oximetry Features Characteristic is equal to 1).
If it is supported, Device and Sensor Status field is always present in both Spot-Check Measurement and Continuous Measurement characteristics.
11073 Attribute
Enum-Observed­Value-Basic-Bit-Str
Equivalent Characteristic
Measurement and Continuous Measurement
Bluetooth Service
Pulse Oximeter
Bluetooth Data Type
Aggregate BITS-16
v16
Table 90: 11073 Device and Sensor Annunciation Enumeration Class Requirements
Notes:
1. Each object is required to have a unique non-zero ID assigned by the implementation.
2. Value set to {MDC_PART_SCADA, MDC_PULS_OXIM_DEV_STATUS}.
3. Set to 0x0040 (mss-acc-agent-initiated).
4. This value is derived from Device and Sensor Status Field of the Pulse Oximetry Spot­Check Measurement and Continuous Measurement characteristics. Bits with value 1 mean that the respective condition is present at measurement time. The bitmap is composed accordingly to Table 91:
11073 Attribute Type (ASN.1)
4
BITS-16
11073 Data Type (informative)
(PulseOxDevStat) Bit 0 is MSB
Bluetooth SIG Proprietary Page 91 of 101
Bit 0 is LSB
Personal Health Devices Transcoding
11073 Device and Sensor Status Bit
Bluetooth Device and Sensor Status Bit
signal-inadequate (12)
3 (inadequate signal detected)
signal-poor (11)
4 (poor signal detected)
signal-low-perfusion (10)
5 (low perfusion detected)
signal-erratic (9)
6 (erratic signal detected)
signal-non-pulsatile (8)
7 (non-pulsatile signal detected)
signal-pulse-questionable (7)
8 (questionable pulse detected)
signal-searching (6)
9 (signal analysis ongoing)
signal-interference (5)
10 (sensor interference detected)
sensor-off (4)
11 (sensor unconnected to user)
sensor-unsupported (3)
12 (unknown sensor connected)
sensor-displaced (2)
13 (sensor displaced)
sensor-malfunction (1)
14 (sensor malfunctioning)
sensor-disconnected (0)
15 (sensor disconnected)
Not Transcodable
16-23 RFU
Bluetooth White Paper
(PulseOxDevStat) Bit 0 is MSB
Bit 0 is LSB
v16
Table 91: Relationship between Sensor Status Annunciation and 11073 sensor condition
Bluetooth SIG Proprietary Page 92 of 101
Personal Health Devices Transcoding
Bluetooth White Paper

4 End-To-End Example

This section provides an example of an end-to-end communication between a GATT-based Bluetooth Health Thermometer and a Collector (e.g., phone) implementing an 11073-20601 Manager and a transcoder. This section also describes how Bluetooth characteristic data can be mapped to 11073-20601 nomenclature and modeling. This example illustrates the steps required to use the mappings so that the transcoder can generate 11073-20601 DIM objects based on the received data.
Hypothetical Health Thermometer data is used in Section 4.1 as an input. Section 4.3 discusses how this data could be mapped into 11073-20601 objects.

4.1 Health Thermometer Data

Table 92 and Table 93 describe the Health Thermometer data being sent to the Collector, which
implements a Transcoder. The Health Thermometer Bluetooth Address is 00:23:6C:AF:BD:F4.

Health Thermometer Service Data

This data refers to a previous time-stamped measurement taken from a general body location. The values shown represent the sequence of bytes as transmitted on the wire (over the air).
Bluetooth Characteristic Bluetooth Value
Temperature Measurement
v16
Temperature Type Body: 0x02
Intermediate Temperature
Measurement Interval
Valid Range descriptor
Table 92: Health Thermometer Service Data
37.0 degrees Celsius with Timestamp of 18th December 2010 15:00:00: 0x02 0x72 0x01 0x00 0xFF 0xDA 0x07 0x0C 0x12 0x0F 0x00 0x00
Not transcoded to 11073-20601. (Could be if one wanted to use the Measurement-Status attribute and set the status to measurement in progress or something else appropriate)
Not transcoded to 11073-20601. (This behavior is implicit in the time stamp)
Not transcoded to 11073-20601. (In 11073-20601 values exceeding this descriptor would be reported using the ‘not at this resolution’ or via the Measurement-Status attribute.)
Note that GATT employs little-endian representation of integers, and the year 2010 (0x07DA in hex) is encoded as 0xDA 0x07 in the Temperature Measurement characteristic, because the year is a 16-bit unsigned integer field. The other date and time fields (month, day, hour, etc.) are all 8-bit values and not affected by endianness.
Also, the FLOAT representation of temperature is affected by endianness. The temperature measurement (37.0 degrees, raw FLOAT value is 0xFF000172) is encoded as 0x72 0x01 0x00 0xFF in the Temperature Measurement characteristic.
Bluetooth SIG Proprietary Page 93 of 101
Personal Health Devices Transcoding
Bluetooth Characteristic
Bluetooth Value
Bluetooth White Paper

Device Information Service Data

This data refers to a Health Thermometer that has its System ID filled in based on its Bluetooth address as described in the characteristic definition accessible via the Bluetooth SIG Assigned Numbers [3].
System ID 0xF4 0xBD 0xAF 0xFE 0xFF 0x6C 0x23 0x00 Model Number String “TS-1017” Manufacturer Name String “ACME” Serial Number String “237495-3282-A” Firmware Revision String “1.23” Hardware Revision String “1.0” Software Revision String “1.2”
IEEE 11073-20601 Regulatory Certification Data List
Table 93: Device Information Service data
For an example on how to populate this structure, refer to Section 2.2.5.
System ID is another field affected by the little-endian format of GATT. The actual System ID of this example is 00:23:6C:FF:FE:AF:BD:F4. The System ID characteristic format is (uint40, uint24), for manufacturer identifier and OUI, respectively.
Since the Thermometer of this example attributes timestamps to measurements, it has to expose the internal clock as the Current Time characteristic in Current Time Service (see
v16
Section 2.2.4, subtopic “Date and Time”, and Section 2.2.6 for details). The characteristic has 10 bytes but only the first 7 are of interest for transcoding.
Bluetooth Characteristic Bluetooth Value
Current Time characteristic
18th December 2010 15:23:06 encoded as 0xDA 0x07 0x0C 0x12 0x0F 0x17 0x06 0xXX
0xXX 0xXX

4.2 Health thermometer Service ReCord

Table 94 shows the Health Thermometer Service record and the attributes contained on the
Sensor.
Bluetooth Attribute Bluetooth Attribute
Primary Service (0x2800) 0x180A Device Information Service
Characteristic (0x2803)
Bluetooth SIG Proprietary Page 94 of 101
Description
Value
{0x02, 0xhhhh, 0x2A23} Characteristic value is Read, Value Handle
reference is 0xhhhh, and characteristic is "System ID"
Bluetooth Attribute
Bluetooth Attribute
Description
System ID
(0x2A23)
{0x00236CFFFEAFBDF4}
System ID
Primary Service (0x2800)
0x1809
Health Thermometer Service
Personal Health Devices Transcoding
Bluetooth White Paper
Value
Characteristic (0x2803)
Manufacturer Name
String (0x2A29)
Characteristic (0x2803)
Model Number String
(0x2A24)
Characteristic (0x2803)
Serial Number String
(0x2A25)
Characteristic
v16
(0x2803)
{0x02, 0xhhhh, 0x2A29} Characteristic value is Read, Value Handle
reference is 0xhhhh, and characteristic is "Manufacturer Name String"
{0x41, 0x43, 0x4D, 0x45} Manufacturer Name String = UTF-8 String
"ACME"
{0x02, 0xhhhh, 0x2A24} Characteristic value is Read, Value Handle
reference is 0xhhhh, and characteristic is "Model Number String"
{0x54, 0x53, 0x2D, 0x31, 0x30, 0x31, 0x37}
{0x02, 0xhhhh, 0x2A25} Characteristic value is Read, Value Handle
{0x32, 0x33, 0x37, 0x34, 0x39, 0x35, 0x2D, 0x33, 0x32, 0x38, 0x32, 0x2D, 0x41}
{0x02, 0xhhhh, 0x2A26} Characteristic value is Read, Value Handle
Model Number String = UTF-8 String "TS­1017"
reference is 0xhhhh, and characteristic is "Serial Number String"
Serial Number String = UTF-8 String "237495-3282-A"
reference is 0xhhhh, and characteristic is "Firmware Revision String"
Firmware Revision
String (0x2A26)
Characteristic (0x2803)
Hardware Re visi on
String (0x2A27)
Characteristic (0x2803)
Serial Number String
(0x2A28)
Characteristic (0x2803)
Bluetooth SIG Proprietary Page 95 of 101
{0x31, 0x2E, 0x32, 0x33} Firmware Revision String = UTF-8 String
"1.23"
{0x02, 0xhhhh, 0x2A27} Characteristic value is Read, Value Handle
reference is 0xhhhh, and characteristic is "Hardware Revision"
{0x31, 0x2E, 0x30} Hardware Revision String = UT F-8 String
"1.0"
{0x02, 0xhhhh, 0x2A28} Characteristic value is Read, Value Handle
reference is 0xhhhh, and characteristic is "Software Revision String"
{0x31, 0x2E, 0x32} Software Revision String = UTF-8 String
"1.2"
0x20, 0xhhhh, 0x2A1C Characteristic value is Indicated, Value
Handle reference is 0xhhhh and
Bluetooth Attribute
Bluetooth Attribute
Value
Description
characteristic is "Temperature
Date-and-
0x20 0x10 0x12 0x18 0x15 0x23 0x06
Section
Personal Health Devices Transcoding
Bluetooth White Paper
Measurement"
Temperature
Measurement (0x2A1C)
Table 94: Health Thermometer Service Record
{0x02, 0xFF000172, 0x07DA 0x0C 0x12 0x0F 0x00 0x00}
Timestamp [18th December 2010 15:23:06] Temperature Measurement of 37.0 degrees in Celsius

4.3 11073-20601 Objects

Table 95 and Table 96 describe how data are represented as 11073-20601 objects.

MDS Object

11073-20601 Attribute
Handle None 0
System­Model
System-Id System ID
v16
Dev­Configuration­Id
Bluetooth Equivalent Characteristic
Model Number String
Manufacturer Name String
None
11073-20601 Value Reference
“TS-1017” 1
“ACME”
0x00 0x23 0x6C 0xFF 0xFE 0xAF 0xBD 0xF4
MDC_TEMP_BODY = 0x4002
Section
2.2.4
System Model
Section
2.2.4
System Id Section
3.1.1
Serial Number String
Hardware Revision
Production­Specification
Time
Bluetooth SIG Proprietary Page 96 of 101
String Software
Revision String
Firmware Revision String
Current Time
“237495-3282-A” 1
“1.0” 1
“1.2” 1
“1.23”
0x00
Section
2.2.4
Prod. Specification
2.2.6
Personal Health Devices Transcoding
Bluetooth
Bluetooth White Paper
11073-20601 Attribute
Reg-Cert­Data-List
System-Type­Spec-List
Table 95: MDS Object for Health Thermometer
Notes:
1. Because this is an odd-sized string, a zero (0x00) byte must be appended to its end and its
Equivalent Characteristic
IEEE 11073­20601 Regulatory Certification Data List
None
length field must be incremented. See Section 2.2.3 for more information.
11073-20601 Value Reference
For an example on how to populate this structure, refer to Section 2.2.5.
{MDC_DEV_SPEC_PROFILE_TEMP, 1}
Section
2.2.4Reg-
Cert-Data­List
v16
Bluetooth SIG Proprietary Page 97 of 101
Personal Health Devices Transcoding
Metric-Id-List
None

Numeric Object

Bluetooth
11073-20601 Attribute
Handle None 1
Equivalent Characteristic
Value Reference
Bluetooth White Paper
Type
Metric-Spec-Small None Measurement-Status None relevant data, 0x10 (optional) Metric-Id None MDC_TEMP_BODY = 0x4002 Section 3.1.2
Metric-Id-Partition None Unit-Code Attribute-Value-Map None Absolute-Time-Stamp Measure-Active-Period None Simple-Nu-Observed-Value None 0xFF000172 (37.0) Compound-Simple-Nu-
v16
Observed-Value Basic-Nu-Observed-Value None
None MDC_PART_SCADA None MDC_TEMP_BODY
Temperature Measurement
Temperature Measurement
None
MDC_DIM_DEGC Section 3.1.2
0x20 0x10 0x12 0x18 0x15 0x00 0x00
Section 3.1.1
Section 3.1.2
Section 3.1.2 and Annex F.8 of [1]
Compound-Basic-Nu­Observed-Value
Nu-Observed-Value Compound-Nu-Observed-
Value Accuracy None
Table 96: Numeric Object for Health Therm om eter
Bluetooth SIG Proprietary Page 98 of 101
None Temperature
Measurement None
Personal Health Devices Transcoding
Acronyms and Abbreviations
Meaning
DIS
Device Information Service
ISO
International Organization for Standardization
UUID
Universally Unique Identifier

5 Acronyms and Abbreviations

11073-20601 The ISO/IEEE 11073-20601 standard [1] APDU Application Protocol Data Unit
Bluetooth White Paper
ASCII ASN.1 Abstract Syntax Notation One
BCD Binary-Coded Decimal BMI Body Mass Index CTS Current Time Service DIM Domain Information Model
EUI Extended Unique Identifier FDA Food and Drug Administration GATT Generic Attribute Profile ID Identifier IEC International Electrotechnical Commission
IEEE
v16
IG Interoperability Guidelines
American Standard Code for Information Interchange as defined in ISO/IEC 646 (1991)
Worldwide technical society which generated the IEEE 11073 series standards, www.ieee.org
LE Low Energy LSB Least Significant Bit MAP Mean Arterial Pressure MDS Medical De vic e Syst em MSB Most Significant Bit OID Object Identifier OUI Organizationally Unique Identifier RACP Record Access Control Point USB Universal Serial Bus UTF-8 Unicode Transformation Format-8
Table 97: Acronyms and Abbreviations
Bluetooth SIG Proprietary Page 99 of 101
Personal Health Devices Transcoding
Bluetooth White Paper

6 References

[1] ISO/IEEE Std 11073-20601™- 2008 Health Informatics - Personal Health Device
Communication - Application Profile - Optimized Exchange Protocol - version 1.0.This
also includes ISO/IEEE Std 11073-20601a™-2010 – Amendment 1 [2] Device Information Service v1.1 or later [3] Bluetooth SIG Assigned Numbers [4] ISO/IEEE Std 11073-10408™-2008 Standard for Health informatics - Per sonal health
device communication - Device specialization - Thermometer [5] Health Thermometer Service (v1.0 or later) [6] Continua Design Guidelines 2015 (version 5.0) [7] IEEE Std 11073-10406™-2011 Standard for Health informatics - Personal health
device communication - Device specialization - Basic Electrocardiograph (ECG) (1 to
3-lead ECG) [8] Heart Rate Service v1.0 or later [9] Blood Pressure Service v1.0 or later [10] IEEE Std 11073-10407™-2008 Standard for Health informatics – Personal health
device communication – Device specialization – Blood Pressure Monitor [11] IEEE Std 11073-10417™-2011 Standard for Health informatics – Personal health
device communication – Device specialization – Glucose meter [12] Glucose Service v1.0 or later
v16
[13] Bluetooth Core Specification v4.0 or later [14] Current Time Service v1.1 or later [15] ISO/IEEE Std 11073-10441™-2008 Standard for Health Informatics – Personal health
device communication – Device specialization – Cardiovascular fitness and activity
monitor [16] Specification of Regulatory Certification Data List at ISO/IEEE Std 11073-20601a-
2010, sections 6.3.2.3 (MDS class attributes) and A.11.2 (MDS-related data types). [17] Patient Care Device (PCD) Technical Framework at the IHE site [18] Weight Scale Service v1.0 or later [19] Body Composition Service v1.0 or later [20] ISO/IEEE Std 11073-10415™-2010 Standard for Health Informatics – Personal health
device communication – Device specialization – Weighi ng Scale [21] ISO/IEEE Std 11073-10420™-2010 Standard for Health Informatics – Personal health
device communication – Device specialization – Body Composition Analyzer [22] IEEE Std 11073-10425™-2011 Standard for Health informatics – Personal health
device communication – Device specialization – Continuous Glucose Monitor [23] Continuous Glucose Monitoring Service v1.0 or later
Bluetooth SIG Proprietary Page 100 of 101
.
Loading...