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

Confirmations

Manage confirmations for account creation, sharing invites, etc.

Operations

Internal

APIs intended for internal use by Tidepool.

Operations

Request

Returns EHR related settings

Security
sessionToken
Path
clinicIdstring^[a-f0-9]{24}$required
curl -i -X GET \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/settings/ehr' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
enabledbooleanrequired

Enable or disable the EHR integration

sourceIdstringrequired
destinationIdsobject(Default Redox destination ID and per-model overrides)
procedureCodesobject(EHR Procedure Codes Map)required
procedureCodes.​enableSummaryReportsstringnon-empty

Procedure Code for Summary Statistics and PDF Reports subscription

procedureCodes.​disableSummaryReportsstringnon-empty
procedureCodes.​createAccountstringnon-empty
procedureCodes.​createAccountAndEnableReportsstring
mrnIdTypestringnon-emptyrequired
providerstringrequired
Enum"xealth""redox"
scheduledReportsobject(scheduledreports.v1)required

Scheduled Report Settings

scheduledReports.​onUploadEnabledbooleanrequired

Send a PDF Report and a Flowsheet to Redox after a dataset is uploaded.

scheduledReports.​onUploadNoteEventTypestring
Default "New"
Enum"New""Replace"
scheduledReports.​cadencestringrequired

The cadence of the scheduled reports. Disabling the scheduled reports does not affect reports which are generated after a dataset is uploaded.

Enum"1d""7d""14d""30d""DISABLED"
tagsobject(EHR Tags Settings)required

This configuration only applies to integrations using Redox Data Model

tags.​codesArray of strings

Codes of the clinical info items used to select the tags to associate with the patient. If defined, all tags of a patient will be replaced every time an enrollment order for the patient is processed.

tags.​separatorstringnon-empty

If set to a non-empty string, the tag values will be split using this separator

flowsheetsobject(Flowsheet Settings)required
flowsheets.​icodebooleanrequired

Determine if values should be sent in accorance with ICode2 rounding standards, or if we should send the values at higher precision.

Response
application/json
{ "enabled": true, "sourceId": "string", "destinationIds": { "flowsheet": "string", "results": "string", "notes": "string" }, "procedureCodes": { "enableSummaryReports": "string", "disableSummaryReports": "string", "createAccount": "string", "createAccountAndEnableReports": "string" }, "mrnIdType": "string", "provider": "xealth", "scheduledReports": { "onUploadEnabled": true, "onUploadNoteEventType": "New", "cadence": "1d" }, "tags": { "codes": [], "separator": "string" }, "flowsheets": { "icode": true } }

Request

Update EHR related settings for a clinic

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

Enable or disable the EHR integration

sourceIdstringrequired
destinationIdsobject(Default Redox destination ID and per-model overrides)
procedureCodesobject(EHR Procedure Codes Map)required
procedureCodes.​enableSummaryReportsstringnon-empty

Procedure Code for Summary Statistics and PDF Reports subscription

procedureCodes.​disableSummaryReportsstringnon-empty
procedureCodes.​createAccountstringnon-empty
procedureCodes.​createAccountAndEnableReportsstring
mrnIdTypestringnon-emptyrequired
providerstringrequired
Enum"xealth""redox"
scheduledReportsobject(scheduledreports.v1)required

Scheduled Report Settings

scheduledReports.​onUploadEnabledbooleanrequired

Send a PDF Report and a Flowsheet to Redox after a dataset is uploaded.

scheduledReports.​onUploadNoteEventTypestring
Default "New"
Enum"New""Replace"
scheduledReports.​cadencestringrequired

The cadence of the scheduled reports. Disabling the scheduled reports does not affect reports which are generated after a dataset is uploaded.

Enum"1d""7d""14d""30d""DISABLED"
tagsobject(EHR Tags Settings)required

This configuration only applies to integrations using Redox Data Model

tags.​codesArray of strings

Codes of the clinical info items used to select the tags to associate with the patient. If defined, all tags of a patient will be replaced every time an enrollment order for the patient is processed.

tags.​separatorstringnon-empty

If set to a non-empty string, the tag values will be split using this separator

flowsheetsobject(Flowsheet Settings)required
flowsheets.​icodebooleanrequired

Determine if values should be sent in accorance with ICode2 rounding standards, or if we should send the values at higher precision.

curl -i -X PUT \
  'https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/clinics/{clinicId}/settings/ehr' \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "enabled": true,
    "sourceId": "string",
    "destinationIds": {
      "flowsheet": "string",
      "results": "string",
      "notes": "string"
    },
    "procedureCodes": {
      "enableSummaryReports": "string",
      "disableSummaryReports": "string",
      "createAccount": "string",
      "createAccountAndEnableReports": "string"
    },
    "mrnIdType": "string",
    "provider": "xealth",
    "scheduledReports": {
      "onUploadEnabled": true,
      "onUploadNoteEventType": "New",
      "cadence": "1d"
    },
    "tags": {
      "codes": [
        "string"
      ],
      "separator": "string"
    },
    "flowsheets": {
      "icode": true
    }
  }'

Responses

OK

Request

An internal endpoint used for matching an EHR request (e.g. NewOrder) to a clinic and patient.

If a clinic with the provided details cannot be found, the service will return 404 Not Found and will not attempt to match patients to the provided details.

Due to lack of uniqueness constraints on the MRN and DOB fields it's possible that multiple patient records match the provided attributes. All results will be returned in the response and it's the calling services responsiblity to determine how to handle duplicates records.

If a unique match is found, the patient matching criteria will be added to the patient record for future use (e.g. pushing data on a schedule).

Security
sessionToken
Bodyapplication/json
messageRefobject(EHRMatchMessageRef)
patientsobject(Patient Matching Options)
curl -i -X POST \
  https://tidepool.redocly.app/_mock/reference/clinic.v1/v1/redox/match \
  -H 'Content-Type: application/json' \
  -H 'x-tidepool-session-token: YOUR_API_KEY_HERE' \
  -d '{
    "messageRef": {
      "dataModel": "Order",
      "eventType": "New",
      "documentId": "string"
    },
    "patients": {
      "criteria": [
        "MRN"
      ],
      "onUniqueMatch": "ENABLE_REPORTS"
    }
  }'

Responses

OK

Bodyapplication/json
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"
patientsArray of objects(patients.v1)
settingsobject(EHR Settings)required
settings.​enabledbooleanrequired

Enable or disable the EHR integration

settings.​sourceIdstringrequired
settings.​destinationIdsobject(Default Redox destination ID and per-model overrides)
settings.​procedureCodesobject(EHR Procedure Codes Map)required
settings.​procedureCodes.​enableSummaryReportsstringnon-empty

Procedure Code for Summary Statistics and PDF Reports subscription

settings.​procedureCodes.​disableSummaryReportsstringnon-empty
settings.​procedureCodes.​createAccountstringnon-empty
settings.​procedureCodes.​createAccountAndEnableReportsstring
settings.​mrnIdTypestringnon-emptyrequired
settings.​providerstringrequired
Enum"xealth""redox"
settings.​scheduledReportsobject(scheduledreports.v1)required

Scheduled Report Settings

settings.​scheduledReports.​onUploadEnabledbooleanrequired

Send a PDF Report and a Flowsheet to Redox after a dataset is uploaded.

settings.​scheduledReports.​onUploadNoteEventTypestring
Default "New"
Enum"New""Replace"
settings.​scheduledReports.​cadencestringrequired

The cadence of the scheduled reports. Disabling the scheduled reports does not affect reports which are generated after a dataset is uploaded.

Enum"1d""7d""14d""30d""DISABLED"
settings.​tagsobject(EHR Tags Settings)required

This configuration only applies to integrations using Redox Data Model

settings.​tags.​codesArray of strings

Codes of the clinical info items used to select the tags to associate with the patient. If defined, all tags of a patient will be replaced every time an enrollment order for the patient is processed.

settings.​tags.​separatorstringnon-empty

If set to a non-empty string, the tag values will be split using this separator

settings.​flowsheetsobject(Flowsheet Settings)required
settings.​flowsheets.​icodebooleanrequired

Determine if values should be sent in accorance with ICode2 rounding standards, or if we should send the values at higher precision.

Response
application/json
{ "clinic": { "id": "2fe2488217ee43e1b2e83c2f", "address": "string", "city": "Palo Alto", "postalCode": "94301", "state": "CA", "country": "USA", "patientTags": [], "sites": [], "lastDeletedPatientTag": {}, "phoneNumbers": [], "clinicType": "provider_practice", "clinicSize": "0-249", "name": "string", "shareCode": "string", "canMigrate": true, "website": "http://example.com", "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z", "tierDescription": "Free", "tier": "tier0100", "preferredBgUnits": "mg/dL", "suppressedNotifications": {}, "timezone": "Africa/Abidjan" }, "patients": [ {} ], "settings": { "enabled": true, "sourceId": "string", "destinationIds": {}, "procedureCodes": {}, "mrnIdType": "string", "provider": "xealth", "scheduledReports": {}, "tags": {}, "flowsheets": {} } }

Redox

Public endpoints invoked by Redox.

Operations