Edit Appointment
1. What does this feature do? (High-Level Overview)
Section titled “1. What does this feature do? (High-Level Overview)”This feature allows authorized users to update an existing calendar appointment when schedule or session details change. It keeps appointment data accurate for clinical follow-up, note creation, and downstream billing workflows, including POS 99 details when the session requires them.
2. Who is this for? (Roles & Permissions)
Section titled “2. Who is this for? (Roles & Permissions)”- Provider roles (for example RBT/BCBA/Analyst): Can edit appointments visible in their own calendar context.
- Admin-style roles (for example Superadmin/Admin/Owner/Manager) or any role with
manage_notes: Can access shared calendars and edit appointments after selecting a provider or patient context.
Permission-related behavior:
manage_notesenables shared-calendar access (provider/patient context switching) and cross-calendar editing workflows.create_note_bcbaaffects CPT availability in the edit form when provider context changes; if the selected provider does not have this permission, CPT options are restricted to97153.
3. Business Rules & Enforcements
Section titled “3. Business Rules & Enforcements”- Rule 1: The edit action is only available from the appointment detail modal when the appointment does not already have a related note.
- Rule 2: Required data must be valid on update:
patient_id,provider_id,location_id,session_date,pos,cpt_code,time_in,time_out, andstatus. - Rule 3: Time validation is enforced:
time_outmust be aftertime_in. - Rule 4: If POS
99is selected, a POS 99 description is required and is limited server-side to 35 characters. - Rule 5: The backend enforces location and patient authorization before updating, and re-checks authorization if location or patient values are changed during edit. Appointment access remains scoped to the current location context.
- Rule 6: The selected patient must have valid available PA/CPT services; when none are available, the UI warns the user and valid submission is blocked until a valid CPT can be selected.
- Rule 7: In the time UI,
Time Outremains disabled untilTime Inis selected, and the minimum allowedTime Outis tied to the selectedTime In. - Rule 8: The success message reminds users that billing or payment only occurs once the related note is fully completed.
4. UI Placement
Section titled “4. UI Placement”- Medical > Calendar.
- Route:
/calendar/view. - Open an existing appointment from month/week/day calendar views.
- In the appointment modal, click the pencil icon (
Edit appointment) when available. - The same
Appointmentform opens in edit mode with existing values prefilled.
5. How-To Guide (Step-by-Step)
Section titled “5. How-To Guide (Step-by-Step)”Scenario A: Provider edits an appointment in own calendar
- Open
Medical > Calendar. - Click an existing appointment event.
- In the modal, click the
Edit appointmenticon. - Update one or more fields (for example Time In/Time Out, POS, POS 99 description, CPT, or description).
- Click
Save. - Confirm the success message and verify the updated event in the calendar.
Scenario B: Manager/Admin edits an appointment in shared-calendar mode
- Open
Medical > Calendar. - Select a provider or patient from filters.
- Click the target appointment event.
- Click
Edit appointmentin the modal. - Adjust needed fields and click
Save. - Confirm success and verify the event updates in the selected calendar context.
6. What happens if…? (Edge Cases / FAQ)
Section titled “6. What happens if…? (Edge Cases / FAQ)”-
Q: What happens if an appointment already has a related note?
A: The edit icon is not shown in the appointment modal, so the appointment cannot be edited from this flow. -
Q: What if Time Out is earlier than Time In when saving edits?
A: The update fails validation becausetime_outmust be aftertime_in. -
Q: What happens if I change the appointment to POS 99? A: The POS 99 description becomes required before the edited appointment can be saved.