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:30] – [mSupply preferences] 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 mSupply | + | 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 33: | Line 53: | ||
* **Client:** Only visible and used if **Basic authentication** is checked. The client name mSupply must use to access the database. | * **Client:** Only visible and used if **Basic authentication** is checked. The client name mSupply must use to access the database. | ||
* **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. | ||
- | * **Setup:** Here you choose how to identify | + | * **Test connection button:** Click this to test the connection |
- | * **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, | + | * **Send errors |
- | * **Different data elements per item: | + | |
- | * **Push only 1 data element:** Choose this if you are only pushing a single data element (e.g. AMC, stock on hand etc.) for each item to DHIS2. In the //Data elements to push// table you must check only a single box in the //Active// column and no values need to be entered in the //Category option ID// or //Custom field name// columns. | + | |
- | * **Data elements | + | |
- | * **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. | + | |
- | * **Category option ID column:** Required if **Using category option combo** is selected in the //Setup// section. This is the DHIS2 category option ID for the data element. | + | |
- | * **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 code. | + | |
- | * **Interval column:** Select the interval between successive sends of the data element. Select one of // | + | |
- | * **Push data basis column:** Select the basis of the data to be sent, one of //previous month// or //current day//. Again, click on the down arrow in the cell and click on the appropriate option to select it. | + | |
* **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 " | ||
- | * **Item field reference: | + | * **Item field reference: |
* **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 setup only accept integers. | + | * **Round off checkbox:** If checked then mSupply will round numerical data values to the nearest whole number as some DHIS2 setups |
- | * **No. of items per payload:** Enter the number of pieces of information to send in a particular call to the DHIS2 server. If there are more than this number | + | * **Name field reference textbox:** The name of the name custom field used to store the ID of the corresponding name in DHIS2. |
- | * **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 | + | * **Store field reference textbox:** The name of the store custom field used to store the ID of the corresponding store in DHIS2 |
- | * **Manual push data button:** Click this button | + | * **Order program ID textbox:** Put the ID of the DHIS2 Order program used for requisitions |
+ | * **Receipt program ID textbox:** Put the ID of the DHIS2 Receipt program used for shipment receipts in this field. | ||
+ | * **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. | ||
+ | * **RTS SOH Raw data button:** Click this to display | ||
+ | * **Data elements table** In this table, select the data elements that you want to pull from DHIS2 for each mSupply item. | ||
+ | * **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 element column:** Read only, the name of the element the settings in this line are for. | ||
+ | * **Program data element ID column:** The ID of this data element in the Program. | ||
+ | * **Program stage ID column:** The ID of the program stage this data element belongs to. | ||
+ | * **Attribute ID column:** The ID of the attribute this data element has in the program stage. | ||
<WRAP info center round 90%> | <WRAP info center round 90%> | ||
Line 60: | 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:// | ||
\\ | \\ | ||
\\ | \\ |