canonical: https://jentic.com/apis/drchrono.com/drchrono

# DrChrono

Access a full-featured EHR and practice management platform covering clinical documentation, patient records, appointment scheduling, billing, lab orders, prescriptions, and insurance eligibility across 310 endpoints. The API supports OAuth 2.0 authorization code flow with granular scopes for billing, patient data, clinical notes, and scheduling. DrChrono connects clinical workflows from charting to claims submission within a single integration.

## For AI agents

Query patient records, schedule appointments, submit billing claims, manage prescriptions, and run insurance eligibility checks across a complete EHR and practice management platform with 310 endpoints.

## Scope

Does not handle pharmacy dispensing, medical imaging (PACS), or hospital inpatient workflows - use for ambulatory practice management, outpatient scheduling, and office-based clinical documentation only.

## Capabilities

- Schedule appointments with custom fields, recurring rules, and multi-provider support
- Submit and track insurance claims with full billing code management and payment posting
- Order labs and manage results with sub-vendor routing and result document tracking
- Prescribe medications with ePrescribing integration and medication interaction checks
- Run real-time insurance eligibility verification before patient visits
- Generate and retrieve clinical notes with structured templates and signed-off workflows
- Track patient communications including secure messages and appointment reminders

## Use cases

### AI Agent Practice Management

AI agents access DrChrono's 310 endpoints through Jentic to automate practice workflows spanning scheduling, billing, and clinical documentation. An agent searches for operations by intent, loads the schema, and executes calls to check eligibility, book appointments, or pull clinical notes without manual endpoint mapping. Jentic manages OAuth 2.0 token refresh and scope enforcement transparently.

Example prompt: Search for patient Jane Smith by name, verify her insurance eligibility, then schedule a follow-up appointment with her primary care provider for next Tuesday at 2 PM

### Clinical Documentation Workflow

Create and retrieve clinical notes with structured templates tied to specific encounters. The API supports batch retrieval of notes by date range, provider-signed attestation workflows, and custom vitals tracking. Clinical notes include diagnosis codes, procedures performed, and follow-up instructions that feed directly into billing.

Example prompt: Retrieve all clinical notes for patient ID 5678 from the last 30 days, extract the ICD-10 diagnosis codes, and list pending follow-up actions

### Insurance Eligibility and Billing

Run real-time insurance eligibility checks and submit claims with CPT codes, modifiers, and charge amounts. The API connects eligibility verification to charge capture and claim submission in a single workflow. Supports daysheet reporting for reconciliation and payment posting for received remittances.

Example prompt: Run an eligibility check for patient ID 1234 using their primary insurance, then create a claim for CPT code 99213 with a charge amount of $150

### Lab Order Management

Create lab orders routed to specific sub-vendors, track order status, and retrieve structured results when available. The API supports the full lab lifecycle from order creation through result attachment to the patient chart. Integration with multiple reference labs allows practices to route orders based on test type and patient preference.

Example prompt: Create a CBC lab order for patient ID 9876 routed to sub-vendor Quest Diagnostics, then check the order status after 24 hours

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/patients/{id} | Retrieve patient demographics and details |
| POST | /api/appointments_list | Search and filter appointments |
| GET | /api/eligibility_checks | Run insurance eligibility verification |
| POST | /api/claim_billing_notes | Create billing notes for claims |
| GET | /api/clinical_notes_list | Retrieve clinical notes in batches |
| POST | /api/lab_orders/{id} | Create or update lab orders |
| POST | /api/medications | Create patient medication records |
| GET | /api/day_sheet_charges | Retrieve daysheet charges report |

## Key resources

- **Patients** — Demographics, insurance, custom fields, QRDA1 export, and secure messaging
- **Appointments** — Scheduling with custom fields, recurring rules, and appointment profiles
- **Clinical Notes** — Encounter documentation with structured templates and attestation
- **Billing** — Claims, charge capture, daysheet reporting, and payment posting
- **Lab Orders** — Order creation, sub-vendor routing, and result management
- **Medications** — Prescription management with drug interaction and ePrescribing support
- **Eligibility** — Real-time insurance eligibility verification

## Why Jentic

- **Setup:** Wiring DrChrono by hand means running its OAuth 2.0 authorization-code flow, mapping the right clinical scopes, and refreshing access tokens before they expire. Through Jentic you install once, import DrChrono from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** DrChrono issues OAuth tokens with granular scopes such as patients:read and billing:read, so you limit the agent to the operations it needs, such as checking eligibility or listing clinical notes. You grant only the scopes those operations require, so write actions like creating medications or billing notes are not included unless you add them.
- **Credential handling:** Your DrChrono OAuth client secret and refresh tokens are stored once, encrypted, by your own Jentic One instance and exchanged for scope-limited access tokens at execution time. Raw secrets and refresh tokens never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check insurance eligibility' or 'list a patient's clinical notes', and Jentic returns the matching DrChrono operation with its input schema so the agent calls the right endpoint without parsing hundreds of operations.

## Related APIs

- **Athena Health** — Cloud-based EHR with 38 endpoints focused on clinical data access and appointment scheduling
- **Epic on FHIR API** — FHIR-native API for Epic health systems with standardized resource access
- **1upHealth API** — Health data aggregation connecting multiple EHRs and payers via FHIR
- **ClinicalTrials.gov API** — Public clinical trial registry for study search and patient matching

## FAQ

### What authentication does the DrChrono API use?

The DrChrono API uses OAuth 2.0 with the authorization code grant flow. Scopes control access to specific data categories: billing:read, patients:read, clinical:read, and others. Through Jentic, OAuth tokens are managed in your Jentic One instance with automatic refresh, and agents receive scoped tokens without handling client secrets.

### Can I run insurance eligibility checks with the DrChrono API?

Yes. The GET /api/eligibility_checks endpoint runs real-time eligibility verification against a patient's insurance plan. You provide the patient ID and insurance details, and the API returns coverage status, copay amounts, and deductible information. Results are stored and searchable for future reference.

### What are the rate limits for the DrChrono API?

DrChrono enforces rate limits per OAuth application. Standard limits are approximately 100 requests per minute for most endpoints. Batch endpoints like /api/clinical_notes_list and /api/appointments_list return paginated results to manage large datasets without hitting limits.

### How do I retrieve clinical notes through Jentic?

Search Jentic for 'retrieve clinical notes DrChrono' to discover the clinical_notes_list endpoint. The agent loads the schema for GET /api/clinical_notes_list which accepts date range, patient, and provider filters. Install via pip install jentic and use the search-load-execute flow to pull notes without manual endpoint configuration.

### Does the DrChrono API support ePrescribing?

Yes. The POST /api/medications endpoint creates prescription records with drug details, dosage, frequency, and pharmacy routing. The API integrates with ePrescribing networks to send prescriptions electronically. You can also retrieve a patient's active medication list via GET /api/medications.

### Can I generate billing claims from encounter data?

Yes. After documenting a clinical encounter, use POST /api/claim_billing_notes to attach billing notes with CPT codes and charge amounts. The GET /api/day_sheet_charges endpoint provides daysheet reports for reconciliation. Claims flow from clinical documentation through charge capture to submission.

### Can I limit what my agent is allowed to do with the DrChrono API?

Yes. DrChrono issues OAuth tokens with granular scopes such as patients:read and billing:read, and because your Jentic One instance is self-hosted, your own rules decide which operations and credentials the agent may use. You can grant only the scopes the needed operations require, for example limiting the agent to checking insurance eligibility or listing clinical notes while withholding write actions like creating medications or billing notes. Your DrChrono client secret and refresh tokens stay stored in your own instance and are exchanged for scope-limited access tokens at execution time, so the agent can only call the operations you allow.
