Medical Clinic Technology

Building a Treatment-Plan Follow-Up Compliance Tracker on DrChrono

A patient books a six-session laser series. She completes session one, misses session two, reschedules session three, and quietly disappears. The series sits open in DrChrono. No one flags it because nothing in the EHR is watching for it. Three months later, someone pulls a report and notices the series was never finished — but the patient has long since stopped responding to generic recall emails.

That scenario plays out constantly in medspa and clinic settings, and not just for aesthetic series. It happens with weight-loss protocols, allergy desensitization programs, chronic care management follow-ups, post-procedure wound checks, and any other treatment that runs over multiple visits. The revenue loss is real, but so is the clinical risk: a patient who drops out of a protocol mid-course is a patient who didn't get the outcome you intended.

The fix is a compliance tracker — a tool that watches every open treatment plan in DrChrono, knows when follow-up appointments are supposed to happen, and surfaces patients who are drifting before the gap gets wide enough to be permanent.

Why DrChrono Alone Doesn't Catch This

DrChrono tracks appointments, appointment status, and billing. What it doesn't do natively is model a treatment plan as a structured multi-step object with rules about when each step should occur. You can create an appointment series — DrChrono will generate recurring slots — but if the patient reschedules or cancels a session, the series doesn't automatically flag the gap or alert anyone that the plan is now off-track.

The appointment status field tells you whether a specific visit happened. It doesn't tell you:

  • Whether the patient is on track relative to their protocol schedule
  • How many steps of their plan are complete versus pending
  • When the next step is due based on the clinical rule ("return in four weeks")
  • Which patients are overdue right now, ranked by how overdue they are

That gap between "appointment happened" and "plan is progressing correctly" is exactly where patients fall out.

What the Tracker Does

We built the compliance tracker as a layer on top of DrChrono that monitors active treatment plans and flags compliance gaps daily. Here's how it works.

Defining the Plan in DrChrono

We use DrChrono's custom patient fields to record the treatment plan on the patient record itself. A typical plan record includes:

  • Protocol name — the name of the series or program (e.g., "6-Session Laser Resurfacing" or "Chronic Care Management Q4 2026")
  • Total steps — how many visits the protocol requires
  • Step interval — the expected gap between visits, in days
  • Start date — when the patient began
  • Steps completed — an integer we increment on each confirmed visit

This keeps the plan tied to the patient record in DrChrono, which matters for audits and for providers who need context at the point of care.

The Compliance Calculation

Each night, the tracker runs a pass over all patients who have an open treatment plan. For each one, it calculates an expected completion schedule by applying the step interval forward from the start date. It then compares that schedule against the patient's actual appointment history pulled from the DrChrono /api/appointments endpoint.

The result is a compliance score — nothing exotic, just "steps completed on time" divided by "steps expected by today" — and a flag status: On Track, At Risk, or Overdue.

  • On Track — the patient is current; their next appointment is scheduled within the expected window.
  • At Risk — the patient has not yet missed a step, but their next appointment is not scheduled and the expected date is within seven days.
  • Overdue — the patient is past due on at least one step with no scheduled appointment.

We calibrate the At Risk window per practice. A seven-day lead time is right for a medspa series where rebooking friction is low. A chronic care practice might want fourteen days.

The Daily Outreach Queue

The real value isn't the score — it's what happens next. Every morning, the tracker exports a sorted outreach queue:

  1. Overdue patients, sorted by days overdue (worst first)
  2. At Risk patients, sorted by expected due date (soonest first)
  3. A note on how many steps remain and which contact method worked last time

Front-desk staff work down the queue without having to pull up individual patient records to check status. They know exactly who to call, why, and what to say. Practices that have run this consistently see overdue lists shrink week over week because outreach happens in the window where the patient is still reachable, not months later when they've mentally closed the chapter.

The queue works because it removes the need for judgment about who to contact. Staff don't have to decide which open plans are "actually" behind — the system has already made that determination and ranked the list. Every minute of front-desk time goes to outreach, not to finding who needs it.

Writing Back to DrChrono

When a patient reschedules or completes a step, the tracker updates its own record and, more importantly, writes back to DrChrono. We use a PATCH to the appointment endpoint to mark the relevant appointment complete and a write to the custom patient field to increment the step count.

This keeps DrChrono as the system of record. Anyone pulling a patient chart in the EHR sees current plan status without having to cross-reference an external tool. The tracker is a monitoring and workflow layer — it doesn't replace the EHR, it keeps the EHR accurate.

Implementation Notes for Practices Considering a Build

A few things that come up in every build:

  • Custom fields need schema discipline. DrChrono's custom fields are flexible, which means they're easy to make inconsistent. Define a clear schema before you start entering plan data — protocol names, units, field types — and enforce it across all staff who create plans. Garbage in, garbage out; the tracker is only as good as the plan records.
  • Handle appointment status variants carefully. Patients cancel, reschedule, and no-show. The tracker needs rules for each: a no-show within the step window counts differently than a scheduled future appointment. Write out your business rules explicitly before coding them.
  • Distinguish "plan complete" from "patient discharged." Some patients finish their protocol; others stop before completion. Your plan record needs a terminal status beyond just step count — otherwise a patient who completed all six sessions looks the same in your data as one who quietly stopped at three.
  • HIPAA-eligible infrastructure is required. Treatment plan data is PHI. The service that runs the tracker, its database, and any queue export need to live on infrastructure covered by a BAA. This isn't optional.

How It Connects to the Wider Practice Stack

The compliance tracker works alongside the other DrChrono-native tools we've built — the revenue dashboard, the patient flow board, the booking attribution layer. The flow board answers "where is every patient today?" The compliance tracker answers "which patients are falling out of their program?" Together they give operators a complete picture of both daily operations and long-range patient behavior.

For practices that run membership programs, the tracker can also trigger membership pause notifications — if a member is overdue on their protocol, the front desk knows before the member reaches out wondering why they're not seeing results.

If you're running multi-step treatment protocols and tracking compliance manually — or not at all — we'd be glad to scope a build for your specific programs. Tell us how many open plans you're managing, what protocols you run, and what your current follow-up process looks like. We'll come back with a concrete architecture and what it would take to have it running.

Want this built for your practice?

Tell us what DrChrono can't do for you yet — we'll come back with a concrete proposal.

Start a conversation →