Needs Attention RTM Alert

Target release3.3
Epic

OLMIS-4106 - Getting issue details... STATUS

Document status
IN PROGRESS
Document owner
Tech LeadJosh Zamor

This to track discussion and decisions made about user story #3 on "Automatically trigger 'needs attention' status/flag/indicator on D. Remote Temperature Monitoring (RTM).

For the automatically triggering of "Needs attention" status/flag/indicator, we talked about how we need some sort of "formula" where the RTM data can trigger the flag. However, the parameters will be set up in ColdTrace, not in OpenLMIS. 

Current CCE inventory Screen:

Insert the Order Fulfillment page where the flag needs to be visable


The ColdTrace API

The current design of the API is outlined here: https://docs.google.com/document/d/1cwdTIOtPbuf1O2_s5BPgEKEAps9HyU4A9TEbM6Owmk0/edit

will provide the following:

  • alert_id [string] - opaque identifier (UUID etc)
  • device_id [string] - identifier defined by partner system (FHIR device id, serial number, etc).
  • start_ts [int] - microseconds since epoch
  • end_ts [nullable] - microseconds since epoch
  • status [map[IETF_lang_tag (i.e. “en-US”): string]] - Translated - Human readable description of the alert in the configured languages for the integration
  • alert_type [string] - predefined set of alert types [temp out of range, uptime out of range, etc...]

Example:

{
    "alert_id": "f531125d-c54f-4968-95cb-51d260fb67dc",
    "alert_type": "warning_hot",
    "device_id": "a3df0045-1c69-471f-a504-4c9bfc8525b4",
    "end_ts": null,
    "start_ts": 1514793600000,
    "status": {
        "en-US": "Equipment needs attention: too hot"
    }
}


ColdTrace sets the Conditions for all the alert_types.

For example, Needs attention hot:

Conditions (any of the following): 

  • > 30% time hot

  • >= 5 hot alarms

User Stories

User StoriesTicket

As a CeCe/Chappie, I'd like for my CCE inventory to be aware of alerts raised by my Remote Temperature Monitoring service so that when I see my CCE inventory I also see what alerts are being raised.

OLMIS-4105 - Getting issue details... STATUS
As a CeCe/Chappie, I want to view the RTM "flag/alert" raised by my Remote Temperature Monitoring service so that when I see my CCE inventory I also see what alerts are being raised. OLMIS-4127 - Getting issue details... STATUS
As a CeCe/Chappie, I want to dismiss the RTM "flag/alert" raised by my Remote Temperature Monitoring service so that I know I have reviewed the alert and made the necessary updates. (Could be updating the functionality status, ignoring it, etc.) OLMIS-4129 - Getting issue details... STATUS
As a Philomena, I want to see if there is a RTM flag/alert, raised by my Remote Temperature Monitoring service, on the equipment of the ordering facility so I know I know if there are active alerts on the equipment which may impact how much stock I send.  OLMIS-4125 - Getting issue details... STATUS
As CeCe/Chappie, I want my CCE inventory alerts raised by my RTM to be dismissed by my RTM service when the alert end date is shared so that I am not seeing outdated alerts.

Mock Ups

Balsamiq Mock Ups (editable)


CCE Inventory

Order Fulfillment

Open Questions:


QuestionOutcomeStatus
1What is the 'status' flag in OpenLMIS? Is it a checkbox? What is the visual element which will be either turned on or off based on the message from ColdTrace.Discussing a 'bell' icon which will have two states initially (discuss snoozing in the future). Active (filled in) and deactive (outline)Closed
2How to calculate "last 25 days." I was assuming that we would calculate the 25 days by just counting 25 days back from whatever today’s date is. So the 25 day-range for today starts on Sep 30, the 25 day range for tomorrow starts Oct 1, etc.Will be addressed in ColdTrace, not in OpenLMIS. The alert conditions will be defined in ColdTrace.Closed
3

Should "needs attention" flag/indicator also be automatically un-checked once fridge is back to normal functionality?. Ok, so using that assumption, here’s the scenario I was trying to describe about how to figure out when a “needs attention” checkbox should be un-checked.

Scenario: The fridge has been in temperature range for 79% of the time for 25 days, and so the RTM sends the alert to OpenLMIS to automatically trigger a “needs attention” status. Two days later, the fridge has been doing better and has been in temperature range for 81% of the last 25 days.

The dismissing of alerts will initially be done by alert versus by device. The second iteration we can address dismissing all alerts for the device.In progress
4Does the needs attention checkbox remain unchecked until a DIVO unchecks it? Or should the RTM system send a separate “uncheck” call to OpenLMIS to automatically un-check once the fridge is back within that 80% range? Or maybe the system just runs the formula every night, so that if tomorrow the fridge is doing better the box won’t get checked? I think probably the last option makes the most sense, but there are some other questions that it brings up as well. Such as: (see next open question)Current working assumption is that a user would manually need to override (still determining what override means) the Needs Attention flag.
5What if the RTM sent that flag but the DIVO wanted to manually uncheck it? If the fridge is out of range tomorrow also, would the system show that flag again? Or do we want to give the DIVO the option to “snooze” the flag for a certain period of time? Keep in mind that what I’m imagining here isn’t like a pop up notification or something that would be really in-your-face. It would be like a little icon or checkbox within the CCE inventory list next to the functionality status.For 3.3 we will work to build a dismiss but not a snooze or more complicated process. Essentially it is an "off" until it comes again.In progress
6In what scenario would a DIVO want that flag/checkbox to go away? Is there any reason they’d want it to go away while the fridge is still having issues?

Will send the alert at the start and end.

We could put in a automatic dismiss when the end alert comes.


7How much historical data do we want? Do we want this to feed into the DISC alert indicator?

8How do we want to display the start/end timestamp for an alert? Just the date? Date and time? "minutes/hours/days ago"?
Currently, we have not displayed an actual time in OpenLMIS.
See the example, addressed. Closed


Old Notes:

 Based on a conversation with Ana Costache, we'd like to start with these parameters:

  • Normal fridge function: Fridge is in the 2-8 degree range 80% of the time or more over a period of 25 days
  • Needs Attention / abnormal function: Fridge is within 2-8 degrees LESS than 80% of the time, over a period of 25 days

We'd like these to be configurable, but these represent a good starting point.