Webinar "Making Therapy Better: Using Measurement-Based Care to Improve Outcomes"

Watch

CarePaths Developer Program API Documentation

The CarePaths Developer Program API is organized around REST. Our API has predictable resource-oriented URLS and returns JSON-encoded responses (some XML too), and uses standard HTTP response codes, authentication, and verbs.

Software Client Requirements

As a user of the CarePaths developer API you will need to use a http client that can support sending requests over https. There is no requirement for the type of system the client software runs on. There are plenty of http client programs that can run on Windows, MacOS, Linux and more. If you are planning on developing your own application you will find there are suitable https libraries for your programming language of choice.

Security Requirements

Your client must establish connections using TLS v1.2 or greater

Getting Credentials

The CarePaths Developer Program API uses API keys to authenticate requests. You can view and manage your applications's API keys in the developer dashboard.

The CarePaths Developer Program API requires that all requests come with patient authorized access tokens linked to your application's authentication keys.

Sandbox apps will not require approval and will not interface with live data. Your app profile will need to get reviewed and your app approved for use on the live system.

Your API keys and access tokens carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Patient Selection and Access tokens

Patient authorized access tokens are required to interact with the CarePaths Developer Program API. This means that your application must require patients to authorize your app to interact with their CarePaths EHR data, using their PATIENT PORTAL credentials. The developer dashboard provides a form authorizing patients for your application. Once they authorize your application, a patient will be redirected back to your app with their access token for you to store. This access token will be used in future CarePaths Developer Program API requests directed towards the authorized patient.

Sandbox and testing data

To access sandbox use

https://developer-sandbox.carepaths.com

To access live data

https://developer.carepaths.com

Terms of Use

Usage of the developer portal and CarePaths Developer Program API will fall under the linked terms.

Resources

Allergies

Resource Description
GET /AllergyIntolerance Allergies Bundle
GET /AllergyIntolerance/:id Allergies by id
GET /AllergyIntolerance/_search Allergy search

Care plan

Resource Description
GET /CarePlan Care Plan Bundle
GET /CarePlan/:id Care Plan by id
GET /CarePlan/_search Care Plan Search

Care team

Resource Description
GET /CareTeam Care team Bundle
GET /CareTeam/:id Care team by id
GET /CareTeam/_search Care team search

Conditions

Resource Description
GET /Condition Condition Bundle
GET /Condition/:id Condition by id
GET /Condition/_search Condition search

Diagnostic reports

Resource Description
GET /DiagnosticReport Diagnostic Report Bundle
GET /DiagnosticReport/:id Diagnostic Report by id
GET /DiagnosticReport/_search Diagnostic Report search

Document reference

Resource Description
GET /DocumentReference Document Reference Bundle
GET /DocumentReference/:id Document Reference by id
GET /DocumentReference/_search Document Reference search

Encounters

Resource Description
GET /Encounter Encounters
GET /Encounter:id Encounters by id
GET /Encounter/_search Encounters search

Goals

Resource Description
GET /Goals Goals
GET /Goals/:id Goals by id
GET /Goals/_search Goals search

Immunizations

Resource Description
GET /Immunization Immunizations bundle
GET /Immunization/:id Immunization by id
GET /Immunization/_search Immunization search

Implantable devices

Resource Description
GET /Device Implantable devices bundle
GET /Device/:id Implantable device by id
GET /Device/_search Implantable device _search

Location

Resource Description
GET /Location Location Bundle
GET /Location/:id Location by ID
GET /Location/search Location search

Medication requests

Resource Description
GET /MedicationRequest Medication Request
GET /MedicationRequest/:id Medication Request by id
GET /MedicationRequest/_search Medication Request search

Observations

Resource Description
GET /Observation Observations Bundle
GET /Observation/:id Observations by id
GET /Observation/_search Observations Search
POST /Observation/_search Observations Search

Organization

Resource Description
GET /Organization Organization bundle
GET /Organization:id Organization by id
GET /Organization/_search Organization search

Patients

Resource Description
GET /Patients Patient Bundle
GET /Patients/:id Patients
GET /Patients/_search Patient search

Practitioner

Resource Description
GET /Practitioner Practitioners Bundle
GET /Practitioner/:id Practitioner by id
GET /Practitioner/_search Practitioner search

Procedures

Resource Description
GET /Procedure Procedures
GET /Procedures/:id Procedures by id
GET /Procedures/_search Procedures search

Provenance

Resource Description
GET /Provenance/:id Provenance