GSoC 2020 : Improved OpenMRS DHIS2 Integration

Abstract

A lot of great work was done during GSoC 2013 to integrate OpenMRS and DHIS2. The aim of this project is to extend the OpenMRS-DHIS2 Integration Module. The new features to be added will be sourced from the community.

Objectives

  1. Gather requirements by communicating with the teams who have currently deployed the OpenMRS to understand the problems using the current DHIS2 Integration module
  2. Upgrade the module to work with the latest version of the DHIS2 data model

Extra Credit

  1. Upgrade the UI of the module to be used with the micro frontend architecture

Skills Needed

  1. OpenMRS data model/understanding of OpenMRS terms.
  2. DHIS data model
  3. Reporting Module functionality.
  4. Basic understanding of Spring and Hibernate.

Basic understanding of XML and JAXB is needed as the OpenMRS-DHIS2 Integration Module implements them.


Future Work

  1. Reconcile DHIS2 Reporting module branches
    To make the module available in production, the `adx` and `adx-disaggregations` branches should be merged to master to ensure the module has the following,
    - Use CODE values instead of UIDs
    - Use DHIS2 friendly terms at the dataset level
    - Define a standard set of concepts/terms to use
    - Import datasets using a connected DHIS2 instance
    - Support multiple Period Types
    - Map OMRS locations with DHIS2 Organisation Unit codes
  2. Develop the UI using Micro Frontends
  3. Add custom SQL Queries support
  4. Add Export functionality (export SQL-mapped dataset from the module)
  5. Push data to DHIS2 automatically
  6. Store multiple DHIS2 connections

More details on the next steps can be found here: COVID-19 Public Health Response — Improving OMRS to DHIS2 Integration

Resources

OpenMRS-DHIS2-SDMX-HD Integration (see also child pages)

  1. http://www.dhis2.org/ (see documentation)
  2. http://www.sdmx-hd.org/
  3. http://folk.uio.no/bojo/sdmx/sdmxhd_doc.xhtml
  4. https://jembiprojects.jira.com/wiki/display/SDMXLIB/Home
  5. https://lists.launchpad.net/dhis2-users/msg03768.html (read the complete thread)
  6. http://jhia-online.org/index.php/jhia/article/view/65 (paper on integrating OpenMRS and DHIS2 using demo data)
  7. Progress thread: https://talk.openmrs.org/t/gsoc-2020-improving-openmrs-dhis2-integration/28623
  8. Project’s wiki page: https://openmrs.atlassian.net/wiki/display/projects/GSoC+2020+%3A+Improved+OpenMRS+DHIS2+Integration
  9. COVID-19 Public Health Response - Improving OMRS to DHIS2 Integration: https://openmrs.atlassian.net/wiki/display/projects/Improving+OMRS+to+DHIS2+Integration
  10. COVID-Squad notes: https://notes.openmrs.org/covidsquad2020
  11. ADX specification: https://ihe.net/uploadedFiles/Documents/QRPH/IHE_QRPH_Suppl_ADX.pdf
  12. ADX-HIV content profile: https://ihe.net/uploadedFiles/Documents/QRPH/IHE_QRPH_Suppl_ADX-HIV.pdfhttps://medium.com/@jayasanka_sack/comparison-between-openmrs-dhis2-integrations-9742272bb8b6
  13. Dive into DHIS2 Integration work: What's done, and gaps to know: https://docs.google.com/presentation/d/1QkyaN9L14fu_iSjURZ5F4hlDj7viz6ufQtaKfLwN9kw/edit?usp=sharing
  14. Comparison between the DHIS2 Connector Module, DHIS2 Reporting Module branches, and UgandaEMR approach: https://medium.com/@jayasanka_sack/comparison-between-openmrs-dhis2-integrations-9742272bb8b6
  15. Summary: Comparison between OpenMRS DHIS2 integrations: https://docs.google.com/presentation/d/16-20-UgZLnU2KuMps2HXMzu9ZEmdIRVWmY1qXz-pOG4/edit?usp=sharing
  16. Summary: Reconcile DHIS2 Reporting module branches: https://docs.google.com/presentation/d/1IdN2mo1acBKrBDV3cIGCNpy0__lQldQbgn9ZCO1lrJ4/edit?usp=sharing