Taming the beast

Jayasanka Weerasinghe
2 min readJun 29, 2020

--

This is the 4th week of my GSoC project. As I explained in my last blog post, I had to redesign the database and I was thinking of a way to optimize it. This is the openMRS thread on redesigning the database: https://talk.openmrs.org/t/support-adx-disaggregations-with-dhis2-reporting-module/29154

There were a lot of questions in my mind regarding the OpenMRS reporting module. Fortunately, I was able to have a call with Jude Niroshan, who has worked with the reporting module and also a GSoC mentor at OpenMRS.

The latest release of this module had the ability to map DHIS2 data elements with OpenMRS report elements as well as with custom SQL queries. But with the current reporting module of OpenMRS supports custom SQL queries. Therefore we no longer need the “custom SQL queries” feature with the DHIS2 Reporting module. Now the user can use the same reporting module to write custom queries.

This is the finalized DB structure:

After this implementation, the entire module is going to change completely. I simply had to start from scratch.

I started learning two interesting technologies: Spring and Hibernate.

The current source code of the module is disorganized and the formatting was not up to standard. I configured the module to reformat the code according to the Google Java Style Guide.

Meanwhile, I configured Travis build for the module’s GitHub repo. Travis CI is a tool that supports the development process by automatically building, testing code changes, and providing immediate feedback.

Figure 1: Travis CI Build Flow [1]

The first evaluation period is starting from today and ends on the 3rd of July. I’m planning to complete the models and import functionality by next week.

Reference:

[1] Travis-ci.org. 2020. Travis CI — Test And Deploy Your Code With Confidence. [online] Available at: <https://travis-ci.org/> [Accessed 29 June 2020].

--

--

Jayasanka Weerasinghe
Jayasanka Weerasinghe

Written by Jayasanka Weerasinghe

A professional key presser who turns characters into interesting web things 🙂

No responses yet