Managing Appointments
The Appointments module is your central hub for scheduling, tracking, and managing patient appointments. It ensures that staff and doctors are aligned and that patient flow is documented from booking to completion.
The Appointments Page
When you open the Appointments section, you are presented with a comprehensive list of all scheduled appointments.
Key Features
- Status Indicators: Each row is color-coded based on its current status (e.g., Pending, Confirmed, Checked In, Completed). A legend is available at the top of the table to help you identify these at a glance.
- Search & Filter: Find specific appointments by searching for the Patient's Name, Phone Number, or the assigned Staff Member.
Table Interface Overview
The appointments table displays key information in a structured format:
Column Descriptions:
- Appointment # - Unique sequential identifier for each appointment
- Patient Name - Full name of the patient with clickable link to patient record
- Staff Member - Assigned doctor or clinic team member
- Room - Designated room for the appointment (if assigned)
- Start Time - Scheduled start date and time
- End Time - Scheduled end date and time
- Status - Current appointment status with color coding
Interactive Features:
- Row Styling: Color-coded background based on status for quick visual scanning:
- Pending: Light yellow/blue
- Confirmed: Light green
- Checked In: Light blue
- Completed: Light gray
- Cancelled: Light red
- No Show: Darker red
Search & Filtering System
Table-Level Search:
- Real-time Search: Type in the search box above the table to filter results
- Searchable Fields: Appointment #, Patient Name, Staff Member, Start/End Times, Status
Global Search (Top Navigation):
The system-wide search bar allows you to find appointments from anywhere in the application:
- Search Results Format:
Appt #123 — John Smith - Result Details: Date/time · Doctor Name · Status
- Search Scope: Automatically searches appointments from past 30 days to next 30 days
- Relevant Fields: Appointment number, status, time, patient details (name/phone), and doctor name
Advanced Filters:
- Date Range Filter: Filter appointments by creation date using the
CreatedAtDateFilter - Trashed Items: Toggle to show/hide soft-deleted appointments
- Status Filtering: Coming soon - filter by specific appointment statuses
Creating a New Appointment
To schedule a new visit, click the New Appointment button. The form is organized into logical sections:
Form Layout & Sections:
Section: Appointment DetailsA clean, two-column layout with descriptive helper text
1. Patient & Staff Selection
- Patient Field:
- Smart search with type-ahead functionality
- Searches by: First name, Last name, AND Phone number
- Display format:
Full Name (Phone Number) - Preloaded options for quick selection
- Auto-populates from URL if
patient_idparameter exists
- Clinic Team Member:
- Dropdown lists all available doctors
- Searches by doctor name
- Required field - must select attending staff
- Room Selection:
- Optional field
- Dropdown lists all available rooms
- Can be assigned later if not known at booking
2. Scheduling
- Start Time (
scheduled_start):- DateTime picker with calendar and time selection
- Required field
- End Time (
scheduled_end):- DateTime picker with validation
- Must be equal to or after start time
- Required field
3. Status Management
- Status Dropdown:
- Six predefined statuses with clear labels
- Default: "pending"
- Color-coded options in dropdown
- Native dropdown disabled for consistent UI
4. Documentation
- Reason / Notes Field:
- Rich text editor with formatting toolbar
- Supports: Bold, Italic, Underline, Headings (h2, h3), Bullet/Numbered Lists
- Full-width field spanning both columns
- Placeholder text for guidance
5. System Fields (Automated)
- Created By: Automatically populated with current user ID
- Hidden from user view but stored for audit purposes
Editing & Viewing Appointments
Edit Mode:
- Access via Edit Action (pencil icon) in table row
- Same form as creation but with existing data populated
- All fields remain editable
- Helper text adapts to indicate you're editing
View Mode:
- Access via View Action (eye icon) in table row
- Read-only display of all appointment details
- Form fields become non-editable
- Helper text changes to descriptive labels only
Managing Appointment Status
As a patient moves through their visit, update the status to keep the clinic dashboard accurate:
| Status | Color Code | Description | When to Use |
|---|---|---|---|
| Pending | Blue/Yellow | The appointment is requested but not yet finalized. | Initial state after booking, awaiting confirmation |
| Confirmed | Green | The patient has acknowledged the date and time. | Patient has confirmed via call, text, or email |
| Checked In | Blue | The patient has arrived at the clinic and is waiting. | Patient arrives at reception/check-in desk |
| Completed | Gray | The visit is over and all documentation is finished. | Consultation ended, notes finalized, patient discharged |
| Cancelled | Red | The appointment was cancelled in advance. | Patient called to cancel or clinic needed to reschedule |
| No Show | Dark Red | The patient failed to arrive without notice. | Patient didn't show up at scheduled time |
Status Update Workflow:
- From Pending → Confirmed: When patient confirms
- From Confirmed → Checked In: When patient arrives
- From Checked In → Completed: After consultation
- Any Status → Cancelled/No Show: When appointment doesn't proceed as planned
Quick Actions & Bulk Operations
Row Actions (per appointment):
- View: Open read-only details
- Edit: Modify appointment details
- Delete/Trash: Move to trash (soft delete)
Bulk Actions (checkbox selection):
- Select Multiple: Checkboxes for batch operations
- Delete Selected: Remove multiple appointments
- Restore Selected: Restore from trash
- Force Delete: Permanently remove (admin only)
Trash & Recovery System
Soft Delete Features:
- Deleted appointments go to trash (not permanently removed)
- TrashedFilter allows viewing deleted items
- Restore functionality available
- Force delete for permanent removal
Viewing Trashed Items:
- Enable "Trashed" filter
- View deleted appointments in table
- Use restore action to recover
- Or force delete to remove permanently
Best Practices & Tips
- Use Global Search First: Before navigating to appointments, try the top search bar
- Color Coding: Learn the status colors for quick scanning
- Room Assignment: Assign rooms early if clinic space is limited
- Status Updates: Update status promptly as patient moves through workflow
- Notes Field: Use rich formatting for clear, structured notes
- Bulk Operations: Use checkboxes for mass updates at end of day
- Trash Management: Regularly review and clean up trashed items
- Column Toggle: Hide rarely used columns for cleaner interface