Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Install and configure DHIS2 integration app

Assuming you have Bahmni installer latest version installed and running successfully. (Tested with 0.89 version, should work with previous version as well)

  1. Run the following command to install DHIS2 integration app.Download and install dhis-integration rpm from https://github.com/Possiblehealth/possible-artifacts/blob/master/90-artifacts/dhis-integration-1.0-1.noarch.rpm

    Code Block
    languagebash
    themeEmacs
    yum install https://s3.ap-south-1.amazonaws.com/possible-artifacts/dhis-integration-1.0-1.noarch.rpm


  2. Update the properties file for DHIS2 integration app, located at '/etc/dhis-integration/dhis-integration.yml', with right configuration.

    KeyDescriptionExample
    openmrs.root.urlUrl to access Openmrs servicehttp://localhost:8050/openmrs/ws/rest/v1
    bahmni.login.urlWhen user isn't logged in, then user is redirected to this url.

    https://ehr.possible.org/bahmni/home/#/login?showLoginMessage

    reports.urlBahmni reports url. Used for downloading reports.https://ehr.possible.org/bahmnireports/report
    reports.json

    This file contains configurations of DHIS2 reports.

    /var/www/bahmni_config/openmrs/apps/reports/reports.json
    dhis.config.directoryThis folder contains DHIS2 integration configurations program wise./var/www/bahmni_config/dhis2/
    dhis.urlThe DHIS2 government server instance url.

    Ex. 1: http://100.100.100.100:8080/

    Ex. 2: http://200.100.20.30:8888/hmistest/

    Note that the url could be at domain or ip address level (ex1) or could be at a specific path(ex2)

    dhis.userThe username to access DHIS2 instance.

    username

    dhis.passwordThe password for the DHIS2 user.

    password

    openmrs.db.urlMysql connection url to access "openmrs" database. Set valid user and password in the url.

    jdbc:mysql://localhost/openmrs?user=openmrs-user&password=password

    submission.audit.folderAll DHIS2 submissions are stored in this directory. Ensure the directory exists and "bahmni" user has access to it, or configure a different directory.

    /dhis-integration-data

    server.portServer config. Port for server to listen to.

    8040

    server.context-pathServer config. Mapping incoming requests.

    /dhis-integration/

    log4j.config.fileServer config. Properties file for logger of dhis-integration server.

    log4j.properties


  3. Download and place the ssl.conf file.

    Code Block
    languagebash
    themeEmacs
    cd /etc/httpd/conf.d/
    wget https://raw.githubusercontent.com/Possiblehealth/possible-config/89662e8e823fac3dbcaf111aa72713a63139bb03/playbooks/roles/possible-dhis-integration/templates/dhis_integration_ssl.conf


  4. Configure Bahmni landing page to show DHIS2 integration app.
    Insert the following in "/var/www/bahmni_config/openmrs/apps/home/extension.json" file

    Code Block
    languagetext
    themeEmacs
    "possible_dhis_2_integration": {
    	"id": "possible.dhis2Integration",
    	"extensionPointId": "org.bahmni.home.dashboard",
    	"type": "link",
    	"label": "DHIS2 integration",
    	"url": "/dhis-integration/index.html",
    	"icon": "fa-book",
    	"order": 11,
    	"requiredPrivilege": "app:reports"
    }


  5. Ensure Bahmni reports service is installed and running successfully.

    Code Block
    languagebash
    themeEmacs
    service bahmni-reports status ##should be running


  6. Restart ssl and dhis-integration services.

    Code Block
    languagebash
    themeEmacs
    service httpd restart
    service dhis-integration restart


    Now the DHIS2 integration app is available on landing screen, given that the user has reporting privileges.

                     Image RemovedImage Added

           Once you open the app you land on DHIS integration app page, where you select the month and year for given program, type a comment and submit report.


                     Image RemovedImage Added


Configure New Program 

  1. Configure the concatenated reports for the program
  2. Put the following configuration in the concatenated report to make it DHIS2 program.

    Code Block
    languagetext
    themeEmacs
    "DHISProgram": true,

    Example: Safe motherhood program

  3. Create a DHIS configuration file for the program with the name of program under '/var/www/bahmni_config/dhis2/' folder.
    1. To use different folder change 'dhis.config.directory' configuration at '/etc/dhis-integration/dhis-integration.yml'.
  4. DHIS configuration file should have the following structure.

    Code Block
    titleDHIS Config
    {
      "orgUnit": "<orgUnitId | find it from DHIS instance>",
      "reports": {
        "<name of 1st sub report | find it from reports.json>": {
          "dataValues": [
            {
              "categoryOptionCombo": "<category option combination id | find it from DHIS instance>",
              "dataElement": "<data element id | find it from DHIS instance>",
              "row": <row number of the cell | find it from output of the SQL report>,
              "column": <column number of the cell | find it from output of the SQL report>
            },
            {
              "categoryOptionCombo": "<category option combination id | find it from DHIS instance>",
              "dataElement": "<data element id | find it from DHIS instance>",
              "row": <row number of the cell | find it from output of the SQL report>,
              "column": <column number of the cell | find it from output of the SQL report>
            },
            ............more data element mappings............
          ]
        },
        "<name of 2nd sub report | find it from reports.json>": {
    	  "dataValues": [......]
        },
        "<name of 3rd sub report | find it from reports.json>": {
    	  "dataValues": [......]
        },
        ............more sub report mappings............
      }
    }


  5. An example configuration for Safe Motherhood program will look like the followingImage RemovedImage Added
  6. Example: Safe motherhood program

...

  1. Access the DHIS2 government server in your browser.
  2. Open data entry apps and select appropriate organisation and location.
  3. Once the data entry forms are visible, click on the input boxes where you enter the data.
  4. Right click on the input box and select "Inspect" from the options.
  5. Copy the Id of the html element from window (See image), it would look like the following string: "kSnqP4GPOsQ-kdsirVNKdhm-val".
  6. This string is in the format of "dataElementId - categoryOptionComboId - ...."
  7. These dataElementId and categoryOptionComboId need to be used in DHIS2 configuration file. Refer the below image.
    Image RemovedImage Added


Image RemovedImage Added