Glucose Measurement Context (0x2A34): byte layout
GATT characteristic · org.bluetooth.characteristic.glucose_measurement_context · read from the Bluetooth SIG’s repository on 2026-10-17 · commit 408f4a0 (2026-10-14)
Glucose Measurement Context is Bluetooth GATT characteristic 0x2A34, org.bluetooth.characteristic.glucose_measurement_context in the Bluetooth SIG's assigned numbers. The SIG's GATT Specification Supplement file lays its value out as 12 fields: Flags, Sequence Number, Extended Flags, Carbohydrate ID, Carbohydrate and 7 more. The first, Flags, is a boolean[8]; 10 of the others are present only when a bit of it is set as the field's text states, so after the first of those, a field's offset depends on which bits are set.
- UUID
- 0x2A34
- Identifier
org.bluetooth.characteristic.glucose_measurement_context- The SIG’s description
- The Glucose Measurement Context characteristic is used to represent context information associated with a glucose measurement record.The structure of this characteristic is defined below.
- Service the SIG’s files tie it to
- None: no file in the repository lists this characteristic under a service.
- Source file
- gss/org.bluetooth.characteristic.glucose_measurement_context.yaml
Byte layout: 12 fields
In the order the SIG’s structure lists them. Type and size are as published; sizes count octets except where a struct is marked as sized in bits. The offset is printed only where every earlier field has a fixed size; where an earlier field can be absent or vary, the cell names what it depends on. “Present when” is read from the field’s own “Present if” line, shown in full in the field notes below.
| Offset | Field | Type | Size | Present when | Unit |
|---|---|---|---|---|---|
| 0 | Flags | boolean[8] | 1 | Always (fixed size) | — |
| 1 | Sequence Number | uint16 | 2 | Always (fixed size) | — |
| 3 | Extended Flags | boolean[8] | 0 or 1 | Bit 7 of Flags is 1 | — |
| Depends on Flags (bit 7) | Carbohydrate ID | uint8 | 0 or 1 | Bit 0 of Flags is 1 | — |
| Depends on Flags (bits 0 and 7) | Carbohydrate | medfloat16 | 0 or 2 | Bit 0 of Flags is 1 | mass (kilogram)org.bluetooth.unit.mass.kilogram |
| Depends on Flags (bits 0 and 7) | Meal | uint8 | 0 or 1 | Bit 1 of Flags is 1 | — |
| Depends on Flags (bits 0, 1 and 7) | Tester-Health | struct | 0 or 1 | Bit 2 of Flags is 1 | — |
| +0 bits | ↳ Tester | uint4 | 4 bits | Always (fixed size) | unitlessorg.bluetooth.unit.unitless |
| +4 bits | ↳ Health | uint4 | 4 bits | Always (fixed size) | unitlessorg.bluetooth.unit.unitless |
| Depends on Flags (bits 0, 1, 2 and 7) | Exercise Duration | uint16 | 0 or 2 | Bit 3 of Flags is 1 | time (second)org.bluetooth.unit.time.second |
| Depends on Flags (bits 0, 1, 2, 3 and 7) | Exercise Intensity | uint8 | 0 or 1 | Bit 3 of Flags is 1 | percentageorg.bluetooth.unit.percentage |
| Depends on Flags (bits 0, 1, 2, 3 and 7) | Medication ID | uint8 | 0 or 1 | Bit 4 of Flags is 1 | — |
| Depends on Flags (bits 0, 1, 2, 3, 4 and 7) | Medication | medfloat16 | 0 or 2 | Bit 4 of Flags is 1 | mass (kilogram)org.bluetooth.unit.mass.kilogramvolume (litre)org.bluetooth.unit.volume.litre |
| Depends on Flags (bits 0, 1, 2, 3, 4 and 7) | HbA1c | medfloat16 | 0 or 2 | Bit 6 of Flags is 1 | percentageorg.bluetooth.unit.percentage |
Field notes
Each field’s text in the SIG’s file, line by line.
- Flags boolean[8] · 1
- See Flags
- Sequence Number uint16 · 2
- Contains the sequence number of the corresponding Glucose Measurement as defined by the service.
- Extended Flags boolean[8] · 0 or 1
- See Extended FlagsPresent if bit 7 of Flags field is set to 1
- Carbohydrate ID uint8 · 0 or 1
- See Carbohydrate IDPresent if bit 0 of Flags field is set to 1
- Carbohydrate medfloat16 · 0 or 2
- Unit: org.bluetooth.unit.mass.kilogramPresent if bit 0 of Flags field is set to 1
- Meal uint8 · 0 or 1
- See MealPresent if bit 1 of Flags field is set to 1
- Tester-Health struct · 0 or 1
- See Tester-HealthPresent if bit 2 of Flags field is set to 1
- Exercise Duration uint16 · 0 or 2
- See Exercise DurationUnit: org.bluetooth.unit.time.secondPresent if bit 3 of Flags field is set to 1
- Exercise Intensity uint8 · 0 or 1
- Unit: org.bluetooth.unit.percentagePresent if bit 3 of Flags field is set to 1
- Medication ID uint8 · 0 or 1
- See Medication IDPresent if bit 4 of Flags field is set to 1
- Medication medfloat16 · 0 or 2
- If bit 5 of Flags field is set to 0,Unit: org.bluetooth.unit.mass.kilogramIf bit 5 of Flags field is set to 1,Unit: org.bluetooth.unit.volume.litrePresent if bit 4 of Flags field is set to 1
- HbA1c medfloat16 · 0 or 2
- Unit: org.bluetooth.unit.percentagePresent if bit 6 of Flags field is set to 1
Flags and value tables
The definitions the SIG’s file gives for its fields, every row as published. On a flags table the last column lists the fields whose “Present if” line names that bit.
Flags
The bits of this field are defined below.
| Bit | Description | Fields its condition names |
|---|---|---|
| 0 | Carbohydrates Flag:0 = Carbohydrate ID and Carbohydrate fields not present1 = Carbohydrate ID and Carbohydrate fields present | Carbohydrate ID when 1Carbohydrate when 1 |
| 1 | Meal Flag:0 = Meal field not present1 = Meal field present | Meal when 1 |
| 2 | Tester-Health Flag:0 = Tester-Health field not present1 = Tester-Health field present | Tester-Health when 1 |
| 3 | Exercise Flag:0 = Exercise Duration and Exercise Intensity fields not present1 = Exercise Duration and Exercise Intensity fields present | Exercise Duration when 1Exercise Intensity when 1 |
| 4 | Medication Flag:0 = Medication ID and Medication fields not present1 = Medication ID and Medication fields present | Medication ID when 1Medication when 1 |
| 5 | Medication Units Flag:0 = Medication value in units of milligrams1 = Medication value in units of milliliters | — |
| 6 | HbA1c Flag:0 = HbA1c field not present1 = HbA1c field present | HbA1c when 1 |
| 7 | Extended Flags:0 = Extended Flags field not present1 = Extended Flags field present | Extended Flags when 1 |
Extended Flags
The bits of this field are defined below.
| Bit | Description | Fields its condition names |
|---|---|---|
| 0–7 | Reserved for Future Use | — |
Carbohydrate ID
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x00 | Reserved for Future Use |
| 0x01 | Breakfast |
| 0x02 | Lunch |
| 0x03 | Dinner |
| 0x04 | Snack |
| 0x05 | Drink |
| 0x06 | Supper |
| 0x07 | Brunch |
| 0x08–0xFF | Reserved for Future Use |
Meal
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x00 | Reserved for Future Use |
| 0x01 | Preprandial (before meal) |
| 0x02 | Postprandial (after meal) |
| 0x03 | Fasting |
| 0x04 | Casual (snacks, drinks, etc.) |
| 0x05 | Bedtime |
| 0x06–0xFF | Reserved for Future Use |
Tester-Health(sizes in bits, as the file marks)
The structure of this field is defined below.
| Field | Data type | Size | Description |
|---|---|---|---|
| Tester | uint4 | 4 | Unit: org.bluetooth.unit.unitlessSee Tester |
| Health | uint4 | 4 | Unit: org.bluetooth.unit.unitlessSee Health |
Tester
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x0 | Reserved for Future Use |
| 0x1 | Self |
| 0x2 | Health Care Professional |
| 0x3 | Lab test |
| 0x4–0xE | Reserved for Future Use |
| 0xF | Tester value not available |
Health
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x0 | Reserved for Future Use |
| 0x1 | Minor health issues |
| 0x2 | Major health issues |
| 0x3 | During menses |
| 0x4 | Under stress |
| 0x5 | No health issues |
| 0x6–0xE | Reserved for Future Use |
| 0xF | Health value not available |
Exercise Duration
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x0000–0xFFFE | Exercise Duration in seconds |
| 0xFFFF | Overrun |
Medication ID
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x00 | Reserved for Future Use |
| 0x01 | Rapid acting insulin |
| 0x02 | Short acting insulin |
| 0x03 | Intermediate acting insulin |
| 0x04 | Long acting insulin |
| 0x05 | Pre-mixed insulin |
| 0x06–0xFF | Reserved for Future Use |
Guides on this site
The metric Glucose Measurement Context carries, on every platform this site covers — each type quoted in its platform's own words:
No guide on this site names 0x2A34 yet. The connected-devices guides cover pairing, subscribing and testing for the device types they do name.
Questions
- What is the UUID of the Glucose Measurement Context characteristic?
- 0x2A34. The Bluetooth SIG's characteristic_uuids.yaml lists Glucose Measurement Context as 0x2A34 with the identifier org.bluetooth.characteristic.glucose_measurement_context. No file in the SIG's repository ties it to a service: the repository lists service and characteristic UUIDs separately.
- Which Glucose Measurement Context fields are optional?
- 10 of its 12 fields have a published size that can be zero: Extended Flags (0 or 1; Present if bit 7 of Flags field is set to 1); Carbohydrate ID (0 or 1; Present if bit 0 of Flags field is set to 1); Carbohydrate (0 or 2; Present if bit 0 of Flags field is set to 1); Meal (0 or 1; Present if bit 1 of Flags field is set to 1); Tester-Health (0 or 1; Present if bit 2 of Flags field is set to 1); Exercise Duration (0 or 2; Present if bit 3 of Flags field is set to 1); Exercise Intensity (0 or 1; Present if bit 3 of Flags field is set to 1); Medication ID (0 or 1; Present if bit 4 of Flags field is set to 1); Medication (0 or 2; Present if bit 4 of Flags field is set to 1); HbA1c (0 or 2; Present if bit 6 of Flags field is set to 1). Flags (1) and Sequence Number (2) have a fixed size.
- What units does Glucose Measurement Context use?
- The SIG's text names a unit for 5 of the 12 fields: Carbohydrate: mass (kilogram) (org.bluetooth.unit.mass.kilogram); Exercise Duration: time (second) (org.bluetooth.unit.time.second); Exercise Intensity: percentage (org.bluetooth.unit.percentage); Medication: mass (kilogram) (org.bluetooth.unit.mass.kilogram) and volume (litre) (org.bluetooth.unit.volume.litre), each on its own line of the field's text with the condition it states; HbA1c: percentage (org.bluetooth.unit.percentage).
- What do the bits of the Glucose Measurement Context Flags field mean?
- The SIG defines them as: bit 0, Carbohydrates Flag: 0 = Carbohydrate ID and Carbohydrate fields not present; 1 = Carbohydrate ID and Carbohydrate fields present (Carbohydrate ID when 1, Carbohydrate when 1); bit 1, Meal Flag: 0 = Meal field not present; 1 = Meal field present (Meal when 1); bit 2, Tester-Health Flag: 0 = Tester-Health field not present; 1 = Tester-Health field present (Tester-Health when 1); bit 3, Exercise Flag: 0 = Exercise Duration and Exercise Intensity fields not present; 1 = Exercise Duration and Exercise Intensity fields present (Exercise Duration when 1, Exercise Intensity when 1); bit 4, Medication Flag: 0 = Medication ID and Medication fields not present; 1 = Medication ID and Medication fields present (Medication ID when 1, Medication when 1); bit 5, Medication Units Flag: 0 = Medication value in units of milligrams; 1 = Medication value in units of milliliters; bit 6, HbA1c Flag: 0 = HbA1c field not present; 1 = HbA1c field present (HbA1c when 1); bit 7, Extended Flags: 0 = Extended Flags field not present; 1 = Extended Flags field present (Extended Flags when 1).
- Which values does the Glucose Measurement Context Carbohydrate ID table define?
- 0x01: Breakfast; 0x02: Lunch; 0x03: Dinner; 0x04: Snack; 0x05: Drink; 0x06: Supper; 0x07: Brunch. The other rows are reserved for future use or carry no text.
Source
Read on 2026-10-17 from gss/org.bluetooth.characteristic.glucose_measurement_context.yaml and assigned_numbers/uuids/characteristic_uuids.yaml in the Bluetooth SIG’s public repository (branch main, commit 408f4a0, committed 2026-10-14), by scripts/fetch-bluetooth-gatt.mjs. The file’s notice says it is proprietary to Bluetooth SIG, that furnishing it grants no licence, and that it is subject to change without notice; it is © Bluetooth SIG, Inc., and its text is quoted here for identification. Generated by AIFitnessAPI, which is not affiliated with Bluetooth SIG; the SIG’s file remains the authority. The full notice and the conventions used on these pages are on the reference hub.