Location based Access Control - Duplicate

Primary mentor


Backup mentor


Assigned to


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.

Dev Resources

Requirements

  • Good Java, Spring and JavaScript skills
  • Soft skills to interact with the community in order to gather requirements and technical feedback

Skills Needed

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

Objectives-2

  • 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 a OWA page to show/edit the configurations of LBAC through the REST endpoint.
  • Create a OWA page with required functions for patient migrations from one location(or unknown) to another location.

Resources