Non-Full Supply products performance improvement

Target release
Epic OLMIS-4251 - Getting issue details... STATUS
Document status
DRAFT
Document owner
Technical Lead

Goals/Scope

  • Malawi experiences poor performance when initiating a requisition and selecting the Non-Full Supply tab. It is suspected that the performance is poor due to the number of Non-Full Supply products (2,000 or more).

Background

Per the Non-Functional Requirements - performance the goal for Non-Full Supply products support is 10,000 products. 


Assumptions

Proposed Options


Option 1: Online onlyOption 2: Frequently ordered productsOption 3: Combo!Option 4: Repurpose Add Products modal

Description

Value:

  • Require users are online-only 
  • Remove offline support for Non-Full Supply Products list

Value:

Cached “frequently ordered products” list of 500 non-full supply products list. 


Value:

Combination of Option 1 & 2 where 500 non-full supply products always available offline with improved performance, and FULL non-full supply products list is available online with known existing performance delay 


Value:

Reduces clicks by user because they can select more than one product to add at a time.

Configuration
  • Configured at the program level
  • Not configurable by facility type
  • System determines frequently ordered products list based on history
  • Frequently ordered products limited by 500 products


  • System determines frequently ordered products list based on history
  • Frequently ordered products limited by 500 products
  • Full list is available when online only
  • Configured at the program level and requisition template
LOE



Performance Must perform better than current performance

Need to test existing modal functionality with 2,000 - 10,000 products
User Experience

Admin: 

  • Configured by admin for each program

End-user:

  • Visual indicator or comment on the page when the user is initiating a requisition that explains the full list of NFS products is only available when online.

Admin:

  • No additional configuration required by admin

End-user:

  • User only has access to 500 most frequently ordered products when offline.
  • They must go online to access the full list.
  • Visual indicator or comment on the page when the user is initiating a requisition that explains the list of products is a subset, and the user must be online to view the entire list.

Admin:

  • Configured by admin for each program

End-user:

  • Visual indicator or comment on the page when the user is initiating a requisition that explains the full list of NFS products is only available when online.

Admin:

  • Configured by admin for each program and requisition template


End-user:

  • Ability to 
Questions
  • How would the system determine history? When would the call be made, during initiate, or during selecting the non-full supply tab?
  • Will this improve or decrease performance?

  • Should the modal also allow for filtering columns?
  • Should we require a character minimum before search results are returned?
  • Search should be by product code and/or product name?


Option 4 screenshots:

Open Questions

Below is a list of questions to be addressed as a result of this requirements document:

#QuestionOutcomeStatus
1

Existing Non-Full supply user experience issue:

When the user clicks the Non-Full Supply tab, they are required to select the Product Category first before they can select a product. Malawi has made a workaround for this by creating a category of "Non-Full Supply" with all non-full supply products in this category. This is an additional two clicks for each product they add, and very annoying. Will removing this category as required be part of this improvement?

Out of Scope

OpenLMIS: the global initiative for powerful LMIS software