From OpenEMR Project Wiki


Since OpenEMR version 3.0.0, access controls (php-GACL) is included in OpenEMR, thus requiring no separate installation or configuration. In OpenEMR versions 2.9.0 and earlier, php-GACL was actually installed separately.


Administration of access controls is performed within OpenEMR in the admin->acl menu.

Adding new ACO/ACLs

If you add a new Access Control Object (or group or ACL) to the OpenEMR codebase, then also add it to the following three places:

  1. For documentation purposes: Header notes of the src/Common/Acl/AclMain.php file
  2. For installation purposes: install_gacl() function in library/classes/Installer.class.php file
  3. For upgrade purposes: acl_upgrade.php file
  • Also need to increment the $v_acl in version.php file to the '$upgrade_acl' value that you used in the acl_upgrade.php script.

Important Documentation

The below information is detailed and for developers to learn how php-GACL was integrated and how to use it when modifying code.

Within the OpenEMR directory, check out:
install_gacl() function in openemr/library/classes/Installer.class.php file
There are several threads at the forums on SourceForge: