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

# Appointment Statuses & Workflow

> Understand the seven appointment statuses, allowed transitions, role permissions, and time-based restrictions that govern your scheduling workflow.

Every appointment in the platform moves through a defined set of statuses from creation to completion. This workflow ensures your team follows a consistent process, prevents invalid state changes, and maintains a clear audit trail for every visit.

## The seven statuses

<CardGroup cols={2}>
  <Card title="Requested" icon="clock">
    A patient has self-booked through the portal. The appointment is waiting for staff to review and approve it.
  </Card>

  <Card title="Scheduled" icon="calendar">
    Approved by staff with a doctor and appointment type assigned. The visit is on the books but the patient has not yet arrived.
  </Card>

  <Card title="Confirmed" icon="check">
    The patient has checked in and a room has been assigned. The appointment is ready for the doctor.
  </Card>

  <Card title="In Progress" icon="play">
    The doctor is actively seeing the patient. Clinical notes and treatments are being recorded.
  </Card>

  <Card title="Completed" icon="circle-check">
    The visit is finished. An invoice is typically generated at this stage.
  </Card>

  <Card title="Cancelled" icon="xmark">
    The appointment was cancelled by staff or the patient. The time slot is freed for other bookings.
  </Card>

  <Card title="No Show" icon="user-slash">
    The patient did not attend the scheduled appointment.
  </Card>
</CardGroup>

## Status transitions

Not every status can move to every other status. The table below shows which transitions are valid.

| From            | Allowed transitions                                     |
| --------------- | ------------------------------------------------------- |
| **Requested**   | Scheduled, Cancelled                                    |
| **Scheduled**   | Confirmed, Cancelled, In Progress, Completed            |
| **Confirmed**   | In Progress, Cancelled, No Show, Scheduled (correction) |
| **In Progress** | Completed, Cancelled, No Show                           |
| **Completed**   | In Progress (correction only)                           |
| **Cancelled**   | Scheduled (correction)                                  |
| **No Show**     | Scheduled (correction)                                  |

<Note>
  Transitions marked as "correction" are intended for fixing mistakes — for example, if an appointment was accidentally marked as No Show when the patient actually arrived. Use these sparingly.
</Note>

## Typical appointment flow

The most common path an appointment takes through the system:

<Steps>
  <Step title="Scheduled">
    Staff creates the appointment or approves a patient request. Doctor and type are assigned.
  </Step>

  <Step title="Confirmed">
    Patient arrives at the clinic. Reception checks them in and assigns an operatory.
  </Step>

  <Step title="In Progress">
    The doctor begins the visit. Clinical notes, treatment plans, and procedures are recorded.
  </Step>

  <Step title="Completed">
    The doctor finishes. An invoice is generated for the services rendered.
  </Step>
</Steps>

## Role permissions for transitions

Different roles can trigger different status changes. This ensures that clinical decisions stay with doctors and administrative flow stays with reception.

### Admin

**Admins** can trigger all transitions. They have unrestricted access to move an appointment to any valid next status.

### Receptionist

**Receptionists** can set appointments to:

* Scheduled (approve requests or reschedule)
* Confirmed (check in patients)
* Cancelled
* No Show
* Completed

### Doctor

**Doctors** can set appointments to:

* Confirmed
* In Progress
* Completed
* No Show

### Patient

**Patients** can only cancel their own appointments, and only within the cancellation window (see below).

<Warning>
  Patients must cancel at least **48 hours** before the appointment time. After that window closes, the patient must contact the clinic directly to request cancellation by staff.
</Warning>

## Time-based restrictions

Certain transitions are blocked until the appointment time arrives:

* **In Progress** — Cannot be set before the scheduled appointment time. A patient cannot be "in progress" for an appointment that has not started yet.
* **Completed** — Cannot be set before the scheduled appointment time. You cannot complete a future visit.
* **No Show** — Cannot be set before the scheduled appointment time. A patient can only be marked as a no-show once the appointment window has passed.

<Tip>
  If you need to record a same-day walk-in, create the appointment for the current time. This satisfies the time restriction and lets you move through the workflow immediately.
</Tip>

## Operatory assignment on confirmation

When moving an appointment from Scheduled to Confirmed, the system requires an operatory (treatment room) to be assigned. This serves two purposes:

1. It ensures the patient has a physical space reserved for their visit.
2. It triggers a room conflict check — if the room is already in use during that time window, the confirmation is blocked.

<AccordionGroup>
  <Accordion title="What if I do not have operatories configured?">
    You can still confirm appointments, but you will not benefit from room conflict detection. Configure your operatories in clinic settings to enable this safety check.
  </Accordion>

  <Accordion title="Can I change the room after confirmation?">
    Yes. You can update the operatory assignment at any point before or during the visit. The system re-checks for conflicts with each change.
  </Accordion>

  <Accordion title="What happens to the room when an appointment is cancelled?">
    The room is released immediately. Other appointments can be confirmed into that room for the same time slot.
  </Accordion>
</AccordionGroup>

## Edge cases and corrections

Real clinics do not always follow the happy path. The platform accommodates common corrections:

* **Accidental No Show**: If a patient was marked as No Show but actually arrived late, move the appointment back to Scheduled, then proceed through Confirmed and In Progress as normal.
* **Premature Completion**: If an appointment was marked Completed before the doctor finished, move it back to In Progress to continue recording notes and treatments.
* **Cancelled revival**: If a cancelled appointment needs to be reinstated, move it back to Scheduled. This preserves the original record and its history rather than requiring a new appointment.

<Note>
  Every status transition is recorded in the appointment's History tab with a timestamp and the user who made the change. This audit trail is immutable — corrections create new entries rather than overwriting old ones.
</Note>

## Related articles

* [Creating Appointments](/clinical/appointments) — How to book appointments with conflict detection
* [Appointment Queue](/clinical/appointment-queue) — Manage transitions from the queue view
* [Appointment Detail Page](/clinical/appointment-detail) — Trigger status changes from the detail page
* [Scheduling Calendar](/clinical/calendar) — Visualize appointment statuses on the calendar
