GSoC 2022: Rebuild OpenMRS Cohort Builder
- Project Title: Rebuild OpenMRS Cohort Builder
- Primary mentor: Brandon Istenes @bistenes
- Backup mentor: Jayasanka Weerasinghe @jayasanka
- Student: Anjula Samarasinghe
- Project Link: GSoC 2022: Redo Legacy UI Cohort Builder
Overview
- The Cohort Builder is a tool in OpenMRS 1.0 in the Reporting Compatibility module that lets the user perform ad-hoc queries for patients with defined characteristics, and combines multiple queries into more complex ones
Objective
Rebuild the same functionality in OpenMRS 1.0 Cohort Builder in OpenMR 3.0 which includes the following,
- Searching by Observations/Concepts
- Searching by demographics
- Searching by encounters
- Searching by location
- Searching by program enrollments
- Searching by Drug Order
- Combining searches
Apart from this, a save search feature is required
Contributions
I’ve worked on three OpenMRS repositories:
- GitHub - openmrs/openmrs-esm-cohortbuilder: The Cohort Builder is a tool in OpenMRS 3.0 in the Reporting Compatibility module that lets the user perform ad-hoc queries for patients with defined characteristics, and combines multiple queries into more complex ones.
- GitHub - openmrs/openmrs-module-reporting: Reporting module in openmrs
- GitHub - openmrs/openmrs-module-webservices.rest: Provides RESTful web services for OpenMRS
Tickets
Weekly Blog Posts
Video Presentation
GSoC 2022 - Rebuild OpenMRS Cohort Builder - Final Presentation
Resources
Future Works
The main requirement of this project is covered. Cohort Builder search criteria can be extended more for example Search by allergies, extending these search criteria gives more options to the user when it comes to creating cohorts.
The code base also can have more test coverage specially E2E testing can be added. Currently, there are only unit and integration tests. I’m looking forward create E2E tests as well.
Thoughts on GSoC
The last 12 weeks were life-changing for me. It was such a great opportunity to work with OpenMRS where I can leave a positive impact on the world. I really liked the architecture of OpenMRS 3.0 and it’s really easy to get started on. The OpenMRS community is also very supportive which includes different people from different parts of the world.
I would like to thank my mentors: Jayasanka Weerasinghe and Brandon Istenenes, who helped me to overcome the blockers I had and reviewed my pull requests on time. Once again I would like to thank OpenMRS and Google for giving me this opportunity. This is a dream come true. Also special thanks to Jayasanka Weerasinghe for supporting me from the very beginning to getting selected and also throughout the project. I’m looking forward to continuing my contributions to OpenMRS.