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

List Clinicians

Request

Retrieve the list of clinic members.

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Query
searchstring

Full text search query

offsetinteger>= 0
limitinteger>= 1
Default 10
emailstring(email)
rolestring
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/clinicians?search=string&offset=0&limit=10&email=user%40example.com&role=string' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
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

inviteIdstring

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

emailstring(email)required
namestringnon-empty

The name of the clinician

rolesArray of strings(Clinician Permissions)non-emptyuniquerequired
Items Enum"CLINIC_ADMIN""CLINIC_MEMBER""PRESCRIBER"
createdTimestring(date-time)read-onlyrequired
updatedTimestring(date-time)read-onlyrequired
]
Response
application/json
[ { "id": "string", "inviteId": "string", "email": "user@example.com", "name": "string", "roles": [ … ], "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z" } ]

Create Clinician

Request

Internal endpoint to create a new clinician

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Bodyapplication/json
inviteIdstring

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

emailstring(email)required
namestringnon-empty

The name of the clinician

rolesArray of strings(Clinician Permissions)non-emptyuniquerequired
Items Enum"CLINIC_ADMIN""CLINIC_MEMBER""PRESCRIBER"
curl -i -X POST \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/clinicians' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "inviteId": "string",
    "email": "user@example.com",
    "name": "string",
    "roles": [
      "CLINIC_ADMIN"
    ]
  }'

Responses

OK

View TIDE Report

Request

Retrieve a report of patients with tags by TIDE categories

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
Query
periodstring^(1d|7d|14d|30d)$required

Time Period to display

Example: period=7d
tagsArray of strings(Object Id)non-emptyrequired

Comma-separated list of patient tag IDs

lastDataCutoffstring(date-time)required

Inclusive minimum of date of last data from a patient.

categoriesArray of strings

Comma-separated list of TIDE report categories to return in queried order. If omitted or empty, the default TIDE categories will be returned - see example.

Items Enum"timeInVeryLowPercent""timeInAnyLowPercent""timeInExtremeHighPercent""timeInVeryHighPercent""timeInAnyHighPercent""dropInTimeInTargetPercent""timeInTargetPercent""timeCGMUsePercent""meetingTargets"
Example: categories=timeInVeryLowPercent,timeInAnyLowPercent,timeInVeryHighPercent,timeInAnyHighPercent,dropInTimeInTargetPercent,timeCGMUsePercent,meetingTargets
excludeNoDataboolean

If true, then exclude / omit patients with no data in the TIDE report.

curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/tide_report?period=7d&tags=stringstringstringstring&lastDataCutoff=2019-08-24T14%3A15%3A22Z&categories=timeInVeryLowPercent%2CtimeInAnyLowPercent%2CtimeInVeryHighPercent%2CtimeInAnyHighPercent%2CdropInTimeInTargetPercent%2CtimeCGMUsePercent%2CmeetingTargets&excludeNoData=true' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
configobject(tideconfig.v1)required
config.​schemaVersionnumberrequired

TIDE schema version

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

Clinic identifier.

Example: "2fe2488217ee43e1b2e83c2f"
config.​periodstring^(1d|7d|14d|30d)$required
Example: "7d"
config.​lastDataCutoffstring(date-time)required
config.​highGlucoseThresholdnumberrequired

Minimum exclusive threshold in mmol/L for categorizing if a glucose value is high as established by the AACE.

config.​veryHighGlucoseThresholdnumberrequired

Minimum exclusive threshold in mmol/L for categorizing if a glucose value is very high as established by the AACE.

config.​extremeHighGlucoseThresholdnumber

Minimum inclusive threshold in mmol/L for categorizing if a glucose value is extremely high. Not defined by the AACE.

config.​lowGlucoseThresholdnumberrequired

Maximum exclusive threshold in mmol/L for categorizing if a glucose value is low as established by the AACE.

config.​veryLowGlucoseThresholdnumberrequired

Maximum exclusive threshold in mmol/L for categorizing if a glucose value is very low as established by the AACE.

config.​tagsArray of strings or null(Patient Tag ID List)uniquerequired
config.​filtersobject(tidefilters.v1)required

Visual representation of filtered categories selected

config.​filters.​dropInTimeInTargetPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeCGMUsePercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInAnyLowPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInExtremeHighPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInHighPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInTargetPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInVeryHighPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
config.​filters.​timeInVeryLowPercentstring^(>=|>|<=|<)\d\.\d\d?$
Example: ">0.5"
resultsobject(tideresults.v1)required
results.​property name*Array of objects(tideresultpatient.v1)additional property
Response
application/json
{ "config": { "schemaVersion": 0, "clinicId": "2fe2488217ee43e1b2e83c2f", "period": "7d", "lastDataCutoff": "2019-08-24T14:15:22Z", "highGlucoseThreshold": 0, "veryHighGlucoseThreshold": 0, "extremeHighGlucoseThreshold": 0, "lowGlucoseThreshold": 0, "veryLowGlucoseThreshold": 0, "tags": [ … ], "filters": { … } }, "results": { "property1": [ … ], "property2": [ … ] } }

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