3.1.0 Release - 26 May 2017


This version is not recommended because the Reference Data component contains a bug relating to production database migrations. Use version 3.1.1 instead.

Release Notes

The OpenLMIS Community is excited to announce the 3.1.0 release of OpenLMIS!

This release represents a significant milestone in the version 3 series, which is the result of a software re-architecture that allows more functionality to be shared among the community of OpenLMIS users. This version includes a new Stock Management service and also has significant improvements in the Requisition functionality. It also contains contributions from the Malawi implementation, such as a CSV data loading tool for importing reference data (such as facility and product lists) into OpenLMIS.

After 3.1.0 there are further planned milestone releases that will continue towards the vision of providing a full-feature electronic logistics management information system (LMIS) that ministries of health and organizations can utilize to manage their supply chain. Please reference the Living Product Roadmap for the high-level estimated release schedule of next feature releases and beyond.

Download or View on Github

OpenLMIS Reference Distribution 3.1.0 


Version 3.1.0 of the Reference Distribution has updated versions of the components listed below. The Reference Distribution bundles these component together using Docker to create a complete OpenLMIS instance.

For background info about how components and the Reference Distribution are versioned, see Versioning and Releasing.

Reference UI 5.0.1

The reference UI bundles the following UI components together. 

ui-components 5.0.1

Bug fixes

  • OLMIS-2329: Removed initial timeout from the saving indicator
  • OLMIS-2224: Offline flag is now stored in local storage
  • OLMIS-2328: Fixed issues with resizing on tables with colspan and sticky columns
  • OLMIS-2489: Form error will now be properly displayed even if the translation can't be found
  • OLMIS-2471: Aligned locale selection and logout button.

ui-layout 5.0.1

Bug fixes:

  • OLMIS-2428: Fixed missing error message for 500 error modal

referencedata-ui 5.0.1

New functionality added in a backwards-compatible manner:

  • OLMIS-2370 - Added list and view screens for Orderables.

Bug fixes

  • OLMIS-2445 - Button and title capitalization are consistent.

The reference data UI contains the feature set to support administrative functionality to view and edit system configurations for Facilities, Products, Programs, Reasons, Roles, and Users. The following are the new administrative screens

  • Facility information: Provides a complete list of all facilities within the system. Allows admin to search for facilities by free form text, and view detailed facility characteristics.

  • Product details: Provides a complete list of all products within the system and allows admin to search for products by free form text or by selecting a Program. The admin can then view more details about the Product.

  • Role assignments: Provides a complete list of all roles within the system. Enables the admin to create and edit Roles, and then edit the Role assignments for each user.

  • User management: Enables the admin to assign a Home Facility to users.

requisition-ui 5.0.1


  • OLMIS-2483: Added a warning when trying to add non full supply product if there are no products available.

Bug fixes

  • OLMIS-2329: Dependant fields will now only be recalculated if the value actually changed(instead of every digest cycle)
  • OLMIS-2224: Requisition View screen is always available offline, even if no data is stored
  • OLMIS-2356: Fixed a bug with non full supply screen displaying an error for valid product.
  • OLMIS-2525: Errors will no longer appear in browser console when emptying requested quantity on one of the non full supply products.
  • OLMIS-2466: Requested quantity will now be properly validated for being required on the non full supply screen.
  • OLMIS-2481: Screen will no longer flash twice when syncing requisition.
  • OLMIS-2445: Button and title capitalization are consistent.
  • OLMIS-2352: Added missing validation for calculated order quantity column on the template administration screen.
  • OLMIS-2453: Total losses and adjustments modal fields will now be cleared when closing/reopening the modal.
  • OLMIS-2436: Aligned total cost and button.
  • OLMIS-2522: Fixed select element placeholder on initialize/authorize screen.
  • OLMIS-2439: Change skip all behavior to skip all line items, not only those visible on the current page.

stockmanagement-ui 1.0.0-beta

New screens supporting the key stock management transactions. For details on the functionality, reference the functional documentation:

  • Perform a Physical Inventory (stock count, stock take) to verify stock levels.
  • Issue or Receive stock from or to your storeroom.

  • Make an Adjustment to stock levels using configured reasons (wastage, expired, etc.) set by implementers.

  • View stock on hand summary and individual stock cards


fulfillment-ui 5.0.1

Bug fixes

Stock Management 1.0.0-beta

First release of stock management features, reference the functional specifications for a list of specific features and related JIRA tickets.

ReferenceData Service 6.0.0

New functionality added in a backwards-compatible manner:

  • OLMIS-2492: Added new query param to facility search endpoint - code (facility type code)
    • Moved warehouse facility type from demo data to initial data.
  • OLMIS-2370: Added paginated search orderables endpoint.
    • Description field was added to Orderable class.
  • OLMIS-2357: Added audit logs for User entity.
  • OLMIS-2413Add spatial data fields into ReferenceData facilities and geo zones

Breaking changes:

  • OLMIS-1696: In our medical commodities model, we changed how Orderables, TradeItems and CommodityTypes are associated - both internally to the Reference Data service, but also to external services. Before, the code modeled this relationship as Orderables being an abstract base class to TradeItem and CommodityType. Orderable no longer are abstract, and TradeItem/CommodityType are not inherited, but rather having a "has a" relationship to Orderable.
    • CommodityType and TradeItem no longer inherit from Orderable.
    • Orderable, TradeItem and CommodityType all migrated to separate tables.
    • Orderable is no longer an abstract class - objects may be instantiated from it.
    • Orderable accept a map of identifiers where the key of that map is the type of identifier, and the value is the identifier.
    • When creating an Orderable, one should give it's identifier in the Orderable's map as e.g. key = commodityType (or tradeItem), value = uuid.
    • CommodityTypes is able of having 0 or more Orderables.
    • Removed description from CommodityType, added name (string), classificationSystem (string), classificationId (string). All required.
    • TradeItem is capable of having 0 or more Orderable.
    • Added Dtos for: TradeItem, CommodityType, OrderableDisplayCategory, TradeItemClassification, Dispensable.
    • Added get endpoint for retrieve all commoditytypes.
    • Added endpoint for create orderables.
    • Added pagination for getAll/search endpoints for Orderables, CommodityTypes and TradeItems.
    • Added validation for orderable, commodity type and trade item.
    • Added data migrations.
    • Removed redundant code.

Requisition Service 3.1.4

Bug fixes added in a backwards-compatible manner:

  • OLMIS-1696: Update to accomodate referencedata 6.0.0 API change
    • Use pagination for calls to referencedata getAll Orderables
  • OLMIS-2480: Lowered values of maxPeriodsOfStock
  • OLMIS-2530: Fixed pagination on requisition search endpoint.
  • OLMIS-2407: Add due date label on the reporting rate report
  • Pull Request 23: Skip permission checks and add unit tests for service level tokens

Fulfillment Service 3.0.3

Bug fixes and improvements (backwards-compatible):

  • OLMIS-1696: removed redundant fields from ProgramOrderableDto
    • Adjusted report to changes in referencedata database.
  • OLMIS-2484: added FTP properties demo-data for Balaka District Warehouse

Components with No Changes

Auth Service 3.0.2, Notifications Service 3.0.1, and the tooling components have not changed, including: the logging service, the tailored docker-ized distribution of nginx, and a library for shared Java code called service-util.


Thank you to Team Panda at ThoughtWorks for releasing the first version of the stock management service. Team members included Shiyu Jin, Deng Yi, Wei Zhang, Hongwei Peng (Max), Pengfei Cui, Bing Wu.

Thanks to the Malawi implementation team that has contributed a number of pull requests to add functionality and customization in ways that have contributed global shared benefit:

Also, thanks to everyone who contributed to OpenLMIS 3.0.0.

Further Resources

View all JIRA Tickets in 3.1.0.

Learn more about the OpenLMIS Community and how to get involved!

OpenLMIS: the global initiative for powerful LMIS software