# Patient Scheduling and Outreach

This guide walks through a common healthcare workflow: an AI agent handles appointment scheduling and outbound patient outreach across voice and text channels, from data ingestion through interaction completion and EHR write-back.

## The Workflow

A health system needs to contact patients who are due for follow-up appointments. Today, care coordinators manually review lists, make calls, navigate scheduling systems, and document outcomes. The process is time-consuming, and many patients never get contacted.

With Amigo, this workflow runs automatically while maintaining the clinical standards and patient experience that the organization requires.

## Step-by-Step Flow

### 1. Connector Runner Loads Patient Data

The connector runner pulls patient data from the EHR system. It identifies patients who are due for follow-up based on clinical rules: time since last visit, care plan milestones, or provider orders.

For each patient, the connector runner loads:

* Demographics and contact preferences
* Relevant clinical context (reason for follow-up, last visit summary)
* Scheduling constraints (provider availability, location preferences)
* Prior interaction history with the platform

The connector runner also performs entity resolution to match patient records across systems and ensure that the agent has a unified view of each patient.

### 2. Outbound Dispatch Initiates Contact

The platform's outbound dispatch system initiates contact with the patient at an appropriate time, based on contact preferences and time zone. The dispatch can trigger a phone call or an SMS text session depending on the patient's communication preferences. If a phone call goes unanswered, the system follows the configured retry logic (try again at a different time, leave a voicemail, or fall back to a text session).

### 3. Agent Greets the Patient

When the patient answers a call (or receives the first text message), the agent introduces itself and states the purpose of the interaction. The greeting is personalized based on patient context from the world model.

For example, the agent might say: "Hello, this is the follow-up team at City Medical Center. I am calling because Dr. Patel asked us to check in with you after your visit last week and help you get your next appointment scheduled."

The agent's tone, pacing, and vocabulary adapt to the patient. A call to an elderly patient uses simpler language and a slower pace. A call to a younger patient may be more direct.

### 4. Agent Reads Context from the World Model

During the conversation, the agent accesses the world model to retrieve relevant information in real time:

* **Appointment context**: What type of follow-up is needed, how soon, and with which provider
* **Patient history**: Prior no-shows, scheduling preferences, transportation barriers
* **Clinical notes**: Any instructions from the care team about urgency or special requirements

This context allows the agent to handle the conversation naturally. If the patient says "I had trouble getting there last time," the agent can reference the patient's transportation history and offer alternatives.

### 5. Agent Schedules via FHIR API

Once the patient agrees to schedule, the agent queries available appointment slots through the FHIR API. It presents options that match the patient's preferences and provider availability. If the patient expresses a time-of-day preference ("I prefer mornings" or "after 3pm works best"), the agent filters slots by morning, afternoon, or evening windows. When no exact matches exist for the preferred window, the agent falls back to the nearest available time and explains what is available.

The agent handles common scheduling complexities:

* Time-of-day preferences with automatic fallback
* Multiple providers or locations
* Insurance verification requirements
* Pre-appointment instructions (fasting, medication holds)
* Follow-up reminders and confirmation preferences

When the patient selects a slot, the agent books the appointment in the scheduling system.

### 6. Summary Written Back to EHR

After the interaction, the platform writes a structured summary back to the EHR. The summary includes:

* Interaction outcome (scheduled, declined, no answer, callback requested)
* Appointment details if scheduled
* Any patient concerns raised during the conversation
* Escalation notes if the patient reported symptoms or issues requiring clinical attention

Care coordinators can review these summaries in their existing workflow tools without needing to access a separate system.

## Handling Edge Cases

The agent is configured with clear boundaries for situations that require human involvement:

* **Patient reports new symptoms**: The agent does not provide clinical advice. It documents the concern and escalates to the care team.
* **Patient requests a provider change**: The agent can offer available alternatives but escalates complex situations (such as insurance or referral issues) to a coordinator.
* **Patient expresses distress or confusion**: The agent adjusts its approach and, if needed, offers to connect the patient with a live staff member.
* **Language barriers**: The agent detects language mismatch and routes to appropriate language support.

## What This Looks Like in Production

At scale, this workflow lets a care coordination team contact more patients per day than a manual process allows. The agent handles routine scheduling interactions - by phone, text, or both - while care coordinators focus on patients who need complex coordination or clinical judgment.

The platform tracks outcomes for every interaction: scheduling rates, patient satisfaction, escalation frequency, and no-show rates for appointments booked by the agent versus manual processes. These metrics feed back into the testing and evaluation framework to continuously verify that the agent meets the organization's standards.
