Location based Access Control - Phase 2


Primary mentor

Backup mentor

Assigned to

Tawrun Vankineeni

Abstract


OpenMRS needs location based restrictions like privilege level access restrictions. So the Location based access control(LBAC) should provide an restriction mechanism to restrict user access only to the logged in location of the authenticated user. That way, if some one is logged in a certain location, they should see only those encounters, observations, and patients registered in that location. But the System Developer account should be able to see patients in all locations.

Initial development of this module was already completed (See here), and now it needs some further improvements as mentioned in the objectives.

Project Champions


Skills Needed

  • Java
  • Spring
  • JavaScript
  • HTML/CSS
  • REST
  • MySQL


Objectives

  • Automating the LABC module installation, need to reduce the workload at the beginning of a user.
  • Modify the current implementation to add one or more access locations to a user.
  • Enable encounter access based on patient location or multiple admitted/channeled locations.
  • Add location restrictions to Reporting-REST, and Reference metadata modules.
  • Manage location-based restrictions based on the user roles (See here)
  • Create a REST endpoint to show/edit the configurations of LBAC 
    • Create Person Attributes for LBAC.
    • Global Property attribute for LBAC.
    • Check and show about the required module’s versions to use a feature from LBAC.
    • Login Screen managements.
    • LBAC On/OFF feature.
    • Migrate a patient/list of patients from one location(or unknown) to another location.


Extra Credit

  • Create a dashboard for LBAC module - Prefer to go for a react OWA.
  • Create an OWA page to show/edit the configurations of LBAC through the REST endpoint.
  • Create an OWA page with required functions for patient migrations from one location(or unknown) to another location.

Status - Completed Phase - II

   Pending work

  • Add location restrictions to Reporting-REST, and Reference metadata modules.

The second phase of this project completed during the Google Summer of code 2019 period, and released version 0.2.0. 


Resources