Skip to content

Clinics API (1.0)

Web service that stores information about clinics, clinicians and their patients

Download OpenAPI description
Languages
Servers
Mock server

https://tidepool.redocly.app/_mock/reference/clinic.v1/

integration

https://external.integration.tidepool.org/

production

https://api.tidepool.org/

dev1

https://dev1.dev.tidepool.org/

qa1

https://qa1.development.tidepool.org/

qa2

https://qa2.development.tidepool.org/

Clinics

Manage clinics, clinians and patients.

Operations

Request

Update existing patient of a clinic

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
patientIdstring^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...required
Bodyapplication/json
emailstring(email)
fullNamestringnon-emptyrequired

The full name of the patient

birthDatestring(date)required
Example: "2012-08-30"
mrnstringnon-empty

The medical record number of the patient

tagsArray of strings or null(Patient Tag ID List)unique
targetDevicesArray of strings
permissionsobject(Patient Permissions)
attestationSubmittedboolean
dataSourcesArray of objects or null(Patient data source)
summaryobject(patientsummary.v1)

A summary of a patients recent data

reviewsArray of objects or null(patientreview.v1)
sitesArray of objects(Site)
curl -i -X PUT \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/patients/{patientId}' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "email": "user@example.com",
    "fullName": "string",
    "birthDate": "2012-08-30",
    "mrn": "string",
    "tags": [
      "stringstringstringstring"
    ],
    "targetDevices": [
      "string"
    ],
    "permissions": {
      "custodian": {},
      "view": {},
      "note": {},
      "upload": {}
    },
    "attestationSubmitted": true,
    "dataSources": [
      {
        "state": "connected",
        "providerName": "dexcom",
        "modifiedTime": "2017-02-06T02:37:46Z",
        "expirationTime": "2017-02-06T02:37:46Z"
      }
    ],
    "summary": {
      "cgmStats": {
        "id": "2fe2488217ee43e1b2e83c2f",
        "config": {
          "schemaVersion": 0,
          "highGlucoseThreshold": 0,
          "veryHighGlucoseThreshold": 0,
          "lowGlucoseThreshold": 0,
          "veryLowGlucoseThreshold": 0
        },
        "dates": {
          "lastUpdatedDate": "2019-08-24T14:15:22Z",
          "lastUpdatedReason": [
            "string"
          ],
          "hasFirstData": true,
          "firstData": "2019-08-24T14:15:22Z",
          "hasLastData": true,
          "lastData": "2019-08-24T14:15:22Z",
          "hasLastUploadDate": true,
          "lastUploadDate": "2019-08-24T14:15:22Z",
          "hasOutdatedSince": true,
          "outdatedSince": "2019-08-24T14:15:22Z",
          "outdatedSinceLimit": "2019-08-24T14:15:22Z",
          "outdatedReason": [
            "string"
          ]
        },
        "periods": {
          "property1": {
            "min": 3,
            "minDelta": 3,
            "max": 8,
            "maxDelta": 8,
            "hasAverageGlucoseMmol": true,
            "averageGlucoseMmol": 5.5,
            "averageGlucoseMmolDelta": 2.5,
            "hasGlucoseManagementIndicator": true,
            "glucoseManagementIndicator": 7.5,
            "glucoseManagementIndicatorDelta": 7.5,
            "hasTimeInTargetPercent": true,
            "timeInTargetPercent": 0.35,
            "timeInTargetPercentDelta": 0.2,
            "hasTimeInTargetMinutes": true,
            "timeInTargetMinutes": 200,
            "timeInTargetMinutesDelta": 20,
            "hasTimeInTargetRecords": true,
            "timeInTargetRecords": 10,
            "timeInTargetRecordsDelta": 5,
            "hasTimeInHighPercent": true,
            "timeInHighPercent": 0.35,
            "timeInHighPercentDelta": 0.2,
            "hasTimeInHighMinutes": true,
            "timeInHighMinutes": 200,
            "timeInHighMinutesDelta": 20,
            "hasTimeInHighRecords": true,
            "timeInHighRecords": 10,
            "timeInHighRecordsDelta": 5,
            "hasTimeInVeryHighPercent": true,
            "timeInVeryHighPercent": 0.35,
            "timeInVeryHighPercentDelta": 0.2,
            "hasTimeInVeryHighMinutes": true,
            "timeInVeryHighMinutes": 200,
            "timeInVeryHighMinutesDelta": 5,
            "hasTimeInVeryHighRecords": true,
            "timeInVeryHighRecords": 10,
            "timeInVeryHighRecordsDelta": 5,
            "hasTimeInExtremeHighPercent": true,
            "timeInExtremeHighPercent": 0.35,
            "timeInExtremeHighPercentDelta": 0.2,
            "hasTimeInExtremeHighMinutes": true,
            "timeInExtremeHighMinutes": 200,
            "timeInExtremeHighMinutesDelta": 5,
            "hasTimeInExtremeHighRecords": true,
            "timeInExtremeHighRecords": 10,
            "timeInExtremeHighRecordsDelta": 5,
            "hasTimeInAnyHighPercent": true,
            "timeInAnyHighPercent": 0.35,
            "timeInAnyHighPercentDelta": 0.2,
            "hasTimeInAnyHighMinutes": true,
            "timeInAnyHighMinutes": 200,
            "timeInAnyHighMinutesDelta": 5,
            "hasTimeInAnyHighRecords": true,
            "timeInAnyHighRecords": 10,
            "timeInAnyHighRecordsDelta": 5,
            "hasTimeInLowPercent": true,
            "timeInLowPercent": 0.35,
            "timeInLowPercentDelta": 0.2,
            "hasTimeInLowMinutes": true,
            "timeInLowMinutes": 200,
            "timeInLowMinutesDelta": 5,
            "hasTimeInLowRecords": true,
            "timeInLowRecords": 10,
            "timeInLowRecordsDelta": 5,
            "hasTimeInVeryLowPercent": true,
            "timeInVeryLowPercent": 0.35,
            "timeInVeryLowPercentDelta": 0.2,
            "hasTimeInVeryLowMinutes": true,
            "timeInVeryLowMinutes": 200,
            "timeInVeryLowMinutesDelta": 5,
            "hasTimeInVeryLowRecords": true,
            "timeInVeryLowRecords": 10,
            "timeInVeryLowRecordsDelta": 5,
            "hasTimeInAnyLowPercent": true,
            "timeInAnyLowPercent": 0.35,
            "timeInAnyLowPercentDelta": 0.2,
            "hasTimeInAnyLowMinutes": true,
            "timeInAnyLowMinutes": 200,
            "timeInAnyLowMinutesDelta": 5,
            "hasTimeInAnyLowRecords": true,
            "timeInAnyLowRecords": 10,
            "timeInAnyLowRecordsDelta": 5,
            "hasTimeCGMUsePercent": true,
            "timeCGMUsePercent": 0.35,
            "timeCGMUsePercentDelta": 0.2,
            "hasTimeCGMUseMinutes": true,
            "timeCGMUseMinutes": 200,
            "timeCGMUseMinutesDelta": 5,
            "hasTimeCGMUseRecords": true,
            "timeCGMUseRecords": 10,
            "timeCGMUseRecordsDelta": 5,
            "hasTotalRecords": true,
            "totalRecords": 10,
            "totalRecordsDelta": 10,
            "hasAverageDailyRecords": true,
            "averageDailyRecords": 3.5,
            "averageDailyRecordsDelta": 2.5,
            "standardDeviation": 2.5,
            "standardDeviationDelta": 2.5,
            "coefficientOfVariation": 2.5,
            "coefficientOfVariationDelta": 2.5,
            "hoursWithData": 2,
            "hoursWithDataDelta": 2,
            "daysWithData": 2,
            "daysWithDataDelta": 2
          },
          "property2": {
            "min": 3,
            "minDelta": 3,
            "max": 8,
            "maxDelta": 8,
            "hasAverageGlucoseMmol": true,
            "averageGlucoseMmol": 5.5,
            "averageGlucoseMmolDelta": 2.5,
            "hasGlucoseManagementIndicator": true,
            "glucoseManagementIndicator": 7.5,
            "glucoseManagementIndicatorDelta": 7.5,
            "hasTimeInTargetPercent": true,
            "timeInTargetPercent": 0.35,
            "timeInTargetPercentDelta": 0.2,
            "hasTimeInTargetMinutes": true,
            "timeInTargetMinutes": 200,
            "timeInTargetMinutesDelta": 20,
            "hasTimeInTargetRecords": true,
            "timeInTargetRecords": 10,
            "timeInTargetRecordsDelta": 5,
            "hasTimeInHighPercent": true,
            "timeInHighPercent": 0.35,
            "timeInHighPercentDelta": 0.2,
            "hasTimeInHighMinutes": true,
            "timeInHighMinutes": 200,
            "timeInHighMinutesDelta": 20,
            "hasTimeInHighRecords": true,
            "timeInHighRecords": 10,
            "timeInHighRecordsDelta": 5,
            "hasTimeInVeryHighPercent": true,
            "timeInVeryHighPercent": 0.35,
            "timeInVeryHighPercentDelta": 0.2,
            "hasTimeInVeryHighMinutes": true,
            "timeInVeryHighMinutes": 200,
            "timeInVeryHighMinutesDelta": 5,
            "hasTimeInVeryHighRecords": true,
            "timeInVeryHighRecords": 10,
            "timeInVeryHighRecordsDelta": 5,
            "hasTimeInExtremeHighPercent": true,
            "timeInExtremeHighPercent": 0.35,
            "timeInExtremeHighPercentDelta": 0.2,
            "hasTimeInExtremeHighMinutes": true,
            "timeInExtremeHighMinutes": 200,
            "timeInExtremeHighMinutesDelta": 5,
            "hasTimeInExtremeHighRecords": true,
            "timeInExtremeHighRecords": 10,
            "timeInExtremeHighRecordsDelta": 5,
            "hasTimeInAnyHighPercent": true,
            "timeInAnyHighPercent": 0.35,
            "timeInAnyHighPercentDelta": 0.2,
            "hasTimeInAnyHighMinutes": true,
            "timeInAnyHighMinutes": 200,
            "timeInAnyHighMinutesDelta": 5,
            "hasTimeInAnyHighRecords": true,
            "timeInAnyHighRecords": 10,
            "timeInAnyHighRecordsDelta": 5,
            "hasTimeInLowPercent": true,
            "timeInLowPercent": 0.35,
            "timeInLowPercentDelta": 0.2,
            "hasTimeInLowMinutes": true,
            "timeInLowMinutes": 200,
            "timeInLowMinutesDelta": 5,
            "hasTimeInLowRecords": true,
            "timeInLowRecords": 10,
            "timeInLowRecordsDelta": 5,
            "hasTimeInVeryLowPercent": true,
            "timeInVeryLowPercent": 0.35,
            "timeInVeryLowPercentDelta": 0.2,
            "hasTimeInVeryLowMinutes": true,
            "timeInVeryLowMinutes": 200,
            "timeInVeryLowMinutesDelta": 5,
            "hasTimeInVeryLowRecords": true,
            "timeInVeryLowRecords": 10,
            "timeInVeryLowRecordsDelta": 5,
            "hasTimeInAnyLowPercent": true,
            "timeInAnyLowPercent": 0.35,
            "timeInAnyLowPercentDelta": 0.2,
            "hasTimeInAnyLowMinutes": true,
            "timeInAnyLowMinutes": 200,
            "timeInAnyLowMinutesDelta": 5,
            "hasTimeInAnyLowRecords": true,
            "timeInAnyLowRecords": 10,
            "timeInAnyLowRecordsDelta": 5,
            "hasTimeCGMUsePercent": true,
            "timeCGMUsePercent": 0.35,
            "timeCGMUsePercentDelta": 0.2,
            "hasTimeCGMUseMinutes": true,
            "timeCGMUseMinutes": 200,
            "timeCGMUseMinutesDelta": 5,
            "hasTimeCGMUseRecords": true,
            "timeCGMUseRecords": 10,
            "timeCGMUseRecordsDelta": 5,
            "hasTotalRecords": true,
            "totalRecords": 10,
            "totalRecordsDelta": 10,
            "hasAverageDailyRecords": true,
            "averageDailyRecords": 3.5,
            "averageDailyRecordsDelta": 2.5,
            "standardDeviation": 2.5,
            "standardDeviationDelta": 2.5,
            "coefficientOfVariation": 2.5,
            "coefficientOfVariationDelta": 2.5,
            "hoursWithData": 2,
            "hoursWithDataDelta": 2,
            "daysWithData": 2,
            "daysWithDataDelta": 2
          }
        }
      },
      "bgmStats": {
        "id": "2fe2488217ee43e1b2e83c2f",
        "config": {
          "schemaVersion": 0,
          "highGlucoseThreshold": 0,
          "veryHighGlucoseThreshold": 0,
          "lowGlucoseThreshold": 0,
          "veryLowGlucoseThreshold": 0
        },
        "dates": {
          "lastUpdatedDate": "2019-08-24T14:15:22Z",
          "lastUpdatedReason": [
            "string"
          ],
          "hasFirstData": true,
          "firstData": "2019-08-24T14:15:22Z",
          "hasLastData": true,
          "lastData": "2019-08-24T14:15:22Z",
          "hasLastUploadDate": true,
          "lastUploadDate": "2019-08-24T14:15:22Z",
          "hasOutdatedSince": true,
          "outdatedSince": "2019-08-24T14:15:22Z",
          "outdatedSinceLimit": "2019-08-24T14:15:22Z",
          "outdatedReason": [
            "string"
          ]
        },
        "periods": {
          "property1": {
            "min": 3,
            "minDelta": 3,
            "max": 8,
            "maxDelta": 8,
            "hasAverageGlucoseMmol": true,
            "averageGlucoseMmol": 5.5,
            "averageGlucoseMmolDelta": 2.5,
            "hasTimeInTargetPercent": true,
            "timeInTargetPercent": 0.35,
            "timeInTargetPercentDelta": 0.2,
            "hasTimeInTargetRecords": true,
            "timeInTargetRecords": 10,
            "timeInTargetRecordsDelta": 5,
            "hasTimeInHighPercent": true,
            "timeInHighPercent": 0.35,
            "timeInHighPercentDelta": 0.2,
            "hasTimeInHighRecords": true,
            "timeInHighRecords": 10,
            "timeInHighRecordsDelta": 5,
            "hasTimeInVeryHighPercent": true,
            "timeInVeryHighPercent": 0.35,
            "timeInVeryHighPercentDelta": 0.2,
            "hasTimeInVeryHighRecords": true,
            "timeInVeryHighRecords": 10,
            "timeInVeryHighRecordsDelta": 5,
            "hasTimeInExtremeHighPercent": true,
            "timeInExtremeHighPercent": 0.35,
            "timeInExtremeHighPercentDelta": 0.2,
            "hasTimeInExtremeHighRecords": true,
            "timeInExtremeHighRecords": 10,
            "timeInExtremeHighRecordsDelta": 5,
            "hasTimeInAnyHighPercent": true,
            "timeInAnyHighPercent": 0.35,
            "timeInAnyHighPercentDelta": 0.2,
            "hasTimeInAnyHighRecords": true,
            "timeInAnyHighRecords": 10,
            "timeInAnyHighRecordsDelta": 5,
            "hasTimeInLowPercent": true,
            "timeInLowPercent": 0.35,
            "timeInLowPercentDelta": 0.2,
            "hasTimeInLowRecords": true,
            "timeInLowRecords": 10,
            "timeInLowRecordsDelta": 5,
            "hasTimeInVeryLowPercent": true,
            "timeInVeryLowPercent": 0.35,
            "timeInVeryLowPercentDelta": 0.2,
            "hasTimeInVeryLowRecords": true,
            "timeInVeryLowRecords": 10,
            "timeInVeryLowRecordsDelta": 5,
            "hasTimeInAnyLowPercent": true,
            "timeInAnyLowPercent": 0.35,
            "timeInAnyLowPercentDelta": 0.2,
            "hasTimeInAnyLowRecords": true,
            "timeInAnyLowRecords": 10,
            "timeInAnyLowRecordsDelta": 5,
            "hasTotalRecords": true,
            "totalRecords": 10,
            "totalRecordsDelta": 10,
            "hasAverageDailyRecords": true,
            "averageDailyRecords": 3.5,
            "averageDailyRecordsDelta": 2.5,
            "standardDeviation": 2.5,
            "standardDeviationDelta": 2.5,
            "coefficientOfVariation": 2.5,
            "coefficientOfVariationDelta": 2.5,
            "daysWithData": 2,
            "daysWithDataDelta": 2
          },
          "property2": {
            "min": 3,
            "minDelta": 3,
            "max": 8,
            "maxDelta": 8,
            "hasAverageGlucoseMmol": true,
            "averageGlucoseMmol": 5.5,
            "averageGlucoseMmolDelta": 2.5,
            "hasTimeInTargetPercent": true,
            "timeInTargetPercent": 0.35,
            "timeInTargetPercentDelta": 0.2,
            "hasTimeInTargetRecords": true,
            "timeInTargetRecords": 10,
            "timeInTargetRecordsDelta": 5,
            "hasTimeInHighPercent": true,
            "timeInHighPercent": 0.35,
            "timeInHighPercentDelta": 0.2,
            "hasTimeInHighRecords": true,
            "timeInHighRecords": 10,
            "timeInHighRecordsDelta": 5,
            "hasTimeInVeryHighPercent": true,
            "timeInVeryHighPercent": 0.35,
            "timeInVeryHighPercentDelta": 0.2,
            "hasTimeInVeryHighRecords": true,
            "timeInVeryHighRecords": 10,
            "timeInVeryHighRecordsDelta": 5,
            "hasTimeInExtremeHighPercent": true,
            "timeInExtremeHighPercent": 0.35,
            "timeInExtremeHighPercentDelta": 0.2,
            "hasTimeInExtremeHighRecords": true,
            "timeInExtremeHighRecords": 10,
            "timeInExtremeHighRecordsDelta": 5,
            "hasTimeInAnyHighPercent": true,
            "timeInAnyHighPercent": 0.35,
            "timeInAnyHighPercentDelta": 0.2,
            "hasTimeInAnyHighRecords": true,
            "timeInAnyHighRecords": 10,
            "timeInAnyHighRecordsDelta": 5,
            "hasTimeInLowPercent": true,
            "timeInLowPercent": 0.35,
            "timeInLowPercentDelta": 0.2,
            "hasTimeInLowRecords": true,
            "timeInLowRecords": 10,
            "timeInLowRecordsDelta": 5,
            "hasTimeInVeryLowPercent": true,
            "timeInVeryLowPercent": 0.35,
            "timeInVeryLowPercentDelta": 0.2,
            "hasTimeInVeryLowRecords": true,
            "timeInVeryLowRecords": 10,
            "timeInVeryLowRecordsDelta": 5,
            "hasTimeInAnyLowPercent": true,
            "timeInAnyLowPercent": 0.35,
            "timeInAnyLowPercentDelta": 0.2,
            "hasTimeInAnyLowRecords": true,
            "timeInAnyLowRecords": 10,
            "timeInAnyLowRecordsDelta": 5,
            "hasTotalRecords": true,
            "totalRecords": 10,
            "totalRecordsDelta": 10,
            "hasAverageDailyRecords": true,
            "averageDailyRecords": 3.5,
            "averageDailyRecordsDelta": 2.5,
            "standardDeviation": 2.5,
            "standardDeviationDelta": 2.5,
            "coefficientOfVariation": 2.5,
            "coefficientOfVariationDelta": 2.5,
            "daysWithData": 2,
            "daysWithDataDelta": 2
          }
        }
      }
    },
    "reviews": [
      {
        "clinicianId": "string",
        "time": "2019-08-24T14:15:22Z"
      }
    ],
    "sites": [
      {
        "name": "string"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(Tidepool User ID)^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...read-onlyrequired

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

emailstring(email)
fullNamestringnon-emptyrequired

The full name of the patient

birthDatestring(date)required
Example: "2012-08-30"
mrnstringnon-empty

The medical record number of the patient

tagsArray of strings or null(Patient Tag ID List)unique
targetDevicesArray of strings
permissionsobject(Patient Permissions)
createdTimestring(date-time)read-onlyrequired
updatedTimestring(date-time)read-onlyrequired
attestationSubmittedboolean
dataSourcesArray of objects or null(Patient data source)
lastUploadReminderTimestring(date-time)read-only
summaryobject(patientsummary.v1)

A summary of a patients recent data

reviewsArray of objects or null(patientreview.v1)
connectionRequestsobject(providerconnectionrequests.v1)read-onlyrequired
connectionRequests.​twiistArray of objects(Provider Connection Request)required
connectionRequests.​twiist[].​createdTimestring(date-time)required
connectionRequests.​twiist[].​providerNamestring(Third-Party Data Providers)required
Enum"dexcom""twiist""abbott"
connectionRequests.​dexcomArray of objects(Provider Connection Request)required
connectionRequests.​dexcom[].​createdTimestring(date-time)required
connectionRequests.​dexcom[].​providerNamestring(Third-Party Data Providers)required
Enum"dexcom""twiist""abbott"
connectionRequests.​abbottArray of objects(Provider Connection Request)required
connectionRequests.​abbott[].​createdTimestring(date-time)required
connectionRequests.​abbott[].​providerNamestring(Third-Party Data Providers)required
Enum"dexcom""twiist""abbott"
sitesArray of objects(Site)
Response
application/json
{ "id": "string", "email": "user@example.com", "fullName": "string", "birthDate": "2012-08-30", "mrn": "string", "tags": [ "stringstringstringstring" ], "targetDevices": [ "string" ], "permissions": { "custodian": {}, "view": {}, "note": {}, "upload": {} }, "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z", "attestationSubmitted": true, "dataSources": [ { … } ], "lastUploadReminderTime": "2019-08-24T14:15:22Z", "summary": { "cgmStats": { … }, "bgmStats": { … } }, "reviews": [ { … } ], "connectionRequests": { "twiist": [ … ], "dexcom": [ … ], "abbott": [ … ] }, "sites": [ { … } ] }

Request

Deletes patient from a clinic. Requires the request to be made by a clinic admin or the currently authenticated user id to match the patient id.

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
patientIdstring^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...required
curl -i -X DELETE \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/patients/{patientId}' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

No Content

Request

Update existing patient tag

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
patientTagIdstring^[a-f0-9]{24}$required
Bodyapplication/json
namestring[ 1 .. 20 ] characters^[\p{L}\p{N}_+><-]{1}[\p{L}\p{N}\s_+><-]*$required

The tag display name

curl -i -X PUT \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/patient_tags/{patientTagId}' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "name": "string"
  }'

Responses

The updated patient tag

Bodyapplication/json
idstring(Object Id)= 24 characters^[a-f0-9]{24}$read-onlyrequired

String representation of a resource id

namestring[ 1 .. 20 ] characters^[\p{L}\p{N}_+><-]{1}[\p{L}\p{N}\s_+><-]*$required

The tag display name

Response
application/json
{ "id": "stringstringstringstring", "name": "string" }

Confirmations

Manage confirmations for account creation, sharing invites, etc.

Operations

Internal

APIs intended for internal use by Tidepool.

Operations

Redox

Public endpoints invoked by Redox.

Operations