Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

Target release3.6
Epic OLMIS-1094 - Getting issue details... STATUS
Document status
DRAFT
Document owner
Technical LeadWesley Brown

Goals/Scope

This list is in priority order:

  1. Consolidated notifications
    • Customizable rules for consolidation
  2. Add SMS as a notification channel
    • Configurable to use SMS or email
  3. Administrator customization of notification messages
    • Notification messages support tokens
    • Customization of notification text for SMS and email
    • View history of sent notifications, maybe as an adhoc report (this is a future goal - what is the value of this?)

Background

  • Different countries have different protocols and customs on how they notify individuals for different message types and what to say.
  • Email notifications are supported for Requisition, Stock Management, Fulfillment, and User Password management. 
  • Other related meeting notes: Meeting Notes: OpenLMIS Notification requirements, See "What are the needs" section of User management - Opting out
  • Emergency requisitions and reset passwords are types of notifications that override user settings to opt-out. These notifications are always sent.
  • The Who below is defined using User Personas.


Requirement #1: Consolidated Notifications (Notifications Daily Digest)

  • Enable consolidation of notification messages so the user doesn't receive multiple notifications that are not time-sensitive
  • Daily digest of notifications

User Scenarios:

Roy or Sophie (the storeroom manager): a user who needs to receive notifications for their facility only - the current notifications are acceptable for this user (email notifications by a status update) this user probably doesn't need consolidated emails

  • Problem: the user would prefer SMS or high-level notification for rejection type notifications
    • Value: user knows to act on notification immediately

Raquel or Apu (District Supervisor or has responsibilities for multiple facilities): a user who needs to receive notifications for facilities they supervise - this user receives many notifications and desires consolidation, this user only needs to receive an email notification when an action is required by them (Example: District supervisor who supervises 50 facilities, only wants to see ONE email notification instead of 50, or actually 50*3 for every status change)

  • Problem: receive a lot of notifications and can't filter through them to determine what to act on, doesn't help them do their job, ignore notifications because there are so many, they don't receive notifications when it would be helpful for them to receive one - when a requisition hasn't been approved for # of days, hasn't been submitted for # of days
    • Value: The user is notified when they have work to do, assists them with their job and prioritizing tasks
    • Value: Receiving summarized notifications for # of requisitions per facility (instead of an individual email notification for each requisition status change at each facility they supervise)

Sulu or Chappie (monitors health of supply chain or views status across multiple facilities): a user who logs in occasionally 

  • Problem: What is the problem this user has with current notifications if any?
    • Value: What is the value we want to provide for this user?

Question: Does this type of user need to receive notifications?

Requirement #1a: Configurability

  • Configuring which notifications can be consolidated 
  • Configuring time that notifications will be sent (once daily)
  • Enable selection of which channel to use to send a notification (SMS or email) 
    • For the first iteration, is it acceptable to have a default configuration for each notification class (listed in Open Question 7 below), and then allow for configurability in a future phase?
  • Resend notifications (future release?)
  • Timebound notifications (future release?)
  • Disable notifications for unused services (example: Malawi has stock management but does not use it and could potentially receive stock management notifications that are not used)
    • Is this really needed? Can this be customized by roles?

User Scenarios:

Adam the administrator: an administrator or implementer that needs to configure notifications to send via SMS or email depending on the type or importance of the notification

  • Problem: Current email notifications have no obvious level of importance to the user that receives them
    • Value: 

Raquel or Apu (District Supervisor or has responsibilities for multiple facilities): a user who needs to receive notifications for important actions that must be completed quickly and doesn't care about other types of notifications (Example: this user doesn't care about requisition status changes, they only care about a requisition pending approval or an emergency requisition)

  • Problem: What is the problem this user has with current notifications, any? What is the problem that we want to solve for this user?
    • Value: What is the value we want to provide for this user?

Requirement #2: Support SMS channel as an option for notifications

  • Configuring notifications to be sent via SMS.
  • Admin can select to send notification via SMS and/or email
  • Requiring a phone number for a user, and if a phone number doesn't exist then the user would receive an email instead. 



Requirement #3: Administrator customization of notification message templates

  • Ability to configure and change the text used on email or SMS notifications template.
  • Research using RapidPro or another existing service (Team Ona uses RapidPro)
  • Support a more digest-like notification rather than a facility-specific notification (as shown in the example below
  • Must be able to put values from the database (support tokens) when editing text 

Background:

  • Notification message text was drafted in consultation with program managers
  • The system is connected to a third party SMS gateway or Email system
  • Status in eLMIS: Implemented.
  • Status in OpenLMIS: Partially Implemented. Implementers can change by editing the strings in each service. Values can come from the database.

    Priority: High priority for Tanzania, Zanzibar, Zambia

Adam the administrator: the administrator or implementer that needs to customize the text to be used for different types of notifications

  • Problem: The current notification template is generic and not meaningful to the user
    • Value: Enable customization of the notification text so that the admin can modify text for different notifications, and notification channels

Example:


Assumptions

User Stories


#TitleUser StoryLabelImportanceNotes
1

2




Diagrams

Existing notification workflow for requisitions is located here: Requisition States and Workflow

  • Need workflows for Stock Management & Fulfillment, and User password notifications

Dependencies

DescriptionLink


Open Questions

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

#QuestionOutcomeStatus
1Is  OLMIS-3796 - Getting issue details... STATUS  still required? SMS needs to be included in the feature set. Multiple countries mentioned that cost is not a concern as phone companies provide messages for free.Answered
2

If SMS is no longer required - are there any requirements in Notifications - Push Reminders that we will need to support? 

Push notifications from an admin to all users happen through JIRA. Is this enough?

Only user stories 1 and 2 are required for the initial version: 

  1. Add SMS as a channel for notification
  2. Notification for Rejected requisitions by SMS or email based on configuration

Answered -

#3 - Log of SMS and email notifications sent (may be included in scope if this can be done efficiently in 3.6)

3Phone numbers are already captured in User Profile page - but there is only minimal validation on format. Is this required? It would be required if SMS is included in this feature.Phone number format validation needs to be updated.Answered
4Need to research solutions for customizing messages in other languages Messages need to be configurable but not localizedAnswered
5Who is the user that logs in occasionally? Do they need to receive notifications to remind them to log in and check something?Understanding this user will help us ensure we support notification scenarios for this user.Wesley Brown to confirm
6

Are there more types of notifications that could be categorized as high level? 

Helps us understand which notifications would override a user's opt-out preferences.Wesley Brown to confirm (maybe with help from Nikodem Graczewski (Unlicensed) to understand current state - emergency requisitions, reset password, are there others?)
7

Should we classify types of notifications so that we all agree on terms to use? 

Informative notifications: Requisition status updates (would notifications about upcoming system updates, planned system outages be included in this classification?)

Action-based (action-oriented) notifications: Notifications that require the user to log into OpenLMIS to take action, some action-based notifications would override the user's notification preferences such as emergency requisitions or reset password email notifications.

Time-bound notifications (or reminder notifications?): Notifications that remind a user something needs to be done, or hasn't been done yet - should be done


Are there default settings for each notification class that would be acceptable?

  • Informative notifications: defaulted to email (and scheduled email only once a day - for requisition status updates)
  • Action-based: defaulted to SMS or email (with Action required or links in the email to complete an action)
  • Time-bound: defaulted to scheduled email (once a day?)

What classifications should be used for notifications of system updates or planned system outages? This is a message that is configured by an administrator and then set to all users. (Malawi example, or is slack good enough?). 

Gain agreement on terminology so we understand what notifications are supported and must be supported. Helps explain the value and use for each type.

Sam Im (Deactivated): This is a design discussion. This does not mean that notifications must be designed with a classification but is used to help us understand the value of notifications for each user. FYI Wesley Brown


As of Dec 18th, and discussed in PC Meeting on Dec 18th:

Two types of notifications will be supported in 3.6: Urgent and non-urgent

Urgent: Emergency requisitions, password reset

  • Need to add support for Reject notifications as an urgent notification that overrides opt-out settings. (per question #2 requirements)

Non-urgent: all other notifications

Other classifications may be discussed for a future release

8

What are other generalized needs for requisitions and stock management notifications that we may need to consider in the future design - but allow for in our current design?

  • Customizing stock management notification messages
  • Configuring stock management notifications via SMS or email 
  • Push notifications
  • Resending notifications (what are the use cases we would need to support?)
  • Disabling notifications

9Are we supporting fulfillment notifications in 3.6 scope? 
Wesley Brown to confirm (maybe with help from Nikodem Graczewski (Unlicensed) to understand current state of fulfillment type notifications)
10

Design questions: 

  • Are we required to allow users to opt-out of SMS notifications?
  • Should we allow users to override SMS notification settings?
  • Should users (in their own user profile) be allowed to choose SMS instead of email?
  • What types of limitations in characters should be required for SMS? Should this message be different or shorter than the email notification?
  • What happens if SMS is configured for notifications, but there is a problem sending SMS or receiving SMS? 
  • Rejected requisitions should override opt-out settings

Out of Scope

  • Stock management notifications: configuration and any changes to notifications will be some future release
  • CCE notifications: configuration and any changes to notifications will be some future release
  • Push notifications: A supervisor dashboard/interface for late reporters to push notifications to different levels, with customizable notification text
  • No labels