2 Feb 2018 Project Kick-off meeting


  • Level Setting: Goal of delivery
    • Project Period: 15 Jan 2018 - (In negotiation depending on spend)
    • Interim goals:

      1. We want a flashy OpenSRP to OpenLMIS proof of concept by March 26th 2018
        1. What we build needs to lend itself to post demo activities
        2. We will need to maintain an active list of technical debt as we get to the March demo
      2. The long term goal is to ensure the full SOW is delivered
        1. It will have a more robust integration (eg, addressing the product model, facility list)

  • Goal of the proof of concept is to show integration:
    • Requesting stock
      • We need to work around the feature flow for the demo
      • Key: If you collect information on the mobile device, this is a way to save time in the requisition process.
    • Notification from OpenLMIS to OpenSRP
      • In the mobile app, I'm told what shipments are coming
        • I shipped stock in OpenLMIS, then I go to OpenSRP to show that it's on the way
  • Implications on meeting structure:
    • What needs to be delivered for the demo vs what are the long term investments
  • The first iteration is about the GAVI demo that's scheduled the week of 26 Mar 2018
    • What are the visual items we need to demo?
      • Track ins and outs, record wastage, set VVM status, lots with expiration dates
      • Stretch: Request stock from the mobile application to OpenLMIS ← Needs better definition
  • Review high level document OpenSRP and OpenLMIS Integration and discuss shared understanding
  • Talk about scope of the demo:
    • If you 
  • Discuss project management approach
    • Wiki spaces
    • Team members (Ephraim Muhia, Sam Githengi)
    • Sprint Schedule:
      • Line up with Other Sprints - First Sprint Date?
  • Craig will walk the team through design approach (Technical document OpenSRP and OpenLMIS High Level Design Spec)
    • Review and take notes on discussion points in the document

For Proof of Concept:

Requesting stock:

  • All we're reporting is the current stock on hand, OpenLMIS receives this and performs the appropriate business logic to display this
    • The goal here is to get to a "vaccine stock-based order" into OpenLMIS
    • Idea:
      • We could build a map in Nifi that maps the OPV name in OpenSRP to the OpenLMIS orderable data definition
      • Nifi could calculate the business logic of the reorder amount and directly push the order to OpenLMIS
      • Have Nifi pull the stock information from OpenSRP, map to the information in OpenLMIS and push it to the appropriate endpoint(s)
      • We would also have to add a button in OpenSRP Android client that simulates the push

Background information: of the stuff you need to create an order

  • Facility where Carla works
  • Carla's authority to order stock
  • Map between antigen OPV and orderable
    • CommodityType - This is the level where we store the ISA
    • ISA is defined by facility, period and program
    • Keep a list of active orderables mapped to CommodityType
  • Ideal Stock Amount
  • FTAP - Facility Type Approved Product
    • Or API/facilities/{id}/supportedOrderables ← Look up this
  • Commodity Type Backed Orderable ← Lookup this
  • Not related for MVP, but we need to know about trade item backed orderable
  • Program information
  • Period Information

On the device, click a button

Stretch: Do we add visuals around "requisition status" that shows what's in the workflow?

Receiving Stock:

  • The moment OpenLMIS ships:
    • There's a notification stating that the stock has shipped
    • There is information on the device about what is coming in the shipment (Proof of Delivery)
  • When it arrives, I can confirm that what was shipped is what is physically available
  • View a screen that allows you to see what is in the POD
    • You will just hit "Accept" and all stock will be populated
    • Question: Can we show a screen where they input the amounts that were received and confirm it?
      • Can I say the amounts that were received
    • Once accepted, it would update the stock on hand

How Realtime?

  • When you push the "order" button in app, you have to push it to OpenLMIS
  • We should depend on App syncs to make this happen. We don't necessarily need a third party messaging tool
  • There isn't an internal trigger mechanism in OpenLMIS

Other Notes/Ideas:

  • See Mary Jo's demo notes (User Journeys section at bottom)
    • Currently, at the end of the day, we perform a number of stock activities
      • Add VVM to this screen
    • Improve the wastage tracking
      • Sync wastage reasons with OpenLMIS
      • Make sure wastage reasons are tracked every time it is collected


  • In Reporting, we have a closed vial wastage report
    • if we're only receiving stock on hand information, the report isn't actually getting wastage information.
  • How much are we doing Cold Chain Equipment in this app?
    • Add a visual indicator that asks the status of the cold chain equipment
    • Mid month there may be breakdowns in the CCE that need to provide notifications
      • What about on device integration between nextleaf and OpenSRP

OpenLMIS: the global initiative for powerful LMIS software