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

# Patient Segmentation

> Slice your patient list by treatment type, last visit, practitioner, value, and clinical history. The foundation for every targeted outbound campaign.

<Info>
  **Why this matters.** Generic "we miss you" texts to your whole
  patient list are why most clinic SMS campaigns underperform.
  Segmentation lets you say something specific and timely: "You're due
  for your 6-month follow-up", "We've extended Dr Lin's evening hours",
  "Your saved spot on the Saturday morning waitlist just opened up."
  Specific beats generic, every time.
</Info>

## What you can segment by

<CardGroup cols={2}>
  <Card title="Treatment type" icon="hand-holding-medical">
    Physio, chiro, podiatry, massage, dental, dermatology — any appointment type defined in your PMS.
  </Card>

  <Card title="Last visit timeframe" icon="clock-rotate-left">
    3–6 months ago, 6–12, 12–24, 24+ (dormant). Or custom date range.
  </Card>

  <Card title="Practitioner" icon="user-doctor">
    Patients of a specific practitioner, or patients who haven't seen anyone after a practitioner left.
  </Card>

  <Card title="Patient value" icon="dollar-sign">
    Lifetime spend, average visit fee, total visits — for prioritising high-value reactivation.
  </Card>

  <Card title="Treatment cadence" icon="repeat">
    "Was visiting every 4 weeks, hasn't been in 8 weeks" — a more useful signal than absolute time-since-visit.
  </Card>

  <Card title="Clinical history (read-only)" icon="notes-medical">
    Filter by appointment-type history (e.g. "had ACL reconstruction follow-ups, hasn't completed protocol").
  </Card>

  <Card title="Channel availability" icon="signal">
    Has mobile (SMS-reachable), has WhatsApp, has email — keeps campaigns to channels that'll actually reach them.
  </Card>

  <Card title="Custom filters" icon="filter">
    Age, gender, location, referral source, patient status (active/inactive). Combinable with AND/OR.
  </Card>
</CardGroup>

## How Robyn uses segments

Segments are the input to every outbound feature:

| Outbound                                                             | What the segment defines                              |
| -------------------------------------------------------------------- | ----------------------------------------------------- |
| [Lapsed-patient reactivation](/outbound/lapsed-patient-reactivation) | Who gets the recall sequence                          |
| [Patient follow-ups](/outbound/patient-follow-ups)                   | Which appointment-type patients get post-visit recall |
| [Birthday messages](/outbound/birthday-messages)                     | DOB-eligible patients with consent                    |
| [Invoice chasing](/outbound/invoice-chasing)                         | Patients with outstanding invoices > N days           |
| [Waitlist callbacks](/outbound/waiting-lists)                        | Patients on the waitlist matching the freed slot      |

You can also use segments for one-off broadcasts (e.g. "we've moved location" announcement to all active patients in a 5km radius).

## Setup

<Steps>
  <Step title="Open the segment builder">
    **Dashboard** → **Segments** → **Create Segment**.
  </Step>

  <Step title="Define your criteria">
    Combine filters with AND/OR logic. Example reactivation segment:

    ```
    Treatment type IN (Physio Initial, Physio Follow-up)
    AND Last visit BETWEEN 6 months ago AND 12 months ago
    AND Patient status = Active
    AND Has mobile = Yes
    ```
  </Step>

  <Step title="Preview segment size">
    The builder shows live patient count as you adjust filters. If a segment is too small (\< 10), broaden the filters. If it's too large (> 500 in one go), tighten — or split into batches.
  </Step>

  <Step title="Save and name">
    Give the segment a descriptive name — `Lapsed-physio-6-12mo` is more useful than `Segment 3`. Saved segments are reusable across campaigns.
  </Step>

  <Step title="Use in an outbound campaign">
    From any outbound feature page (e.g. **Outbound** → **Patient Follow-Ups** → **Create Instance**), pick your saved segment as the target audience.
  </Step>
</Steps>

## Recommended starter segments

Most clinics get value from these out of the gate:

<CardGroup cols={2}>
  <Card title="Lapsed-physio-6-12mo">
    Highest-yield reactivation cohort. Recent enough to remember the clinic, lapsed enough to actually need the nudge.
  </Card>

  <Card title="Dormant-24mo+">
    Long-tail recovery. Lower per-message conversion, but big segment in most clinics; worth one quarterly touch.
  </Card>

  <Card title="High-value-not-rebooked-90d">
    Past patients with lifetime value > AUD \$1,000 who haven't booked in 90 days. Small but high-conversion.
  </Card>

  <Card title="Practitioner-X-orphans">
    Patients of a practitioner who left — needs human-warmth wording rather than generic recall.
  </Card>
</CardGroup>

## Common questions

<AccordionGroup>
  <Accordion title="Are segments static or dynamic?">
    Dynamic by default — every time a campaign runs, the segment is re-evaluated against current PMS data, so newly-eligible patients are included and patients who've since rebooked are excluded.
  </Accordion>

  <Accordion title="Can I exclude opted-out patients automatically?">
    Yes — every segment auto-excludes patients who've replied STOP or set opt-out preferences. You don't need to add an explicit filter.
  </Accordion>

  <Accordion title="Will Robyn message the same patient from multiple segments?">
    No — Routiq has a global frequency cap (default: max one outbound per patient per 7 days, configurable). If a patient is eligible for two campaigns, only the higher-priority one fires.
  </Accordion>

  <Accordion title="Can I share segments across logins?">
    Yes — segments are clinic-wide by default. You can mark a segment as "private to me" if you want to experiment without exposing it.
  </Accordion>

  <Accordion title="What if my PMS doesn't have a field I want to segment on?">
    Sync custom fields from your PMS where supported (Cliniko Custom Fields, Nookal Custom Fields). For data not in your PMS, you can upload a CSV tag list to enrich the patient records.
  </Accordion>
</AccordionGroup>

## Coming soon

* **Predictive scoring** — ML model ranks each patient by probability of rebooking on a given recall message
* **Auto-segments** — Routiq suggests segments based on patterns it spots in your data
* **Lifetime value forecasting** — for prioritising reactivation spend

## Next

<CardGroup cols={2}>
  <Card title="Lapsed-patient reactivation" icon="rotate-right" href="/outbound/lapsed-patient-reactivation">
    The flagship campaign type that uses segments most.
  </Card>

  <Card title="Analytics" icon="chart-line" href="/features/analytics">
    See conversion rate by segment.
  </Card>
</CardGroup>
