Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added table of contents

This page documents the software requirements and outlines the integration for the OpenSRP-OpenLMIS proof of concept that will be demonstrated to GAVI the week of 26th March 2018.

Table of Contents

High Level Workflows

This section was copied from the previous page for reference. This section defines the minimum functional workflows for the proof of concept demo. Stretch activities are clearly marked with (Stretch)

  1. (Current Functionality) OpenSRP Android Client Demo prep to show current functionality
    • The OpenSRP user will login to the stock management module to see the current number of vials available for the antigenThe OpenSRP user will perform a number of sample immunizations in the OpenSRP child immunization app for a single antigen (OPV)
    • The OpenSRP user will return to the Stock management module, click the card for the antigen and touch the Issued button to show a reduction record an adjustment in the stock of that antigen
  2. (New) OpenSRP Android Client Requesting Stock
    • The OpenSRP user is already at the Stock Management Module screen
    • The user will touch a button to request stock based on Ideal Stock Amounts
      • A message will appear verifying that the user is requesting stock "Please confirm that you would like to request stock based on your Ideal Stock Amounts"
    • The device syncs with OpenSRP Server
    • NiFi queries the OpenSRP Server endpoint every 'n' seconds and identifies that a new stock request has been received
      • How do we tell what's "new"? Are new stock requests any with a created data newer than the last created date we saw on the endpoint?
    • NiFi performs internal business logic to map the stock request to the facility, user and ideal stock amount (ISA)
    • NiFi pushes an order to the OpenLMIS Orders API endpoint in the Fulfillment Microservice. An Order number is returned to NiFi.
      • Not sure NiFi can receive an order number, what is it supposed to do with it?
    • OpenLMIS user logs in to verify the order was created
  3. (Current Functionality) OpenLMIS Demo to convert Order to Shipment
    • OpenLMIS user walks through the order fulfillment process
    • A shipment is created
  4. (New) OpenSRP Android Client Receiving Shipment
    • NiFi queries the OpenLMIS Shipments API in the Fulfillment Service to see if a new shipment has been generated
      • (Note: Should this be the API endpoint, or should we query the Proof of Delivery Endpoint?)
      • How do we tell what's "new"?
    • When a new Shipment is identified, NiFi queries the Shipment/{id} API endpoint in the Fulfillment service to get the shipment details
    • NiFi performs business logic on the Shipment details to convert it to the appropriate JSON format required by OpenSRP
      • Does this logic require any data not received from the shipment/{id} endpoint?
    • NiFi posts the JSON to the OpenSRP Server
    • OpenSRP Server receives the shipment information
    • On a regular schedule, OpenSRP Android Client Syncs with the OpenSRP Server
      • A new shipment is received
      • A notification is generated in the Stock Management Module's Shipment section (new section)
    • OpenSRP user touches the shipments section in the stock management module and they are redirected to a page showing that a shipment is available
    • OpenSRP user touches the shipment and they view details of the shipment
    • User can accept shipment
    • (Stretch) User can adjust the amounts of each orderable and touch save
      • On Save action, the antigen amounts update on the tablet
    • OpenSRP Android client will sync with OpenSRP server
    • (Stretch) NiFi Queries OpenSRP Server on a regular schedule for Proof of Delivery
      • What is the proof of delivery?
    • (Stretch) NiFi performs the appropriate business logic to accept the proof of delivery and creates the appropriate JSON to post to OpenLMIS
    • (Stretch) NiFi posts the Proof of Delivery to the OpenLMIS Proof of Delivery API endpoint in the Fulfillment Service.

...