Project Title : Patient Flags Module OWA
- Primary mentor: Maimoona Kausar
- Backup mentor: Jude Niroshan
- Student: Rishav Rakshit
- Project Link: [Link]
Overview
The primary object of this project is to develop an Open Web Application or OWA as a front-end for the Patient Flags Module.
The OWA has been developed in React (with Redux for state management), which consumes the Web API which was previously developed by Manimoona Kausar and team.
Objectives
Primary Goals —
- Build an Open Web Application in React modeled on the current JSP based UI.
- The OWA should consume the provided Web API and successfully perform GET, POST and DELETE requests.
- OWA should have an intuitive UI that can display the data fetched from the API and post data to the API.
- Make additional changes to the Web API to enable the above objective.
- UI should follow OpenMRS style guidelines.
[Key]
— Objective Achieved
Tasks Undertaken to Achieve these goals —
- Initial Project Structure setup, generating scaffolding with Yeoman Generator and upgrading packages
- Manage Patient Flags Component✅
- Edit Flags Modal✅
- Manage Patient Tags Component✅
- Edit Tags Modal✅
- Manage Patient Priorities Component✅
- Edit Priorities Modal✅
- Find Flagged Patients Component✅
- Manage Global Flag Properties — REMOVED
- Use React-Redux for state management✅
- Use openmrs-react components for common components✅
- Use state management to reduce number of API Calls Made✅
- UI Enhancements according to Reference Application style guide✅
- Modify API to meet fetched data requirements✅
- Add UI Element — Page Header with user and location data
BUG
- Fix Soft Delete (When trying to delete record from table)
BUG
- Add UI Element — Breadcrumb
PENDING
Extra Credit Tasks —
- Add color swatch in Edit Tags Modal
- Add glyphicon support in Tags/Priorities Modal
PENDING (New Feature)
[KEY]
— Task Completed
— Task Incomplete
— Bug
— Pending New Feature for future Updates
Implementation Details
Extensive implementation details can be found in the Submission Blogpost, mentioned below in the resources section!
Contributions
Our Sprint Cycle consisted of four 1 week Sprints and one 2 week sprint along with two break periods. The Sprint threads, JIRA Ticket Details, Code Repositories and Weekly Blogposts have been mentioned below.
Main Thread:
Sprint Threads:
JIRA Ticket Links:
- [FLAG- 45] - Link
- [FLAG- 46] - Link
- [FLAG- 47] - Link
- [FLAG- 50] - Link
- [FLAG- 51] - Link
- [FLAG- 52] - Link
- [FLAG- 55] - Link
- [FLAG- 56] - Link
- [FLAG- 57] - Link
- [FLAG- 58] - Link
Code Repository:
Pull Request:
Weekly Blog Posts
Here goes a huge list of blogposts which I had written with all my heart!
Resources
Mid Term Evaluation:
See the Mid Term Evaluation Video here!
Documentation:
We’ve made the following additional documentation for user and developer convenience.
Official GSoC Submission:
Future Works
The following future works have been envisioned for the project —
- Fixing of existing bugs/issues (marked in Overview section)
- Creating a better alert generation service.
- Adding support for Managing Global Flag Properties.
- Adding more filter options — filter by Priority color etc.
- Adding glyphicon support in Tags or Priorities.
Thoughts on GSoC
Being a final year student, this was the first and (maybe ?) the last time I’ve participated in GSoC. This was truly a once-in-a-lifetime experience and I’ve never ever faced something as exciting!
OpenMRS has not only shown me that ‘Writing code does indeed saves lives’ but has also given me platform to prove myself. For this, I shall always be indebted to a highly welcoming a nurturing community and especially my mentors, Maimoona Kausar (@maimoonak ) , Jude Niroshan (@judeniroshan) as well as the coordinators, Suthagar (@suthagar23) and Irene (@irenyak1 ) !
Thank you GSoC and OpenMRS!