Integration · Canvas Medical

Recupra + Canvas Medical: FHIR-native scheduling recovery.

Canvas exposes a full FHIR R4 API, including a real Slot resource. Recupra reads that inventory directly rather than guessing at open times, so every slot it offers a patient is one Canvas says is genuinely free.

No call. No credit card. Plug-and-play setup in 5 minutes.

The integration

How Recupra works with Canvas Medical

Canvas Medical is a programmable EHR built for care teams that expect an API rather than a data export. Its FHIR R4 surface covers Patient, Practitioner, Appointment, and Slot, which is the exact set an outreach agent needs.

Because Canvas publishes a Slot inventory, Recupra never has to reconstruct availability from office hours. It asks Canvas what is open, offers only those times, and writes the Appointment back. The trade is that Canvas does not push events to Recupra, so a freed slot arrives on the daily reconciliation sweep.

What frees a slot in Canvas Medical

  • Cancelled
  • No-show (optional)

A status without a label triggers a recovery call by default. The ones marked optional stay off until you turn them on.

Canvas Medical at a glance

Who runs it
Developer-forward primary care and value-based clinics
Open times
Read from the vendor's open-slot API
Cancellation reaches us
Daily sweep, up to 24 hours
Authentication
OAuth 2.0 client credentials

Side by side

Canvas gives you the primitives. Recupra is the part you do not build.

What a Canvas team usually builds

Canvas is chosen by teams who want to program their EHR. It exposes FHIR R4, and its Slot resource means a clinic can ask the record itself what is genuinely bookable rather than inferring it from a calendar.

That is why Canvas practices tend to have already built their reminder logic, their status dashboards, and a rules engine or two. The scheduling primitives are good enough to build on.

Where that stops

What no primitive gives you is somebody to make the call. The gap on Canvas is never the data model, it is that recovering a no-show means a real conversation with a real person, at scale, every day.

Recupra is that conversation. You keep the record, the rules, and the FHIR resources you already built on. You do not staff a phone bank to act on them.

Vocabulary

Recupra speaks Canvas Medical

Your agent uses the words your staff already use, so nothing on a call sounds translated.

Slot Open time
A FHIR resource Canvas actually populates, so an offer is never a guess.
Appointment Booking
Recupra writes the rebooked visit back as a FHIR Appointment.
noshow No-show
FHIR binds this status, so recovery rules need no per-practice mapping.
Practitioner Provider
The FHIR noun, used verbatim in the integration.

Setup

Connecting Canvas Medical takes one sitting

  1. 01

    Create an API client in Canvas

    Canvas issues a client ID and secret for machine access. Recupra exchanges them for a token on every call and never stores a user password.

  2. 02

    Point Recupra at your instance

    You paste your Canvas instance URL. Recupra derives the token endpoint and the FHIR host from it, so there is no separate environment picker to get wrong.

  3. 03

    Recupra reads your Slot inventory

    Every open time Recupra offers a patient comes from Canvas's own Slot resource, filtered to the providers and appointment windows you configure.

On the phone

What the agent does with a FHIR noshow

Canvas marks the appointment noshow. Because the status is bound rather than free text, the agent needs no per-practice rule to recognise it.

  1. Agent

    Hi, this is the clinic calling. We missed you at your appointment yesterday and wanted to check everything is alright.

  2. Patient

    I could not get away from work in the end.

  3. Agent

    That is easily fixed. There is an opening Thursday at eight, before most people start, or Friday at five thirty. Either better?

  4. Agent

    Thursday at eight, booked. It is on your chart now.

The agents

Every agent runs on Canvas Medical

The roster does not change per EHR. Whichever system you run, you choose which of these to turn on.

Waitlist Agent

A slot frees up and the agent calls the best-matched patient from your list, then books them in.

No-Show Agent

A patient misses a visit and the agent calls inside your window, finds out why, and reschedules.

Reminder Agent

Upcoming visits are confirmed on the channel each patient answers, so the miss surfaces early.

Intake Agent

A new inquiry gets a call back in minutes, qualified and booked into a real opening.

Follow-Up Agent

A patient who leaves without the next visit in their plan booked is called while the plan is still open.

Reactivation Agent

Dormant patients get a warm check-in calibrated to their care history, not a sales pitch.

Admin Agent

Reschedules, hours, and routine questions are resolved on the inbound line without staff.

The platform

Outcome-based, HIPAA-compliant, no migration

Recupra runs a diagnostic on your real clinic data, shows where revenue is leaking in dollars, and lets you activate the agents you want, paying only when they recover real revenue. See the outcome-based pricing, read how it works, or compare every EHR integration.

Canvas Medical stays the system of record. Recupra never migrates your data.

Canvas Medical FAQ

Frequently asked questions

Does Recupra support Canvas Medical?

Yes, natively. Recupra authenticates with OAuth client credentials against your Canvas instance and reads and writes through the FHIR R4 API.

How does Recupra find open slots in Canvas?

It reads Canvas's native FHIR Slot resource. Recupra does not reconstruct availability from office hours on Canvas, so the times it offers a patient are times Canvas itself reports as free.

How quickly does Recupra notice a Canvas cancellation?

Recupra polls Canvas on a daily reconciliation sweep, so detection can lag up to 24 hours. Healthie is the only integration where a freed slot arrives by push webhook.

See what Recupra recovers on Canvas Medical.

Connect your EHR and Recupra shows you exactly where revenue is leaking, on your real data. No call, no credit card.