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

Returns list of all clinician/clinic relationships in the system. Internal endpoint used for reporting purposes.

Security
sessionToken
Query
offsetinteger>= 0
limitinteger>= 1
Default 10
createdTimeStartstring(date-time)

Return records created after the given date (inclusive)

createdTimeEndstring(date-time)

Return records created before the given date (exclusive)

curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinicians?offset=0&limit=10&createdTimeStart=2019-08-24T14%3A15%3A22Z&createdTimeEnd=2019-08-24T14%3A15%3A22Z' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
clinicianobject(Clinician)required

The id may be empty if the clinician invite has not been accepted.

clinician.​idstring(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

clinician.​inviteIdstring

The id of the invite if it hasn't been accepted

clinician.​emailstring(email)required
clinician.​namestringnon-empty

The name of the clinician

clinician.​rolesArray of strings(Clinician Permissions)non-emptyuniquerequired
Items Enum"CLINIC_ADMIN""CLINIC_MEMBER""PRESCRIBER"
clinician.​createdTimestring(date-time)read-onlyrequired
clinician.​updatedTimestring(date-time)read-onlyrequired
clinicobject(Clinic)required

Clinic

clinic.​idstring(Clinic ID)= 24 characters^[a-f0-9]{24}$read-onlyrequired

Clinic identifier.

Example: "2fe2488217ee43e1b2e83c2f"
clinic.​addressstring(Street Address)non-empty

Street address.

clinic.​citystring(City)non-empty

City name.

Example: "Palo Alto"
clinic.​postalCodestring(Postal Code)non-empty

Postal code. In the U.S., typically the zip code such as 94301 or 94301-1704.

Example: "94301"
clinic.​statestring(State)non-empty

State or province. In the U.S., typically something like CA or California.

Example: "CA"
clinic.​countrystring(Country)non-empty

Country name.

Example: "USA"
clinic.​patientTagsArray of objects(Patient Tag)
clinic.​sitesArray of objects(Site)
clinic.​lastDeletedPatientTagobject(Patient Tag)
clinic.​phoneNumbersArray of objects(Phone phoneNumbers)non-emptyunique

An array of phone numbers.

Example: [{"type":"main","number":"+1 (555) 555-1212"}]
clinic.​clinicTypestringnon-empty
Enum"provider_practice""healthcare_system""veterinary_clinic""other""researcher"
clinic.​clinicSizestring
Enum"0-249""250-499""500-999""1000+"
clinic.​namestring(Clinic Name)non-emptyrequired

Name of the clinic.

clinic.​shareCodestring(Clinic Share Code)^[ABCDEFGHJKLMNPQRSTUVWXYZ23456789]{4}-[ABCDE...read-onlyrequired

Globally unique share code for a clinic. The share code is 3 groups of 4 uppercase alphanumeric characters in each group. Ambiguous characters such as I and 1, or O and 0 are excluded.

clinic.​canMigratebooleanread-onlyrequired
clinic.​websitestring(uri)
clinic.​createdTimestring(date-time)read-onlyrequired
clinic.​updatedTimestring(date-time)read-onlyrequired
clinic.​tierDescriptionstringnon-emptyread-onlyrequired
Example: "Free"
clinic.​tierstringnon-emptyread-onlyrequired
Example: "tier0100"
clinic.​preferredBgUnitsstringrequired
Enum"mg/dL""mmol/L"
clinic.​suppressedNotificationsobject(Suppressed Notifications)
clinic.​timezonestring(Clinic Timezone)
Enum"Africa/Abidjan""Africa/Accra""Africa/Addis_Ababa""Africa/Algiers""Africa/Asmara""Africa/Asmera""Africa/Bamako""Africa/Bangui""Africa/Banjul""Africa/Bissau"
]
Response
application/json
[ { "clinician": { … }, "clinic": { … } } ]

Request

Internal endpoint which updates the summary in all patient records which match the user id.

Security
sessionToken
Path
patientIdstring^([0-9a-f]{10}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...required
Bodyapplication/json
cgmStatsobject(cgmstats.v1)

A summary of a users recent CGM glucose values

bgmStatsobject(bgmstats.v1)

A summary of a users recent BGM glucose values

curl -i -X POST \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/patients/{patientId}/summary' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "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
        }
      }
    }
  }'

Responses

OK

Request

Internal endpoint which deletes the summary in all patient records which match the summary id.

Security
sessionToken
Path
summaryIdstring(Summary ID)[ 0 .. 24 ] characters^[a-f0-9]{0,24}$required

Summary Unique Identifier

Example: 2fe2488217ee43e1b2e83c2f
curl -i -X DELETE \
  https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/summaries/2fe2488217ee43e1b2e83c2f/clinics \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

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