GSoC 2022 : Project Brainstorming

Improving DHIS connector data push scheduling (automation)

The above component of the module can be improved by attending to the identified issues mentioned below.

Main objectives

  1. Workflow of creating a new schedule

The current automation interface provides a simple form to pick some elements associated with mappings and data push runs and save them into a new entry of automation. The student should analyze the current implementation and propose a pragmatic solution considering what is necessary that should be in the create new schedule form and what can be derived from the above necessary items.

  1. Make existing schedules accessible to the user with a set of actions to control them

Currently there is no option for the users to access the already created schedules in the system. Information on those schedules should be available to the users with a set of actions on each one of them to control them. These controls must include a switch to turn the schedule on and off, edit the details like the execution time and frequency. With those improvements details of which report data is pushed at what time and what schedules are active and not should also be accessible to the user. An elegant way to list down those items should be proposed by the applicant.

  1. Execution details of the automated data pushes should be available to the user

Currently even though the data is being properly pushed on to DHIS instances there is no mechanism in the connector module to keep track of the data pushes done through automation. The users should be able to see the log of the data pushes and identify the data that was pushed on the past runs with indications on whether those runs were successful or not. The applicant should propose a good plan to meet those needs.

  1. Document how the scheduling and DHIS connector module can be used with these new enhancements

Secondary Objectives

  1. Test out the DHIS connector module, identify and handle errors

The module has a history of throwing out 500 server errors with massive java stack traces. The applicant should be able to go through the module, test out the functionalities, find out the faults and handle those exception throws in a practical and user friendly way.

Eg:

  • ADX option on data push throws a 500 error
  • Automation tab throws out a null pointer exception when there are no mappings created

Project Rating and Length

Medium

175 Hours

Required Skills

  • Good understanding of the programming fundamentals
  • Java
  • SQL
  • OpenMRS data model & API
  • OpenMRS DHIS connector module

cc: @grace @herbert24 @mozzy