Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OpenMRS has the privilege based access control implementations. Like that one, we implemented a Location based Access control system. It will manage the access to the services based on the locations. Some implementations want to register the users and patients (the persons also) in certain selected locations. Then access them based on the location that someone has logged in. That way, if someone is logged in a certain location, they should see only those encounters, observations, and patients registered in that location. This project was initiated into the Google Summer of Code 2018.

...

Initially, the Location Based Access Control module provides a feature to track the patients based on the given locations. Other features will be extended and will be added into this module soon. Read the following Deployment Steps to install and run the location based access control module in your OpenMRS distribution.

Required Modules

  1. OpenMRS Location based access module - v0.

    1

    2.

    1

    0

    Once Reference application is installed, Go to System Administration → Advanced Administration t→ Manage Modules → Add or Upgrade Module → Search for Location based access module and install it.
  2. OpenMRS Core - v2.0.5 or later 

    The minimum required version of the OpenMRS Core is version 1.9. If you haven't updated version of OpenMRS Core, you should update the OpenMRS Core before using Location based access control module.

  3. App UI Module - v1.9 or later (Required)

    The minimum required version of the App UI module is version 1.9. If you haven't updated version of App UI module, you should update the App UI module before using Location based access control module.

  4. UI Framework Module - v3.9 or later (Required)

    The minimum required version of the UI Framework module is version 3.9. If you haven't updated version of UI Framework module, you should update the UI Framework module before using Location based access control module.

  5. Admin UI Module - v1.2.4 or later (Optional)

    The minimum required version of the Admin UI module is version 1.2.4. If you haven't updated version of Admin UI module, you should update the Admin UI module before using Location based access control module.

  6. Reference Application Module - v2.9.0 or later (Optional)

    The minimum required version of the Reference Application module is version 2.9.0. If you haven't updated version of Reference Application module, you should update the Reference Application module before using Location based access control module.

...

  1. Navigate to System Administration-->Manage Apps
  2. Click the square disable button beside "referenceapplication.registrationapp.registerPatient" to disable the integrated Registration App configuration.
  3. Add a new App Definition by clicking "Add App Definition".
  4. Give App ID(required) as "referenceapplication.registrationapp.myRegWithLoc"
  5. Then copy the following custom definition for Location Selection, and paste it to the Definition (required) fieldThis will be used for adding location selection fragment into the registration dashboard with some other required fragments.
  6. Save the new App configuration.

If you have any issues on Registration App Configuration, please read this detail documentation.

...


Location selection in the user login screen will be disabled through the Location based access control module since it can be fetched automatically through the location user property. The location based access control module will create a global property with name as "referenceapplication.locationUserPropertyName" and value as "locationUuid" while module starts (if a global property not exists in this name).

It will follow these steps while a user tries to login,

...

  1. Go to  System Administration-->Manage Apps, and Click the Edit button of the app definition(named as "referenceapplication.registrationapp.myRegWithLoc"). Then remove the "accesslocation-info" section from the app definition. Or you can just delete this App Definition, and then press the start button of the app definition which is named as "referenceapplication.registrationapp.registerPatient"
  2. Uninstall the module from the system.

...