forked from oesmith/gatt-xml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
org.bluetooth.characteristic.glucose_measurement.xml
247 lines (240 loc) · 10 KB
/
org.bluetooth.characteristic.glucose_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
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid XML Studio Designer Edition 9.1.10.3537 (http://www.liquid-technologies.com) -->
<!--Copyright 2011 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="Glucose Measurement"
type="org.bluetooth.characteristic.glucose_measurement" uuid="2A18"
last-modified="2012-02-20" approved="Yes">
<InformativeText>
<Summary>The Glucose Measurement characteristic is a variable
length structure containing a Flags field, a Sequence Number
field, a Base Time field and, based upon the contents of the
Flags field, may contain a Time Offset field, Glucose
Concentration field, Type-Sample Location field and a Sensor
Status Annunciation field.</Summary>
</InformativeText>
<Value>
<Field name="Flags">
<InformativeText>These flags define which data fields are
present in the Characteristic value</InformativeText>
<Requirement>Mandatory</Requirement>
<Format>8bit</Format>
<BitField>
<Bit index="0" size="1" name="Time Offset Present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C1" />
</Enumerations>
</Bit>
<Bit index="1" size="1"
name="Glucose Concentration, Type and Sample Location Present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C2" />
</Enumerations>
</Bit>
<Bit index="2" size="1" name="Glucose Concentration Units">
<Enumerations>
<Enumeration key="0" value="kg/L" requires="C3" />
<Enumeration key="1" value="mol/L" requires="C4" />
</Enumerations>
</Bit>
<Bit index="3" size="1"
name="Sensor Status Annunciation Present">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" requires="C5" />
</Enumerations>
</Bit>
<Bit index="4" size="1" name="Context Information Follows">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<ReservedForFutureUse index="5" size="3" />
</BitField>
</Field>
<Field name="Sequence Number">
<Requirement>Mandatory</Requirement>
<Format>uint16</Format>
</Field>
<Field name="Base Time">
<Requirement>Mandatory</Requirement>
<Reference>org.bluetooth.characteristic.date_time</Reference>
</Field>
<Field name="Time Offset">
<InformativeText>C1: Field exists if the key of bit 0 of the
Flags field is set to 1</InformativeText>
<Requirement>C1</Requirement>
<Format>sint16</Format>
<Unit>org.bluetooth.unit.time.minute</Unit>
<!--<Enumerations>
<Enumeration key="32767" value="Overrun" />
<Enumeration key="32768" value="Underrun" />
<Enumeration_Range start="0" end="32766" name="Time offset in minutes" />
<Enumeration_Range start="32769" end="65535" name="Time offset in minutes" />
</Enumerations>-->
</Field>
<Field name="Glucose Concentration - units of kg/L">
<InformativeText>C2: Field exists if the key of bit 1 of the
Flags field is set to 1, C3: Field exists if the key of bit 2
of the Flags field is set to 0</InformativeText>
<Requirement>C2</Requirement>
<Requirement>C3</Requirement>
<Format>SFLOAT</Format>
<Unit>
org.bluetooth.unit.mass_density.kilogram_per_litre</Unit>
</Field>
<Field name="Glucose Concentration - units of mol/L">
<InformativeText>C2: Field exists if the key of bit 1 of the
Flags field is set to 1, C4: Field exists if the key of bit 2
of the Flags field is set to 1</InformativeText>
<Requirement>C2</Requirement>
<Requirement>C4</Requirement>
<Format>SFLOAT</Format>
<Unit>org.bluetooth.unit.mass_density.mole_per_litre</Unit>
</Field>
<Field name="Type">
<InformativeText>C2: Field exists if the key of bit 1 of the
Flags field is set to 1</InformativeText>
<Requirement>C2</Requirement>
<Format>nibble</Format>
<Enumerations>
<Enumeration key="0" value="Reserved for future use" />
<Enumeration key="1" value="Capillary Whole blood" />
<Enumeration key="2" value="Capillary Plasma" />
<Enumeration key="3" value="Venous Whole blood" />
<Enumeration key="4" value="Venous Plasma" />
<Enumeration key="5" value="Arterial Whole blood" />
<Enumeration key="6" value="Arterial Plasma" />
<Enumeration key="7" value="Undetermined Whole blood" />
<Enumeration key="8" value="Undetermined Plasma" />
<Enumeration key="9" value="Interstitial Fluid (ISF)" />
<Enumeration key="10" value="Control Solution" />
<ReservedForFutureUse start="11" end="15" />
</Enumerations>
</Field>
<Field name="Sample Location">
<InformativeText>C2: Field exists if the key of bit 1 of the
Flags field is set to 1</InformativeText>
<Requirement>C2</Requirement>
<Format>nibble</Format>
<Enumerations>
<Enumeration key="0" value="Reserved for future use" />
<Enumeration key="1" value="Finger" />
<Enumeration key="2" value="Alternate Site Test (AST)" />
<Enumeration key="3" value="Earlobe" />
<Enumeration key="4" value="Control solution" />
<Enumeration key="15"
value="Sample Location value not available" />
<ReservedForFutureUse start="5" end="14" />
</Enumerations>
</Field>
<Field name="Sensor Status Annunciation">
<InformativeText>C5: Field exists if the key of bit 3 of the
Flags field is set to 1</InformativeText>
<Requirement>C5</Requirement>
<Format>16bit</Format>
<BitField>
<Bit index="0" size="1"
name="Device battery low at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="1" size="1"
name="Sensor malfunction or faulting at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="2" size="1"
name="Sample size for blood or control solution insufficient at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="3" size="1" name="Strip insertion error">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="4" size="1"
name="Strip type incorrect for device">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="5" size="1"
name="Sensor result higher than the device can process">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="6" 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="7" 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="8" 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="9" size="1"
name="Sensor read interrupted because strip was pulled too soon at time of measurement">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<Bit index="10" 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="11" size="1"
name="Time fault has occurred in the sensor and time may be inaccurate">
<Enumerations>
<Enumeration key="0" value="False" />
<Enumeration key="1" value="True" />
</Enumerations>
</Bit>
<ReservedForFutureUse index="12" size="4" />
</BitField>
</Field>
</Value>
<Note>The fields in the above table, reading from top to bottom,
are shown in the order of LSO to MSO, where LSO = Least
Significant Octet and MSO = Most Significant Octet.
<p>Where fields with the format ?nibble? have been defined in the
above table, the fields are shown in the order of Least
Significant Nibble first, when reading the table from top to
bottom. Where the characteristic definition contains two adjacent
nibbles and the service specification has defined that that pair
of nibbles comprise a single octet, the Least Significant Nibble
means the four bits numbered 0, 1, 2 and 3 of the octet and the
Most Significant Nibble means the four bits numbered 4, 5, 6 and
7 of that octet.</p></Note>
</Characteristic>