We have introduced a new privilege “Manage Own Appointments” in appointment scheduling. Users with privilege will be allowed to edit their own appointments. They will not be able to create/edit appointments for any other provider.
Also, a new feature of multiple providers for an appointment has been introduced now i.e. each appointment can have one or multiple providers assigned to it.
We have explored some new scenarios which need to be fixed/verified when these two features would be merged together. We would like to discuss those scenarios in the community to get more thoughts on the expected behavior.
As part of “Manage Own Appoitnments” privilege for the appointment, we are planning to take care of the following scenarios. Going forward, Bahmni will also track the creator of the appointment and the permission and these scenarios may change based on the creator/owner of the appointment.
Given that an appointment has multiple providers and the logged in user having “Manage Own Appointments” privilege is one of the providers for this appointment; then the user should not be able to edit the attributes of the appointment, but should be able to remove himself/herself from the appointment and also change the status of the appointment.
Given that an appointment has multiple providers and the logged in user having “Manage Own Appointments” privilege is one of the providers for this appointment; then the user should not be able to add/remove any other provider from the appointment.
Given that an appointment has multiple providers and the logged in user having “Manage Own Appointments” privilege is not the provider for this appointment; then the user should not be able edit any attribute of the appointment.
Given that an appointment has multiple providers and the logged in user having “Manage Own Appointments” privilege is not the provider for this appointment; then the user should be able to add himself/herself from the appointment.
Given that an appointment has multiple providers and the logged in user having “Manage Appointments” privilege should be able to modify all the attributes of the appointment and add/remove any provider to/from the appointment.