Skip to main content

EMR Integration Setup

This guide walks you through connecting your EMR system to OzyOps so OzyOps can check availability and book appointments directly during calls.

Plan Requirements

EMR connection is available on all plans. AI appointment booking requires the Essential plan or above.

What EMR Integration Enables

All plans -- once your EMR is connected:

  • Check real-time availability in your EMR calendar
  • Queue appointment requests for staff to confirm
  • Create new patient records for first-time callers (optional -- your choice, see Step 3)

Essential plan and above -- adds:

  • Book appointments directly during calls (no staff action needed)
  • Confirm appointments via SMS to patients automatically
EMR is optional

OzyOps works without an EMR connection. It will answer calls, qualify callers, and capture their information. EMR integration adds the ability to check availability and either book appointments automatically (Essential+) or queue them for your staff (all plans).

Supported EMR Systems

Native Adapters

We confirm your system before you sign

The "Status" column below is deliberately specific. Verified means a real appointment has been booked into that system. Connector written means we validate it against your specific instance during onboarding, at no cost to you, before you commit to anything. We would rather tell you this up front than have you discover it at go-live.

EMRAuth TypeBookingAvailabilityStatus
Google CalendarOAuth 2.0FullFullVerified — in production use
Dentrix (Ascend + desktop)Set up by our teamFullFullVerified against the scheduling partner's system; see the note below on how appointments reach Dentrix
Open DentalAPI KeyFullFullConnector written — validated against your instance during onboarding, at no cost, before you commit
athenahealthOAuth 2.0FullFullConnector written — validated against your instance during onboarding, at no cost, before you commit
DrChronoOAuth 2.0FullLimited*Connector written — validated against your instance during onboarding, at no cost, before you commit

*DrChrono does not expose availability calculation via API. Booking works but the AI cannot dynamically check open slots -- it will offer pre-configured time slots instead.

One thing to know about Dentrix timing

Dentrix Ascend appointments are written by software that runs at your practice. If that software is not running — evenings, weekends, or while the office is closed — the appointment waits in a queue and lands when your team is next in. It is not lost, and the caller is booked either way; it simply may not appear on your Dentrix schedule until the office reopens. We would rather you hear that from us than wonder on a Saturday morning.

Dentrix -- we set this one up for you

Dentrix connects through a scheduling partner (NexHealth) rather than a direct API key, so there is nothing for you to enter in OzyOps — no API key, no subdomain, no location ID. Dentrix Ascend does not issue practice-level API keys, which is why this connection is handled differently from the others.

There is one thing that does happen on your side. Because the connection is made inside your own Dentrix account, your practice creates a dedicated user account there for the scheduling partner to use. That account belongs to you: you create it, you control it, and you can revoke it at any time. We will walk you through the exact steps on a call, together — including how the credentials are entered, so that you enter them yourself wherever possible. We publish the detail here only once we have done it end to end with a practice, so that what you read is what actually happens.

How it works:

  1. In Settings → EMR Integration, choose Dentrix and click Request integration. Your request is logged and our team is notified -- you do not need to email anyone.
  2. We schedule a short call to set up the connection to your Dentrix system. This part requires someone at your practice, because the connection is made inside your own Dentrix account.
  3. Once complete, the connection appears in your EMR Integration page like any other, and the AI can check real availability and book.

You will not see an API key or connection form for Dentrix -- that is expected, not a missing step.

FHIR Adapters

EMRConnection MethodBookingAvailabilityStatus
Generic FHIR R4FHIR APIFull (if EMR supports writes)FullVerified against a live FHIR R4 server; not yet against a production Epic or Cerner instance
EpicFHIR via App OrchardFullFullConnects through the Generic FHIR adapter. Not yet verified against a production Epic instance — we validate yours during onboarding before you commit
Cerner / Oracle HealthFHIR APIFullWorking with known quirksConnects through the Generic FHIR adapter. Not yet verified against a production Cerner instance — we validate yours during onboarding before you commit

Don't see your system? Tell us what you run and we'll give you a straight answer about whether we can connect it, and what it would take.

For EMR systems not listed above, see the FHIR Connection Guide for connecting via the universal FHIR standard. Most modern EMR systems support FHIR R4.

The full list of systems we can reach

The tables above show the connectors that are built and validated today. The full, always-current list of practice management and EHR systems we can reach is published on our integrations page: the systems we book into directly, the systems we book into through our scheduling integration platform, and the systems where we capture every call and relay bookings to your front desk.

See every system we book into, tier by tier

Three things stay true no matter what your practice runs:

  1. Every call is answered on any system, or none. The floor of the product needs no integration at all: the call is answered, the request is captured with full details, and your team receives it the way you choose.
  2. Direct booking is verified with your practice during onboarding, against your own system, before you rely on it.
  3. If we have not confirmed a path for your system, we say so plainly and then go find out, rather than promising first.

Step 1: Access EMR Settings

  1. Log in to your OzyOps dashboard.
  2. Go to Settings > EMR Integration.
  3. You will see a list of supported EMR systems.

Step 2: Connect Your EMR

Open Dental (API Key)

Prerequisites:

  • Open Dental version 17.1 or higher
  • API module enabled (requires Open Dental support activation)
  • Administrator access to Open Dental

Steps:

  1. In Open Dental, go to Setup > API.
  2. Click Generate API Key.
  3. Copy the API key.
  4. In your OzyOps dashboard, select Open Dental.
  5. Enter your API Key, Practice ID (usually your license number), and Server URL (leave default for Open Dental Cloud).
  6. Click Test Connection.
  7. If successful, click Save.

athenahealth (OAuth)

Prerequisites:

  • athenahealth administrator access
  • Practice ID from your athenahealth account

Steps:

  1. In your OzyOps dashboard, select athenahealth.
  2. Click Connect with athenahealth.
  3. You will be redirected to athenahealth login.
  4. Log in with your administrator credentials.
  5. Authorize OzyOps to access appointments, patient demographics, and provider schedules.
  6. You will be redirected back to OzyOps.
  7. Enter your Practice ID and Department ID if prompted.
  8. Click Complete Setup.

DrChrono (OAuth)

Prerequisites:

  • DrChrono administrator access
  • API access enabled in your DrChrono subscription

Steps:

  1. In your OzyOps dashboard, select DrChrono.
  2. Click Connect with DrChrono.
  3. Log in with your DrChrono credentials.
  4. Authorize OzyOps to access appointments and patients.
  5. Click Complete Setup.

Step 3: Configure Sync Settings

After connecting, configure how OzyOps syncs with your EMR:

SettingDescriptionRecommended
Sync AppointmentsPush booked appointments to EMREnabled
Auto-Create PatientsCreate new patient records for first-time callersYour choice
Sync Call NotesAdd call summaries to patient chartEnabled

About Auto-Create Patients ("Let the AI book first-time patients"):

This setting decides whether the AI can book someone who is not already in your system. You can change it any time from Settings → EMR Integration, on the card for your connected system.

If enabled, a first-time caller can be booked during the call. We create their record in your system with the details captured on the call (name, phone, email, date of birth). You can tidy up demographics later.

If disabled, only patients already in your system can be booked. The AI matches callers by phone number, and when there is no match it will not offer appointment times at all -- it tells the caller your office will call them back to get them set up, captures their details, and adds them to your booking queue for staff to handle.

Which should you choose?

Enable it if you want first-time callers booked without staff involvement -- that is usually the bigger win, since new-patient calls are the ones most likely to go elsewhere if they are not handled on the spot.

Leave it off if your team prefers to review and enter new patients themselves, for example to control how chart records are created. Nothing is lost -- those callers still reach your booking queue with their details captured.

What the AI says changes with this setting

This is not just a background rule. When the setting is off, the AI is told up front that first-time callers cannot be booked, so it sets the right expectation instead of offering a time it cannot reserve. Changing the setting updates your AI's instructions within a few seconds.


Step 4: Enable AI Booking

After your EMR connection is verified:

  1. Go to Settings > EMR Integration.
  2. You should see a "Connected" status with a green badge.
  3. Booking tools are automatically added to your AI agent.

Behind the scenes, your AI agent receives two new capabilities:

  • check_appointment_availability -- Queries your EMR for open slots
  • book_appointment -- Creates appointments in your EMR

Step 5: Test the Connection

Dashboard Test

In EMR Integration settings, click Test Connection. You should see: "Connected -- Last successful sync: [timestamp]."

Live Call Test

  1. Call your OzyOps phone number.
  2. Say: "I would like to schedule an appointment."
  3. The AI should respond with something like: "Let me check availability..."
  4. The AI offers available time slots from your EMR.
  5. Select a time and confirm.
  6. Check your EMR -- the appointment should appear.

Troubleshooting

"Connection Failed" Error

Open Dental:

  • Verify API key is correct (regenerate if needed).
  • Ensure API module is activated.
  • Check that your firewall allows outbound connections.

athenahealth/DrChrono:

  • OAuth token may have expired -- click Reconnect.
  • Verify your subscription includes API access.

"No Slots Available" When Calendar Has Openings

  • Check provider schedules are configured correctly in your EMR.
  • Verify appointment types match OzyOps settings.
  • For DrChrono: availability API not supported -- configure default slots.

Appointments Not Appearing in EMR

  • Check sync is enabled in OzyOps settings.
  • Verify "Auto-Create Patients" setting matches your workflow.
  • Look in your EMR's unscheduled/pending appointments queue.

AI Says "I can't check availability right now"

This graceful fallback occurs when:

  • EMR connection is temporarily unavailable
  • API credentials have expired
  • Network timeout

The AI will still collect patient info and queue the appointment for manual follow-up.


Common Questions

Is my patient data secure? Yes. OzyOps uses AES-256-GCM encryption for credentials, stores PHI in a HIPAA-compliant database, and all connections are TLS-encrypted.

Can patients book without talking to the AI? Not currently. Booking is voice-only during AI calls. Self-service web booking is on our roadmap.

What if the AI double-books? The AI always checks real-time availability before booking. Double-booking can only occur if your EMR allows it or if there is a very brief sync delay. The system has multiple layers of protection: slot-level contention checks, availability pre-filtering, and mid-call auto-cancel when patients change their mind.

Can I limit which providers can be booked? Yes. Go to Settings > EMR > Providers to enable or disable specific providers. Disabled providers will not be offered to callers.

How far in advance can patients book? There is no system-imposed limit. The availability depends on how far out your EMR has appointment slots configured. If no slots exist for the requested date, the AI will suggest checking a different date.

What happens during EMR maintenance windows? The AI gracefully falls back to collecting information for manual scheduling. See the Booking Queue guide for details on the fallback workflow.


Need Help?

  • Email: support@ozyops.com
  • Subject: EMR Setup Help -- [Your Practice Name]
  • Include: EMR system, error messages, and screenshots