OpenLMIS: vaccine and medicine logistics for low- and middle-income countries

MentorBrandon Bowersox-Johnson (brandonbowersox)
Project Websitehttp://openlmis.org/
Project Repositoryhttps://github.com/OpenLMIS
Suitable for Beginners?no
TagsJava Spring AngularJS Docker Micro-services REST
Stateaccepted
Applications (1st Choice)1 (1 submitted | 0 in-progress)
Applications (2nd Choice)3 (2 submitted | 1 in-progress)
Code of ConductOpenLMIS does not have a formal Code of Conduct, but our global community supports diversity, inclusion and non-discrimination. More at https://openlmis.atlassian.net/wiki/display/OP
LicenseGNU Affero General Public License version 3 (AGPL-3.0)

Project Description

About OpenLMIS

OpenLMIS is a global initiative to support the development of shareable, interoperable, open-source software for electronic logistics management information systems (LMIS), purpose-built to manage health commodity supply chains in low- and middle-income countries. Developed with support from Rockefeller Foundation, Bill & Melinda Gates Foundation (BMGF), USAID, JSI, the UN Commission on Life-Saving Commodities, PATH and others, key aspects of the OpenLMIS vision are: shared investment and benefit through an open source community and extensible architecture; interoperability with other health systems; and scalability/adaptability. OpenLMIS is currently deployed in six countries in Africa across multiple programs and levels of scale (pilot to national), with an additional national-scale implementation planned to launch in July 2017.

Join our Team

The OpenLMIS Community comprises a global core team, a Community Manager, and a set of diverse funders, technical partners, and implementers who participate regularly in committee meetings, calls, and forums. These partners provide technical expertise, financial contribution, leadership, decision-making, and innovation to the initiative, and are responsible for the governance and direction of the initiative, as well as specific technical considerations relating to features, functionality, and architecture of the software.

A core team of developers, architects and product managers is located in Seattle at VillageReach, a global health non-profit. VillageReach saves lives and improves health by increasing access to quality healthcare for the most underserved communities (learn more at VillageReach.org). Throughout 2017, generous funding is allowing a team of roughly 15 developers and QA staff based on Poland and China to work full-time on improving OpenLMIS.

Technical Philosophy

The OpenLMIS software is focused on a service-based, API-driven, modular approach designed to better support customizations and extensions. The goal of this micro-services architecture is to enable multiple OpenLMIS implementations in different countries while still sharing one global, open source codebase. This concept is at the heart of the OpenLMIS mission of “shared investment, shared benefit,” and the end result is a powerful, flexible product that emphasizes interoperability, extensibility, and performance at scale across countries, programs, and products.

Project's Requirements

OpenLMIS is built with Java Spring applications that provide RESTful APIs along with an AngularJS application that runs in a web browser. To contribute to OpenLMIS, it will be important to have experience with Java or AngularJS or both.

Java Spring Back-End APIs

To work on the Java back-end of OpenLMIS, you should have knowledge of Java and an interest in working with the Spring Framework and RESTful APIs. To test your Java skills, you could work on this exercise: http://exercism.io/exercises/java/scrabble-score/readme . If you already have experience with Java Spring and REST, this exercise could test your understanding: https://devskiller.com/coding-tests/java-middle-developer-spring-frameworkjpa-restful-blog-application/ (free trial registration is required to access the code). If you haven't worked with Spring and RESTful APIs, then an interest in learning them will be important.

AngularJS Front-End Browser App

To work on the AngularJS front-end of OpenLMIS, you should have knowledge of Javascript and an interest in working with the AngularJS framework. To check your JavaScript skills, try this exercise: http://exercism.io/exercises/javascript/diamond/readme . If you haven't worked with AngularJS, consider this free online course at Codecademy: https://www.codecademy.com/learn/learn-angularjs .

Some Experience Required

OpenLMIS uses a powerful and complex toolset that also includes Docker to run different parts of the API using micro-services. Contributing to OpenLMIS is a good fit for people who have experience with some of the tools mentioned here or who are dedicated to learning some powerful tools quickly. The OpenLMIS team can help point you to resources to get up to speed. But it will also take your dedication and interest in learning new and challenging things.

Tasks And Features

Available Tasks

We are seeking contributors for a few exciting opportunities: (1) adding multi-channel notifications, including SMS and an asynchronous notification service; (2) bringing our UI to mobile devices and tablets, through responsive web techniques and/or Cordova.

These are opportunities where your software contribution will be deployed to end-users in Africa and have a positive impact on ensuring that medicines are in-stock so patients in rural areas have access to health care including for malaria, HIV, family planning and maternal and infant care.

We are prepared to discuss these available tasks in more detail to help define an appropriate project that fits the time and timeline for the RailsGirls summer program.

Communication

RailsGirls participants can expect regular contact with the Mentors and the core OpenLMIS team. We expect to use screen-sharing (Skype and WebEx) for regular live meetings along with chat (Slack and Skype chat) for support during our working hours. Because we have multiple full-time staff in the USA and teams of developers around the globe, there are lots of opportunities to get answers and support. The core team members, including our Software Dev Manager (myself), our Community Manager (Tenly Snow) and our Product Owner (Mary Jo Kochendorfer), are specifically interested in mentoring RailsGirls participants. We're ready to provide the level of support and interaction outlined in the Mentor Guide.

Depending on the task selected, you may also have an opportunity to work with the global committees that guide OpenLMIS. The OpenLMIS community comprises a diverse set of technical, health, and donor partners who participate regularly in three committees (Governance, Product, Technical). These committees meet once or twice monthly, depending on their cadence, to discuss issues pertaining to the overall guidance of the initiative (Governance), new features and functionality (Product), and software development considerations (Technical). Any student(s) participating in the OpenLMIS RailsGirls project would be invited to participate in any of the above committee meetings. The partners participating in these committees are high-level, experienced professionals within the sphere of global health and development, and could provide significant guidance to students just entering the field. In addition, the OpenLMIS Community Manager sits at VillageReach, and will act as one of the mentors for the project. The Community Manager will work to connect students with the community’s resources, committees, and members.

Comments

You must be logged in to comment on this project.


Laura RGSoC, Wednesday, February 1, 16:42 UTC

Hey Brandon, thank you for submitting your project! OpenLMIS seems like a very interesting and impressive project; thank you for making the requirements and issues so clear as well as breaking down information about the team. We're happy to accept this project for RGSoC 2017!