Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides a high level design of the OpenLMIS and OpenSRP integration for the minimum viable product integration for stock management (Phase 1).

...

...

This is currently in draft form and is not the final specification. The first draft was completed on 1 Feb 2018 and is ready for review.

Table of Contents

Overview

...

The integration will be mediated by Apache Nifi, which is a core component of the OpenLMIS technology stack. Nifi will maintain a metadata map for a number of items that need to be cross referenced between OpenSRP and OpenLMIS. This includes locations, users, commodity types, trade items and programs. Nifi will query the OpenLMIS system for changes to metadata on a regular basis and alert system administrators if there are changes that need to be reflected in OpenSRP. Nifi will also maintain user credentials for numerous users to be able to read metadata and post stock events from the OpenSRP server. Nifi will query OpenSRP on a regular schedule for stock events and post them to OpenLMIS.

Workflows

Assumptions

...

Target User Profile - Immunization Nurse

The user profile for the current OpenSRP stock control module focuses on frontline health workers who receive immunizations based on the commodity Type (BCG, OPV, Rota, etc.). This light stock control module contains core features for stock management, but is not robust enough to meet the needs of the supply chain.

The target user for this integration is the Immunization Nurse and Health facility supervisor. Both of these level 1 employees have similar needs to locally manage stock.

Definitions

Commodity Type: 
Expiration Date: 
Lot: 
Program: 
Trade item:

Core Workflows

As an Immunization Nurse I need to...

1.0 View Stock On Hand

This workflow focuses on viewing the stock on hand for all items that are in stock.

  •  Assumptions:
    • The list of commodity types, programs and trade items have been set in the OpenSRP server and have a corresponding map in the OpenLMIS system
    • The user will have synced with the server at least once to download the metadata
  • Steps:
    • Open the OpenSRP App and login
    • Touch the menu> Stock Management
    • The user is presented with a list of all available trade items that are downloaded from the OpenSRP server
      • This list is filterable by program and commodity type
      • Includes the following fields:
        • Product Code
        • Product
        • Lot Code
        • Expiry Date
        • Last Update
        • Stock on Hand

2.0 Make an Individual Issue/Receive

This workflow focuses on issuing or receiving a single trade item to/from a different facility or sub-location within an existing facility. This is different from a bulk action that allows a user to issue or receive any number of items.

  •  Assumptions:
    • The list of commodity types, programs and trade items have been set in the OpenSRP server and have a corresponding map in the OpenLMIS system
    • The user will have synced with the server at least once to download the metadata
  • Steps:
    • Open the OpenSRP App and login
    • Touch the menu> Stock Management
    • Filter the stock on hand list for the appropriate program
    • Filter the stock on hand list for the appropriate trade item or commodity type
    • Touch the appropriate trade item to enter the stock card view
    • Touch the Received or Issued button
      • If touched the Received Button, Complete the Received form
        • Date
        • Received from:
          • This is a dynamic field configurable in the OpenSRP server. It can include the geographic hierarchy as well as lower level clinics
        • Reason:
          • This is a dynamic field configurable in the OpenSRP server and linked to a reason in the OpenLMIS server
        • Quantity of units (vials, packs, etc.)
        • VVM Status
          • Stage 1
          • Stage 2
        • Read Only Automatic Calculation:
          • We will perform an automatic calculation defining the number of sub-units that are issued (doses, pills, etc.)
      • Touch Save
        • If touched the Issued Button, Complete the Issued form
          • Date
          • Issued to:
            • This is a dynamic field configurable in the OpenSRP server. It can include the geographic hierarchy as well as lower level clinics
          • Reason:
            • This is a dynamic field configurable in the OpenSRP server and linked to a reason in the OpenLMIS server
          • Quantity of units (vials, packs, etc.)
          • VVM Status
            • Stage 1
            • Stage 2
          • Read Only Automatic Calculation:
            • We will perform an automatic calculation defining the number of sub-units that are issued (doses, pills, etc.)
            • We will perform an automatic calculation based on the number of children immunized on the date selected.
        • Touch Save
    • The stock event is added to the trade item and the user is redirected back to the stock card view.

3.0 Create an Individual Adjustment

This workflow focuses on creating an adjustment for a single trade item. This is different from a bulk action that allows a user to make an adjustment to any number of items.

  •  Assumptions:
    • The list of commodity types, programs and trade items have been set in the OpenSRP server and have a corresponding map in the OpenLMIS system
    • The user will have synced with the server at least once to download the metadata
  • Steps:
    • Open the OpenSRP App and login
    • Touch the menu> Stock Management
    • Filter the stock on hand list for the appropriate program
    • Filter the stock on hand list for the appropriate trade item or commodity type
    • Touch the appropriate trade item to enter the stock card view
    • Touch the Adjustment +/- button
      • Complete the Adjustment form
        • Date
        • Reason:
          • This is a dynamic field configurable in the OpenSRP server and linked to a reason in the OpenLMIS server
        • Quantity of units (vials, packs, etc.)
        • VVM Status
          • Stage 1
          • Stage 2
        • Read Only Automatic Calculation:
          • We will perform an automatic calculation defining the number of sub-units that are issued (doses, pills, etc.)
    • The stock event is added to the trade item and the user is redirected back to the stock card view.

4.0 Make a Bulk Issue/Receive

5.0 Make a Bulk Adjustment

6.0 Manage Physical Inventory

Assumptions

  • End users will not interact directly with the OpenLMIS system. Instead, OpenSRP server will have a single connection that will mitigate all transactions.
  • This integration focuses on vaccines.
  • This integration focuses on a single program. Multiple program support is out of scope.
  • The facility is the lowest point of reporting in OpenLMIS. Facility suballocations of orderables from the facility to Community Health Workers do not need to be tracked in OpenLMIS.
  • Features are targeted to function on an Android Tablet that have screen sizes of 7 inches and greater as the primary input device. We are not currently targeting screen sizes that are smaller than 7 inches, such as smartphones.
  • Only stock events from the past 12 months will be synchronized from the OpenSRP server to the Android client. All stock events from the Android client will be pushed to the OpenSRP server and OpenLMIS.

Core Integration Points

Authentication

...

This section includes the functional requirements and views to be developed in the OpenSRP Stock Management Module. The current stock management views focus on presenting a simplified "stock card" system, where the high level landing page lists the stock cards available and subsequent screens focus on tracking the stock related transactions for that stockType. The core development in the Android client focuses on building dynamic views of stock card items based on the information in OpenLMIS. The first major features will focus on augmenting the current stock management features available in the OpenSRP Android client with dynamic views and updated business logic to support the concept of orderables. The second major feature will focus on creating a dispensary focused "bulk update" view that allows for issuing, adjusting and receiving multiple orderables in a single transaction.

Info
titleViews are not final

The views in this section are for illustrative purposes and are not final. This information box will be removed when they are finalized.

...