GSoC 2021: Improve the functionalities of the DHIS2 Connector module

 

Primary mentor

@Akshika Wijesundara

Backup mentor

@Kaweesi Joseph 

Assigned to

@Piumal Rathnayake

Abstract

DHIS2 Connector module is a module that is used to post aggregate data from OpenMRS to DHIS2 instance, supported with a UI for an easier-to-set-up OpenMRS to DHIS2 pipeline.

The aim of the project is to develop the module with improvements such as location mapping, user access control, improved performance, introducing some useful features, etc. The student needs to go through the community requirements and improve the module to provide a better integration workflow.

Project Champions

  • @Jayasanka Weerasinghe , @Kaweesi Joseph , @Grace Potma

Requirements

By referring to the discussions, the requirements were gathered and 4 major objectives were finalized.

Objectives

  1. Controlling User Access 
    Need to add role-based permissions for the module by adding the necessary roles and privileges. (Ex: allowing only data manager/data assistant roles to push data). In the current version, any user with any role can push data to the dhis2 instance.

  2. Location mapping feature 
    Basically, we need a way to map and store the OpenMRS organization units with the DHIS 2 organization units. In the current version, we have to map it manually every time. Here's a very detailed description for this done by @jayasanka : Implementing functionality to map Org Units in DHIS Connector module

  3. Fixing UX issues 
    In the DHIS connector module pages, there are some buttons and checkboxes that users may not understand properly. (Ex: Automation view). Those issues need to be fixed. 

    1. Run report View 

    2. Automation View 

    3. Configure DHIS server View 

  4. Extending period support
    We need to support all the remaining period types available in DHIS2 period definition for the Automation view and Run report view. And optimize the existing period supports(Ex: By using relative period types).

    1. Automation 

    2. Run Reports 

  5. Optimization (e.g. of Run Report)
    Need to increase the performance of the module by optimizing the processes.

Required Skills

  • Java skills

  • OpenMRS DHIS connector module

  • JSP

  • Hibernate

  • Familiarity with Liquibase

  • OpenMRS data model & API

  • OpenMRS reporting module

Contributions

Repositories

DHIS Connector Module | Github

JIRA issues 

DCM issues - Improving Functionalities of DHIS Connector Module

Related Talk Threads

  1. Final Presentation - GSoC 2021: Improving Functionalities of DHIS Connector Module - Final Presentation 

  2. Main Thread for Project Updates - GSoC 2021: Improving Functionalities of DHIS Connector Module - Project Updates - #43 by piumal1999

  3. Requirement Gathering - GSoC 2021: Improving functionalities of DHIS Connector module - #17 by akshika47

  4. Location Mapping UI Layouts - Designing layout of location mapping UI - DHIS Connector Module - #4 by akshika47

  5. User Access Controlling - DHIS Connector Module - User Access Controlling - #11 by piumal1999

  6. Bug Fixes in Reporting Rest Module - Reporting REST throws 500 when getting Evaluated Report Definition - #17 by piumal1999

Demonstration

Future Work

  • Extending DHIS2 period support in Run Reports functionality

  • Improving the Mapping UI

Resources