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.
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 healthcarerelated 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 devicespecific 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 1107320601 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 11073104xx 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.
IEEE 1107320601
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 ((INTU8, INT-U8),
ANY)
List of (INTU16, INTU16)
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 INTU16 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 1107320601 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:
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]
• 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 nonASCII 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 vendorspecified 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].
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:
(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 7byte 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 1107310408 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, INTU16)
List of (INTU16, 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.
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 1107310406 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.
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, INTU16)
List of (INTU16, 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.
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.
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-msmtaperiodic).
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.
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-msmtaperiodic, 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, INTU16)
List of (INTU16, 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.
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-msmtaperiodic | 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 inTable 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.
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 -msmtaperiodic | 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 (unknownperson-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.
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 1107310417 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 PMStore, 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-TypeSpec-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 (INTU16, INTU16)
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-andTime-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 21is 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-TimeStamp
Basic-NuObserved-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
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:
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 scanreport 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.
3. Set to 0xF048 (mss-avail-intermittent | mss-avail-stored-data | mss-upd-aperiodic | mss-msmtaperiodic | 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.
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-msmtaperiodic | 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.
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.
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.
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-msmtaperiodic | 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)
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.
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
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).
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
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).
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
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).
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 specializationclass
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, INTU16)
List of (INTU16, 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.
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).
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.
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 45is 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
3. Set to 0xF040 (mss-avail-intermittent, mss-avail-stored-data, mss-upd-aperiodic, mss-msmtaperiodic, 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.
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”).
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-msmtaperiodic, 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 (unknownperson-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.
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-msmtaperiodic, 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.
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-msmtaperiodic, 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.
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.
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-msmtaperiodic, 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 inTable 58.
This attribute is not specified in the current version of the 11073-10420 specialization.
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-msmtaperiodic, 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.
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 -msmtaperiodic, 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.
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-msmtaperiodic, 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.
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-msmtaperiodic, 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 (unknownperson-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.4and
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-
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-catcalculation).
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
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 UnitCode 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.
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
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-catsetting) 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-catsetting) 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.
6. The Continuous Glucose Monitoring Service only supports units of mg/dL and as such, the UnitCode 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-
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-catcalculation | 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.
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-catsetting) 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.
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-agentinitiated | 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
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.
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.
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 (SFLOATType))
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-catsetting) 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
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
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
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-catsetting) 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 (SFLOATType))
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 UnitCode 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
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 (SFLOATType))
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-catsetting) 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 UnitCode 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.
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.
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-agentinitiated | 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-SimpleBit-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-syncrequired)
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.
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-agentinitiated | 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.
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, INTU16)
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
TypeN/AN/AN/ATYPE
Types
v16
Small
Measurement-
5
Status
N/AN/AN/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-NuObservedValue
Spot-Check
Measurement
Measurement
or
Continuous
Measurement
Pulse
Oximeter
Pulse
Oximeter
AggregateAbsoluteTime
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 spotcheck 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
TypeN/AN/AN/ATYPE
Types
Small
N/AN/AN/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-TimeStamp
Basic-NuObservedValue
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
AggregateAbsoluteTime
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
AbsoluteTime-
6
Stamp
ObservedValue
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
AggregateAbsoluteTime
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-ObservedValue-Basic-Bit-Str
Equivalent
Characteristic
Measurement
and
Continuous
Measurement
Bluetooth
Service
Pulse
Oximeter
Bluetooth
Data Type
AggregateBITS-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 SpotCheck 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 93describe 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 94shows 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
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...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.