Automated Location Mapping — GSoC 2021 Week 7
It’s the end of another week of GSoC 2021 Coding period. During the week I was able to complete the Automated Location Mapping feature of the DHIS Connector Module. Last week we added the Upgraded Run Reports UI to the module. I had sent a pull request for the Upgraded Automation (Scheduling) UI as well.

As the last step, I had to remove the unwanted columns from the Module related tables in OpenMRS Database. But when reinstalling the module after doing the database change, it threw an error saying Unable to update data model using liquidbase.xml — Module DHIS Connector
. After some struggle, I was able to find the reason for the error.
Ideally liquibase existing changesets should never be modified and if there is a modification required, it should be added as a new and subsequent changeset.
Liquibase makes entries in table liquibasechangelog to keep track of executed changesets with a checksum/hash. When changeset is modified the checksum is found different and this error is encountered.
So deleting every row related to the DHIS Connector module in the openmrs.liquibasechangelog
table fixed the issue. Sometimes it may require deleting the whole table too for much larger database changes.
After fixing the bugs, the Pull request was merged, so now the users can push data from their OpenMRS instance to the DHIS2 instance easily. Here’s a small preview of the Upgraded Automation(Scheduling) feature. You can also read more about the automated location mapping feature from my previous blog posts.
Further, I created the privileges of the module as I said last week, and started updating the module pages to behave according to the privileges. Need to complete the User Access Control System soon because only 3 weeks are remaining.