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
- 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.
- 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.
- 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.
- Agent
Hi, this is the clinic calling. We missed you at your appointment yesterday and wanted to check everything is alright.
- Patient
I could not get away from work in the end.
- Agent
That is easily fixed. There is an opening Thursday at eight, before most people start, or Friday at five thirty. Either better?
- 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.