Manufacturer: dexcom
Jump to...(notable fields on this type)
NB: All fields are required unless otherwise noted.
Jump to example JSON:
type
[ingestion, storage, client] The string cgmSettings.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
This is the Tidepool data type to represent CGM settings at a given point in time, usually the time of an upload of data from the device. Most CGM-receiving devices do not, unfortunately, keep a historical record of all CGM settings whenever a settings change is made, with the exception of Dexcom dedicated hardware receivers. The safest assumption is that the time on each cgmSettings object simply represents a (single) time when the settings were effective, not the first moment when the settings became effective.
highAlerts
[ingestion] An object representing a high glucose alert setting, with level in mg/dL (integer) or mmol/L (float) and the appropriately matching units value.
[storage, client] An object representing a high glucose alert setting, with level in mmol/L (float, potentially unrounded) and the appropriately matching units value.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Contains the following properties:
- enabled
- level
- snooze
highAlerts.enabled
[ingestion, storage, client] A Boolean value: true or false.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range: `true`, `false`
highAlerts.level
[ingestion] Blood glucose value in either mg/dL (integer) or mmol/L (float), with appropriately matching units field.
[storage, client] Blood glucose value in mmol/L (float, potentially unrounded), with appropriately matching units field.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Numerical type:
mg/dL: Integer value representing a `mg/dL` value.
mmol/L: Floating point value representing a `mmol/L` value.
Range:
mg/dL:
min: 0
max: 1000
mmol/L:
min: 0.0
max: 55.0
highAlerts.snooze
[ingestion, storage, client] An integer value representing minimum time between alerts in milliseconds.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Numerical type: Integer value representing milliseconds.
Range:
min: 0
max: 86400000
The highAlerts object on a cgmSettings event encodes the user's preferences for receiving alerts about high blood glucose events (hyperglycemia). The level gives the threshold for high BG alerts in the appropriate blood glucose units (either mg/dL or mmol/L on ingestion but converted to mmol/L upon ingestion, like all other blood glucose-related values in the Tidepool data model(s)). The snooze value allows the user to configure how often the alert should repeat (after an initial user-acknowledgment) if the PWD's blood glucose remains above the threshold value. This is useful since high blood glucose cannot be corrected immediately; a typical value for a snooze on a high blood glucose alert might be two hours, for example, since it takes about 90 minutes for an insulin dose (taken to correct the high blood glucose) to reach its peak (in terms of metabolic activity).
lowAlerts
[ingestion] An object representing a low glucose alert setting, with level in mg/dL (integer) or mmol/L (float) and the appropriately matching units value.
[storage, client] An object representing a low glucose alert setting, with level in mmol/L (float, potentially unrounded) and the appropriately matching units value.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Contains the following properties:
- enabled
- level
- snooze
lowAlerts.enabled
[ingestion, storage, client] A Boolean value: true or false.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range: `true`, `false`
lowAlerts.level
[ingestion] Blood glucose value in either mg/dL (integer) or mmol/L (float), with appropriately matching units field.
[storage, client] Blood glucose value in mmol/L (float, potentially unrounded), with appropriately matching units field.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Numerical type:
mg/dL: Integer value representing a `mg/dL` value.
mmol/L: Floating point value representing a `mmol/L` value.
Range:
mg/dL:
min: 0
max: 1000
mmol/L:
min: 0.0
max: 55.0
lowAlerts.snooze
[ingestion, storage, client] An integer value representing minimum time between alerts in milliseconds.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range:
min: 0
max: 86400000
The lowAlerts object on a cgmSettings event encodes the user's preferences for receiving alerts about low blood glucose events (hypoglycemia). The level gives the threshold for low BG alerts in the appropriate blood glucose units (either mg/dL or mmol/L on ingested but converted to mmol/L upon ingestion, like all other blood glucose-related values in the Tidepool data model(s)). The snooze value allows the user to configure how often the alert should repeat (after an initial user-acknowledgment) if the PWD's blood glucose remains below the threshold value. This is useful since low blood glucose cannot be corrected immediately; a typical value for a snooze on a low blood glucose alert might be fifteen minutes, for example, since that is the typical time recommended by diabetes health care providers to wait before retesting a PWD's blood glucose after treating hypoglycemia (by ingesting some form of glucose, whether soda, juice, glucose tablets, etc.).
outOfRangeAlerts
[ingestion, storage, client] An object representing an out-of-range alert setting.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Contains the following properties:
- enabled
- snooze
outOfRangeAlerts.enabled
[ingestion, storage, client] A Boolean value: true or false.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range: `true`, `false`
outOfRangeAlerts.snooze
[ingestion, storage, client] An integer value representing a minimum threshold of time (in milliseconds) the user's transmitter must be out-of-range of the receiving device before alerting.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Numerical type: Integer value representing milliseconds.
Range:
min: 0
max: 86400000
Changelog for outOfRangeAlerts
_schemaVersion ? (future): We plan to migrate from outOfRangeAlerts.snooze to outOfRangeAlerts.threshold in the future.
The outOfRangeAlerts object on a cgmSettings event encodes the user's settings for receiving alerts from the receiver if the connection between the transmitter and the receiver has been disrupted (typically due to the transmitter being situated physically out of range of the receiver). We have erroneously labeled the time value on this object snooze: this value is not like the snooze on highAlerts and lowAlerts. More specifically, the time value in an outOfRangeAlerts object is not a setting for time between alerts but rather a setting for elapsed time before the initial alert—that is, the amount of time (counted by the receiver), that the receiver's data connection with the transmitter has been broken. We plan to rename the field for this value to threshold in an upcoming _schemaVersion.
rateOfChangeAlerts
[ingestion] An object representing a rate of change alert setting, with rate in mg/dL (integer) or mmol/L (float) and the appropriately matching units value.
[storage, client] An object representing a rate of change alert setting, with rate in mmol/L (float, potentially unrounded) and the appropriately matching units value.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Each of two embedded objects—fallRate and riseRate—contains the following properties:
- enabled
- rate
rateOfChangeAlerts.enabled
[ingestion, storage, client] A Boolean value: true or false.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range: `true`, `false`
rateOfChangeAlerts.rate
[ingestion] A rate of blood glucose value change in either mg/dL/min (integer) or mmol/L/min (float), with appropriately matching units field.
[storage, client] A rate of blood glucose value change in mmol/L (float, potentially unrounded), with appropriately matching units field.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Numerical type:
mg/dL: Integer value representing a `mg/dL` value.
mmol/L: Floating point value representing a `mmol/L` value.
Range:
mg/dL:
min: -10 if `fallRate`, > 0 if `riseRate`
max: < 0 if `fallRate`, 10 if `riseRate`
mmol/L:
min: -0.55 if `fallRate`, > 0 if `riseRate`
max: < 0 if `fallRate`, 0.55 if `riseRate`
The rateOfChangeAlerts object on a cgmSettings event encodes the user's preferences for receiving alerts when the PWD's blood glucose is changing rapidly—either rising or falling. Each of fallRate and riseRate is an object inside of the rateOfChangeAlerts object with two key-value pairs for whether the alert is enabled and the rate of change to trigger the alert. For the fallRate, note that the rate of change must be specified as a negative value. Like all blood glucose-related values in the Tidepool data model(s), both fallRate.rate and riseRate.rate may be specified in either mg/dL or mmol/L for ingestion, but will be stored and returned to client applications in mmol/L.
transmitterId
[ingestion, storage, client] A string transmitter ID.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
units
[ingestion] One of two string values: mg/dL or mmol/L.
[storage, client] The string mmol/L.
See units for further explanation of blood glucose units.
QUICK SUMMARY
Required:
jellyfish: yes
platform: yes
Range: Must be one of:
`mg/dL`
`mmol/L`
clockDriftOffset
See common fields.
conversionOffset
See common fields.
deviceId
See common fields.
deviceTime
See common fields.
time
See common fields.
timezoneOffset
See common fields.
uploadId
See common fields.
_active
See common fields.
_groupId
See common fields.
_schemaVersion
See common fields.
_version
See common fields.
createdTime
See common fields.
guid
See common fields.
id
See common fields.
example (client)
{
"type": "cgmSettings",
"highAlerts": {
"enabled": true,
"level": 10.82395858253879,
"snooze": 4500000
},
"lowAlerts": {
"enabled": true,
"level": 3.33044879462732,
"snooze": 1800000
},
"outOfRangeAlerts": {
"enabled": false,
"snooze": 1800000
},
"rateOfChangeAlerts": {
"fallRate": {
"enabled": true,
"rate": -0.055507479910455335
},
"riseRate": {
"enabled": false,
"rate": 0.055507479910455335
}
},
"transmitterId": "C8E65",
"units": "mmol/L",
"clockDriftOffset": 0,
"conversionOffset": 0,
"deviceId": "DevId0987654321",
"deviceTime": "2018-05-14T18:17:07",
"guid": "6d15f48c-3734-4ad1-8f39-9b374f1d127f",
"id": "02ccebd2affc472d9b296d4f1f800dfd",
"time": "2018-05-14T08:17:07.560Z",
"timezoneOffset": 600,
"uploadId": "SampleUploadId"
}
example (ingestion)
{
"type": "cgmSettings",
"highAlerts": {
"enabled": true,
"level": 185,
"snooze": 2700000
},
"lowAlerts": {
"enabled": true,
"level": 85,
"snooze": 900000
},
"outOfRangeAlerts": {
"enabled": false,
"snooze": 3600000
},
"rateOfChangeAlerts": {
"fallRate": {
"enabled": true,
"rate": -2
},
"riseRate": {
"enabled": false,
"rate": 2
}
},
"transmitterId": "BE61A",
"units": "mg/dL",
"clockDriftOffset": 0,
"conversionOffset": 0,
"deviceId": "DevId0987654321",
"deviceTime": "2018-05-14T18:17:07",
"time": "2018-05-14T08:17:07.561Z",
"timezoneOffset": 600,
"uploadId": "SampleUploadId"
}
example (storage)
{
"type": "cgmSettings",
"highAlerts": {
"enabled": true,
"level": 10.268883783434237,
"snooze": 4500000
},
"lowAlerts": {
"enabled": true,
"level": 3.8855235937318735,
"snooze": 1800000
},
"outOfRangeAlerts": {
"enabled": false,
"snooze": 3600000
},
"rateOfChangeAlerts": {
"fallRate": {
"enabled": false,
"rate": -0.11101495982091067
},
"riseRate": {
"enabled": false,
"rate": 0.16652243973136602
}
},
"transmitterId": "E3250",
"units": "mmol/L",
"_active": true,
"_groupId": "abcdef",
"_schemaVersion": 0,
"_version": 0,
"clockDriftOffset": 0,
"conversionOffset": 0,
"createdTime": "2018-05-14T08:17:12.561Z",
"deviceId": "DevId0987654321",
"deviceTime": "2018-05-14T18:17:07",
"guid": "393c9563-705a-4832-b935-cbf23d759f77",
"id": "7cb8be46bb9447de8b4f5f90d1bd5486",
"time": "2018-05-14T08:17:07.561Z",
"timezoneOffset": 600,
"uploadId": "SampleUploadId"
}