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.”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.
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.
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.
What the agent qualifies
Sourced verbatim fromconfig/verticals/clinic.json prompt_overrides.qualification_extra_rules:
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 Vorelofferings:
| 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 | — |
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 → immediate handoff + 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:- 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.
- Symptoms captured verbatim. The
symptoms_summaryslot 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). - 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.
- Insurance gates bookability. The catalog’s
insurance_acceptedarray is matched against the patient’sinsurance_providerslot at booking time, so a patient with provider X never gets offered a slot at a clinician who doesn’t accept X. - FAQ redirect copy is explicit. The pack’s
faq_redirect_message_enandfaq_redirect_message_arredirect 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 vendor (Telnyx, Vapi, ElevenLabs, Deepgram, Gemini). Vorel signs BAAs per-customer engagement; talk to your operator before the kickoff call.
- Telehealth slots. The
telehealth_availableboolean 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
languagesarray on offerings +preferred_languageon leads is the routing axis. - Post-confirmation copy. The pack’s
booking_post_confirm_hintinstructs 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_overridesreplaces individual sub-agent prompts.
Related docs
- Voice features — TTS-safe formatting + bilingual handling
- CRM integration — Athenahealth driver for clinical EMRs
- Security overview — PII handling, right-to-erasure, audit trail
- Quickstart — onboarding flow