DEV Community

Christopher Gainus
Christopher Gainus

Posted on • Originally published at pumatech.dev

AI Voice Agents for Patient Outreach: Closing Care Gaps at Scale Without Burning Out Your Staff

A Medicare Advantage primary care organization with five clinics and roughly 30 providers has a permanent problem. There are always patients who are overdue for their annual wellness visit, patients who have fallen off their expected visit cadence, and patients with no next appointment on the books. At any given time, that list can run into the thousands.

The traditional approach is to hand a spreadsheet to the patient experience team and say "start calling." That burns people out. It is also impossible to keep up with. You end up prioritizing by gut feel, calling the same patients repeatedly, and missing the ones who actually need outreach most urgently.

I built a different system. It classifies every patient who needs outreach by urgency, routes them to either an AI voice agent or a human scheduler based on complexity, and tracks outcomes so we can measure what actually works. Here is how the triage layer works.

The Patient-Level Episode Engine

The first problem is that a patient can appear on multiple lists at the same time. They might be overdue for an AWV, off their visit cadence, and have an open referral. If you treat those as separate outreach tasks, you end up calling the same patient three times in a week about three different things. That is a terrible patient experience and a waste of staff time.

So I built a scheduling engine that collapses those categories into patient-level episodes. Instead of looking at individual care gaps, it looks at the whole patient. What is their current status? When was their last visit? What is their expected cadence? Do they have a next appointment?

The engine classifies every patient episode into one of three urgency tiers:

STAT. The patient needs outreach immediately. This might be a patient with a time-sensitive clinical need, a care gap that is about to close for the measurement period, or someone who has been unreachable for an extended time and is at risk of disengaging entirely.

Urgent. The patient needs outreach soon but not today. This is typically a patient who is off their expected cadence and needs to be brought back in within the current cycle.

Routine. The patient needs a standard outreach touch. Annual wellness visit reminders, cadence check-ins, general engagement.

The classification runs in Salesforce. The data comes from the analytics platform, which computes visit cadence, AWV completion, referral status, and attribution from the data lakehouse. Salesforce is the action layer. The analytics platform is the intelligence layer.

Routing to AI or Human

Once a patient episode is classified, the system routes it to the right channel. This is where the AI voice agent comes in.

I use a multi-agent AI voice platform for outbound calling. The voice agent handles the routine and many urgent episodes. It calls the patient, confirms their identity, offers to schedule an appointment, and books it directly into the EHR scheduling system. If the patient has questions that go beyond scheduling, the call can be transferred to a human.

The human scheduling team handles the STAT episodes and any complex cases. A patient who has been non-engaged for months, someone with a complicated referral situation, a patient who has previously refused scheduling. Those get a human call because they require judgment, empathy, and the ability to adapt the conversation in real time.

This split is the key. The AI voice agent is not replacing the human team. It is clearing the routine volume so the humans can focus on the cases that actually need human attention. Before this system, the scheduling team was spending most of its day on routine reminder calls. Now those are automated, and the humans handle the work that requires a person.

The Communication Rules

Patient outreach in healthcare is not a free-for-all. There are rules, and getting them wrong creates compliance risk.

One communication per patient per week. The outreach engine enforces this. If a patient has been contacted about one initiative this week, they do not get a second contact about a different initiative until next week. This respects the patient's time and keeps us compliant.

Priority framework. When multiple initiatives compete for the same patient, the priority framework decides which one goes first. High-acuity clinical needs take top priority. Annual wellness visits with a 60-day warning window come next. Then off-cadence outreach. Then routine engagement.

Consent and preference. Every outreach respects the patient's communication preferences and consent status. The system checks consent before any contact attempt. If a patient has opted out of a channel, the system does not use it. Period.

Channel escalation. The system tries the patient's preferred channel first. If that fails, it escalates to the next channel in the hierarchy. Portal message to SMS to email to phone call. The goal is to reach the patient, but to do it on their terms.

Self-Scheduling as a Recovery Path

One of the highest-impact additions was automated self-scheduling recovery. When a patient cancels an appointment and does not reschedule in the same interaction, the system automatically sends a self-scheduling link through their preferred communication channel. The link directs them to a scheduling workflow that limits options based on scheduling rules, shows only eligible providers and appointment types, and respects cadence-based scheduling logic.

This sounds simple, but it addresses a real operational problem. Before this, a cancellation triggered a manual outreach workflow. A staff member would notice the cancellation, add the patient to a call list, attempt outreach, and hope to reach them. That process took days and lost appointments. The automated recovery path delivers the scheduling opportunity instantly, at the point of cancellation, when the patient is most likely to act on it.

Measuring What Works

The system tracks every contact attempt and outcome. Communication sent, delivery status, link engagement, appointment scheduled, appointment completed. It breaks outcomes down by channel, by clinic, by appointment type, and by initiative.

It also tracks the comparison between AI and human scheduling. This is not about proving one is better than the other. It is about understanding which channel works for which type of patient and which type of episode. Some patients respond better to a human voice. Some prefer the efficiency of an AI agent that can book a slot in 90 seconds without putting them on hold. The data tells us where each channel adds the most value, and we adjust routing accordingly.

The Takeaway

Patient outreach at scale is fundamentally a triage and routing problem. You need to know who needs outreach, how urgently, and through what channel. Then you need to execute consistently and measure the outcomes.

AI voice agents are not a replacement for your patient experience team. They are a force multiplier. They handle the volume that would otherwise overwhelm your staff, and they do it with a consistency that humans physically cannot maintain over thousands of calls. But the triage layer, the classification, the routing rules, the compliance guardrails, those are where the real engineering work happens. The voice agent is just the last mile.

If you are thinking about AI patient outreach, start with the triage engine. Get the classification right. Define your communication rules. Build the consent and preference checks. Then plug in the voice agent. The agent is the easy part. The architecture around it is what determines whether it actually works.

Top comments (0)