1. Allow Regular Users to Update Their Profile Info (e.g., Facility Assign, First/Last Name) in OpenEMR
By default, OpenEMR only allows Administrators to edit user details like Facility, Name, Username, etc. Regular users do not have access to the “Users” section in the Admin menu.
To allow regular users to edit their own profile, you can create a custom user profile update page, with limited editable fields like First Name, Last Name, Default Facility, etc. Here’s how to approach it:
Solution: Create a “My Profile” Page
-
Create a PHP file in /interface/user_profile/my_profile.php
-
Add logic to load the current user’s details using:
-
$userid = $_SESSION[‘authUserID’];
-
Load and update fields from the users table:
-
Restrict access only to the current user via session validation.
-
Add a new menu item:
Would you like me to generate the full working code for my_profile.php and the menu config?
2. Disable User Settings (like Appearance Customization)
By default, users can go to:
Miscellaneous > User Settings
And change preferences like:
-
Theme/Appearance
-
Language
-
Layout Preferences
If you want to disable or hide the User Settings page completely, here are two approaches:
A. Remove the Menu Entry for Non-Admins
-
Go to Administration > Menus
-
Look under popup or patient menu for:
- Set the Access Control to only allow Administrator.
Or use a custom ACL check:
if (!acl_check(‘admin’, ‘super’)) {
// Don’t show or allow access
}
B. Modify user_settings.php to Deny Access
In /interface/usergroup/user_settings.php, wrap everything with:
if (!acl_check(‘admin’, ‘super’)) {
die(“Access denied: This page is disabled for your user group.”);
}
This blocks access entirely, even if someone types the URL manually.
If you face any difficulties. free to call us