Walk into most clinics running a modern stack (EHR, RCM, scheduling, patient engagement) and on paper it looks resolved. The systems talk to each other. Data flows. Dashboards exist.
Then you watch what actually happens between a patient being referred and that referral turning into a booked appointment, and you find the same three or four cracks, over and over, regardless of which vendor stack is underneath.
A specialist referral is sent. From that moment, most systems treat the referral as done. The fax went out, and the status flipped to "sent."
How often were you able to call a referred patient right away? Rarely. It takes days. Perhaps we’ll call them soon—fingers crossed.
When they call asking questions, the answer is almost always the same: "We've received your referral. We'll call you to schedule as soon as everything is ready. Just checking a few things with your insurance."
By the time everything is ready and you call, they've either gone to another provider, or they're frustrated from the wait. Now you have more bad news: the schedule is full, and the first available date is months out.
Why does this happen?
There's a real time-consuming process behind it, but the real driver is a combination of multiple issues within the referral conversion cycle, and most systems don't track it well. There's no automated notification, and no flags for "nothing happened, escalate."
Part of why referrals stall this long: most of them still arrive as a fax. Faxes are still the largest share of clinical referral traffic. Almost nothing automatically converts an incoming fax into the structured fields; a referral or pre-auth workflow needs. So, it sits in a queue for a human to read and re-key.
How many referrals needing pre-authorization get bounced back simply because nobody flagged a required field, or someone mistyped a date of birth?
Patients often don't hear from anyone for 24–48 hours after a referral is sent, not because staff are slow, but because the first step is manual data entry that software should have done in seconds.
Say the referral survives all of that. It clears intake, clears pre-auth, and finally turns into a booked slot. The crack can still show up right at the finish line.
Dr. Smith's Thursday is blocked for cataract evaluations. Slots reserved; nothing booked yet. A patient calls in with a dry-eye issue. Front desk books them into one of those Thursday slots, overriding the appointment type.
The system sends its automated message: full cataract prep materials. The patient reads it and has no idea what they're looking at.
This is not some type of exotic problem. It is a non-standardized, inefficient, and inaccurate process problem.
The process is complex enough on its own. Add manual work, human-error-prone steps, no automation, and a habit of doing what's comfortable instead of what's right, and you get a system that hurts everyone in it. Patients included.
None of these problems need a miracle. They're the same failure wearing different clothes: systems built for legacy industries model data structures, not operational reality. That's the gap. A big one.
Some modern systems are trying to close this gap. But given the history and volume of data in legacy systems, the tightly coupled dependencies, and the compliance requirements, even the new entrants don't fix everything.
Some try to replace the old system outright, but that's expensive, slow to set up, and means retraining staff and migrating years of data. Others build a specific component, focus on one issue, and integrate with what's already there. Good thinking, but the complexity and limitations of the legacy system are real, and they shape how much you can actually fix.
Here's why that matters: operations are workflows, and workflows are steps, each with an expected input and output, and a process in between. Fixing one step is good, but it's not enough to say, "we improved your operations."
Not honestly. The fix that actually moves the needle targets a whole operation, not a single step and not the whole system. That's where the impact is visible.
The fix isn't "add more AI" in the abstract sense everyone's pitching right now. It's more boring, and more useful: give these workflows the hooks, state tracking, and structured extraction they never had, then layer intelligence on top of that, not on top of a data model that was never built to represent actual operations.
Not always a layer sitting neatly on top of the systems clinics already run; sometimes it's rebuilding the tracking underneath or filling in the piece that never existed. Sometimes it's a combination of them all.