Turn an inbound referral, from a portal, a work queue, or a scanned fax, into a real referral record in the EHR: patient verified, referring provider wired up, documents attached and marked reviewed. Then keep working it, with notes, assignments, and call outcomes logged by agents instead of people.
Overview
Referrals arrive through payer portals, provider work queues, and fax, and then someone re-types them into the EHR. This workflow replaces the re-typing. An agent verifies the patient in the EHR by name, date of birth, and MRN, creates the incoming referral with the referring provider, receiving provider, reason, and priority, adds ICD-10 codes, specialty, facility, and assignee where supplied, and attaches the referral documents, confirming each one lands in a reviewed state rather than assuming it did. It runs today in eClinicalWorks, an EHR with no referral write API, where the portal UI is the only way in.
Creation is half the job. A companion update workflow opens an existing referral and applies exactly the changes passed to it: a note line, a general note, a new assignee. That’s how call outcomes get logged and referrals move between work queues without a person touching the chart, and it’s built to run unattended at volume.
Step by step
Structured output
Every run ends as a record like this in your system, not a portal screenshot someone transcribes. This is the part your team stops doing by hand.
{ "from_provider": "SAMPLE, ROBERT MD", "to_provider": "EXAMPLE ORTHOPEDICS", "priority": "Routine", "reason": "Evaluation of right knee pain", "documents_attached": 2, "summary": "Referral created; 2 documents attached, both verified Reviewed."}{ "referral_assigned": "FRONT DESK QUEUE", "note_added": true, "general_note_added": false, "summary": "Call outcome logged; referral moved to the front-desk queue."}That asymmetry is deliberate. A new referral is a chart artifact that downstream scheduling and billing will trust, so a person confirms it before it exists. A note logging a call outcome is low-risk and high-volume, so it runs unattended. Automation vendors tend to offer one dial, everything reviewed or nothing reviewed; the honest answer is that the risk lives per action, and the gates should too.
At scale
In production, this is one link in a closed loop: referral captured, patient verified or created, referral written, then the appointment booked against real slot availability. One production intake deployment processes over 16,000 referrals a month, converting roughly 22% straight through with the rest routed to human review, which is exactly the split you want when referrals arrive incomplete. The rest of the category is in the referral-intake library. In UK general practice, the same intake discipline runs as online-triage referral submission.
Human in the loop
Runs on HIPAA-compliant infrastructure with SOC 2 Type II and a BAA, and every execution leaves a step-by-step audit trail of what was read, written, and attached. Posture in full on the security page.
Patient not found.
Reported as its own clean outcome, ready to compose with patient creation, never a guessed match.
The referral creation itself.
A human confirms before the record is written; the agent prepares, a person approves.
A referral the update can’t unambiguously identify.
If the target referral isn’t clear from the latest-open default or your hint, the run stops and names the ambiguity.
Missing required inputs.
No reason, no referring provider, no invented placeholder; the gap is reported by name.
Questions
The cost of manual referral intake isn’t the typing, it’s the referrals that sit unlogged until someone gets to the queue. The referral-intake library covers the full inbound path.
Disclaimer
Third-party names, including government agencies and registries, are used only to identify systems commonly involved in healthcare operations workflows. Asteroid is not affiliated with, endorsed by, sponsored by, or certified by those third parties unless expressly stated. Workflow availability depends on customer authorization, account permissions, configuration, and applicable system terms.