Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update link to go to OpenMRS Add-ons index instead




VersionReleasedRelease Notes

1.1 Notes

1.315-Dec-20141.3 Notes
1.413-Feb-20151.4 Notes
1.519-Mar-20151.5 Notes
1.6 - 2.029-Apr-20151.6 - 2.0 Notes
2.110-Dec-20152.1 Notes



REST Web Services


2.2.112-Apr-20162.2.1 Notes
2.3.331-Aug-20162.3.3 Notes
2.4.002-Nov-20172.4.0 Notes



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


  • :
System Administration buttonAdvanced System Administration buttonRest Web Services Link
Image AddedImage AddedImage Added
  • 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 '' then the prefix should be '/openmrs'.

Image Added

Module Settings

The configuration for the Inventory Module is done through the Inventory Settings page:Image Removed

Click on Inventory ButtonClick on Manage Inventory ModuleInventory Settings
Image AddedImage AddedImage Added


There are only two three settings that can be configured:

  • Auto Generate Operation Number:


  • Set whether or not to generate an operation number when a new stock operation is created.
  • Identifier Source: The Idgen module identifier source used to generate the operation number.

Image Removed

Module Administration


  • Auto Complete Operations: Set where a stock operation is automatically completed and moved to the completed state or left at the pending state once creating awaiting completion.

The Settings page also includes Reports that a user can select from pre-entered Jaspers Reports.

Image Added

Module Administration

Before the OpenMRS 2.0 release, an OpenHMIS Inventory Module section appears at the far right corner of the home page after installation of the inventory module.


 This will redirect you to the Manage Inventory Module page.  The manage inventory module page allows the user to either create Inventory Role, Manage Items, Manage Item Attribute Types, Manage Departments, Manage Institutions, Manage Stockrooms, Manage Operation Types, View Stock Operations, Generate Item Mappings or manage Inventory Settings.

For the previous version OpenMRS, Inventory module management OpenMRS versions before the Reference application e.g OpenMRS version 1.9.9, the Inventory module management can only be done on the Admin page;:

Below is a table showing all the inventory module operation management features and a brief description of what each module is responsible for;:

Inventory Role CreationAdd or remove the required privileges to use the inventory module to/from a role or create a new role with those privileges.Image Added
Manage ItemsAdd, edit, retire, and purge the items (that is, the products and services) that are used by your institution.  Image Added
Manage DepartmentsAdd, edit, retire, and purge the item departments.Image Added
Manage InstitutionsAdd, edit, retire, and purge the external institutions that item stock can be distributed to.Image Added
Manage Stockrooms

Add, edit, retire, and purge the stockrooms and view stockroom details.

Image Added
Manage Operation TypesAdd, edit and retire the stock operation types.
View Stock OperationsView and process stock operations.
Image Added
Generate Item MappingsGenerate item to concept mappings.Image Added

Inventory Module Concepts


ItemThe information about a product or service that can be purchased or tracked at an institution.
Item StockA 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.
StockroomA 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:

  1. Adjustment: Item stock quantities that do not match the current system quantity
  2. Disposed: Item stock that have expired and must be removed from circulation
  3. Distribution: Item stock that are distributed to a patient or external institution
  4. ReceiptInitial: Item stock that are added into the inventory system is already in stockrooms when the system initially started
  5. Receipt: Item stock that are added into the inventory system from an outside provider
  6. Return: Item stock that are returned to the system after being distributed
  7. Transfer: Item stock that are transferred from one stockroom to another.
Stock OperationMoves one or more item stock into, within, or out from the institution, as defined by the Stock Operation Type.
TransactionRecords 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.
Batch OperationRefers to the Stock Operation when a given quantity of Item Stock was added into the system.


Operation TypePendingCompletedCanceled
AdjustmentItem stock changes negated and applied to sourceNothingItem stock changes reversed
DisposedItem stock changes applied to sourceNothingItem stock changes reversed
DistributionItem stock changes negated and applied to sourceNothingItem stock changes reversed
InitialNothingItem stock changes applied to destinationNothing
ReceiptNothingItem stock changes applied to destinationNothing
ReturnNothingItem stock changes applied to destinationNothing
TransferItem stock changes negated and applied to sourceItem stock changes applied to destinationSource item stock changes reversed


When viewing a stock operation with item stock details that were automatically selected the details will not show the specific batch or expiration, instead they will be listed as (Auto).

Step By Step Setup

Once you understand the various concepts, then you need to setup the various components so as to get a working prototype.

Rest Web Services

First setup the rest web services URI as explained in the configurations description above.

Create an Inventory Number Generator (optional)

You need to have installed the idgen module in order to use this functionality.


On the OpenMRS Administration page, click on the Manage Identifier Types – Patients link:

Image Added


Then you will click on Add Patient Identifier Type link as shown:

Image Added



Add the Name, description (optional) and the Number format in this example (0123456789)

and the Save Identifier Type:

Image Added

After Saving the Identifier type above, you will get this page. Add Base Character set,

First Identifier set which will be the first operation number. Then add a prefix,

min and max length all optional and then Save

Image Added

Navigate to the Inventory Settings page where you will check the "Auto Generate

Operation Number" check box and then choose the Inventory Generator as seen shown.

Please remember to click Save Settings to effect changes.

Image Added

Create a department

Items from Pharmacy, those from Lab, Surgery and so on can be grouped under departments. So for example to create items from Pharmacy create a pharmacy department and then associate items to be created later under this department.

From Manage Inventory Module,

click on Manage Departments

Click on New DepartmentEnter a name and optional descriptionSave Changes
Image AddedImage AddedImage AddedImage Added

Create Items

Create items and services.

From Manage Inventory Module,

click on Manage Items

Click on New Item

Item Name, Department, Price and

Default price are required

Save Changes
Image AddedImage AddedImage AddedImage Added

Create a Stockroom

Below is how to create a stockroom:

From Manage Inventory Module,

click on Manage Stockroom

Click on New StockroomEnter a name and optional locationSave Changes
Image AddedImage AddedImage AddedImage Added

Perform Inventory Operation

Now that you have created a department, item and stockroom, you are ready to start performing inventory stock operations.

Ideally the first stock operation should be a receipt or initial operation. This will put item stock that is a quantity and expiration to your item(s)

Click on Inventory TasksImage Added
Then Click on create operationImage Added

This is the Inventory operation page from which you'll change the Operation Type

stockroom and enter the line items

Image Added

Change the Operation Type to Initial and the Destination Stockroom to Main Pharmacy.

This means that you are creation an operation to be effected in Main Pharmacy for the

item that you will choose below

Image Added

Search for the line item in the Operation Items section then enter a quantity and

expiration for the item

Image Added
Then save the operationImage Added

Since the "Autocomplete Operation" check box in the inventory settings is off, then

the Status of the Operation is pending awaiting completion.

Click on the Operation in order to complete it

Image Added

Click on the Button on the Top right hand of the page and you will see a complete

operation button

Image Added
Click on Complete Operation to complete itImage Added
The status now changes to COMPLETEDImage Added


Inventory Dashboard

The Inventory Dashboard is the landing page to perform inventory-related activities. From this dashboard users can view and process their stock operations as well as create new stock operations. The dashboard is accessed from the Inventory link on the right side of the OpenMRS header. For the new version, the Inventory module is accessed from the home page using the Inventory application.