The constraint was non-negotiable: the electronic medical records system was not to be modified, reconfigured, or replaced. The dental group's two-year contract with their EMR vendor included a clause that voided their support agreement if any third-party modifications were made to the system. This is a common situation in healthcare, legacy systems with contractual moats, surrounded by operational processes that have accumulated years of manual workarounds.
The solution was a surrounding automation layer: workflows that interact with the EMR only through its supported export and import mechanisms, CSV exports for scheduled appointment data, a patient portal web interface for intake form collection, while handling everything else through purpose-built integrations with adjacent systems. The EMR was treated as a data source and a record system, not as an integration point.
The first workflow used the EMR's existing automated appointment export (a CSV file deposited in a shared folder every four hours) as a trigger. An n8n workflow monitors the folder, detects new exports, parses the appointment data, and triggers the appropriate outreach sequence for each appointment: a booking confirmation SMS immediately, a 48-hour reminder with a one-tap rescheduling link, and a 2-hour day-of confirmation. The rescheduling link connects to a custom scheduling widget that shows real-time availability, sourced, again, from the EMR's CSV export, and posts reschedules back to the front desk via a Slack notification with all required information to make the change in the EMR. The EMR is never touched by the automation; the front desk makes a single manual update from a complete Slack notification.
The second workflow automated new patient intake. When a new patient appointment is detected in the CSV export, the workflow generates a unique intake form link (built on Tally.so) and sends it via SMS. Completed forms are parsed by the workflow, formatted to match the EMR's patient intake template exactly, and delivered to the front desk as a pre-formatted data sheet ready for copy-paste entry, reducing the EMR data entry task from 12 minutes of manual transcription to 90 seconds of paste-and-verify. A Claude AI agent reviews the freeform medical history text section and flags any mentions of conditions or medications that require specific preparation notes, highlighting them in the delivered sheet.
The results across six months: patient admin time per appointment reduced by 61%. Front-desk inbound call volume down 44%. No-show rate reduced from 11% to 6% due to the reminder sequence. Intake data entry errors, measured by the frequency of front-desk correction requests on submitted records, fell by 73%. The entire system was built in 19 days of engineering time, required no changes to the EMR, and operated entirely within the bounds of the vendor's support agreement.
Tags
Purist
The PURIST editorial team covers automation, AI agents, and operations strategy for businesses scaling with n8n, Make, and Claude AI.