Reschedule appointment
Objective
Move an existing appointment to another date, time, doctor or branch, preserving the change history and recording the reason for the reschedule.
Before starting
- Confirm the new date and time with the patient.
- Verify that the new time slot is free (no blocks or other appointments) and that it is a future date.
- Have the reschedule reason ready. The system requests it as a mandatory field.
- Appointments in the states
In consultation,End consultation,Paid,At clinicorWaiting roomcannot be moved.
There are two ways to reschedule: dragging the appointment in the calendar or using the actions drawer. Both produce the same result.
Step by step - Dragging the appointment
- Enter the Schedule module and go to the tab of the doctor whose appointment is going to be moved.
- Locate the appointment in the calendar.
- Drag it to the new day and time, within the 07:00 to 22:00 range.
- Drop the appointment. The system opens the Reschedule dialog with the new date and time pre-selected. The doctor appears locked; the branch can be adjusted.
- Select the Reschedule reason in the list. It is mandatory.
- Optional: add a Comment with details of why the appointment is being rescheduled.
- Click Confirm reschedule.
- If the new date or time is no longer available, the system reverts the appointment to its original time and shows the warning "The event cannot be moved to that time because there is an existing schedule."
Step by step - From the actions drawer
- Click on the appointment. The Schedule actions drawer opens on the left.
- If the appointment is in a state that does not allow reschedule, the button appears disabled.
- Click on the Reschedule action.
- Choose the new date, time, branch and, if applicable, doctor. The system validates conflicts before saving.
- Select the Reschedule reason and, if required, enter a comment.
- Click Apply changes or the equivalent save button in the drawer.
Step by step - Resize the duration
- Click on the appointment to open the drawer.
- In the calendar, place the cursor over the bottom border of the appointment block until you see the resize cursor.
- Drag up or down to adjust the duration.
- The system validates that the new end time does not overlap with another schedule; if there is a conflict, the change is reverted.
Expected result
- The appointment appears in the new time and keeps the color, patient and services.
- The status tag changes to Reschedule and the visible counter on the corner of the appointment increments.
- The appointment history records the move and the captured reason.
- If the appointment was moved to another doctor and that view is not active, the appointment disappears from the current tab.
Common errors
| Situation | What to do |
|---|---|
| The system does not allow dragging the appointment | Verify that the appointment is not in In consultation, End consultation, Paid, At clinic or Waiting room. Shared appointments as attached also cannot be moved. |
| The appointment returns to its original time | Confirm the reschedule reason and the Save button before exiting the dialog. If the destination was occupied, reschedule to another free time. |
| "The event cannot be moved to a date/time before the current one" | Choose a future date and time. |
| "An operation is in progress" | Wait a few seconds and try again. This happens when there is another reschedule, cancellation or doctor change in process. |
| The moved appointment appears under another doctor | The system re-assigns the hcpId; open the destination doctor's tab to confirm. |
Suggested permissions
AGENDA: WRITEto reschedule.- Does not require
ADMINunless the reschedule implies deleting the original appointment, which is not the normal flow.
Relation with other modules
- Notifications and automations: each reschedule is registered in the audit log with the key
SCHEDULE.REAGENDAand can trigger messages to the patient. - Cash box: if the appointment already had an advance payment, validate with the cash box that the balance is preserved.
- Staff: reschedules between doctors affect the availability shown in each tab.