GSoC 2022: OCL Subscription Module for OpenMRS 3
Primary mentor | @Ian Bacher |
Backup mentor | @Hadijah Kyampeire |
Assigned to | @Piumal Rathnayake |
Abstract
OCL Subscription Module is one of the most valuable modules used with OpenMRS to make the implementations easier. The existing OCL subscription module is built targetting the OpenMRS RefApp 2.x, and its frontend runs as an OpenWebApp (with the help of the OWA Module). When it comes to OpenMRS 3.x, the OWA module is deprecated but it is still used due to the unavailability of the micro frontend of the OCL Subscription Module. This project is focused on creating a micro frontend for the above-mentioned OpenMRS OCL Module (OCL Subscription Module) admin tool. With that modern frontend technologies, it enables OpenMRS users and developers around the world to share more frontend functionalities, reduce duplicated effort, and have a better user experience.
Objectives
To avail the OCL Module functionality as a micro frontend
Ability to manage(add/edit/remove) a subscription ✅
Ability to Import Concepts using the saved subscription ✅
Ability to Import Concepts using a zip file ✅
Ability to see the list of previous imports ✅
Ability to see the details of a selected previous import ✅
Requirements
By analysing the stakeholders and observing the existing module, the following functional requirements were gathered and prioritized.
# | Requirement | Priority Level | Status |
FR-01 | Should be able to add and save a subscription | Must-Have | Completed |
FR-02 | Should be able to edit the saved subscription | Must-Have | Completed |
FR-03 | Should be able to remove the saved subscription | Must-Have | Completed |
FR-04 | Should be able to start an import from the subscription | Must-Have | Completed |
FR-05 | Should be able to start an import from a file | Must-Have | Completed |
FR-06 | Should be able to see the list of previous imports | Must-Have | Completed |
FR-07 | Should be able to see the details of a single previous import | Must-Have | Completed |
FR-08 | Should be able to see the status of the running import | Could Have | - |
FR-09 | Should be able to schedule automatic imports | Could Have | - |
FR-10 | Should be able to set up multiple subscriptions | Could Have | - |
FR-11 | Should be able to run multiple imports concurrently | Could Have | - |
FR-12 | Should be able to check the available updates before updating | Will Not Have | - |
The requirements with the highest priority (FR-01 to FR-07) were completed during the project. FR-08 to FR-12 can be added to the module as further improvements.
Required skills
React
Javascript
Typescript
Project Rating and length
Medium
175 hours
Documentation
https://talk.openmrs.org/t/ocl-module-should-we-convert-to-jsp-or-mf-ize/36040
https://talk.openmrs.org/t/gsoc-2022-microfrontend-the-ocl-module-project-updates/36768
Weekly Reports
Working with OCL Subscriptions — GSoC 2022 Week 1 | by Piumal Rathnayake | Medium
Completing the OCL Subscription Component — GSoC 2022 Week 2 | by Piumal Rathnayake | Medium
A Component for Importing Concepts — GSoC 2022 Week 3 | by Piumal Rathnayake | Medium
Configuring the Unit Tests — GSoC 2022 Week 4 | by Piumal Rathnayake | Jul, 2022 | Medium
More testing — GSoC 2022 Week 5 | by Piumal Rathnayake | Jul, 2022 | Medium
Deploying OCL Subscription Module — GSoC 2022 Week 8 | by Piumal Rathnayake | Aug, 2022 | Medium
Upgrading the Module Dependencies — GSoC 2022 Week 9 | by Piumal Rathnayake | Aug, 2022 | Medium
Minor Issues — GSoC 2022 Week 11 | by Piumal Rathnayake | Aug, 2022 | Medium
Final Presentation
Future Work
Automation/Scheduling Support
Supporting multiple subscriptions
Resources
OpenMRS 3.0: A Frontend Framework that enables collaboration and better User Experience
https://talk.openmrs.org/t/how-to-get-started-with-micro-front-end-newbie/35258
Jira Epic: https://issues.openmrs.org/browse/O3-1323
Project proposal: https://docs.google.com/document/d/1zJj2v4Y0p-ulrTCjRrFvqXdeKQqaE1lTbSG3iqfZuUA/edit?usp=sharing