Personal tools

Using OpenEMR Inventory-Dispensary Module for Non- Pharmaceutical Products

From OpenEMR Project Wiki

Jump to: navigation, search

... without Conflicting With NewCrop eRx

... being edited as of 26 oct 20- HT...



OpenEMR's Inventory/ Dispensary module was originally created to serve a standalone practice that carried its own inventory of drug and non- drug products. Fortunately, many or most of the medication- oriented data fields are only used if the product is to be tracked, so they can be used for non- drug products.

OpenEMR's NewCrop eRx interface co-opts several of the Prescription and Medication modules' activities so that when they are selected, NewCrop is automatically invoked. However, that can be worked around using the Charges Panel to order an inventory product for an individual patient.

Preparation/ Prerequisites:


1. Decide if you will be using a different 'warehouse' for different types of products.

  • Warehouses are a way to organize your inventory.
  • If you have Durable Medical Equipment (wheelchairs, crutches etc) and herbal preparations you could have a warehouse each, for 'DME' and 'Herbals'.

2. Set them up if desired:

A. From Main menu: Administration/ Lists - select Warehouses (below)
B. Enter your desired warehouse name(s) in 'Title' column
C. a mnemonic lowercase alphabetical string with no spaces or special characters, as the 'ID'.
D. A consecutive 'Order' value with enough room between each ones to add others later if needed
E. Remember to make the column 'Active'


3. In Admin/ Globals/ Appearance - must have 'Use Charges Panel' activated NewPharmDisp-0GloCharges.png

... and also in Globals/ Features select in the the 'Drugs and Products' dropdown, 'Inventory and sell both drugs and non-drug products'.


The Inventory workflow

... is basically:

1. In the initial panel enter one 'lot' of a product into the inventory and enter the product characteristics
2. In a second panel tell the Inventory module the 'lot' characteristics (expiration date etc)
3. When the product is entered into the inventory you can write a 'prescription' for that product in the pt's charges panel

1. Add a product to the inventory

This workflow shows adding a non- pharmaceutical product, such as an herbal preparation, to the Inventory.
If one wanted to add a physical object such as a wheelchair, simply omit any factors that do not apply. For example, a wheelchair does not have a milligram descriptor, so leave that item blank.

From Main Menu: Inventory/ Management


Top portion of dialog:

(Item explanations follow this image)


Name - of product

Active - yes. If needed, this item can be temporarily inactivated so it is not available in the inventory by unselecting this checkmark, then re-activated later.

Allow -

  • Multiple lots: if your inventory will contain more than one lot of this product at a time
  • combining lots: if you will track all the lots as one collection instead of separately; this will allow filling an order from multiple lots

NDC number - optional

  • any arbitrary free- text industry product indicator
  • is a handy place to indicate the price of each dose so the prescriber has that for visual reference (as pictured)
  • Max length 20 characters including spaces.

Drug code - optional - e.g., the CVX code, if applicable

On order - optional - how many lots are on order

Limits - optional - but are used for low inventory notifications.

  • per the tool tip, "minimum/ maximum reasonable inventory limits", of individual warehouses and all combined (Global).

** These medication- related lists in Administration/Lists/ may be customized:
  • Drug Forms
  • Drug Units
  • Drug Routes
  • Drug Intervals

Form - of the med; eg tabs, ml, capsule, etc.

Pill Size and Units: together designate strength of the med.

  • in the image above it indicates a strength of "100 grams"

Route - of administration; may need to custmize this list for some inventory objects

Relate to - optional field, brings a selection panel to choose an item from any of the installed codesets; e.g., ICD10 or CPT codes

  1. click in the text area to bring up a code search dialog.
  2. select the installed/ configured codeset/ code this item is related to.

(Bottom part of the 'add meds' dialog described in 'Templates' section below)



Templates specify the different prescriptions in which this product will be ordered. A separate template is required for each different Rx that will be written for this product.

  • Name: of the med/ product as given at the top of this form
  • Schedule: how many of the units entered above, are to be given in this prescription.
  • Interval: AKA frequency that the med will be given in this prescription
  • Qty: how many doses are given in this prescription.
  • Refills: in a regular medication, is simply the number of refills allowed.
  • In the case of childhood immunizations or other meds ordered for a series of administrations, one might want to order the total number of doses in the whole series so you don't have to keep reordering this med each visit.
  • Standard: standard price; must manually enter each price that will be charged for this order
  • this module does not pull its price from the one entered into the service code entry

Click 'Save'

This completes the first 'Add Drug' entry.

  • If entry of the Rx is interrupted before this point the product can be reopened by clicking on the drug name. (rectangle below)
  • In a normal inventory entry workflow, once one reaches this point the next panel would appear automatically.
  • If interrupted at this point, click on 'New' (oval below) to add the new lot being logged into the PharmDisp.


2. Next (or resumed) panel

...entering lot info to connect it to the product supply

Lot number - required to keep lots separate and to track levels and expiration dates etc of the product lots.

Manufacturer - optional

Vendor: optional; however if used, in order to appear in this dropdown the vendor must first be entered in the EMR's Address Book, with specialty selected as 'Vendor'

Warehouse- if you have any additional ones configured; select the one these lot data entries apply to

'On Hand' - read- only display of stock level

Transactions - the nature of the action occurring with this this lot

'purchase' from vendor to add to stock
'return' to stock
'transfer' to a different warehouse
'distribution' [purpose not evident]
'adjustment' correct inaccurate supply values.

Date - of logging in the product lot

Quantity - number of packages in the lot.

  • If this were pharmaceuticals, it would be, for eg, 3 multidose vials in the lot.
  • Note: all the individual dosage information was entered in the 1st step; this data talks about how many of them are in the lot.

Total Cost - of the whole lot (just use numbers without dollar signs)

AAAND- the new inventory entry is complete.

  • pay no attention to the non- matching product names...


3. Writing an order for the product

1. Open the pt record
2. Open the encounter where the product is ordered Encounter pictured already opened).
3. From Main menu: Fees/ Charges (shown below)


4. Click link 'Add prescription' (oval)

5. Enter product in 'Drug'
  • If warehouses are configured, select the correct one in 'in-house'
  • or simply select from the inventory contents that will be offered (arrow)


6. The product 'order' is inserted with everything filled out as entered when the product was added to the inventory.
7. Click 'Save and Dispense' button (oval in panel below)



(pay no attention to the error message)

8. Click red 'x' in corner to close

... and there is the product order in the patient's Prescriptions listing


NOTE: It will not appear in Current Medications widget because that is strictly controlled by NewCrop.

When you go to this patient's NewCrop screen you'll see it was imported but, as stated in the section it's shown in, 'are missing data and will not participate' in NCrop's medication auditing.



OpenEMR also has standardized inventory reports located at 'Main Menu: Reports'


  • 'List' all inventory products
Sorry, no data is in this pic but the column headings are helpful


  • 'Activity' in the selected time period


  • 'Transactions' in the selected time period



The Inventory/ Dispensary module, while it was not written for products other than an in- house inventory of medicinals, can be adapted to basically any sort of property. The only shortcomings are that the data field and report headings, which are oriented to medicinals, may not be too appropriate for wheelchairs, for example, or bulk herb stock.

But the good part is, any missing data will not conflict with other of the EMR's functions, the information will simply be absent. Another advantage of using this module is that the very popular electronic prescription service takes over the regular prescriptions and medication functionalities. This means that a practice may provide allopathic medications to their patients while simultaneously serving homeopathics and other alternative medicine remedies.