Appointments are the core scheduling unit in CitaBox. Each appointment links a patient to a doctor with a start and end time, an optional service from the clinic catalog, and a free-text reason. The system tracks every appointment through a defined status lifecycle — from the moment it is booked until the consultation is complete and the record is closed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/FerchoSG/healthcare-web/llms.txt
Use this file to discover all available pages before exploring further.
Appointment statuses
Every appointment carries one of six statuses. Receptionists and doctors can update statuses directly from their respective dashboards.PENDING — Booked, awaiting confirmation
PENDING — Booked, awaiting confirmation
The default status when an appointment is created. The patient has a slot reserved but no one has yet confirmed attendance.
CONFIRMED — Attendance confirmed
CONFIRMED — Attendance confirmed
The receptionist or the system has confirmed that the patient will attend. The appointment appears on the day’s schedule.
WAITING — Patient has arrived
WAITING — Patient has arrived
The receptionist marks the patient as arrived and waiting in the lobby. This status drives the waiting-queue counter on the receptionist dashboard.
IN_CONSULTATION — Consultation in progress
IN_CONSULTATION — Consultation in progress
The doctor has opened the patient’s EMR and started the consultation. Only one appointment per doctor should be in this state at a time.
COMPLETED — Consultation finished
COMPLETED — Consultation finished
The doctor has finished the consultation and closed the EMR session. Completed appointments that do not yet have a paid invoice appear in the receptionist’s pending-closure list.
CANCELLED — Appointment cancelled
CANCELLED — Appointment cancelled
The appointment was cancelled before or during the day. Cancelled appointments are hidden from the calendar grid but remain in the patient’s appointment history.
Creating an appointment
You can open the New Appointment dialog from three places:- The top header — a global ”+” button available on every view.
- The receptionist dashboard quick-action panel (“Nueva cita” button).
- The calendar view — click any empty time slot to pre-populate the date and time.
Open the New Appointment dialog
Click the “Nueva cita” button in the receptionist quick-actions panel or use the global header shortcut. If you click a slot on the calendar, the date and start time are pre-filled automatically.
Select the patient
Search by name or cédula. If the patient is not yet registered, create them first from the Patients view or use the walk-in sheet.
Select the doctor
Choose from the list of active doctors at the clinic. The appointment is linked to the selected doctor’s schedule.
Set the time
Enter the
start_time and end_time as ISO timestamps. When opening the dialog from a calendar slot these values are pre-filled.Add a reason and service (optional)
Enter a free-text
reason and optionally link the appointment to a service from the clinic catalog using service_id. The service price is used later when creating the invoice.Updating appointment status
Status changes are made inline without leaving the current view. Receptionist workflow — From the receptionist dashboard the status dropdown next to each appointment row allows changing status to any value in the enum. The typical flow is:- Patient arrives → select WAITING.
- Doctor calls the patient → select IN_CONSULTATION (or let the doctor do this from their own dashboard).
- After the consultation → the doctor marks COMPLETED from the EMR close action.
IN_CONSULTATION and opens the EMR with consultationActive = true. Clicking “Finalizar consulta” inside the EMR sets the status to COMPLETED.
Calendar view
The calendar shows a six-day week grid (Monday through Saturday) with half-hour slots from 08:00 to 17:00. Navigate between weeks using the chevron buttons or click Hoy to return to the current week.| Element | Behavior |
|---|---|
| Appointment chip | Click to open the appointment detail dialog where you can cancel or delete the appointment. |
| Empty slot | Click to open a choice dialog: create a new appointment or block the slot. |
| Blocked slot | Displayed in red. Click the block to delete it after confirmation. |
| Today indicator | The current day’s date number is highlighted in the column header. |
Time blocks
Time blocks mark a doctor as unavailable for a specific 30-minute slot. They prevent accidental scheduling and are visible to all staff on the calendar. Creating a time block:- Click an empty slot on the calendar.
- Choose “Bloquear este espacio” from the action dialog.
- Enter the doctor’s UUID and an optional reason (for example, “almuerzo” or “permiso personal”).
- Click Bloquear. The slot turns red across the entire week view.
Time blocks are scoped to 30-minute intervals matching the calendar’s slot size. To block a longer period, create consecutive blocks for each 30-minute segment.