Skip to main content
DoneThat

AI Adoption GuideHealthcareAccess

Smart referral matching

ML matches referral orders to specialist availability, subspecialty fit, and geography using structured criteria from the EHR, using tools like Kyruus.

Healthcare processAccessIntakeAssessDiagnoseTreatDischargeBillFollowup

By Don, DoneThat’s AI coach · updated

A match that a coordinator can place

A usable match cites three things at once: the referral order, the specialty criterion that order requires, and an open slot that the directory still shows as free. If the slot is missing, the match is empty. The model does not invent a wait time, a named specialist, or a hold on the calendar. You still place the referral.

That three-part cite is the quality bar for this workflow. A ranked list is not a match. A phone number from last month is not a match. Downstream work such as a conversational scheduling agent can only confirm what you have already accepted as a real, still-open slot.

Pull the order and the live directory together

Load the referral order from the EHR first. Read the ordered specialty, any subspecialty or procedure language, diagnosis or reason for referral, geography, language, the plan if it is already on the order, and urgency exactly as written. Do not loosen those fields into a broader search so the list looks full.

Then load the specialist directory and open capacity from the same source your clinic already uses for look-up: who practices this specialty, where they sit, which visit types they offer, and which slots are open rather than held or blocked. Provider search and scheduling surfaces from vendors such as Kyruus, Epic, Oracle Health, and athenahealth all sit in that class. Use whichever of them is the live list for your organization. Do not blend in an unofficial roster, a remembered name, or a printed fax list.

If the order is missing specialty or location constraints your policy requires, stop. Send it back to the ordering clinician or to intake. Matching on a blank specialty is how invented specialists enter the queue.

When the order carries an urgency or risk flag, treat it as a constraint on timing, not a license to ignore subspecialty or geography. Acuity risk stratification at intake can tell you who should be offered an earlier window. It does not turn a heart-failure order into any available cardiologist.

Score only what the order and the slot both support

Match only after both sides are loaded. For every candidate, require readable cites to the order, the specialty or subspecialty criterion the candidate is supposed to meet, and the open slot, with location and time as the directory shows them.

Fail any candidate that cannot produce all three. Right subspecialty with no open slot is not a match. An open slot in the parent specialty when the order named a distinct subspecialty is not a match. A clinician name with no slot identifier is not a match.

Do not fill gaps with estimated wait. If the directory does not show a bookable time, there is no slot to cite. Estimated weeks to visit is not an appointment.

Illustrative walkthrough, not a measured clinic result: the order reads cardiology, heart failure, new patient, within 25 miles of the home zip, Spanish preferred. The matcher returns two rows. Row A cites that heart-failure order, the HF clinic's listed subspecialty, and Tuesday 9:40 at the west site, still marked open. Row B cites the same order and an HF physician downtown, but the only session on the grid is blocked for procedures. Row B has no placeable slot, so it is not a match. You place against Row A after you confirm the slot is still open, or you leave the worklist empty if Row A is gone when you click.

Use that pattern on every order. Do not treat the walkthrough as evidence that any vendor fills a given share of referrals.

Keep empty matches empty

When no directory row satisfies specialty, geography, and an open slot together, the output is blank. Blank is correct. Replacing the blank with a usual doctor and a guessed month is inventing both a specialist and a wait time.

A match with no slot is the failure mode that most often survives a glance. The name is right. The clinic is close. The specialty string matches. The calendar is full, or the remaining times are a different visit type. Leave the slot field empty. Follow the overflow your clinic already defined: waitlist, a documented expansion of geography after you ask, or return to the ordering clinician.

Do not treat the candidate list as booked. Exporting the top names into a shared sheet does not reserve Tuesday 9:40. Another coordinator, or the specialty practice, can take the same slot. Until you place the referral in the EHR and the scheduling system shows the hold, nothing is reserved.

Plan rules can invalidate an otherwise-cited slot. Run real-time eligibility verification against the coverage on file before you treat the slot as placeable. An out-of-network or closed-panel slot is not an open slot for this patient.

The same refuse-if-unfit rule shows up when staff screen for research. Clinical trial matching must drop a candidate who misses an inclusion criterion. Referral matching is the access version of that drop: no cite, no row.

Place the referral after you read the cites

The coordinator places the referral. Open the row, read the three cites, confirm the slot is still open in the live directory, then send the order to that specialist and that appointment, or to that specialist's new-patient queue if your policy books only after the referral lands.

If the slot disappeared between match and click, the row is no longer a match. Do not keep the specialist and pick another time from memory. Reload availability and match again.

If a cite is wrong on inspection, for example the criterion was read as general neurology when the order said neuromuscular, reject the row. Record the rejection so the next run is not treated as a successful placement.

Scheduling conversation and reminders come after placement. They are a different job. If a cited slot dies, do not let a scheduling agent choose a new specialist. That is inventing a specialist with a friendlier interface.

Mistakes that look like a match

Watch the queue for three patterns.

A match with no slot: specialist and specialty look fine, calendar empty or stale. It fails the quality bar. Do not place.

Treating the list as booked: sharing ranked names as if patients were held. The directory never saw that share. Place in the system of record, or the list is only a suggestion.

Inventing a specialist: widening heart failure to any cardiologist, or typing a name you remember because the directory came back empty. That hides the access gap and can send the patient to the wrong clinic. Empty stays empty. Escalate the gap through the path your organization already uses.

If a row cannot show the order, the criterion, and the open slot in language you can check in a few seconds, skip it. The matcher narrows the directory to what the order asked for. You remain the person who places the referral.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first