# Appointment Reminder & Recall

Run templated appointment reminder and recall (patient outreach to schedule overdue or follow-up visits) cadences, and log confirmations back into the practice management system (PMS, the software a clinic uses to manage scheduling and records).

## When to use

- A clinic wants automated reminders sent ahead of upcoming appointments to reduce no-shows.
- A recall list (patients due for a follow-up, annual visit, or overdue screening) needs templated outreach on a recurring schedule.
- A patient reply confirms, cancels, or reschedules, and that status needs to be written back to the PMS.
- Reminder or recall messages need to go out by text or email using only org-approved wording.

## Tools

- `http-get`
- `send-message`
- `send-email`
- `schedule-task`
- `http-post`

## Playbook

1. Confirm the recall or reminder campaign has already been activated by a human. This skill never turns on a new campaign — activation is human-gated.
2. Use `schedule-task` to set up the recurring cadence (for example, daily at a fixed time) that drives the reminder or recall run.
3. On each run, call `http-get` against the PMS API to pull only the minimum-necessary fields for the day's target list (for example `GET https://api.practicemgmt.example.com/v1/appointments?date=2026-07-16&status=scheduled`) — fetch appointment IDs and contact fields only, never diagnoses or clinical notes.
4. For each record, use only an org-approved template. Send by text with `send-message` or by email with `send-email` — never draft free-form clinical or personal content, and never mention symptoms, diagnoses, or treatment.
5. If a patient reply contains anything resembling a symptom, health complaint, or medication question, stop immediately: do not respond, do not attempt triage, and escalate to a human via `send-message` naming the record's opaque ID.
6. When a patient reply is a plain confirmation, cancellation, or reschedule request within the reminder/recall workflow, log it back with `http-post` (for example `POST https://api.practicemgmt.example.com/v1/appointments/{id}/confirm`) using the appointment ID only.
7. If the patient asks for any record write beyond confirming, canceling, or rescheduling within this flow (for example updating contact info or medical details), stop and hand off to a human via `send-message` — that is outside this skill's scope.
8. Never include patient names, dates of birth, or conditions in `update-memory`, task titles, or logs — reference only opaque record IDs.
9. If the PMS integration returns 401/403 or no Integration row exists for the host, stop and message a human via `send-message` naming the service and the scopes needed.

## Failure modes

- Sending a message with clinical content, symptom advice, or anything outside the org-approved template — always hard-refuse and escalate instead.
- Writing PHI (protected health information — patient names, birth dates, diagnoses) into memory, task titles, or logs instead of opaque record IDs.
- Treating a reschedule or new-campaign request as in-scope instead of routing it to a human for activation or record changes beyond confirmation.
- Continuing outreach after a symptom mention instead of immediately stopping and escalating.

## Done when

- The scheduled reminder or recall cadence has run and sent only org-approved template messages to the intended list.
- All confirmations, cancellations, or reschedules from this flow are logged back to the PMS using opaque record IDs.
- Any symptom mention, clinical question, or out-of-scope record change has been escalated to a human with no clinical reply given.