Program Status dashboard Widgets do not display correctly

Hi everyone,

I’ve been testing on Program dashboard widgets that are configurable on the latest version of Reference Application deployed using the Openmrs SDK. It seems like it’s not possible to enroll a patient into a program or edit it using the configured dashboard widget. Secondly is that the custom dashboard for programs doesn’t display the configured program widgets.

I get the following image result

image

rather than get something similar to

image

Any thoughts on this?

cc @mogoodrich, @ssmusoke, @mksd

Thank you very much.

@jesplana, it would be great to get your two cents on this :wink:

1 Like

Can you provide a sample of your current config, even better can you add it to demo@openmrs.org to be able to reproduce the issue

Hi @ruhanga @mksd,

I made the modification in the https://qa-refapp.openmrs.org/openmrs/referenceapplication/manageApps.page.

The issue is the full privilege role does not have the privileges to add/edit/delete program by default: image You need to select them.

I added the widget in the qa app: image

Added the two programs: HIV and TB programs

You will also need to add the program status widget in the program specific dashboard to be able to enroll the patient into the program. YOu will notice that the program link is enabled and it takes you to another page.

Hope this helps.

John

2 Likes

Thanks @jesplana.

@ruhanga @ssmusoke it looks like that the full privilege role is not really the full privilege role… :wink:

It would be great to fix this, unless this was intended.

@jesplana What is the full privilege as there are lots of patient program privileges as per screenshot, I have not had to use privileges at a widget level so I am ignorant of the requirements

Maybe @dkayiwa and @burke can advise what is expected at a conceptual and design level

1 Like

@ssmusoke the privilege required for the program widget is the ‘Task: coreapps.enrollInProgram’ and by default, the role image , does not have those privileges required for the program widgets to function properly. @mksd @ruhanga

1 Like

Thank you very much @jesplana, @ssmusoke and @mksd . The real issue was to do with Privilege Level: Full which actually lacks some privileges that come out of the box with Ref App. I’m going to update this wiki page to capture this as well.

I think we should clarify what was intended with the ‘full privileges’ privilege (or whatever its actual naming is). It might be that it became out of sync with the privileges shipped with the Platform/Ref App.

I think an integration test here may be helpful when the Privilege Level: Full does not contain all privileges that are expected from Ref App release

This was posted by Darius a year ago:

I bet this is related to the way we make it easy to do a bad practice of granting “Privilege Level: Full”, and this is the only way to make the system “just work”: https://github.com/openmrs/openmrs-module-emrapi/blob/1.23.0/api/src/main/java/org/openmrs/module/emrapi/EmrApiActivator.java#L113.

The Admin UI has this for example: image

You can blame me and the PIH team that built Mirebalais for this, historically.

I think what we’d need to do to fix this is to add all relevant API-level privileges as part of the roles defined here (which will be quite tedious, which is why it didn’t get done in the first place): https://github.com/openmrs/openmrs-module-referencemetadata/blob/referencemetadata-2.7.0/api/src/main/java/org/openmrs/module/referencemetadata/RolePrivilegeMetadata.java

Then we can get rid of the “Privilege Level: Full” issue.