Notification for low stock

Description

As a storeroom manager, I want to get notifications for when my facility has low stock of a product in my program(s) so I can take decisions (such as making an emergency requisition or an ad-hoc issue) to ensure consistent supply of the product at the facility.

Acceptance criteria
Verify That:

  1. Low Stock notification for a product is sent to the defined recipient when Stock on Hand <= Min Stock Quantity

  2. Recipient is the user with "Edit stock inventories" right for the facility/program can you help define what right combo is needed to determine who receives the notification?

  3. Notification shows Product Name, lot information, current stock amount, and Minimum quantity (MinStock) following the template below

  4. When the user receives a notification, clicking on the notification takes them to initiate a requisition for that program, facility combo.

  5. The Initiate a Requisition page will have the specific Facility type, Facility, Program, and Requisition type selected for that low stock product.

  6. The pre-selected Facility type and Facility should be the facility of the low stocked product

  7. The Program should be the Program associated with that low stocked product

  8. The Requisition type should be Regular.

  9. The Initiate a Requisition page should show the search results from a search conducted with these field inputs.

  10. Email body text appears as follows:

Email Template
– START –
Subject: Low stock Action Required: <Facility name>, <Orderable name>
Body:
Dear <user_name>:
This email is informing you that the stock on hand for <Orderable Name + Lot information> in <program name> at <facility name> is <SOH> as of <date it went to that level>. The minimum level for <orderable name> is <MinStock>.
Please login to view the bin card and take action <url link to View BIN CARD>
Thank you
– END –

Example URL for BIN CARD: https://test.openlmis.org/#!/stockmanagement/stockCardSummaries/72d4f0c6-a10e-49ae-bb47-d21a52147064?facility=e6799d64-d10d-4011-b8c2-0e4d4a3f65ce&program=10845cb9-d365-4aaa-badd-b4fa39c6a26a&supervised=false

Not in Scope

  • if a user does not have an email, no notification is sent

  • snoozing of notifications

NOTES:
If stock on hand reaches Min Stock level, notification gets sent out. (SOH is equal to or less than Min Stock level.)
Notification goes to only people who are managing that stock. User has that facility as their Home Facility AND they have to have that stock's program rights.
No stock notification goes to same person and to supplier? or next level supervisor?
To ask: When there's no stock, who do we notify? Open question

Activity

Show:
Rachel Powers
July 24, 2017, 9:38 PM

, based on some discussions that we've had today with our vaccines team, we'll want the link in the email to take the user to a routine requisition in the requisition initiate pre-populated with the product that is at a low stock level. (SOH is less than or equal to min stock.)

Question for you-- if there is a low stock level for two or more products, can we have all those products pre-populated in the requisition initiate?

Paweł Gesek
July 25, 2017, 9:31 AM
Edited

what if the there already exists a regular requisition for the current period? What do you mean by pre-populated with a product? Are we talking about non-full supply products here? Or do you mean we should pre-populate values for full-supply products (to what?)?

before leaving mentioned that we just want to get the user to the initiate screen and pre-populated the program/facility. If we want to create a requisition for the user and pre-populate it's contents, then this is all new stuff that we will have to add on the UI.

If we want to automatically create a requisition for a user based on him clicking a link, there will need to be some new service in the UI handling this and doing the POST request to the backend underneath. How should this pre-population be handled? Based on what's in the link the user clicked on? i.e. we add params like ?p01_beginningBalance=1000 , or do we want to fetch this underneath from stock management somehow? (don't think we have this dependency there yet)

Paweł Albecki
July 25, 2017, 5:03 PM

How should I find value for Min Stock Quantity? Is it already implemented in Stock-Management but I can't find it or should I create possibility to set it for every implementation through environment variables?

Rachel Powers
July 25, 2017, 8:24 PM
Edited

All righty. , you are correct in that this will be really complicated the way that we've laid it out. Given that, and I just had a discussion on the best way to move forward on this, since pre-populating the routine requisition will be a big undertaking and not something that we're ready to take on right now.

I've made changes to the acceptance criteria to reflect the new strategy. Essentially, the link in the email will take the use to the Initiate a Requisition page with the Facility type, Facility, Program, and Requisition Type pre-selected for the criteria of that low stock product. Since the low stock notification will be triggered by a specific product at a specific facility, we should already know the facility, facil type, and program.) And reordering a low stock product should be done through a Routine requisition.

Please see attached annotated screenshot for further explanation.

Please see the updated acceptance criteria above and let us know what your additional questions are.

Brandon Bowersox-Johnson
July 25, 2017, 10:38 PM

Team ILL had a few meetings today and decided that we need to hold off on this ticket and instead of this one we want to proceed with a slightly easier ticket that is nearly identical: OLMIS-2873. Please take a look at that other ticket and--if you agree--please remove this ticket from the current sprint and add the other one instead (and assign it).

Why?
The concept of 'low stock' actually has some tricks because the data for "minPeriodsOfStock" is not quite enough to trigger a notification. So we need to wait until we have an "ISA" (ideal stock amount) value in the software, which is a future ticket we are currently starting to write. Once we have that data in OpenLMIS, we will come back and work on this Low Stock Notification ticket. Sorry for any confusion here--but the ticket we want to do instead is very similar but easier to do now.

Let me and know if you have any questions.

Assignee

Unassigned

Reporter

Rachel Powers

Labels

Story Points

5

Time tracking

0m

Time remaining

19h 30m

Components

Priority

Major