> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vorel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Clinics

> Vorel's clinic vertical pack, for medical clinics handling appointment booking, specialty matching, insurance capture, with hard guardrails against clinical advice.

The clinic pack tunes Vorel's voice + chat agent for medical clinics. It seeds an agent persona, the slots the agent collects on every qualification, the catalog attributes for clinicians/visits, the handoff triggers, and, critically, a hard set of guardrails to keep the agent on the safe side of "scheduling assistant" and far away from "clinical advice."

<Note>
  **Read the safety guards section before deploying this pack.** A clinic agent that suggests a
  diagnosis or downplays a symptom is a regulatory + ethical issue. The pack ships defensive
  defaults; don't loosen them without explicit operator review.
</Note>

## Persona defaults

| Field                | Value                                                                                  |
| -------------------- | -------------------------------------------------------------------------------------- |
| Agent name (English) | **Yara**                                                                               |
| Agent name (Arabic)  | **يارا**                                                                               |
| Business framing     | "medical clinic" / "عيادة طبية"                                                        |
| Target customer      | "patients"                                                                             |
| Appointment noun     | "appointment" / "موعد"                                                                 |
| Tone                 | calm, warm, and reassuring; clear and unhurried; never alarmist about clinical details |

### Signature phrases

The clinic pack ships an **empty signature\_phrases list**, by design. Salons can riff with "of course" / "let's get you sorted"; clinics deliberately don't, to keep the tone neutral and to avoid building rapport in a way that pressures patients.

### Forbidden phrases (the agent will never say)

`diagnose` · `you have` · `definitely` · `it's nothing serious`

This is the most important field on the page. The forbidden list is what stops the agent from drifting into clinical territory:

* **`diagnose`**: covers conjugations like "I diagnose", "let me diagnose"; the agent cannot verbalise a diagnostic action.
* **`you have`**: blocks the most common diagnostic phrasing ("you have a UTI", "you have allergies"). Forces the agent to say "I'm not able to diagnose; let me capture what you're feeling and route you to the right specialty".
* **`definitely`**: blocks false confidence in any clinical context.
* **`it's nothing serious`**: blocks the dangerous reassurance pattern; downplaying a symptom can stop a patient from seeking care.

You can **add** to this list per-tenant; you cannot remove without a code-side change. (And if you want to: don't.)

## What the agent qualifies

The agent applies these qualification rules for this vertical:

> Confirm patient status (new vs returning) before anything else; for returning patients, retrieve their last visit + clinician so follow-ups bind correctly. Capture insurance provider + member number when collecting reason for visit, since insurance gates which clinicians are bookable. NEVER suggest a diagnosis or give clinical advice; capture symptoms in the patient's own words and route to the right specialty. Urgent / red-flag symptoms (chest pain, difficulty breathing, severe bleeding, suicidal ideation, possible stroke signs) trigger immediate handoff to a human + an explicit instruction to call emergency services.

## Lead attributes captured

| Slot                  | Type   | Notes                                                                                      |
| --------------------- | ------ | ------------------------------------------------------------------------------------------ |
| `patient_status`      | string | new · returning                                                                            |
| `insurance_provider`  | string | E.g. Daman, ADNIC, Bupa                                                                    |
| `insurance_number`    | string | Member / policy number                                                                     |
| `preferred_specialty` | string | general\_practice · dermatology · dental · pediatric · ent · ophthalmology · physiotherapy |
| `preferred_clinician` | string | Specific doctor / therapist                                                                |
| `symptoms_summary`    | string | **Captured in the patient's own words** (no clinical interpretation)                       |
| `preferred_language`  | string | en · ar · ur · hi · fr (visit language preference)                                         |

## Offering catalog attributes

Bookable visit slots are stored as Vorel `offerings`:

| Attribute              | Type      | Examples                                                                                   |
| ---------------------- | --------- | ------------------------------------------------------------------------------------------ |
| `specialty`            | string    | general\_practice · dermatology · dental · pediatric · ent · ophthalmology · physiotherapy |
| `visit_type`           | string    | consult\_new · consult\_followup · procedure · screening · telehealth                      |
| `duration_minutes`     | number    | n/a                                                                                        |
| `clinician_id`         | string    | Internal identifier for the clinician                                                      |
| `insurance_accepted`   | string\[] | Provider list (drives bookability when paired with patient's `insurance_provider`)         |
| `telehealth_available` | boolean   | Slot can be booked as telehealth                                                           |
| `languages`            | string\[] | Languages the clinician speaks (matched against patient's `preferred_language`)            |

## Handoff triggers (defaults)

* **On complaint**: any service grievance escalates.
* **On compliance**: regulatory / consent / records questions escalate.
* **On explicit request**: "let me speak to the front desk".
* **On stuck**: if the agent can't make progress in two turns, hand off rather than loop.
* **On red-flag symptom**: qualification-prompt-driven; chest pain, difficulty breathing, severe bleeding, suicidal ideation, possible stroke signs trigger an immediate handoff plus an explicit instruction to call emergency services.

`on_negotiation` is OFF. Clinics rarely have pricing negotiations on the inbound channel.

## Safety guards (non-negotiable defaults)

The clinic pack is the most safety-critical of Vorel's verticals. The following are baked in:

1. **No diagnosis, no clinical advice.** The forbidden phrases enforce this at the agent's vocabulary level. The qualification rules reinforce it at the prompt level.
2. **Symptoms captured verbatim.** The `symptoms_summary` slot stores the patient's own words, never a paraphrase or interpretation. This protects the clinician (the slot is a reliable hand-off artefact) and the patient (no AI-induced framing distorts the visit).
3. **Red-flag escalation is hard-coded.** A pre-defined list of red-flag symptoms (chest pain, severe bleeding, suicidal ideation, etc.) routes immediately to a human plus an explicit instruction to call emergency services. The agent doesn't try to reassure or self-triage.
4. **Insurance gates bookability.** The catalog's `insurance_accepted` array is matched against the patient's `insurance_provider` slot at booking time, so a patient with provider X never gets offered a slot at a clinician who doesn't accept X.
5. **FAQ redirect copy is explicit.** The pack's `faq_redirect_message_en` and `faq_redirect_message_ar` redirect any clinical-advice question to "ask your clinician directly during the visit" or, for emergencies, "call your local emergency number".

## Worth knowing

* **HIPAA is not turn-key.** The clinic pack ships safety guards; running a HIPAA-grade workflow requires Business Associate Agreements (BAAs) with every PHI-touching subprocessor in the tenant's voice and AI pipeline (telephony carrier, speech and language models, and any real-time providers). Vorel signs BAAs per-customer engagement; talk to your operator before the kickoff call. For safety-critical healthcare workflows, the clinic pack also pins the agent to a fully tool-mediated reasoning path on every turn until the relevant subprocessor compliance posture is verified.
* **Telehealth slots.** The `telehealth_available` boolean lets you carry both in-person and telehealth slots in the same catalog. The agent honours the patient's preference if expressed; otherwise defaults to in-person.
* **Multi-language clinicians.** Clinics in MENA frequently have clinicians speaking Arabic + English + Urdu / Hindi / French. The pack's `languages` array on offerings + `preferred_language` on leads is the routing axis.
* **Post-confirmation copy.** The pack's `booking_post_confirm_hint` instructs the confirmation to include the clinic address with parking + entrance notes, the clinician's name, visit duration, documents to bring (insurance card, prior reports), and any prep instructions (fasting, medication holds, paperwork).

## Per-tenant tuning

* **Append signature / forbidden phrases**: your clinic's restricted vocabulary on top of the pack defaults.
* **Replace prompt overrides per-key**: e.g. specialty-specific qualification rules (a pediatric clinic capturing parent + child names; a dermatology clinic capturing photo intake).
* **Full prompt edits**: for deeper rewrites, `tenant_prompt_overrides` replaces individual sub-agent prompts.

The pack-override UI deliberately makes it harder to remove forbidden phrases than to add them: adds happen in the textbox; removes need an operator-side action.

## Related docs

* [Voice features](/product/voice): TTS-safe formatting + bilingual handling
* [CRM integration](/product/crm): Athenahealth driver for clinical EMRs
* [Security overview](/security/overview): PII handling, right-to-erasure, audit trail
* [Quickstart](/getting-started/quickstart): onboarding flow

{/* verified-against: apps/web/src/lib/crm/athenahealth.ts (Athenahealth driver) */}

{/* verified-against: apps/web/src/lib/guardrails.ts (forbidden_phrases enforcement at runtime) */}
