Skip to content
Last updated

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"dosingDecision""alert""basal""bloodKetone""bolus""cbg""cgmSettings""controllerSettings""controllerStatus""deviceEvent"
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"
reasonstring[ 1 .. 100 ] charactersrequired
Example: "bolus"
originalFoodobject
foodobject
smbgobject(Blood Glucose for Dosing Decision)

A simple blood glucose for a dosing decision.

carbsOnBoardobject
insulinOnBoardobject
bgTargetScheduleArray of Blood Glucose Target Value (mg/dL) (object) or Blood Glucose Target Value (mmol/L) (object)(Blood Glucose Target Start)
bgHistoricalArray of objects(Blood Glucose for Dosing Decision)
bgForecastArray of objects(Blood Glucose for Dosing Decision)
recommendedBasalobject
recommendedBolusobject
requestedBolusobject
warningsArray of objects(Issue for Dosing Decision)
Example: [{"id":"unknown","metadata":{"extra":"information"}}]
errorsArray of objects(Issue for Dosing Decision)
Example: [{"id":"unknown","metadata":{"extra":"information"}}]
scheduleTimeZoneOffsetnumber(int32)[ -10080 .. 10080 ]
Example: -480
unitsobjectrequired
units.​bgBlood Unit (mg/dL) (string) or Blood Unit (mmol/L) (string)(Blood Unit (mg/dL or mmol/L))required
One of:
string(Blood Unit (mg/dL))
Enum"mg/dL""mg/dl"
units.​carbstringrequired
Enum"exchanges""grams"
Example: "grams"
units.​insulinstringrequired
Value"Units"
guidstringDeprecated

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


Overview

This is the Tidepool data type representing a dosing decision.


Type (type)

This is the Tidepool data type to represent a dosing decision.


Reason (reason)

The reason for the dosing decision. The reason is specific to the client performing the dosing decision.


Original Food (originalFood)

If the dosing decision is due to an updated carbohydrate entry then this contains the following:

  • Time
  • Nutrition

Time (time) (Original Food)

The time associated with the original, pre-updated food.

Nutrition (nutrition) (Original Food)

The nutrition associated with the original, pre-updated food.


Food (food)

If the dosing decision is due to a new or updated carbohydrate entry then this contains the following:

  • Time
  • Nutrition

Time (time) (Food)

The time associated with the new or post-updated food.

Nutrition (nutrition) (Food)

The nutrition associated with the new or post-updated food.


Self Monitored Blood Glucose (smbg)

If the dosing decision is due to a simple bolus requested by the user and the user inputs a self monitored blood glucose then this contains the following:

  • Time
  • Value

Time (time) (Self Monitored Blood Glucose)

The time associated with the self monitored blood glucose.

Value (value) (Self Monitored Blood Glucose)

The value of the self monitored blood glucose.


Carbohydrates On Board (carbsOnBoard)

The current carbohydrates on board for the dosing decision. Contains the following properties:

  • Time
  • Amount

Time (time) (Carbohydrates On Board)

The time associated with the carbohydrates on board.

Amount (amount) (Carbohydrates On Board)

The amount of the carbohydrates on board.


Insulin On Board (insulinOnBoard)

The current insulin on board for the dosing decision. Contains the following properties:

  • Time
  • Amount

Time (time) (Insulin On Board)

The time associated with the insulin on board.

Amount (amount) (Insulin On Board)

The amount of the insulin on board.


Blood Glucose Target Schedule (bgTargetSchedule)

The blood glucose target schedule used in the dosing decision. See Blood Glucose Target.


Blood Glucose Historical (bgHistorical)

An array of historical blood glucose values. The array contain zero to many objects with the following properties:

  • Time
  • Value

Time (time) (Blood Glucose Historical)

The time of this historical blood glucose.

Value (value) (Blood Glucose Historical)

The value of this historical blood glucose.


Blood Glucose Forecast (bgForecast)

An array of forecast blood glucose values. The array contain zero to many objects with the following properties:

  • Time
  • Value

Time (time) (Blood Glucose Forecast)

The time of this forecast blood glucose.

Value (value) (Blood Glucose Forecast)

The value of this forecast blood glucose.


The basal recommended by the client. Contains the following field:

  • Rate
  • Duration

The rate of basal insulin delivery as recommended by the client.

The duration of basal insulin delivery as recommended by the client.


The bolus recommended by the client. Contains the following field:

  • Amount

The amount of insulin to bolus as recommended by the client.


Requested Bolus (requestedBolus)

The actual bolus requested by the user. Contains the following field:

  • Amount

Amount (amount) (Requested Bolus)

The amount of insulin to bolus as requested by the user.


Warnings (warnings)

All warnings that occurred while calculating the dosing decision. The array contains zero to many objects each containing the following properties:

  • ID
  • Metadata

ID (id) (Warnings)

The identifier of the warning. This is specific to the client making the dosing decision.

Metadata (metadata) (Warnings)

Any metadata associated with the warning. This is a dictionary with key and value of strings.


Errors (errors)

All errors that occurred while calculating the dosing decision. The array contains zero to many objects each containing the following properties:

  • ID
  • Metadata

ID (id) (Errors)

The identifier of the error. This is specific to the client making the dosing decision.

Metadata (metadata) (Errors)

Any metadata associated with the error. This is a dictionary with key and value of strings.


Schedule Time Zone Offset (scheduleTimeZoneOffset)

The time zone offset in minutes for any schedule specified in the dosing decision (e.g. Blood Glucose Target Schedule).


Units (units)

The units of the dosing decision. Contains the following fields:

  • Blood Glucose
  • Carbohydrate
  • Insulin

Blood Glucose (bg) (Units)

The blood glucose units of the dosing decision. Can be one of mg/dL or mmol/L.

Carbohydrate (carb) (Units)

The carbohydrate units of the dosing decision. Can be one of grams or exchanges.

Insulin (insulin) (Units)

The insulin units of the dosing decision. Can be one of Units.


Example Dosing Decision
{
    "id": "02ccebd2affc472d9b296d4f1f800dfd",
    "time": "2018-05-14T08:17:07.560Z",
    "type": "dosingDecision",
    "uploadId": "0d92d5c1c22117a18f3620b9e24d3c06"
    "originalFood": {
      "time": "2019-08-24T14:15:22Z",
      "nutrition": {
        "absorptionDuration": 10800,
        "carbohydrate": {
          "net": 15
        }
      }
    },
    "food": {
      "time": "2019-08-24T14:15:22Z",
      "nutrition": {
        "absorptionDuration": 10800,
        "carbohydrate": {
          "net": 25
        }
      }
    },
    "smbg": {
      "time": "2019-08-24T14:15:22Z",
      "value": 105
    },
    "carbsOnBoard": {
      "time": "2019-08-24T14:15:22Z",
      "amount": 18
    },
    "insulinOnBoard": {
      "time": "2019-08-24T14:15:22Z",
      "amount": 0.75
    },
    "bgTargetSchedule": [
      {
        "high": 180,
        "low": 80,
        "start": 0
      }
    ],
    "bgHistorical": [
      {
        "time": "2019-08-24T14:15:22Z",
        "value": 105
      }
    ],
    "bgPredicted": [
      {
        "time": "2019-08-24T14:15:22Z",
        "value": 110
      }
    ],
    "recommendedBasal": {
      "rate": 1.25,
      "duration": 180000
    },
    "recommendedBolus": {
      "amount": 2.5
    },
    "requestedBolus": {
      "amount": 2
    },
    "warnings": [
      {
        "id": "unknown",
        "metadata": {
          "extra": "information"
        }
      }
    ],
    "errors": [
      {
        "id": "unknown",
        "metadata": {
          "extra": "information"
        }
      }
    ],
    "scheduleTimeZoneOffset": -480,
    "units": {
      "bg": "mg/dL",
      "carb": "grams",
      "insulin": "Units"
    }
}

Keep Reading