Extending DHIS2 Period Support— GSoC 2021 Week 5

Piumal Rathnayake
2 min readJul 12, 2021
Calendar vector created by freepik — www.freepik.com

During the 5th week of the Google Summer of Code 2021, I focused on Extending period support in the DHIS Connector module and completing the Automated location mapping feature. Also, I was able to get some basic knowledge of how OpenMRS Roles and privileges work with modules.

Basically In DHIS2, datasets have a pre-assigned period type like Daily, Monthly, Yearly, etc. So the datasets keep aggregated data according to their period type. When it comes to OpenMRS, there’s no such thing and we can create reports for any time range according to our requirements. Therefore, when sending data from openmrs to DHIS2, the module automatically finds the period type of DHIS2 Dataset and creates the OpenMRS report with the respective time range. We have already improved this feature supporting most of the DHIS2 period types, and need to add the remaining period types.

https://link.medium.com/SDvDvaH6Phb

The following tables show the supported and not supported period types in the module.

DHIS2 Connector Module — Period Types

In the previous weeks, I sent the pull requests for adding Biweekly and Bimonthly period types and during this week I was able to extend the DHIS2 period support by adding the Weekly Sunday, Weekly Wednesday, and Weekly Thursday period types to work with the Scheduling option of the module. Also fixed a bug in the Weekly period type. Also, need to send the pull request for the Weekly Saturday period type. The remaining period types are Financial November and Six Monthly November which are not used much. Also need to add these period types for Run Report functionality too.

Also, I kept updating the Pull Request for Upgraded Run Reports UI according to the requested changes. Hope it would be merged soon, so the Location mapping feature could be completed.

During the week I was able to get some basic knowledge about creating module privileges, creating roles, managing the User interfaces according to the privileges and roles, managing API according to the privileges, etc. So from next week onwards, I can start working on the User Access Control System of the module.

--

--

Piumal Rathnayake

I'm a Computer Engineering Undergraduate at University of Peradeniya, Sri Lanka. And I also work as a software engineer at Sustainable Education Foundation.