Configuring of products list for supply Partners

Target release3.5

OLMIS-4842 - Getting issue details... STATUS

Document status
eLMIS StatusImplemented
OpenLMIS StatusNot implemented
PATH Jenny Thompson (Unlicensed)
OpenLMIS Sam Im (Deactivated)
JSI Chris Opit (Unlicensed)

Status in eLMIS: In the eLMIS

Status in OpenLMIS: Not implemented

Priority: High


The goal is to enable OpenLMIS to split products within a requisition by supply partner, so that each partner only supplies the products they are configured by the administrator to supply.


Requisition Splitting - Extension Scenario Analysis is the background of the OpenLMIS team's assessment of how to achieve this by extensible means.

Currently, the Zambia eLMIS team have built an enhancement which is able to split the products defined by a facility to different defined suppliers. The Ministry of Health relies on MSL for its supplies of products. However,  some other Organisations can also supplement with the supplies and that case referred to as a supply partner. Currently, CHAZ (churches Association of Zambia) has a number of facilities which they supply certain products. In this case, the facilities do the normal requisition process except the system splits out the products so that the intended supply partners are able to view and supply the product.  In that way the, two supply partners cannot supply the same product to the same facility. The supply partners will have to be defined in the system.

In Zambia, Chaz has been defined and apparently serves 59 facilities and 36 products under the ARV program. See picture below.
So when an R&R is sent from one of the defined facilities, the requisition goes through the normal process except it will be viewed by CHAZ if the products being requested are within the products that CHAZ supplies. If some products cannot be supplied by CHAZ, then part of the requisition goes to MSL for supply. In this case, CHAZ will only view what it can supply and MSL can only view what it can supply.  


  • Requisition is split after first approval
  • Once requisitions are split, they cannot be merged back together
  • This feature has been broken out into two epics:  OLMIS-4842 - Getting issue details... STATUS  and  OLMIS-5642 - Getting issue details... STATUS

User Stories



User Story





1Configure Supply Partners

As administrator, I need to configure multiple supply partners so that requested products are supplied by one predefined partner.

  • Configure supply partners by program, supervisory node, facility
  • One supply partner per product - different suppliers will not supply the same product
  • View & edit supply partners associations

Must have

OLMIS-5137 - Getting issue details... STATUS

OLMIS-5353 - Getting issue details... STATUS

OLMIS-5355 - Getting issue details... STATUS

OLMIS-5143 - Getting issue details... STATUS

OLMIS-5622 - Getting issue details... STATUS

OLMIS-5140 - Getting issue details... STATUS

OLMIS-5628 - Getting issue details... STATUS

OLMIS-5354 - Getting issue details... STATUS

OLMIS-5623 - Getting issue details... STATUS

OLMIS-5643 - Getting issue details... STATUS

OLMIS-5356 - Getting issue details... STATUS

OLMIS-5614 - Getting issue details... STATUS

OLMIS-5658 - Getting issue details... STATUS


The following screenshots are from eLMIS Supply Partner configuration screens:

See process on adding supply partner

Defining a supply partner. Note the fields involved i.e Source program, Destination program, Supervisory node, Requisition group, Facilities, products and action.

Clicking on facility eg. '59  facilities' will bring the below screen. 


Clicking on product e.g '36 products' will bring screen below


Gap Estimation Notes

  • Attendees: Josh, Mary Jo, Brandon
  • We would build this in core product, not as extension mechanism.
  • We would build admin screen to configure which products are supplied by an outside partners.
  • This also might be partly supported by product registry.

Edge case questions:

  • Should we support a split requisition with zero requested qty? The approver might want to enter an approved qty.
  • What do approvers need to view? Supplying partners can view requisitions related to their configuration. Approvers or MOH may want to see all requisitions. (See Requisition Splitting - Extension Scenario Analysis)
  • May need another right for "manage supplying partners"

Notes from 8/30/18 meeting

Attendees: Chris Opit (Unlicensed)Chongsun Ahn (Unlicensed)Joanna Szymańska (Deactivated)Łukasz Lewczyński (Deactivated)Nikodem Graczewski (Unlicensed)Sam Im (Deactivated)

Splitting requisition workflow in eLMIS (screenshots below):

The requisition split happens when the requisition has been approved by the district. This is the workflow:

  • Step 1: Requisition is submitted and authorized - user either enters same amount from calculated order quantity into the requested quantity, or different amount into requested quantity. Total cost and packs to ship are updated based on requested quantity. If requested quantity is null then total cost and packs to ship are calculated based on calculated order quantity. The following screenshots show initiating a requisition, entering the same and different amounts in the requested quantity, and the product information to show how pack size is defined. The total cost is zero in these requisitions because Zambia does not have a price per pack in the product details.

    • Step 2: District supervisor reviews quantities and can edit the approved quantity. If approved quantity is edited (different than requested quantity) then approved quantity is used to calculate packs to ship and total cost.
    • Step 3: District supervisor approves requisition. Requisition status is In_Approval. The supervisor can see the calculated order quantity, requested quantity, and make edits to approved quantities as needed. Total cost and packs to ship should update as approved quantities are changed.

    • Step 4: Requisition is split (One for standard program, and one for CHAZ)
      • Standard program requisition shows requested qty amounts as zero, approved qty as zero, and packs to ship as zero for the amounts supplied by CHAZ 

 Per the screenshot from Ashraf the view shows approved quantity, requested quantity, packs to ship as they were entered, nothing is zeroed out.

  • CHAZ requisition where CHAZ can edit the approved quantity, and then approves the requisition.

 Ashraf or Chris Opit (Unlicensed) can you provide screenshots that show each of the columns approved quantity, requested quantity, and packs to ship for a CHAZ requisition?(Is requested qty only hidden from CHAZ? Is there any trace back to what was originally requested?)

  • Step 5: Customer service center reviews CHAZ requisition and is allowed to edit approved qty, they complete final approval. Standard program requisition goes through normal approval workflow. 
    • Step 6: CHAZ can log in to see status of requisition (what else happens here? if requisition is not approved they can contact whoever is necessary to move the approval along)  This was removed because it is part of step 4.
    • Step 7: Warehouse converts the requisition to an order, the CHAZ requisition is converted to a csv file and then sent to dropbox. Then uploaded into their system automatically.
    • Step 8: CHAZ can log in to see the approved requisition and packs to ship (compare what is uploaded in their system to eLMIS?)   This was removed because it is part of step 4.
    • Outside of eLMIS - Step 9: CHAZ determines how much they will fulfill and fulfills the order
    • Step 10: Released Requisition can be viewed and shows the standard program and CHAZ requisition as one requisition, with comments on products that were supplied by CHAZ.

Discussed changes to the workflow based on this feature - OUT OF SCOPE for 3.5:

Step 6: CHAZ logs in when requisition is approved and has been split to see the packs to ship. They have ability to change packs to ship to match what they will actually fulfill. (This is a want vs need because we don't know if CHAZ would actually use this capability, but it would increase accuracy for OpenLMIS.) This feature is not included in 3.5 release. (Ashraf and Elias Muluneh)

Potential problems:

  • After Chaz has supplied the facility, we don't know how much was really supplied by the facility (Chris Opit (Unlicensed) is this actually a true statement? If the Proof of Delivery has the actual fullfilled quantity, is that input into eLMIS?) Fulfillment by supply partners is out of scope for this feature.
  • What is the benefit or purpose of zeroing out the requested quantity? Are there any concerns with doing this in OpenLMIS (reporting impact or other problems?) Does understanding what has been requested vs what was actually fulfilled help determine whether the facility is overstocked, stocked out, stocked according to plan, etc?
  • What happens if a requisition is rejected? 

Potential development tasks/tickets: (Chongsun Ahn (Unlicensed)Nikodem Graczewski (Unlicensed) this is not a complete list, so please add any other ideas)

  • Supply Partner model
  • Administrator configuration screens to configure product lists and supply partners ( OLMIS-5353 - Getting issue details... STATUS  and related tickets)
  • CHAZ or other supplier needs access to log in to view their requisition, edit approved quantities, convert to order (Joanna Szymańska (Deactivated) this is not a dev ticket, but should be a testing scenario)
  • Split requisition after approval ( OLMIS-5142 - Getting issue details... STATUS )
    • Identifier (comment? remark? other?) for each orderable of who supplied?
    • When requisition is split, and after its approved, the order no is different than the "standard' order no.
  • Determine if there are edge case scenarios that must be supported (for deleting, rejecting, editing approved quantities at each approval step) - Answered: once a requisition is split, it cannot be reverted back to "combined" requisition.
  • Verify format for csv matches expected format (Joanna Szymańska (Deactivated) this may also be a testing scenario only)

    Why is there approved quantity for CHAZ requisitions?CHAZ just looks at the packs to ship, they don't modify the requisitions. They have access/rights to edit approved quantities in their requisitions.
    Does CHAZ approve the requisitions in the eLMIS?They don't, the requisition is converted to a CSV and dropped in the Dropbox.
    Is the process of converting requisition to a CSV automatic in eLMIS?Yes, it is.
    Would it be useful if CHAZ could see the requisition screen and approve specific quantity?

    Yes, the district supervisor might not know what is in the warehouses. Based on screenshots provided by Ashraf this can happen and does already in eLMIS.

    Is there a view for supervisor to display the combined requisition?No, there isn't. The original requisition has requested quantities set to 0 for products supplied by partners and a comment is added to the line item to indicate that.
    Is there a scenario when CHAZ has no supply?

    There might be, but CHAZ is responsible for making sure they can fulfill orders.

    Is the warehouse actually approving? Could they reject?Possible, but rare, warehouse team can change the values in the WMS though (provide X instead of Y quantity).
    Should CHAZ be able to fulfill order through OpenLMIS?

    Not the original goal, but would be really useful.

    If CHAZ could log in to the OpenLMIS, would they do it?They actually do for eLMIS. They log in and can edit approved quantities.

Other important notes:

  • Supply partners do not have duplicate product lists, each supply partner has their own discrete list of products they supply to designated health facilities. There aren't scenarios where a product is supplied by more than one partner for the same facility.

OpenLMIS: the global initiative for powerful LMIS software