How should self privilege feature work along with multiple provider feature in appointment scheduling

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.

Please find the scenarios listed in the attached document. Self-Privilege along with Multiple provider - SCENARIOS.docx (9.2 KB)

@prabakaran87 @angshuonline @swathivarkala @binduak @mksd @pramidat @nehagupt

@saikumarv can you please upload the doc to google drive and give the link here so that it would be easy to comment.

@pramidat here the link to google docs

But outside ThoughtWorks people cannot access. That’s why we shared the downloadable document.

@saikumarv please enable the settings as shown in the above image so that anyone in the community can comment on the document.

Thanks @pramidat. I did. Now anyone can comment on it

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

@angshuonline @swathivarkala @binduak please suggest if you see any issues with the above mentioned scenarios.