Referrals
A referral can be sent successfully and still go nowhere. The receiving clinic may need another document, the patient may need help scheduling, or the consultation note may never make it back to the referring team. A useful referral workflow keeps those next steps visible.
In Medplum, start with a ServiceRequest for the requested clinical service. Add Tasks for the work around it and link the messages, documents, appointments, and results as they arrive.
Use the Referrals Decision Guide to decide which sending, receiving, and follow-up steps your product supports. You can build either side of the exchange without implementing every workflow in this section.
Decide Whether the Teams Share a Project
For an internal referral, such as primary care referring to the practice's behavioral health team, both teams can use the same ServiceRequest. Create the receiving team's Task directly, assign its owner, and track acceptance and follow-up. Use Communications when the teams need to exchange context; a separate delivery workflow is optional. Configure access for each team's work and clinical records.
For a referral to another system, add the transmission and intake steps: agree on identifiers and supported payloads, track delivery, resolve incoming patient references, and reconcile status updates. Each server uses its own local resource IDs while preserving the business referral identifier.
The worked example uses two teams in one project so every reference can be followed locally. The same milestones apply across systems, with the integration carrying messages and status updates between them.
Connect the Request to the Work Around It
| Resource | Role in the workflow |
|---|---|
ServiceRequest | The requested service, patient, requester, intended performer, and clinical context |
Task | An accountable work item, such as intake review, scheduling, or reviewing the returned note |
QuestionnaireResponse | Answers captured in a referral form, retained alongside the resulting request |
Communication | Messages about the referral, including the material sent and relevant transmission times |
DocumentReference and Binary | Document metadata and the actual file bytes |
Appointment and Encounter | The booking and the care interaction that follows |
DiagnosticReport or another clinical result | Evidence of the service provided |
You can follow these links from the clinical request to the work, messages, and evidence around it. Each patient-related resource also needs its own patient reference. The arrows in this diagram connect clinical and workflow context; access is enforced by AccessPolicy and ProjectMembership.
Know What Each Milestone Actually Tells You
A delivery receipt tells you that a package arrived. It does not tell you that the clinic accepted the referral or that the patient received the service. Track these milestones separately:
| Milestone | Evidence |
|---|---|
| Package delivered | Channel acknowledgment correlated to the outbound message |
| Referral accepted | Receiving team's explicit acceptance of the work |
| Visit scheduled | Appointment linked to the ServiceRequest |
| Service performed | Encounter or clinical result, with request status reconciled by the responsible party |
| Loop closed | Returned information reviewed and any required follow-up assigned |
ServiceRequest.status describes the clinical request. Task.status describes a particular unit of work. Use Task.businessStatus for local stages such as waiting for documents; keep the meaning of each stage consistent across the UI and automation.
Build Your Referral Workflow
- Creating and Capturing Referrals: forms, draft orders, identifiers, and release.
- Recipients and Referral Packages: directory choices, supporting context, and file handling.
- Sending Referrals and Tracking Delivery: channels, communication records, acknowledgments, and retries.
- Receiving and Triaging Referrals: source retention, patient matching, duplicate handling, and review.
- Processing and Coordinating Referrals: ownership, authorization, scheduling, and rerouting.
- Results and Closing the Loop: matching returned records and defining completion.
- Worked Referral Example: a connected set of R4 resources.
For patterns shared with other practice workflows, see Care Coordination, especially Tasks and Work Queues and Handoffs and Escalation.