-
Notifications
You must be signed in to change notification settings - Fork 47
/
org.bluetooth.characteristic.cgm_measurement.xml
300 lines (294 loc) · 12 KB
/
org.bluetooth.characteristic.cgm_measurement.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright 2014 Bluetooth SIG, Inc. All rights reserved.-->
<Characteristic xsi:noNamespaceSchemaLocation="http://schemas.bluetooth.org/Documents/characteristic.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="CGM Measurement"
type="org.bluetooth.characteristic.cgm_measurement" uuid="2AA7"
last-modified="2014-11-17" approved="Yes">
<InformativeText>
<Summary>The CGM Measurement characteristic is a variable
length structure containing one or more CGM Measurement
records, each comprising a Size field, a Flags Field, a Glucose
Concentration field, a Time Offset field, a Sensor Status
Annunciation field (optional), a CGM Trend Information Field
(optional), a CGM Quality Field (optional), and an E2E-CRC
Field (mandatory if this feature is supported).</Summary>
</InformativeText>
<Value>
<Field name="Size">
<InformativeText>The Size Field represents the size of the
CGM Measurement record. In minimum the size is 6 octets and
is enlarged by more octets indicated by the Flags Field
(Sensor Status Annunciation Field, CGM Trend Information
Field and CGM Quality Field) and the E2E-CRC Supported bit in
CGM Feature. The Size Field itself is included in the overall
length calculation.</InformativeText>
<Requirement>Mandatory</Requirement>
<Format>uint8</Format>
</Field>
<Field name="Flags">
<Requirement>Mandatory</Requirement>
<Format>8bit</Format>
<BitField>
<Bit index="0" size="1"
name="CGM Trend Information Present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C1" />
</Enumerations>
</Bit>
<Bit index="1" size="1" name="CGM Quality Present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C2" />
</Enumerations>
</Bit>
<Bit index="5" size="1"
name="Sensor Status Annunciation Field, Warning-Octet present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C4" />
</Enumerations>
</Bit>
<Bit index="6" size="1"
name="Sensor Status Annunciation Field, Cal/Temp-Octet present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C4" />
</Enumerations>
</Bit>
<Bit index="7" size="1"
name="Sensor Status Annunciation Field, Status-Octet present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C4" />
</Enumerations>
</Bit>
<ReservedForFutureUse index="2" size="3" />
</BitField>
</Field>
<Field name="CGM Glucose Concentration">
<InformativeText>The CGM Glucose Concetration Field contains
the CGM glucose concentration in mg/dL as a SFLOAT data type.
The SFLOAT-Type is a 16-bit word comprising a signed 4-bit
integer exponent followed by a signed 12-bit Mantissa, each
in twos-complement form.</InformativeText>
<Requirement>Mandatory</Requirement>
<Format>SFLOAT</Format>
<Unit>
org.bluetooth.unit.mass_density.milligram_per_decilitre</Unit>
<DecimalExponent>0</DecimalExponent>
</Field>
<Field name="Time Offset">
<InformativeText>The following values are defined for the
Time Offset Field, specifying the relative time difference of
the single CGM values to the session start time. Value:
(0x0000 - 0xFFFF), Description: (Time offset in minutes as
offset to the Session Start Time).</InformativeText>
<Requirement>Mandatory</Requirement>
<Format>uint16</Format>
<Unit>org.bluetooth.unit.time.minute</Unit>
<DecimalExponent>0</DecimalExponent>
</Field>
<Field name="Sensor Status Annunciation">
<InformativeText>The Sensor Status Annunciation Field is an
optional field comprising up to three octets. It is only
attached if one or more bits are set to ?1?. Only the
affected octet(s) shall be added and indicated by the Flags
Field. The Sensor Status Annunciation Field shall be attached
to every CGM Measurement Record to which the status
applies.</InformativeText>
<Requirement>C4</Requirement>
<Format>variable</Format>
<Description>The format "Variable" is Defined by the Service
Specification</Description>
<BitField>
<Bit index="0" size="1" name="Session Stopped">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="1" size="1" name="Device Battery Low">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="2" size="1"
name="Sensor type incorrect for device">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="3" size="1" name="Sensor malfunction">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="4" size="1" name="Device Specific Alert">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="5" size="1"
name="General device fault has occurred in the sensor">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="8" size="1"
name="Time synchronization between sensor and collector required">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="9" size="1" name="Calibration not allowed">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="10" size="1" name="Calibration recommended">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="11" size="1" name="Calibration required">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="12" size="1"
name="Sensor Temperature too high for valid test/result at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="13" size="1"
name="Sensor temperature too low for valid test/result at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="16" size="1"
name="Sensor result lower than the Patient Low level">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="17" size="1"
name="Sensor result higher than the Patient High level">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="18" size="1"
name="Sensor result lower than the Hypo level">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="19" size="1"
name="Sensor result higher than the Hyper level">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="20" size="1"
name="Sensor Rate of Decrease exceeded">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="21" size="1"
name="Sensor Rate of Increase exceeded">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="22" size="1"
name="Sensor result lower than the device can process">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="23" size="1"
name="Sensor result higher than the device can process">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<ReservedForFutureUse index="6" size="2" />
<ReservedForFutureUse index="14" size="2" />
</BitField>
</Field>
<Field name="CGM Trend Information">
<InformativeText>The CGM Trend Information Field contains the
CGM Trend information in (mg/dL)/min as an SFLOAT data type.
This field is optional if the device supports CGM Trend
information (Bit 15 in CGM Feature is set to 1) otherwise
excluded.</InformativeText>
<Requirement>C1</Requirement>
<Format>SFLOAT</Format>
<Unit>
org.bluetooth.unit.mass_density.milligram_per_decilitre</Unit>
<DecimalExponent>0</DecimalExponent>
</Field>
<Field name="CGM Quality">
<InformativeText>This field contains the CGM Quality
information in % as an SFLOAT data type. The SFLOAT-Type is a
16-bit word comprising a signed 4-bit integer exponent
followed by a signed 12-bit Mantissa, each in twos-complement
form. This field is optional if the device supports CGM
Quality (Bit 16 in CGM Feature is set to 1) otherwise
excluded.</InformativeText>
<Requirement>C2</Requirement>
<Format>SFLOAT</Format>
<Unit>org.bluetooth.unit.percentage</Unit>
<DecimalExponent>0</DecimalExponent>
</Field>
<Field name="E2E-CRC">
<InformativeText>If the device supports E2E-safety (E2E-CRC
Supported bit is set in CGM Feature), the measurement is
secured by a CRC calculated over all fields. The computation
of the CRC is done using a CRC-CCITT generator polynomial
g(D)=D16+D12+D5+1 (i.e.210041 in octal representation) with a
seed of 0xFFFF. This field is mandatory if the device
supports E2E-CRC (Bit 12 in CGM Feature is set to 1)
otherwise excluded.</InformativeText>
<Requirement>C3</Requirement>
<Format>uint16</Format>
</Field>
</Value>
<Note>
<p>The fields in the above table are in the order of LSO to
MSO. Where LSO = Least Significant Octet and MSO = Most
Significant Octet</p>
<p>C1: Optional if device supports CGM Trend Information (Bit
15 is set in CGM Feature) otherwise excluded.</p>
<p>C2: Optional if device supports CGM Quality (Bit 16 is set
in CGM Feature) otherwise excluded.</p>
<p>C3: Mandatory if device supports E2E-CRC (Bit 12 is set in
CGM Feature) otherwise excluded.</p>
<p>C4: Optional if bit 5 or bit 6 or bit 7 of the flgas field
is set to ?1?, otherwise excluded.</p>
</Note>
</Characteristic>