<?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 Context" type="org.bluetooth.characteristic.glucose_measurement_context" uuid="2A34" last-modified="2012-02-27" approved="Yes">
    <InformativeText>
        <Summary>
            The Glucose Measurement Context characteristic is a variable length structure containing a Flags field, a Sequence Number field and, based upon the contents of the Flags field, may contain a Carbohydrate ID field,
            Carbohydrate field, Meal field, Tester-Health field, Exercise Duration field, Exercise Intensity field, Medication ID field, Medication field and a HbA1c 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="Carbohydrate ID And Carbohydrate Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C2" />
                    </Enumerations>
                </Bit>
                <Bit index="1" size="1" name="Meal Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C3" />
                    </Enumerations>
                </Bit>
                <Bit index="2" size="1" name="Tester-Health Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C4" />
                    </Enumerations>
                </Bit>
                <Bit index="3" size="1" name="Exercise Duration And Exercise Intensity Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C5" />
                    </Enumerations>
                </Bit>
                <Bit index="4" size="1" name="Medication ID And Medication Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C6" />
                    </Enumerations>
                </Bit>
                <Bit index="5" size="1" name="Medication Value Units">
                    <Enumerations>
                        <Enumeration key="0" value="kilograms" requires="C8" />
                        <Enumeration key="1" value="liters" requires="C9" />
                    </Enumerations>
                </Bit>
                <Bit index="6" size="1" name="HbA1c Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C7" />
                    </Enumerations>
                </Bit>
                <Bit index="7" size="1" name="Extended Flags Present">
                    <Enumerations>
                        <Enumeration key="0" value="False" />
                        <Enumeration key="1" value="True" requires="C1" />
                    </Enumerations>
                </Bit>
            </BitField>
        </Field>
        <Field name="Sequence Number">
            <Requirement>Mandatory</Requirement>
            <Format>uint16</Format>
        </Field>
        <Field name="Extended Flags ">
            <InformativeText>C1: Field exists if the key of bit 7 of the Flags field is set to 1</InformativeText>
            <Requirement>C1</Requirement>
            <Format>8bit</Format>
            <BitField>
                <ReservedForFutureUse index="0" size="8" />
            </BitField>
        </Field>
        <Field name="Carbohydrate ID">
            <InformativeText>C2: Field exists if the key of bit 0 of the Flags field is set to 1</InformativeText>
            <Requirement>C2</Requirement>
            <Format>uint8</Format>
            <Enumerations>
                <Enumeration key="0" value="Reserved for future use" />
                <Enumeration key="1" value="Breakfast" />
                <Enumeration key="2" value="Lunch" />
                <Enumeration key="3" value="Dinner" />
                <Enumeration key="4" value="Snack" />
                <Enumeration key="5" value="Drink" />
                <Enumeration key="6" value="Supper" />
                <Enumeration key="7" value="Brunch" />
                <ReservedForFutureUse start="8" end="255" />
            </Enumerations>
        </Field>
        <Field name="Carbohydrate - units of kilograms">
            <InformativeText>C2: Field exists if the key of bit 0 of the Flags field is set to 1</InformativeText>
            <Requirement>C2</Requirement>
            <Format>SFLOAT</Format>
            <Unit>org.bluetooth.unit.mass.kilogram</Unit>
            <DecimalExponent>-3</DecimalExponent>
        </Field>
        <Field name="Meal">
            <InformativeText>C3: Field exists if the key of bit 1 of the Flags field is set to 1</InformativeText>
            <Requirement>C3</Requirement>
            <Format>uint8</Format>
            <Enumerations>
                <Enumeration key="0" value="Reserved for future use" />
                <Enumeration key="1" value="Preprandial (before meal)" />
                <Enumeration key="2" value="Postprandial (after meal)" />
                <Enumeration key="3" value="Fasting" />
                <Enumeration key="4" value="Casual (snacks, drinks, etc.)" />
                <Enumeration key="5" value="Bedtime" />
                <ReservedForFutureUse start="6" end="255" />
            </Enumerations>
        </Field>
        <Field name="Tester">
            <InformativeText>
            C4: Field exists if the key of bit 2 of the Flags field is set to 1
			</InformativeText>
            <Requirement>C4</Requirement>
            <Format>nibble</Format>
            <Enumerations>
                <Enumeration key="0" value="Reserved for future use" />
                <Enumeration key="1" value="Self" />
                <Enumeration key="2" value="Health Care Professional" />
                <Enumeration key="3" value="Lab test" />
                <Enumeration key="15" value="Tester value not available" />
                <ReservedForFutureUse start="4" end="14" />
            </Enumerations>
            </Field>
            <Field name="Health">
            <InformativeText>
            C4: Field exists if the key of bit 2 of the Flags field is set to 1
			</InformativeText>
            <Requirement>C4</Requirement>
            <Format>nibble</Format>
            <Enumerations>
                <Enumeration key="0" value="Reserved for future use" />
                <Enumeration key="1" value="Minor health issues" />
                <Enumeration key="2" value="Major health issues" />
                <Enumeration key="3" value="During menses" />
                <Enumeration key="4" value="Under stress" />
                <Enumeration key="5" value="No health issues" />
                <Enumeration key="15" value="Health value not available" />
                <ReservedForFutureUse start="6" end="14" />
            </Enumerations>
        </Field>
        <Field name="Exercise Duration">
            <InformativeText>C5: Field exists if the key of bit 3 of the Flags field is set to 1</InformativeText>
            <Requirement>C5</Requirement>
            <Format>uint16</Format>
            <Unit>org.bluetooth.unit.time.second</Unit>
            <Enumerations>
                <Enumeration key="65535" value="Overrun" />
                <Enumeration_Range start="0" end="65534" name="Exercise Duration in seconds" />
            </Enumerations>
        </Field>
        <Field name="Exercise Intensity">
            <InformativeText>C5: Field exists if the key of bit 3 of the Flags field is set to 1</InformativeText>
            <Requirement>C5</Requirement>
            <Format>uint8</Format>
            <Unit>org.bluetooth.unit.percentage</Unit>
        </Field>
        <Field name="Medication ID">
            <InformativeText>C6: Field exists if the key of bit 4 of the Flags field is set to 1</InformativeText>
            <Requirement>C6</Requirement>
            <Format>uint8</Format>
            <Enumerations>
                <Enumeration key="0" value="Reserved for future use" />
                <Enumeration key="1" value="Rapid acting insulin" />
                <Enumeration key="2" value="Short acting insulin" />
                <Enumeration key="3" value="Intermediate acting insulin" />
                <Enumeration key="4" value="Long acting insulin" />
                <Enumeration key="5" value="Pre-mixed insulin" />
                <ReservedForFutureUse start="6" end="255" />
            </Enumerations>
        </Field>
        <Field name="Medication - units of kilograms">
            <InformativeText>
			C6: Field exists if the key of bit 4 of the Flags field is set to 1,
			C8: Field exists if the key of bit 5 of the Flags field is set to 0
			</InformativeText>
			<Requirement>C6</Requirement>
            <Requirement>C8</Requirement>
            <Format>SFLOAT</Format>
            <Unit>org.bluetooth.unit.mass.kilogram</Unit>
            <DecimalExponent>-6</DecimalExponent>
        </Field>
        <Field name="Medication - units of liters">
            <InformativeText>
			C6: Field exists if the key of bit 4 of the Flags field is set to 1,
			C9: Field exists if the key of bit 5 of the Flags field is set to 1
			</InformativeText>
			<Requirement>C6</Requirement>
            <Requirement>C9</Requirement>
            <Format>SFLOAT</Format>
            <Unit>org.bluetooth.unit.volume.litre</Unit>
            <DecimalExponent>-3</DecimalExponent>
        </Field>
        <Field name="HbA1c">
            <InformativeText>C7: Field exists if the key of bit 6 of the Flags field is set to 1</InformativeText>
            <Requirement>C7</Requirement>
            <Format>SFLOAT</Format>
            <Unit>org.bluetooth.unit.percentage</Unit>
        </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>
