Orderables (Products)

Target release3.3
Epic

OLMIS-2706 - Getting issue details... STATUS

OLMIS-2707 - Getting issue details... STATUS

Document status

IN DEV

Document owner
Technical Lead

Goals/Scope

The goal of this requirements page is to document the feature of Orderables administration screens and the associated user stories. Administration screens for Orderables allows the administrator to view, edit and research Orderables to assist the administrator with data corrections.

  • Scope: This feature includes stories on:
    • View list of Orderables
    • Search for specific Orderables
    • Edit Orderables details
    • View and Edit Associated Lots, Trade Items, and/or CommodityTypes
    • Facility Type Approved Products (this is a separate process not completed through Orderables)
    • Configure Product ISA (This was moved out of Admin screens)


Background

  • Version 2 has Products but Version 3 has Orderables, Trade Items, and CommodityTypes

Assumptions

  • Potentially hundreds of Orderables per Program that can affect performance

User Stories

  1. Admin searches for orderable: 
    1. What information does an admin need to make their search more effective? Why are they searching for orderable? Incorrect associations?
      1. Scenario: Product is not showing in requisition, I need to check if its associated with a program and facility type
      2. Scenario: I want to update price per pack (frequently) per product or in bulk
      3. Scenario: I want to change my max stock level (FTAP)
      4. Scenario: I want to change the display order
      5. Scenario: I want to add a new lot (per product or bulk change)
      6. Scenario: Changing a product from active or inactive
      7. Scenario: I want to change the product from full supply to non full supply
      8. Scenario: I want to update the product name. Not ideal but sometimes the product is misspelt, or has additional endings which make it more/less complicated (E.g. Now it reads Nevirapine 100mg, the MOH has decided to code these items and it should read Nevirapine 100mg (1a))
      9. Scenario: I want to update (add or remove) the association to facility types.
    2. How are orderables, commodity types, and trade items structured in the database for this type of view? What changes need to be made so that we can create a view that has all associations? 
    3. When price needs to change, where should it be changed to reflect to the system correctly and efficiently? What are all the relations in the database for Orderables? Need to understand impact and reference ERD. Document these associations and link to OLMIS-3323.
    4. Do they need to see Orderable Type?
    5. Sort by Name, filter by active/inactive. A product can belong to multiple programs, multiple facility types
  2. Admin adds new orderable
    1. New process: User clicks +Add → User must select if they are adding Commodity Type or Trade Item → Then is directed to the page to begin entering required fields (separate screen for Commodity Type, separate screen for Trade Item) → Then user is directed to modals to complete the required associations (programs, trade items, lots depending on the CT or TI previous selection) 
    2. Descriptive text to explain what a commodity type or a trade item is so they go through the correct process. Explain that you can't switch it once it's been created. 
    3. How do we enable lots for an orderable once its been created? Via some module when editing an orderable?
  3. Admin edits existing orderable details:
    1. Following editable fields: Active (what happens if they mark an orderable as inactive?), Full Supply, Display Order, Price per pack, Pack rounding threshold, pack size, round to zero, dispensing unit
      1. An admin marks an orderable as inactive to remove it from the list of orderables in a requisitions. (Should they do this by removing it from Facility Type Approved Products? What impact does that have on reporting and requisitions if they can remove orderables from FTAP?)
    2. Should the admin be able to edit all these fields? Are there any restrictions? Are there any impacts to making edits to fields such as pack rounding threshold during the requisition period?
      1. There are specific fields that should have validation and notifications that they cannot change. For example dispensing unit impacts reporting and requisitions. An indicator near the field shows that its read only because changes break calculations. 
      2. Pack Rounding Threshold, Pack Size, Round to Zero, Doses Per Patient 
      3. Dispensing Unit add details to help admin understand what this is (put an icon or descriptive text that this is a descriptor for the product name that helps inform people in ordering) 
      4. The only way to make the "change" would be to create a new orderable.
  4. Admin wants to see which orderables are missing associations
    1. This would also require verifying whether FacilityTypeApprovedProduct exists for this orderable-facilityType-program association as they ultimately define which products are available when initiating a requisition. But +1 this is a common case.
    2. What other types of missing configurations?
    3. Orderables that aren't associated with a display category
  5. Data updated in bulk via csv (This is a future requirement and not prioritized for  OLMIS-2707 - Getting issue details... STATUS )
  6. Admin edits existing orderable associations:
    1. change associated trade items?
    2. change associated programs?
    3. change associated lots?
  7. Doses per Patient
    1. This needs to be researched a little more to understand the impact of making changes and the expected results. This relates to Vaccines. Should this be editable?
#TitleUser StoryLabelImportanceJIRA Tickets
1View and Search OrderablesAs an admin I need to view orderables and their associated details so that I can confirm the system setup and troubleshoot an issues with setup.
  • Admin can view complete list of orderables in the system
  • Admin can search for specific orderable by free text or selecting a Program
  • Admin can select an orderable to view all details associated with the orderable and Associated Programs
Must Have
2Create/Edit Orderables

As an admin I need to edit orderables details so that I can update or correct data.

  • Edit orderables details such as Product Code, Name, Dispensing Unit, Net Content, Pack Rounding Threshold, Description
  • Create new orderable
  • Assign Programs to the new orderable
  • Associate Lots, Trade Items or Commodity Types (where applicable)

Must Have
4View Orderables associations

As an admin I need to view all associations for an orderable so that I can troubleshoot missing associations.

  • View specific Orderable's Associated Lots, Trade Items, CommodityTypes
  • View or filter by Associated Lots, Trade Items, CommodityTypes
  • Report missing associations

Must Have
5Bulk upload

As an administrator/implementer I want to complete a bulk upload of orderables so that I don't have to manually add them.

  • bulk upload via csv 
  • add new products
  • mass edit to specific field (such as display order or others) 

Nice to HaveTBD

Diagrams


Dependencies

DescriptionLink


Open Questions

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

#QuestionOutcomeStatus
1How do handle archiving?Open - Need meeting with Josh Zamor
2How does changing specific fields in Orderables impact requisition calculations? Should we allow changes to Orderables fields such as pack size, active/inactive?
Ideally, any changes to orderables wouldn't affect requisitions that have already been initiated. The requisition should snapshot the version of an orderable at initiate and use the same properties throughout the whole requisition lifecycle (price per pack, pack size, active/inactive, etc.)
3Should Facility Type Approved Products also be available in this Orderables view? Should it be editable?
Based on above user scenarios and notes, there is a strong connection to how the Orderables are associated in Facility Type Approved Products. This may make more send to have in the same page as viewing all other orderables associations.
4GDSN, how to handle future?
Josh Zamor to add more details to this question
5How do we handle deactivating? 
OLMIS-3282 - Getting issue details... STATUS

Out of Scope

  • Migration from Orderables to a Trade Item or Commodity Type when they are defined (suggestion is that the product would be set up as a new Trade Item or Commodity type but this affects historical reporting on the program).

OpenLMIS: the global initiative for powerful LMIS software