Get Set! Ready! Code!
(It was an adventure for me. I was so busy with my project and also with my university internship)
What is the Community Bonding Period?
The period of time between when accepted students are announced and the time these students are expected to start coding. This time is an excellent one to introduce students to the community, get them on the right mailing lists, working with their mentors on their timeline for the summer, etc https://developers.google.com/open-source/gsoc/resources/glossary
Every Open Source Organization has its own culture and ethics which their community follows. The best thing GSoC does is, it gives one month to the students to get familiar with their community.
This is the period students get familiar with the community and the works done by the community. They get familiar with their mentors, plan the project timeline with them. They will receive guidelines on contributing as well as the resources to gain knowledge.
The community bonding period starts when the accepted students are announced. It started on the 4th of May this year. I was asked to set up a Payoneer account to receive my stipend. In the meanwhile, I received the official confirmation letter from Google.
My GSoC Project at OpenMRS
Let me give you a quick overview of the project I’m working at OpenMRS:
OpenMRS has two modules related to DHIS2 integration as follows.
- DHIS2 Connector module
- DHIS2 Reporting module
DHIS2 Connector Module
The DHIS2 Connector module is the foundation of the whole process and the DHIS2 Reporting module is an upgraded version of the connector module.
The connector module is used to extract/aggregate data from the OpenMRS system. The OpenMRS feature, the cohort builder, is used to query the database as specified by the user. After getting the required aggregated data, an HL7 message is created and sent to DHIS2. The Mirth Messaging module is used to send the messages to DHIS2. This module provides mappings between OpenMRS reports and DHIS2 data elements. There’s a dependency on the Reporting Module and it defines the mappings between Period Indicator Reports and DHIS2 Data Elements. On top of that, there’s a GUI to define those mappings using the drag and drop function.
DHIS2 Reporting Module
The second module; the DHIS2 Reporting module is built on top of the DHIS2 Connector module(but it is not a dependency). The DHIS2 Reporting module is completely integrated with the reporting module and it is essentially pre-packages PEPFAR Indicators and Reports. It doesn’t add a lot of new features but it just saves time on implementing those reports from scratch.
The current module has the following problems,
- It is not compatible with the Reference Application.
- App crashes when trying to connect to a DHIS2 instance. (I’ve reported this issue here and fixed and sent a PR here)
The current UI has some UX issues. (Described in here and will be fixed during the GSOC project)
Project Objectives
As mentioned above the current implementation, the following are the main objectives of this project;
- Gather requirements by communicating with the teams who have currently deployed the OpenMRS to understand the problems using the current DHIS2 Integration module
- Upgrade the UI of the module to be used with the Reference Application
- Upgrade the module to work with the latest version of the DHIS2 data model
More info on my project progress: https://talk.openmrs.org/t/gsoc-2020-improving-openmrs-dhis2-integration/28623
Bonding with the community
First, I contacted my mentors and scheduled weekly calls for my project. We got to know each other and discussed planning the project. My mentors are guided and helped me so much to resolve my problems and also on planning.
The community bonding period is a great opportunity to get familiar with the community, get to know each other, and to work with them. I went through the OpenMRS talk and joined discussions on various topics. And I joined some standup meetings to get an idea of how the meetings were conducted.
The OpenMRS product is used worldwide. Some countries use the new reference application and some are still using the legacy UI. I contacted implementors to understand the following,
- The awareness about DHIS2 and the DHIS2 reporting module.
- The problems with the current implementation of the DHIS reporting module
- The alternative technologies/services users use to connect with DHIS2
- The alternatives users use for reporting, analysis, and dissemination of data
I created a questionnaire and sent it to them. I will post the final report after finishing the survey.
It was really a helpful period for me. My mentors and my community were very supportive. I am hopeful that this will be the most memorable summer for me and which would be a turning point in my life.
Let’s get connected
Follow/ Connect with me anytime.
Github: https://github.com/jayasanka-sack
Linkedin: https://www.linkedin.com/in/jayasanka-sack
Facebook: https://www.facebook.com/jayasanka.sack