Get Help from Others
Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack
|Backup mentor||Pahonsi Bebeto Achile|
This project is part of [ARCHIVED] GSOC 2021: Modernizing Administration functions for OpenMRS
Porting administration functions for managing people within OpenMRS to OpenMRS 3.0: A Frontend Framework. This project focuses on user accounts, patients, providers, and their associated person records.
The primary goal of this project is to creating working micro frontend module(s) for these administration functions that can plug into the Administration Dashboard, meaning these functions will be expected to be developed using the best practices defined by the OpenMRS 3.0 Frontend Framework (Carbon Design, React/TypeScript) and register with the administration dashboard (mechanism to be determined), providing a title and a React component to render the administration function(s). The dashboard project will be responsible for organizing available administration functions, overall screen layout, and navigation between administration functions.
This project may include writing Java code to extend the REST Module to create needed REST endpoints. Those functions that have been implemented as Open Web Apps (OWAs) likely have the necessary REST endpoints, but functions that exist only in the legacy UI may not have yet been exposed as REST endpoints. The REST of Administration project can help in filling these gaps.
"OWA" refers to Mozilla's Open Web Apps (OWA), a legacy standard from 2010 that existed before frontend frameworks like React, Angular, Vue, etc. were popular. In the early 2010s, OWAs were an attempt in the OpenMRS community to use a standard to create client-side applications. OWAs are not recommended for new development; new development is encouraged to adopt conventions of the new Frontend Framework.
Below are the administration functions to be recreated in the new frontend framework. Examples of existing versions of each functions (in the Reference Application, as an OWA, or in the Legacy UI of OpenMRS 1.x) are provided for reference.
These functions provide the fundamental tools to manage users within OpenMRS. See System Administration > Manage Accounts in the Reference Application.
List and search users, add/edit user form
List, search, add, edit, and delete roles. Prevent system roles from being edited/deleted.
List, search, add, edit, and delete privileges. Prevent system privileges from being edit/deleted.
Create system-wide messages.
These functions provide administration for Person entries and associated metadata within OpenMRS. In OpenMRS, a Person is used to store demographic and other person-specific information for Patients, Users, Providers, and people related to patients (children, relatives, caretakers, etc.)
List/search, add/edit Person form, and delete persons.
|Manage Relationship Types|
List/search, add, edit, retire, and delete Relationship Types. Relationship Types define the types of relationships between Persons. Also manage how relationship types are show to the user (which types are shown by default and in which order).
|Manage Person Attribute Types|
List/search, add, edit, retire, and delete Person Attributes. These are local (implementation-specific) extensions of a Person. Also control how person attributes are displayed to users.
These functions provide administrative functions for patient records within OpenMRS. Ideally, wherever possible, these functions would be performed via FHIR API calls.
List and search patients, add/edit patient form.
|Find Patients to Merge|
Search and list potential patients to merge.
|Manage Identifier Types|
List/search and add/edit form for patient identifier types. Ability to retire or purge a patient identifier type.
|Manage Patient Identifier Sources|
List/search, add, and configure patient identifier sources.
Manage auto-generation features for identifier types.
|View Log Entries|
Search patient identifier generation logs.
Provides functions for managing Provider accounts within OpenMRS. Provider accounts are used to record who provided clinical care (e.g., within encounters). While provider accounts often refer to users within the system (people who are logging into OpenMRS like doctors & nurses), they can refer to people who are not users of the system (have no User account) and even to providers from other institutions (in which case they may not refer to a Person). There is also a Provider Management module that implements some of these features.
List/search, add, edit, retire, and delete provider accounts. Providers may optionally be linked to a Person.
|Manage Provider Attribute Types|
List/search, add, edit, retire, and delete provider attribute types.