The heart of any institution is its people and the OpenHMIS project is creating tools to enable that "heart" to run more smoothly. Providing quality medical services is a challenge and OpenMRS is a great help to meet that challenge, but it does not directly address the administrative needs of a medical institution. This is where the OpenHMIS modules come in: we are creating OpenMRS modules that provide the tools to help institutions run more effectively.
The OpenHMIS Inventory Module is a simple inventory management system that runs within OpenMRS. As the name implies, it is a tool to help with inventory management and is at the center of many other institutional services such as Billing, Pharmacy, and Lab. This module specifically targets small-mid sized institutions that need a simple inventory management system and thus does not (currently) provide all the features that a more full-fledged inventory management system has. The main features include:
- Item Management
- Stockroom Management
- Stock Operation Tracking
Future versions may include support for:
- Stock Operation Requests
- Automatic Item Stock Replenishment
- Supplier Management
- Support for External Inventory Systems
- OpenMRS 1.9.2+
- REST Web Services Module 2.x
- OpenHMIS Commons Module 2.x
- OpenHMIS Backbone Forms Module 2.x
- (Optional) Idgen Module: Needed to automatically generate operation numbers
- Module: https://modules.openmrs.org/modules/view.jsp?module=openhmis.inventory
- Source code: https://github.com/OpenHMIS/openmrs-module-openhmis.inventory
REST Web Services
The REST Web Services module must first be configured if this has not already been done.
- On the OpenMRS Administration page, click on the REST Web Services - Settings link.
- Update the Rest Web Services URI Prefix setting according to your OpenMRS server URI. For example, if clients connect to the server with the following URI 'http://192.168.1.100:8080/openmrs' then the prefix should be '/openmrs'.
The configuration for the Inventory Module is done through global options which can be accessed via the Administration / Settings page.
Inventory Auto Generate Operation Number: Whether or not to generate an operation number when a new stock operation is created.
Inventory Operation Number Identifier Source Id The ID of the Idgen module identifier source. Instructions for finding this ID can be found here.
Once the module has been installed, an OpenHMIS Inventory Module section will appear on the administration page with the following screens:
|Inventory Role Creation||Add or remove the required privileges to use the inventory module to/from a role or create a new role with those privileges.|
|Manage Items||Add, edit, retire, and purge the items (that is, the products and services) that are used by your institution.|
|Manage Departments||Add, edit, retire, and purge the item departments.|
|Manage Institutions||Add, edit, retire, and purge the external institutions that item stock can be distributed to.|
Add, edit, retire, and purge the stockrooms and view stockroom details.
|Manage Operation Types||Add, edit and retire the stock operation types.|
|View Stock Operations||View and process stock operations.|
|Generate Item Mappings||Generate item to concept mappings.|
Inventory Module Concepts
To effectively use the inventory module, it is important to understand the different objects and how they relate.
|Item||The information about a product or service that can be purchased or tracked at an institution.|
|Item Stock||A physical item that is located in a stockroom or distributed to an external institution or patient. This includes a quantity and an optional expiration date. Item stock can only be created for items that are marked as having physical inventory.|
|Stockroom||A location where item stock is stored.|
|Stock Operation Type|
The kind of stock operation to be performed. The module currently includes six stock operation types:
|Stock Operation||Moves one or more item stock into, within, or out from the institution, as defined by the Stock Operation Type.|
|Transaction||Records the individual changes in item stock in a given stockroom. For example, if a single item stock is transferred from the Main stockroom to the Pharmacy stockroom, two transactions would be created; one for the item stock deduction from Main and another for the item stock addition to Pharmacy.|
Stock operations have a status which determines the current state:
|New||The operation has been created but not yet processed by the system.|
|Pending||The operation has been started and is currently in progress.|
|Completed||The operation has been finished.|
|Canceled||The operation was canceled and any processing that was done while pending is reversed.|
As the status of the stock operation changes, the requested item stock changes are applied to the source and/or destination stockrooms as defined by the stock operation type.
|Adjustment||Item stock changes negated and applied to source||Nothing||Item stock changes reversed|
|Disposed||Item stock changes applied to source||Nothing||Item stock changes reversed|
|Distribution||Item stock changes negated and applied to source||Nothing||Item stock changes reversed|
|Receipt||Nothing||Item stock changes applied to destination||Nothing|
|Return||Nothing||Item stock changes applied to destination||Nothing|
|Transfer||Item stock changes negated and applied to source||Item stock changes applied to destination||Source item stock changes reversed|
All item stock changes occur via Stock Operations
Creating new operations
Generate Item Mappings