OpenLMIS Requirements Sample
OpenLMIS Requirements Sample
1
Table of Contents
1 USER PERSONAS & USER STORIES 1
2 PROCESS FLOWS 7
2.1 CURRENT PROCESS 7
2.2 OVERALL TO-BE OPENLMIS PROCESS 8
3 REQUIREMENTS 9
3.1 CONFIGURATION - SCHEDULES 9
3.2 CONFIGURATION - REQUISITION TEMPLATE 10
3.3 REQUISITIONS - CREATE REQUISITION 11
3.4 REQUISITIONS - CALCULATE REQUISITION 11
3.5 REQUISITIONS - PRINT REQUISITION 13
3.6 REQUISITIONS - SUBMIT REQUISITION 13
3.7 REQUISITIONS - AUTHORIZE REQUISITION 13
3.8 REQUISITIONS - AGGREGATE REQUISITIONS 14
3.9 REQUISITIONS - REJECT REQUISITION 15
3.10 REQUISITIONS - APPROVE REQUISITION 16
3.11 REQUISITIONS - VIEW REQUISITIONS 17
3.12 REQUISITIONS - EMERGENCY REQUISITION 18
3.13 ORDERING - CONVERT TO ORDER 18
3.14 INVENTORY MANAGEMENT 19
3.15 REPORTS - VIEW REPORTS 20
4 STANDARD REPORTS 23
4.1 ADJUSTMENT SUMMARY REPORT 23
4.2 CONSUMPTION REPORT 24
4.3 DISTRIBUTION LIST 25
4.4 MONTHLY LOGISTICS REPORT SUMMARY 26
4.5 STOCK IMBALANCES REPORT 27
4.6 STOCK STATUS BY FACILITY REPORT 28
4.7 LOT AND EXPIRY DATES REPORT 29
1 User Personas & User Stories
The requirements for OpenLMIS are captured in the form of user stories, an agile software development
methodology. A story is a description of system functionality and requirements from the user’s
perspective. It aims to identify what the user aims to accomplish in each component and the desired
outcome of each action.
User-centered design is important to the definition of requirements and subsequent development of
OpenLMIS. A user persona is depicted as a specific person but is not a real individual; rather, the persona
is a representation of the user synthesized from observations and input from various stakeholders and
users.
User stories use the personas to define requirements and note where requirements differ between
users. To most effectively capture requirements for all users, the personas represent users in different
roles and different levels of the supply chain: those who support the system, those who use the system
to support a business process, and those who consume information from OpenLMIS. Table 1 presents
the user personas.
1
Figure 1: Roles/Titles Organizational Chart
2
Table 1: User Personas
3
Title: Central Logistics Personnel
Role: View data/orders → Order fulfillment
● Have 100% reporting rate
● All orders fulfilled
● View reports
Level ● Ensure timely delivery of commodities ● Medium – high technical skills
● Reporting rate
National/ ● Create monthly/quarterly reports for ● Low stock ● Sits at the central/national
● View orders
Central stakeholders and officials availability /regional warehouse
● Issues products to
Warehouse ● Long term supply and program ● Some Logistics training
lower levels
planning based on stock and
requisitions data
Title: National Health Program Officer
Role: Reviews and Confirms Requisitions
● Approves
● Has internet connectivity,
requisitions
though unreliable
● Visibility into province’s supply chain ● Approves Orders
● Medium technical skills
performance and facilities’ stock levels ● Reviews budget and ● Reports are
● Would need to see budget
● Ensure timely ordering/issuing of the adjusts order late/not reported
and allocations
right commodities in the right quantity quantities as needed ● Stock out, over
● Would want to see data from
Level ● Ensure timely reporting ● Reviews procured stocks
lower facilities
Provincial ● I want my facilities to have the right product from ● Managing
● Would like an easy to use and
stock at the right time. I want to ensure third-party suppliers multiple
intuitive system
the right stock is being ordered. I want on his program. programs'
● Wants to see current stock
to minimize stock outs or overstocks ● Drafts distribution reporting needs
levels at the provincial
● Manages the orders for the warehouse plan
warehouse and/or provincial
● Aggregates reports
hospitals
from municipalities
Title: National Program Management
Role: Views data and reports
● To have the right stock available for the ● View reports ● Tech aptitude: varies
● Late reporting
Level needs of the service delivery point and ● Data analysis for ● Likely a medical professional
(requisitions
Central own storeroom quality (MD or Pharm.) with limited
submitted)
-Ministry of ● Review the requested quantities to improvement, KPI logistics knowledge
● Stock out, over
Health ensure the appropriate amount of stock tracking, and supply ● Would want a system to view
stock
is being requested/ordered planning reports and access data
4
● Review Budgets ● Data quality and
visibility
5
● To set up OpenLMIS to the country's
● Configures the ● Basic technical skill set (create
specifications
system CSV file imports)
● Ensure all the appropriate
● Uploads/adds the ● Must have all data needed for
configurations are made so that
facilities, programs, configuration of the system
OpenLMIS users can appropriately
periods, schedules ● Has internet connectivity
manage stock levels
6
2 Process Flows
2.1 Current Process
Figure 2: Current Process
7
2.2 Overall to-be OpenLMIS Process
Figure 4: OpenLMIS To-Be Process
As is harmonizing the multiple reporting and requisition forms and standard operating procedures for
logistics management, requirements may change as the discussions and the implementation of new,
standardized forms and SOPs progress. Further, the changes may generate new requirements.
3.1 Configuration - Schedules
3.1.1 Goals
● Configure report and requisition schedules to fit program needs
3.1.2 Background
Periodic reporting occurs on a monthly or quarterly basis. The reporting schedules can vary by program.
9
3.2 Configuration - Requisition Template
3.2.1 Goals
● Ensure that relevant data is collected for all programs
● Prevent additional data entry burden by removing any unnecessary data elements
● Enable system administrators to update templates to reflect updates to paper forms.
3.2.2 Background
All health facilities complete their logistics forms each month; this data is aggregated at each level and
used to create requisitions at the province level. Requisition templates will be configured to have the
same information and data elements in OpenLMIS as the paper logistics forms. As is harmonizing the
multiple reporting and requisition forms from different programs, some specific needs might not be met.
Requirements may change as discussions and the implementation of standardized forms is still
underway.
3.2.3 User Stories
# Title User Story Importance Notes
As a system administrator, I need to select
Configure data which of the available elements should Existing
1 Must have
elements for inclusion display on the requisition so that functionality
unnecessary data is not included.
As a system administrator, I need to be able
Configure order of to specify the order of columns so that I can Existing
2 Must have
columns ensure data entry mirrors the paper forms functionality
and proceeds in a logical order.
As a system administrator, I need to select
whether fields should be calculated or user
Select calculations or input so that I can minimize work and Existing
3 Must have
user input opportunity for data entry error and/or functionality
ensure that all fields reported data are
entered.
As a system administrator, I want to
Existing
4 Define labels customize the labels for each column so that Must have
functionality
they are consistent with the paper forms.
As a System Administrator, I need to be able
to enable or disable validation in Nice to New
5 Toggle validation
requisitions as appropriate for programs and have functionality
SOPs.
10
3.3 Requisitions - Create Requisition
3.3.1 Goals
● To enable the user to create a requisition for their facilities so that they can report on usages for
the past month and request for additional stock for the following month.
3.3.2 Background
As is harmonizing the multiple reporting and requisition forms, as well as schedules, from different
programs, some specific needs might not be met. Requirements may change as standardization is
implemented.
3.4.2 Assumptions
● PMOs will approve orders posted in OpenLMIS
11
As a Health Program Officer, I need the system to
Arithmetic provide arithmetic validation so that I do not make Should Existing
1
validation errors in data entry and use incorrect figures on have functionality
my requisitions.
As a Health Program Officer, I need the order
Calculate order quantity to calculate automatically so that I order Existing
2 Must have
quantity the correct quantities based on my SOH and functionality
replenishment quantity
As a Health Program Officer/Warehouse Manager,
Calculate total I need to see the total cost per product on the Existing
4 Must have
product cost requisition so that I know what products are the functionality
biggest cost drivers.
As a Health Program Officer/PMO, I need to see
Calculate total the total requisition cost (for aggregated Existing
5 Must have
requisition cost requisitions) so that I can ensure it is within the functionality
budget.
As a Health Program Officer, I need the calculated
Request
order quantity to be the "requested" quantity Should Existing
6 calculated order
unless I manually override the value so that I don't have functionality
quantity
have to type in information that already exists.
As a Health Program Officer/PMO/Program
Alternative Supervisor, I need to be able to define alternatives
calculations for for the standard AMC and/or calculated order Nice to New
7
AMC and order quantity so that I can account for variations in have functionality
quantity resupply policies and other factors like seasonality
or number of patients.
As a PMO I need the approved quantity to
Auto-populate
auto-populate with the requested quantity so that Should Existing
8 approved
I don’t have to re-enter the quantity that is already have functionality
quantity
specified unless I want to make changes.
As a PMO, I want to define the number of periods
Define the
to consider when calculating the average monthly Should Existing
9 periods used for
consumption so that I ensure accuracy and have functionality
AMC
adherence to the program SOPs
As a PMO, I want the system to adjust the
calculated consumption based on the number of
Adjusted Existing
10 stock out days so that I know my order quantity is Must have
consumption functionality
not based off of lower consumption than I would
have seen if I were not stocked out.
12
3.5 Requisitions - Print Requisition
3.5.1 Goals
● Allow for printing for records or review by multiple people and/or while offline and/or without
access to a computer.
3.8.2 Background
In some cases, at the province level (though not regularly and not by all provinces) aggregated
requisitions are created after review of individual municipalities’ data and order quantities. A committee
comprised by the PMO, Health Program Officers (for different programs), and the Warehouse Manager
reviews the disaggregated data in such cases to ensure the total is within the budget and that facilities
request sufficient products.
14
As a Health Program Officer/PMO, I need to see
an updated order total and cost for the province
Updated after the Health Program Officer makes changes Existing
3 Should have
order total so that I know the Health Program Officer’s functionality
adjustments have been made and the requisition
is within the budget.
As a Health Program Officer/PMO, I need to Partially existing
Aggregate
create a single, aggregated requisition from the – implemented
4 Requisitio Must have
facilities or municipalities within the municipality with a report in
n
or province (respectively). Malawi instance
15
3.10 Requisitions - Approve Requisition
3.10.1 Goals
● Allow PMO to review requisition and approve the order before it is sent to be fulfilled
16
As a PMO/Warehouse Manager, I want to be able
View to see the requisitions that were entered in my Existing
1 Must have
requisition province so that I can see all those that have functionality
been completed.
As a PMO/Warehouse Manager, I want to be able
View
to select and open a requisition so that I can Existing
2 requisition Must have
review the specific data and requested/approved functionality
form
quantities that were included in the requisition
As a PMO/Warehouse Manager/Health Program
Partial – selecting
Display Officer I want to see the status of all requisitions
the location is
3 requisition from my province so that I can track the progress Must have
required, then
status of the requisitions and follow up with the
status is available
necessary people if there are any delays
As a PMO/Warehouse Manager/Health Program
Filter Officer I want to be able to filter the list of
Should Existing
4 requisition requisitions by health program so that I can find
have functionality
list (program) the information I am looking for quickly and
easily.
As a PMO/Warehouse Manager/Health Program
Filter
Officer I want to be able to filter the list of Should Existing
5 requisition
requisitions by location so that I can find the have functionality
list (program)
information I am looking for quickly and easily.
As a PMO/Warehouse Manager/Health Program
Filter
Officer I want to be able to filter the list of Should Existing
6 requisition
requisitions by date so that I can find the have functionality
list (program)
information I am looking for quickly and easily.
As a PMO/Warehouse Manager/Health Program
Filter
Officer I want to be able to filter the list of Should
7 requisition New functionality
requisitions by status so that I can find the have
list (program)
information I am looking for quickly and easily.
17
As a system administrator, I need to specify
Enable programs which programs will support an emergency
Existing
1 for emergency requisition so that the programs have Must have
functionality
requisitions emergency requisition access where
appropriate.
As a Health Program Officer, I need to be
Create able to create a requisition outside of the
Existing
2 emergency standard reporting periods so that I can Must have
functionality
requisition place orders for resupply if a facility has a
shortage or stock out of commodities.
As a Health Program Officer, I need to be
Submit able to submit a completed emergency
Existing
3 emergency requisition so that the request proceeds Must have
functionality
requisition through the appropriate channels for
review and the order can be placed.
As a PMO, I need to be able to review, edit,
Authorize and authorize an emergency requisition so
Existing
4 emergency that I ensure the request is completed Must have
functionality
requisition appropriately and it is ready for review by
the appropriate approver.
As a Warehouse Manager, I need to be
able to review, edit, and approve
Approve
emergency requisitions so that I can fulfill Existing
5 emergency Must have
my oversight duties and ensure the request functionality
requisition
is complete and ready to be converted to
an order.
3.13.1 Goals/Scope
● Create an order from a completed and approved requisition
● Make the order available to the warehouse (staff or ERP) for fulfillment
3.13.2 Background
Central Medical Stores is the central warehousing and procurement agency in the country. It handles all
programs, including the Essential Medicines, TB, Malaria, Family Planning, etc. Central Medical Stores
works in close connection with the Ministry of Health. Central Medical Stores also maintains the catalog
of commodities and prices that are available to fulfill orders.
18
As a Central Logistics Personnel, I need to
Convert to Existing
1 export order information so that I can enter Nice to have
order functionality
it in the auctioning system and fulfill orders.
As a Central Logistics Personnel, I want to
Specify
see which requisitions each warehouse will Existing
2 fulfillment Must Have
fill so that I convert only requisitions for functionality
location
which I am responsible.
Limit As a Central Logistics Personnel, I don't want
requisitions to see requisitions past a certain date to
3 Nice to have New functionality
available to convert to order so that I have a
be converted manageable list.
3.14.1 Goals/Scope
● Track stock movements throughout the facility, including receiving, issuing and losses.
19
As a Warehouse Manager, Storeroom
Manager/Warehouse Clerk I want to be able This would be used
to add stock quantities per product to my for third party
4 Receive Stock Must have
current stock without an associated order so supplier purchases,
that I can record incoming stock from donated items, etc.
external sources.
As a Warehouse Manager, I want to be able
to transfer stock to other facilities (or in
Transfer from other facilities) indicating the reason Existing
5 Must have
Stock for such movement so that transfers are functionality
accurately recorded and can be reported to
inform stock on hand and stock needs.
As a Warehouse Manager, Storeroom
View Manager/Warehouse Clerk I want see the
Existing
6 Inventory (my inventory available at my facility so that I Must have
functionality
facility) know can make decisions based on the
information.
As a PMO, Warehouse Manager, or CLP I
View want see the inventory available at all my
Inventory supervised facilities and my supervising Existing
7 Must have
(supervised facility so that I know what stock is available functionality
facility) and where, and can make decisions based
on the information.
As a store room manager, I want to record
issues from my stock room to a dispensary, Existing
8 Issue Stock Must have
wards, or others person/department so that functionality
my stock on hand is correct
3.15.1 Goals/Scope
● Provide visibility of data entered in OpenLMIS
● Allow immediate access to reports, indicators, and feedback from reporting at various levels of
the health system
● Provide supply chain programs with data for appropriate planning and supervision
3.15.2 Assumptions
● Reports are available within OpenLMIS
20
As a user, I need to access and view frequently
View standard used standard reports so that I have quick, easy Existing
1 Must have
reports access to the information I need for functionality
decision-making.
As user, I need to be able to print standard
reports so that I can easily share with other Existing
2 Print reports Must have
people and have access to the reports even when functionality
there is a lack of power or connectivity.
As a manager (warehouses or programs)/PMO I
need to be able to export reports in various Existing
3 Export reports Must have
formats (CSV/excel etc.) so that I can perform functionality
additional analysis with the data as needed.
As a user, I need to be able to view standard
View reports reports offline so that I have access to the Nice to New
4
offline information I need without being dependent on have functionality
connectivity.
As a PMO/Health Program Officer/Warehouse
Manager I need to be able to filter reports to the
Existing
5 Filter Reports relevant data, processing period, program, Must have
functionality
geographic area, etc. so that I can see the
appropriate information.
As a Program Supervisor/CLP/Funder I need to be
able to view national-level aggregate reports so I
Existing
6 Aggregate Reports can provide stakeholders with the necessary Must have
functionality
information and provide support or supervision to
districts/facilities where needed.
As a Program Supervisor/CLP/Funder, I need to be
able to create ad-hoc reports, add indicators, and Integration
Data Analysis & create visualizations of data so that I can monitor Should with external
7
Visualization supply chain performance and provide have reporting tools
stakeholders with the necessary information for possible
decision-making.
As a PMO/health program officer need to be able
to access the underlying data for the central Integration
reports so that I can drill down and investigate Should with external
8 Data Access
the source of any indicators that are off or have reporting tools
underperforming and take action to possible
improve/correct the issue.
21
4 Standard Reports
4.1 Adjustment Summary report
22
4.2 Consumption Report
23
4.3 Distribution List
24
4.4 Monthly Logistics Report Summary
25
Each facility in the province/aggregate numbers for the province listed with the
following columns:
● Product ID
● Product name
Report output
● Unit of issue of product
and layout
● Closing balance
● Quantity consumed
● Quantity received
● Quantity required
As a PMO, Program Supervisor, Health Program Officer I need to see key logistics
Summary indicators for the facilities in my province so that I can take action to address stock
imbalances.
To ensure that stock and budgets are used efficiently and all facilities have adequate
stock, Health Program Officers can review stock imbalances to know when and how to
redistribute stock amongst facilities in the province or municipality rather than just
Rationale
ordering more. Additionally, the Health Program Officer needs visibility into stock outs
and stock on hand to know the urgency and feasibility of redistribution and/or if there
is a need for an emergency order.
● System must collect or calculate and store:
o Closing balance/stock on hand
o Adjusted consumption
Requirements
o Average monthly consumption
o Months of stock (MOs)
● System must calculate overstock, understock, and stock out indicators
Report Name Stock Imbalances
● Program (required)
● Reporting period (required)
Initial Filters ● Province
● Municipality (required, including "all" option)
● Stock status (required)
● MoS = SOH/AMC
● Stock status:
Report
o Stocked out = 0 MoS
definitions
o Understocked = less than 3 MoS (0.01 - 2.99 MoS)
o Overstocked = 6+ MoS (6.00 MoS or greater)
26
● The data that appears on this report includes only for those R&Rs that have
status = Authorized
● Data from non-active facilities are not included
● Filters are required inputs to run the report
Acceptance
● Data returned meets all parameters set by the filters
criteria
● Can be viewed/printed as a PDF
● Can be exported as XLS and CSV
● Only products not adequately stocked/with the selected stock status are
displayed on the report
For the selected program, district, and status:
● Facility code & name with the following columns:
o Product code
Report output o Product name
and layout o Closing balance/SOH
o AMC
o MoS
o Stock status
As a Health Program Officer or PMO I need to be able to see the stock status at
Summary each facility in the province so that I can provide supervision if/when necessary and
know when to redistribute stock, and use data to inform ordering.
To ensure that stock and budgets are used efficiently and all facilities have
adequate stock, PMOs or Health Program Officers can review stock imbalances to
know when and how to redistribute stock amongst facilities in the province rather
Rationale
than just ordering more. Additionally, the PMOs or Health Program Officers need
visibility into stock outs and stock on hand to know the urgency and feasibility of
redistribution and/or if there is a need for an emergency order.
● System must collect or calculate and store:
o Closing balance/stock on hand
Requirements o Adjusted consumption
o Average monthly consumption
o Months of stock (MoS)
Report Names Stock Status
● Program (required)
Initial Filters ● Reporting period (required)
● District (required, including "all" option)
Report
● MoS = SOH/AMC
definitions
27
● The data that appears on this report includes only for those R&Rs that have
status = Authorized
● Data from non-active facilities are not included
Acceptance
● Filters are required inputs to run the report
criteria
● Data returned meets all parameters set by the filters
● Can be viewed/printed as a PDF
● Can be exported as XLS and CSV
For the selected program, district, and status:
● Facility code & name with the following columns:
o Product code
Report output
o Product name
and layout
o Closing balance
o Average monthly consumption
o MoS
28
29