GSoC 2021 - Export and Import feature for the openMRS reporting module - Final Presentation

Overview

DHIS mappings are created in openMRS instances to keep information about how period indicator reports are mapped with DHIS data elements. Previously the DHIS connector module had the functionality to export these mapping files but they were not usable in different openMRS instances because the mapped period indicator reports are required to be present in the system. Thus this project was proposed to introduce a new feature to bundle up period indicator reports and other underlying reporting metadata with the DHIS mappings on the mapping export and import the same type of bundles back in.

Objectives

- Main objectives

  • Improve export DHIS mappings function to include period indicator reports with other related reporting metadata. :white_check_mark:
  • Improve import DHIS mappings function to persist period indicator reports and other underlying reporting metadata. :white_check_mark:

- Additional objectives

  • Simplify the user experience by improving manage mappings user interface to handle every DHIS mapping-related function. :white_check_mark:
  • Handle metadata UUID conflicts by letting the users pick the action for such cases. :white_check_mark:
  • Improve the export function to have the option to export mappings without period indicator reports. :white_check_mark:

Contributions

- Repositories

GitHub - openmrs/openmrs-module-dhisconnector This module posts OpenMRS Period Indicator Report data to DHIS2 using the Reporting Rest module. Mappings between… github.com

- Fixed Issues

Issue Navigator - OpenMRS Issues Heshan Andrews DCM Tickets issues.openmrs.org

- Pull Requests

Gravewalker666 (Heshan Andrews) Pull requests · openmrs/openmrs-module-dhisconnector You can’t perform that action at this time. You signed in with another tab or window. You signed out in another tab or… github.com

- Talk Threads

GSoC 2021 - Export and Import feature for the OMRS reporting module: Updates I will be using this thread for the next few months to put my daily updates and progress on the project. talk.openmrs.org

GSOC 2021 - Export and import feature for the OMRS reporting module: Requirement gathering Hola people, This thread is regarding the “Export and import feature for the OMRS reporting module” project listed… talk.openmrs.org

Weekly Blog Posts

  1. Community Bonding Period — GSoC 2021

  2. How To Share Period Indicator Reports in OpenMRS? GSoC 2021 — OpenMRS Week 1

  3. Digging my way through the DHIS export mapping code — GSoC Week 2

  4. The first increment — GSoC Week 3

  5. The unexpected — GSoC Week 4

  6. The moment of clarity — GSoC Week 5

  7. Test what you did, plan the next —GSoC Week 6

  8. Bringing everything into one place — GSoC Week 7

  9. Simplifying the submissions — GSoC Week 8

  10. Pushing beyond the requirement — GSoC Week 9

Resources

- Weekly Progress Demo Videos

Progress Demo Youtube Playlist

- Project Proposal

Future Work

The core requirement of the project is completed. Apart from the core objective, some additional improvements were also done (see additional objectives).

Some good practices such as using loggers instead of print commands and keeping util file to have all the utility functions in the repository, which are in the openMRS coding best practices but were not incorporated in the DHIS connector module, were too initiated with this project and I wish to do the refactoring of the current code to bring it up to the standard.

Further, I will be looking forward to joining other openMRS squads and helping out with the little knowledge I gained during the last three months.

Thoughts on GSoC

GSoC 2021, from May to August, was 3 months of a very profound learning experience for me. I’m really honored that I had the chance to be a part of an organization that really makes a positive impact in the world. I hope my effort to improve the product did help out this amazing organization to improve at least a wee bit.

GSoC, the program in itself is great and when you add up an organization that writes code to save lives on top of it, you get that sense of pride that you actually contributed to something far greater than you, with every single piece of code you write. I sincerely thank openMRS for accepting my proposal and giving me that opportunity.

I would like to remember my late mentor, Joseph Kaweesi, who was always there for me whenever I fell short in understanding the codebase. And I would also like to thank Daniel Kayiwa, my backup mentor, who supported me a lot and pushed me to reach that extra level of quality in the code, and Jayasanka Weerasinghe who introduced me to openMRS and was supporting me all the way through.

GSoC 2021 and working with openMRS would go down as one of the best experiences I managed to grab ever.

Thank you OpenMRS.

Thank you, Google.

1 Like