Skip to content
Last updated

Delivery Type (deliveryType)

The string scheduled.

This is the sub-type of basal event that represents intervals of basal insulin delivery triggered by the pump itself according to the active basal schedule programmed by the user (or clinician).

An integer value representing a duration of time in milliseconds.

Note that for some insulin pumps, even for a scheduled basal not interrupted by another event like a suspend or temp, the duration may not be the nice round numbers of milliseconds that might be expected given the schedule in the pumpSettings, for example, 3600000 for a basal event lasting an hour. This is because of how some pumps schedule the small pulses of insulin delivery fulfilling the scheduled rate; depending on how the pulses are scheduled, the actual duration of the basal may be a bit over or under the scheduled duration.

This value is expected to be >= 0 and <= 432000000 (the number of milliseconds in five days), as we assume that any single basal interval, even for a user running a flat-rate basal schedule, is broken up by a suspension of delivery in order to change the infusion site and/or insulin reservoir at least every five days.

Expected Duration (expectedDuration)

An integer value representing an original programmed duration of time in milliseconds, copied from the duration field on ingestion when a following event has resulted in truncation of the original programmed duration.

Many insulin pumps provide information on the expected duration of basals in addition to the actual duration of basals. (These values may differ in the case of a basal being suspended or canceled.) Where this is true, Platform will provide the same information. If you do not know what the expected duration is, do not include this information as it is an optional field.

A floating point number >= 0 representing the amount of insulin delivered in units per hour.

Different insulin pump manufacturers offer the ability to program basal rates with different levels of precision in terms of significant digits on the rate. We endeavor to represent each rate as accurately as possible for each insulin pump; occasionally when values are stored to a falsely large number of floating point digits this means rounding the raw rate value found in a record from a pump in order to match the significant digits of precision advertised by the manufacturer. It is the burden of the uploading client to handle this rounding since the number of significant digits for rates varies according to the pump manufacturer.

Schedule Name (scheduleName)

A string: the name of the basal schedule.

Tidepool would love to surface the basal schedule names for every pump manufacturer. Unfortunately, most manufacturers do not provide this information or record pump setting changes. In some cases, we can find this information ourselves by looking up the active pump settings at the time of a particular basal event.

Schedule name is an optional field and should only be added to basal data when directly available from an insulin pump's raw data, or if it can be inferred with high confidence via lookup against a complete pump settings history.


Quick Summary

annotationsArray of Annotation (object) or Blood Glucose Out of Range (object)(Annotation Array)[ 0 .. 100 ] itemsunique

An array of annotations.

archivedTimestring(date-time)(Date/Time)read-only
Example: "2017-02-06T02:37:46Z"
archivedDatasetIdstring(Data Set ID)[ 17 .. 37 ] characters^(upid_[0-9a-f]{12}|upid_[0-9a-f]{32}|[0-9a-f...
Example: "ce8cc5f7595575945f91fc6710db6fef"
associationsArray of Association (blob) (object) or Association (datum) (object) or Association (image) (object) or Association (url) (object)(Association Array)

An array of associations for the resource.

clockDriftOffsetinteger(int64)(Clock Drift Offset)[ -86400000 .. 86400000 ]

Clock drift offset, expressed as milliseconds.

Example: 0
conversionOffsetinteger(int64)(Conversion Offset)

Conversion offset, expressed as milliseconds.

Example: 0
createdTimestring(date-time)(Date/Time)
Example: "2017-02-06T02:37:46Z"
createdUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

deduplicatorobject(Deduplicator Descriptor)
deletedTimestring(date-time)(Date/Time)
Example: "2017-02-06T02:37:46Z"
deletedUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

deviceIdstring(Device ID)non-empty

Globally unique to device and repeatable with each upload, e.g. device make and model with serial number

Example: "MMT-1711:12345678"
deviceTimestring(Date/Time without Timezone)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
Example: "2017-02-06T02:37:46"
historyArray of objects(Event History [Proposed])

Revision history of the event

idstring(Data Set ID)[ 17 .. 37 ] characters^(upid_[0-9a-f]{12}|upid_[0-9a-f]{32}|[0-9a-f...required
Example: "ce8cc5f7595575945f91fc6710db6fef"
locationobject(Location)

Location information associated with the resource. One or both of name and gps must be specified.

modifiedTimestring(date-time)(Date/Time)
Example: "2017-02-06T02:37:46Z"
modifiedUserIdstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-only

String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit UUID v4

notesArray of strings(Note Array)[ 1 .. 100 ] items

An array of 1 to 100 notes.

originobject(Origin)

External origin information for the source of the resource.

payloadobject(Payload)

Grab bag field for data that isn't yet part of the data model. The maximum size is 4K bytes.

sourcestring
Value"carelink"
tagsArray of strings(Tag Array)

An array of tags.

timestring(date-time)(Date/Time)required
Example: "2017-02-06T02:37:46Z"
timezonestring(Time Zone)
Example: "Europe/London"
timezoneOffsetinteger(int32)(Time Zone offset)[ -10080 .. 10080 ]

Time zone offset, expressed as positive or negative number of minutes from UTC.

Example: -420
typestring(Tidepool Data Type)required

Data type

Enum"basal""alert""bloodKetone""bolus""cbg""cgmSettings""controllerSettings""controllerStatus""deviceEvent""deviceStatus"
Example: "upload"
uploadIdstring(Upload ID)[ 17 .. 32 ] characters^([0-9a-f]{32}|upid_[0-9a-f]{12})$

An upload identifier; this field should be the uploadId of the corresponding upload record

Example: "0d92d5c1c22117a18f3620b9e24d3c06"
deliveryTypestring(Delivery Type)

This defines the basal delivery type, used to differentiate between automated, scheduled, suspended and temporary basal types.

Enum"scheduled""automated""suspend""temp"
durationinteger(int64)(Insulin Delivery Duration)[ 0 .. 604800000 ]

An integer value representing a duration of time in milliseconds.

expectedDurationinteger(int64)(Expected Insulin Delivery Duration)[ 0 .. 604800000 ]

An integer value representing an original programmed duration of time in milliseconds, copied from the duration field on ingestion when a following event has resulted in truncation of the original programmed duration.

expectedDuration cannot be less than the value of duration

insulinFormulationInsulin Formulation (object)(Insulin Formulation)
One of:
ratenumber(double)(Insulin Delivery Rate)[ 0 .. 100 ]

A floating point number >= 0 representing the amount of insulin delivered in units per hour.

scheduleNamestring(Insulin Delivery Schedule Name)[ 1 .. 1000 ] characters

The name of the basal schedule.

guidstringDeprecated

A string ID. Added to each event during data processing in the Tidepool Uploader or upon ingestion by the platform data ingestion service.


Examples

Example (client)
{
    "type": "basal",
    "deliveryType": "scheduled",
    "duration": 84600000,
    "rate": 1.45,
    "scheduleName": "Very Active",
    "clockDriftOffset": 0,
    "conversionOffset": 0,
    "deviceId": "DevId0987654321",
    "deviceTime": "2018-05-14T18:00:00",
    "guid": "9d161801-2607-4cb6-b4f8-457159c7786c",
    "id": "30f76219248d474fa7025b12f0e4b136",
    "time": "2018-05-14T08:00:00.000Z",
    "timezoneOffset": 600,
    "uploadId": "SampleUploadId"
}
Example (ingestion)
{
    "type": "basal",
    "deliveryType": "scheduled",
    "duration": 82800000,
    "rate": 0.025,
    "scheduleName": "Weekend",
    "clockDriftOffset": 0,
    "conversionOffset": 0,
    "deviceId": "DevId0987654321",
    "deviceTime": "2018-05-14T18:00:00",
    "time": "2018-05-14T08:00:00.000Z",
    "timezoneOffset": 600,
    "uploadId": "SampleUploadId"
}
Example (storage)
{
    "type": "basal",
    "deliveryType": "scheduled",
    "duration": 79200000,
    "rate": 1.175,
    "scheduleName": "Vacation",
    "_active": true,
    "_groupId": "abcdef",
    "_schemaVersion": 0,
    "_version": 0,
    "clockDriftOffset": 0,
    "conversionOffset": 0,
    "createdTime": "2018-05-14T08:00:05.000Z",
    "deviceId": "DevId0987654321",
    "deviceTime": "2018-05-14T18:00:00",
    "guid": "05d3bdbd-3ad3-4762-9a7b-2e8e27a601c3",
    "id": "33f00679ddf440ec95055114162d4821",
    "time": "2018-05-14T08:00:00.000Z",
    "timezoneOffset": 600,
    "uploadId": "SampleUploadId"
}

Keep Reading