Primary mentor | |
Backup mentor | |
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
- Designing the Previous Imports Component — GSoC 2022 Week 6 | by Piumal Rathnayake | Jul, 2022 | Medium
- A Component for Viewing Previous OCL Imports — GSoC 2022 Week 7 | by Piumal Rathnayake | Aug, 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
- Fixing the Broken Components — GSoC 2022 Week 10 | by Piumal Rathnayake | Aug, 2022 | Medium | 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