Exporting Clinical Data from DrChrono's API

You can use DrChrono's API to export data from your DrChrono account. This article provides an overview of the specific endpoints needed to obtain a copy of clinical records. For more complete information on our API see our API documentation center.

Note: This article does not represent a tutorial on the API. In order to use these instructions to the fullest, you should partner with someone who is knowledgeable in consuming REST APIs, like a software engineer. Some partners in DrChrono's Marketplace that can assist in this process can be found under interoperability and certified developers.

Data that Makes Up the Patient Record

Items that make up a patient record:

Data Point Endpoint Notes
Demographics
api/patients
Appointments
api/appointments
Clinical Notes
api/appointments.clinical_note
PDF-locked version of clinical note
Clinical Notes
api/clinical_notes
Unlocked clinical note raw data
uploaded documents
api/documents
lab results [Manual Entry/Legacy]
api/patient_lab_results
communication logs
api/comm_log
Medications
api/medications
Allergies
api/allergies
Problems
api/problems
Vaccine Records
api/vaccine_records
CCDA Files
api/patients/{patient.id}/ccda
Contain many of the above data items (excluding: Documents, Manual Labs) Integration Lab Result data is included

Please Be Aware:

  • Consent Forms (and signatures) are not available via API
  • Data provided is segmented (described below in Patient Demographics and the API docs), and must be autonomously iterated upon in order to obtain all results from a data point.

Overview

Patient Demographics

  • All data points above are connected to the "patient" object (API/patients) in the API. To export patients, send a GET request to `api\patients`.
  • You'll have to loop over the results to get all patients in the set.
    By default, up to 250 records are returned at a time.

Patient Insurance, Flags, and Custom Fields

  • Similar to above, except you'll submit the parameter below with your request: -- {"verbose": True}:
  • This parameter allows for additional processing and returns primary, secondary, tertiary, auto-accident, and worker's comp insurance data, custom demographics, and attached flags, in addition to the standard demographics.
  • Sending this parameter to the API reduces the number of results returned from 250 to 50,
    in order to obtain the additional fields. Custom Demographic fields and flags do not map 1:1 to accounts outside of the PG from which the data was extracted as the internal identifiers vary between accounts.

Signed Clinical Notes

  • Obtained from API/appointments as a URL (appointment.clinical_note.pdf).
  • The token appended to the URL is valid for one hour from the time it is obtained.
  • You must download the file within this time. Raw Clinical Notes: - send GET to API/clinical_notes.
  • Raw clinical notes will not map 1:1 with DrChrono accounts outside of the source practice group. This data will have to be matched to a compatible element in the new account.

Medications, Allergies, Problems, Lab Results, Vaccine Records, Communication Logs

  • No special processing required for these data points.
  • Pull the data via the API and save to local storage.

Uploaded Documents

  • GET requests will provide a JSON object containing a URL (the `document` field).
  • The token embedded within the URL is valid for one hour. Within such time, you must download the linked file and save to local storage, or a server.

Once the information is collected locally, you may push the data in any manner of your choosing through the API of the target account.

All data exported from DrChrono's API, cannot be inserted via the API. Please review the API documentation regarding the data types, and allowed values for each endpoint.