Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
integration:dhis2_lmis_integration [2024/10/17 11:43] – Gary Willetts | integration:dhis2_lmis_integration [2024/10/22 07:07] (current) – [mSupply preferences] Gary Willetts | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
====== 23.02. DHIS2 LMIS integration ====== | ====== 23.02. DHIS2 LMIS integration ====== | ||
- | DHIS2 is an open source data warehouse that can be used to store, aggregate and display health data. It has also been modified to be used as a simple stock reporting tool at small health facilities. mSupply can interact with this functionality to receive the stock on hand reports and then create replenishment orders for the facilities based on that information. This page describes | + | DHIS2 is an open source data warehouse that can be used to store, aggregate and display health data. It has also been modified to be used as a simple stock reporting |
+ | |||
+ | |||
+ | ===== The process ===== | ||
+ | ==== Fetching requisitions ==== | ||
+ | In this scenario, the supplying facility is using mSupply and the requesting facility is using a DHIS2 Event app. The requesting facility creates and saves a requisition in the event app and it is saved to the DHIS2 database. On a daily basis, mSupply checkes the DHIS2 database for completed requisitions, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ==== Acknowledging shipment receipts and sending shipment transactions ==== | ||
+ | The next part of the process is that the sending store sends goods to the facility that requested them with the requisition. The goods are sent with a packing list that contains a QR code. When the receiving facility receives the goods they add the consignment to the DHIS2 RTS capture app by scanning the QR code and check what has arrived. When they are happy the receiving facility marks the consignment as complete. | ||
+ | |||
+ | On a daily schedule mSupply checks the DHIS2 database for complete consignments and retrieves them (at the same time mSupply fetches stock on hand figures for the items in the various facilities. This is not shown in the diagram below). mSupply processes the details of the consignment and sends details of the stock supplied for the consignment to the DHIS2 server. The DHIS2 server then sends the updated stock levels to the RTS capture app at the requesting facility. | ||
+ | |||
+ | This process is illustrated in the following diagram: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
Line 22: | Line 42: | ||
==== mSupply preferences ==== | ==== mSupply preferences ==== | ||
- | Before you can send data to retrieve data from a DHIS2 LMIS instance, you need to tell mSupply where the data has to go, what data to send and where the information comes from. To do that, go to //File > Preferences// | + | Before you can send data to and retrieve data from a DHIS2 LMIS instance, you need to tell mSupply where the data has to go and come from. To do that, go to //File > Preferences// |
- | {{ : | + | {{ : |
* **Use DHIS2 checkbox:** If checked then the DHIS2 interface is turned on and data is sent to and pulled from DHIS2. If it is unchecked then the interface is turned off and no data is shared with DHIS2. Turning it off also disables data entry in the other fields on this page. | * **Use DHIS2 checkbox:** If checked then the DHIS2 interface is turned on and data is sent to and pulled from DHIS2. If it is unchecked then the interface is turned off and no data is shared with DHIS2. Turning it off also disables data entry in the other fields on this page. | ||
Line 34: | Line 54: | ||
* **Secret:** Only visible and used if **Basic authentication** is checked. The secret that is used for mSupply to access the DHIS2 database. No need to enter this if none was provided. | * **Secret:** Only visible and used if **Basic authentication** is checked. The secret that is used for mSupply to access the DHIS2 database. No need to enter this if none was provided. | ||
* **Test connection button:** Click this to test the connection to the DHIS2 server. You will be shown a message that tells you whether mSupply was able to connect to the DHIS2 server with the credentials you have provided. | * **Test connection button:** Click this to test the connection to the DHIS2 server. You will be shown a message that tells you whether mSupply was able to connect to the DHIS2 server with the credentials you have provided. | ||
+ | * **Send errors to this email address textbox:** All errors will be sent to theis email address. Enter multiple email addresses by separating them with a semicolon ('';'' | ||
* **Data set ID:** Enter the ID of the dataset in DHIS2 that you want to push the data to. | * **Data set ID:** Enter the ID of the dataset in DHIS2 that you want to push the data to. | ||
* **Period format:** Enter the format to send the period information to DHIS2. Something like " | * **Period format:** Enter the format to send the period information to DHIS2. Something like " | ||
Line 39: | Line 60: | ||
* **Data element ID scheme:** This tells mSupply what kind of DHIS2 item identifiers are stored in mSupply (in the place defined by the **Item field reference** section above), item codes or UIDs. | * **Data element ID scheme:** This tells mSupply what kind of DHIS2 item identifiers are stored in mSupply (in the place defined by the **Item field reference** section above), item codes or UIDs. | ||
* **Round off checkbox:** If checked then mSupply will round numerical data values to the nearest whole number as some DHIS2 setups only accept integers. | * **Round off checkbox:** If checked then mSupply will round numerical data values to the nearest whole number as some DHIS2 setups only accept integers. | ||
- | + | * **Name field reference textbox:** The name of the name custom field used to store the ID of the corresponding name in DHIS2. | |
- | + | * **Store field reference textbox:** The name of the store custom field used to store the ID of the corresponding store in DHIS2 | |
- | + | * **Order program ID textbox:** Put the ID of the DHIS2 Order program used for requisitions in this field. Click the **Manual pull data** button next to this field to immediately fetch completed requisitions from DHIS2, rather than waiting | |
- | + | * **Receipt program ID textbox:** Put the ID of the DHIS2 Receipt program used for shipment receipts in this field. Click the **Manual pull data** button next to this field to immediately fetch completed consignments from DHIS2, rather than waiting | |
- | * **Setup:** Here you choose how to identify | + | * **STR program ID textbox:** Enter the ID of the DHIS2 STR program used for storing Stock on Hand values into this field. Click on the **Manual pull data** button next to this field to immediately fetch stock on hand figures for facilities, rather than waiting for it do be done on the automatic schedule. |
- | * **Using category option combo:** Choose this if DHIS2 is using attribute option combos where there is one category option combo assigned per data element (AMC, stock on hand etc.) for an entire data set. For this option, you need to tell mSupply what the DHIS2 category option combo ID is for each data element you want to push (i.e. //Active// column is checked) in the //Data elements to push// table. | + | * **RTS SOH Raw data button:** Click this to display the raw stock on hand data pulled from DHIS2. |
- | * **Different data elements per item:** | + | * **Data elements table** In this table, select the data elements that you want to pull from DHIS2 for each mSupply item. |
- | * **Push only 1 data element:** Choose | + | * **Active column:** Check the checkbox for each data element you want to pull for an item. Click on the checkbox to toggle it on and off. |
- | * **Data elements | + | * **Data element |
- | * **Active column:** Check the checkbox for each data element you want to send for an item. Click on the checkbox to toggle it on and off. | + | * **Program |
- | * **Category option ID column: | + | * **Program stage ID column: |
- | * **Custom field name column:** Required if **Different data elements per item** is selected in the //Setup// section. Enter the corresponding item custom field name used to identify the item corresponding DHIS2 data element | + | * **Attribute ID column:** The ID of the attribute |
- | * **Interval | + | |
- | * **Push data basis column: | + | |
- | + | ||
- | | + | |
- | + | ||
- | * **Manual push data button:** Click this button to immediately attempt to push the data as setup in this window to DHIS2. The data will, of course, be pushed on a //current day// basis. View the log (see the [[admin: | + | |
<WRAP info center round 90%> | <WRAP info center round 90%> | ||
Line 66: | Line 81: | ||
If the connection is not successful you will see a red " | If the connection is not successful you will see a red " | ||
- | Once configured, a scheduler will run and regularly send data from mSupply | + | Once configured, a scheduler will run every 5 minutes |
- | + | ||
- | Of course, once you have told mSupply where all the data is stored, you have to actually enter the DHIS2 item identifiers and Store identifiers into mSupply. | + | |
- | Connections to DHIS2 have been configured successfully for Laos and countries that are part of the [[https:// | ||
\\ | \\ | ||
\\ | \\ |