October 4th 2016

Call Information

  • 8:15AM PST - Seattle
  • 11:15AM EST - New York, DC
  • 5:15PM CEST - CEST, Geneva, Copenhagen, Joburg
  • 6:15PM EAT - Dar

Webex Linkhttps://meetings.webex.com/collabs/#/meetings/detail?uuid=M299H1X42RL8F1ABXL3LOKN9TN-3O29&rnd=371900.06805

Meeting Number192 173 465

Host Key352864

Audio Connection +1-415-655-0001 


AGENDA:

ItemTimeLead

Examples of how the new Product Model can be used and open questions.

15 min

Review status of the roadmap and development progress.

15 min
ESMS to share how they are doing stock mgmt. (MOVED TO NEXT CALL)15 min

Upcoming opportunities for in person meetings:

  • GHSC 2016. Please respond to the Doodle poll either for yourself or folks on your team.
    • Looks like Tuesday 15th would be best.
    • Topics and agenda. Any thoughts?
  • 2016 Global Digital Health Forum in Washington DC Dec 13 - 14, 2016
    • 60 min Interactive Workshop (OpenLMIS v3.0: Modular Architecture to Maximize Benefit Across Countries, Programs, and Products) 
10 min

Browsers and the testing plan. We are moving forward and will share the finalized version before the beta. Currently we are considering the following. Do let me know if you have thoughts/inputs. More details on the conversation here.

For QA testing of OpenLMIS our browser version priorities are:
1) Chrome 52+ (test on Chrome 52 and Chrome latest)
2) Firefox 48+ (test on Firefox 48 and Firefox latest)

The operating systems on which we should test in are:

1) Windows 7 (by far the most widely used in Mozambique, Zambia and Benin data AND globally)
2) Windows 10

1 min

Risks:

  • Risk #6. OpenLMIS community fails to grow. Stays small and driven by self-interest

All

ACTION ITEMS:

  • Mary Jo Kochendorfer (Deactivated) to propose ideas for in person meetings via the listserv
  • @all members: raise questions on any of the documentation
  • Mary Jo Kochendorfer (Deactivated) to share initial process flows and details around a few stock management stories for 3.0 during the next call. Stock management work isn't starting till later, but the hope is to start seeking input from the group. (moving to next call)
  • Danni Yu (Unlicensed) to share what ESMS is doing around stock/lot mgmt during the next call 

From last meeting:


ATTENDANCE:


 NOTES: Notes in Blue


ItemTimeLead

New Member introduction

Marry Jo : Introduced Ibtesam Sharif (Unlicensed) who recently joined VR and is working with Marry Jo on pulling stories and documentation together.

Ibtesam : Gave a brief introduction of himself

2 min

Examples of how the new Product Model can be used and open questions.

Mary Jo : Started with the brief introduction about the product roadmap and also went through the last meetings feedback. Gave participants an example of ordering a Global Product and associating it with TradeItems for fulfillment. More information on use cases supported will come as developed and mocked out.

Jake : Emphasized that this a big model change and the team have spent a lot of time in implementing it 

Josh: GS1 integrations will be possible with OpenLMIS if the implementation is using the standardized models . However, if its not the case, a simpler approach can be taken to make OpenLMIS configured  

Ashraf: Do implementers need to update their parent ERP first and then move data to OpenLMIS?  

Mary Jo :  Ideally an implementor would set up their ERP first and then the data will move into the OpenLMIS.  However, this is a larger conversation on how do countries start to adopt standards.

Ashraf :  Most of the items are procured internally that doesn't have the GSN so will our model work in hybrid model? 

Josh: The product code is the same as was in 2.0. If you talking about lot. It is possible, however the traceability will still be a question. Current data model do support Hybrid approach. Further investigation will be required 

15 min

Review status of the roadmap and development progress.

  • Sprint 10
  • 3.0 Beta Scope (release Oct 28, 2016) - see the detailed write up below in the notes section.
    • Ashraf: Will they be getting a demo link to play with the system 

      Mary Jo : Yes but with limited scope, see the below outline of what will be in the demo.

    • Chris : Would be great if detailed beta scope can be shared with him so that during the ongoing gap analysis in Mozambique, he can quickly tell whether it's on the roadmap for 3.0 (or 3.x) or whether an custom extension needs to considered.

  • 3.0 Stable release Feb 27, 2016 (New details on Roadmap and Detailed Sprint Calendar)
  • FYI: Ongoing development of requisition API documentation here.

15 min

Upcoming opportunities for in person meetings:

  • GHSC 2016. Please respond to the Doodle poll either for yourself or folks on your team.
    • Looks like Tuesday 15th would be best.
    • Topics and agenda. Any thoughts?
    • Mary Jo to send around ideas and members to raise ideas on the listserv.
  • 2016 Global Digital Health Forum in Washington DC Dec 13 - 14, 2016
    • 60 min Interactive Workshop (OpenLMIS v3.0: Modular Architecture to Maximize Benefit Across Countries, Programs, and Products) 
10 min

Browsers and the testing plan. We are moving forward and will share the finalized version before the beta. Currently we are considering the following. Do let me know if you have thoughts/inputs. More details on the conversation here.

For QA testing of OpenLMIS our browser version priorities are:
1) Chrome 52+ (test on Chrome 52 and Chrome latest)
2) Firefox 48+ (test on Firefox 48 and Firefox latest)

Ashraf: Will there be a backward compatibility with chrome version 52+? There might be a case where people are still using the old version. He Still have not yet received any response related to Google Analytics from the countries

The operating systems on which we should test in are:

1) Windows 7 (by far the most widely used in Mozambique, Zambia and Benin data AND globally)
2) Windows 10

1 min

Risks:

  • Risk #6. OpenLMIS community fails to grow. Stays small and driven by self-interest

Danni - can we invite new members to the group? How about people who are thinking of using the product?

Mary Jo - yes we can. We will need to consider modifying the structure of the call depending on the folks joining. In addition, if we start to use the listserv more it may promote more communication among new members.


All






RECORDING

OpenLMIS Product Committee-20161004 1508-1.arf



ADDITIONAL READING:

To Ashraf Islam (Unlicensed)'s question, I wanted to share this document around how to look at and address adopting standards. This resource may be useful when discussing the larger approach for standards adoption. UNSPSC Tool Kit from GS1 Healthcare USR1.0.pdf

3.0 Beta 

The main objectives of the 3.0 Beta release are to demonstrate:

  • the new micro-services architecture
  • an ability to support customizations and extensions
  • demonstrate progress towards re-implementing the 2.0 requisitioning functionality

Architecture and Build Environment 

OpenLMIS 3.0 is built with an all-new architecture that better supports customizations and extensions. The goal is to enable different OpenLMIS implementations in different countries while still sharing one global, open source codebase.

3.0 Beta may look similar to version 2, but under the hood the architecture and technology are a leap forward:

Micro-services

OpenLMIS used to be one monolithic system, and it is now split into independent services that provide RESTful APIs for different functional areas. 3.0 Beta already provides services for Requisition, Reference data, Notifications, and Auth, which is powered by OAuth 2. The services find each other using Service Discovery, powered by Consul.

Each service has its own API with a RAML specification and automatically-generated online API documentation: http://openlmis.readthedocs.io/en/latest/api/

The database storage for each service is separated into its own schema with its own ERD diagram automatically generated: http://openlmis.readthedocs.io/en/latest/erd/ (drill in to see any Live ERD)

All the services are bundled together in a distribution code-named 'Blue', which includes: all back-end APIs; an AngularJS web application providing the front-end UI; and an NGINX proxy to make it simple to route to all the services via one URL.

The new micro-services architecture of OpenLMIS 3 allows individual components to be used, customized or extended in a modular way. 

Learn more in the wiki (includes architectural diagrams).

Docker Containers

OpenLMIS 3 is built with containers and ready for the cloud. Each service runs in its own Docker container, and Docker Compose ties multiple services together with other third-party components like Consul and NGINX. Every OpenLMIS 3 service and the Reference UI are published to Docker Hub as a deployable image. The 'Blue' distribution uses Docker Compose to allow you to swap in or out components and run an entire OpenLMIS system.

Containerization makes it easier for developers to get involved in OpenLMIS and makes deployments to production more predictable and repeatable.

Extensibility

Two approaches to extensibility are supported along with examples and documentation: First, Extension Points are built into services in areas where we expect extension and customization will be needed. Second, individual micro-services could be added in or swapped out in order to provide a new or altered area of functionality. The team has built working examples and documentation of each, and will continue to include extension points into areas of functionality as they are built.

To learn more about the OpenLMIS 3.0 extension architecture and use cases, see: Architecture Overview Version 3

For an example extension point and documentation, see: https://github.com/OpenLMIS/openlmis-example#extension-points-and-extension-modules

OAuth 2 Compatibility

OpenLMIS 3.0 Beta implements OAuth so that the product can easily integrate with other systems in a single sign-on environment.

Automated Testing

In a micro-service world, automated testing is even more important. OpenLMIS 3.0 Beta includes new patterns and tools for automated test coverage at all levels. Unit tests continue to be the foundation of our automated testing strategy, as they were in previous versions of OpenLMIS. But 3.0 Beta introduces a new focus on integration tests, component tests, and contract tests (using Cucumber).

Test coverage for unit and integration tests is being tracked automatically using Sonar (see http://sonar.openlmis.org). Currently, test coverage is not good enough; it is in the 25-40% range for the critical services. Having tools and awareness is the first step as the team pushes to improve test coverage for the final 3.0 release in 2017.

Check the status of test coverage at: http://sonar.openlmis.org/

CI/CD Pipelines

Continuous Integration and Deployment have also seen significant investment in 3.0 Beta. Jenkins is used to automate builds and deployments trigged by code commits. The CI/CD process includes running automated tests, generating ERDs, publishing to Docker Hub, deploying to Test and UAT servers, and more. Furthermore, documentation of these build pipeline allows any OpenLMIS implementation to close this configuration and employ CI/CD best practices.

See the status of all builds online:  http://build.openlmis.org/

Learn more about OpenLMIS CI/CD on the wiki.

UI

The reference UI is one single-page application built with AngularJS, and it is structured to allow extension and customization. 

Updated Product Model

The new product model incorporates lessons learned from previous versions of OpenLMIS in the area of stock management and local fulfillment. It also uses the GS1 logical model and implements supply chain best practices (such as support for lots, packaging, GTINs, etc).

Read more and see diagrams of the new Product Model on the wiki.

And More

We've also invested in other areas of the platform that are important for OpenLMIS to be a trusted, global platform: security, localization, and over 240 JIRA tickets in total.

Follow along in JIRA.

Requisitions, from the UI perspective

  • As a “devadmin” user, I will be able to

    • Login and logout

    • initiate a regular requisition and be able to select facility, program, type (regular) and current processing period

    • populate a requisition form (create requisition view) based on a template

      • The form includes, header, list of products, 7 columns from the requisition template 

        • A. Beginning Balance

        • B. Total Received Quantity

        • D. Total Losses / Adjustments (potentially direct user input versus pop-up workflow)

        • C. Total Consumed Quantity

        • E. Stock on Hand (calculated A + B (+/-) D - C)

        • J. Requested Quantity (user input)

        • W. Requested Quantity Explanation (user input)

    • delete a requisition

    • save a requisition

    • submit a requisition

    • authorize a requisition

    • view of list of requisitions waiting for approval

    • approve a requisition

      • The approval form includes, two columns from the template (Approved Quantity and Remarks)

    • reject a requisition

    • see a list of approved requisitions waiting to be converted to orders (convert to order screen)

    • convert approved requisitions to orders

Implemented and Available via APIs

  • Reset password functionality

  • Role Based Acess Control 

  • Reference data

    • Requisition group

    • Schedules/periods

    • Supervisory node

    • Supply lines

    • New Product Model (more details below)
  • Proof of Concept on program data or design for program data

  • Demonstrate that an order domain is generated

  • Ability to create users







OpenLMIS: the global initiative for powerful LMIS software