Location based Access Control - Phase 2
Primary mentor | @Suthagar Kailayapathy |
Backup mentor | @Daniel Kayiwa |
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.
Final Report: GSoC 2019 - Location Based Access Control
Resources
Final Report : GSoC 2018 - Location Based Access Control