nus-cs2103-AY2324S2 / pe-dev-response

0 stars 0 forks source link

Overly strong constraints on `edita` limiting usability, can't edit any wrong past appointment times #2641

Open nus-se-script opened 6 months ago

nus-se-script commented 6 months ago

Currently the edita function does not allow editing of start time to be earlier than now time. This limits usability as a clerk might want to edit to reflect what happened, e.g. if patient arrived 30mins late and dr pushed the appointment 30 mins later, the clerk would not be able to edit this to reflect it at the end of the day.

Constraint seems to limit the usability for clerks to edit the appointment data in case they previously mistyped it in a week ago, or day ago etc. This makes it such that wrong appointment times that were mistyped, and the time already passed, cannot be rectified, which causes a major problem, limits usability majorly.

image.png


[original: nus-cs2103-AY2324S2/pe-interim#2193] [original labels: type.FeatureFlaw severity.High]

javierng2knus commented 6 months ago

Team's Response

The intention for restricting add and edit the start time to be not earlier than the now time is a reasonable behavior to protect the users. If the user mistyped a date that is in the past. What can happen is that they will be completely unaware of the existence of the appointment when the patient arrives for the appointment.

Example: Appointment should be 2 Apr 2024, but they mistyped to 2 Apr 2023. This appointment will not be shown in the calendar and will cause even more issues such as overbooking.

Furthermore, by the design convention for appointments, they could only happen in the future. The appointment feature is purely for making plans and reservations. There will not be a use case when users need to modify the start time of an appointment that is already in the past. For real clinics, the assistant will contact the patient before the appointment date to confirm whether they are able to attend the appointment or not and make adjustments about the start time. If the patient arrived 30 minutes late, the clinic assistant could recognize it immediately and update the start time once the patient arrived. After the appointment ends, there will be no need to edit the start time anymore.

If the user really wants to change to a date in the past, they can just edit using the json.

Duplicate status (if any):

--