I have need to create a custom ACL groups for pharmacists and Laboratory staff so that Pharmacy staff can manage drugs and inventory while Laboratory staff will have access to Procedure menu. The available Clinicians ACL role does not manage such roles. I have tried several configurations to achoeve this but it seems only The Administrator ACL Group can have access to Procedures and Inventory.
However exposing such acccess to Pharmacist and Laboraotory staff violates the Need-to-know required for a software of this nature.
I’m using OpenEMR version 7.0.
I’m using Chrome Browser and running on Windows 11
I have searched the forum and saw mostly old posts that still complained of the same issue without actually resolving the issue. I have also gone through the openEMR documentation and seen how to create new groups, but the issue is that I can’t get the Roles to have the permissions needed
It is not an error per se, but the issue is that I am not getting the results I expect. What can I do? Has anybody been able to achieve this?
I asked Ai and this is what i got, did not test it.
To create a custom ACL (Access Control List) group for Pharmacy Staff in OpenEMR so they can manage drugs and inventory without having full administrative privileges, follow this guide.
Core Concept
OpenEMR controls access via Groups. You will create a new group (e.g., “Pharmacists”) and assign it specific Access Control Objects (ACOs).
-
Primary Permission:
Pharmacy Dispensary(allows access to the Inventory module). -
Secondary Permission:
Practice Settings(often required to add new drug definitions/lots if the dispensary permission alone doesn’t grant it). -
Patient Access: They need read access to patient demographics to dispense medication to specific patients.
Step 1: Create the New Custom Group
-
Log in to OpenEMR as an Administrator.
-
Navigate to Administration > ACL.
- Note: In some versions, this may be under
Administration>Users/Groups>ACL.
- Note: In some versions, this may be under
-
Click on Groups and Access Controls (or “Groups” in the sidebar).
-
Look for a link or button that says Add New Group (usually near the top or bottom of the group list).
-
Enter a name for the group:
Pharmacists(orPharmacy Staff). -
Click Submit or Add.
Step 2: Configure Permissions (The Critical Step)
Now you must define what this group can do. You will move permissions from the “Inactive” column to the “Active” column.
-
Find your new
Pharmacistsgroup in the list and click Edit. -
You will see two columns: Inactive (Available permissions) and Active (Assigned permissions).
-
Locate and Move the following permissions from Inactive to Active:
A. Essential Inventory Permissions
-
Administrationsection (expand if necessary):-
Pharmacy Dispensary: REQUIRED. This grants access to the Inventory/Dispensary module. -
Practice Settings: HIGHLY RECOMMENDED. In many OpenEMR versions, the ability to create new drug definitions (not just add inventory to existing drugs) is tied to practice settings. Without this, they might only be able to view/dispense.
-
B. Patient Data Permissions (for Dispensing)
-
Patients(orDemographics) section:-
Demographics(View/Read): They need to search for patients to assign medications to them. -
Optional:
Medical History(View): If they need to check for allergies or interactions.
-
C. General Permissions
-
Generalsection:Write: Allows basic saving of forms/data.
- Click Save or Submit at the bottom of the page.
Step 3: Assign Users to the Pharmacy Group
-
Navigate to Administration > Users (or
Users/Groups>Users). -
Click on the username of your pharmacy staff member (e.g.,
jdoe). -
In the Access Control (or Groups) section of their user profile, check the box for
Pharmacists. -
Uncheck any other conflicting groups (like
ClinicianorFront Office) if you want them restricted to just pharmacy tasks.- Tip: If they are also front desk staff, you can check both
Front OfficeandPharmacists.
- Tip: If they are also front desk staff, you can check both
-
Click Save.
Step 4: Verify the Workflow
Log out and log back in as the pharmacy user to test:
-
Check Menu Access: They should see the Inventory (or Procedures > Providers) tab in the main menu.
-
Test Inventory Management:
-
Go to Inventory > Management.
-
Try to Add a Drug (Create a new drug name).
-
Try to Add Inventory (Add a lot number/quantity to an existing drug).
-
-
Test Dispensing:
-
Open a test patient’s chart.
-
Ensure they can navigate to the prescription/dispensary section and “dispense” an item from inventory.
-
Troubleshooting
-
Cannot Add New Drug Names: If the user can manage inventory counts but cannot create a new drug name (e.g., “Amoxicillin 500mg”), you must ensure the
Practice SettingsACL is active for their group. -
Menu Item Missing: If the “Inventory” tab does not appear, go to Administration > Globals > Features and ensure “Drugs and Products” is set to “Inventory and sell both…”.
Relevant Video Resource: … Configure User Roles and Permissions … This video provides a visual walkthrough of the ACL user interface in OpenEMR, helping you locate the “Groups” and “Access Control” sections described above.
You can also use custom menus. Copy the standard.json menu to pharmacists.json. Edit it, leaving only the menu access allowed for pharmacists. Place pharmacists.json in openemr/documents/custom_menus/. Then, for the pharmacist user, select the custom menu from pharmacists.json.
You can see more here:
and here is the human- generated wiki documentation ion the subject:
https://www.open-emr.org/wiki/index.php/Basic_User_ACLs_In_OpenEMR_And_How_To_Customize_Them
BTW, pretty sure I am that the ‘Relevant Video Resource’ is not OpenEMR
- HT