OpenHMIS Cashier Module

OpenHMIS Cashier Module

Overview

The OpenHMIS Cashier Module provides a basic interface for bill creation and management.  The module aims to be simple and optimized for easy keyboard entry.  As of version 3.3, features include:

  • Bill management

  • Configurable payment modes (e.g. cash, credit card)

  • Multiple payments per bill

  • Bill adjustments

  • Configurable receipt number generator

  • Basic time/shift tracking for cashiers

  • Cash point management

  • Cashier Reports Page

  • OpenMRS 2 support for all the Cashier Pages

Requirements

Cashier module dependencies for the 3.x release are as follows:

Download

Version History

Version

Released

Release Notes

Version

Released

Release Notes

1.1

1-Feb-2013

 

1.5.1

15-May-2013

 

1.6.1

23-Aug-2013

 

1.7.3

2-Jul-2014

1.5-1.7 Notes

2.0.0

24-Sept-2014

2.0 Notes

2.1

4-Nov-2014

2.1 Notes

2.2

25-Nov-2014

2.2 Notes

2.3

19-Mar-2015

2.3 Notes

3.0

23-Jul-2015

3.0 Notes

3.1

10-Dec-2015

3.1 Notes

3.2.1

12-Apr-2016

3.2.1 Notes

3.3.3

31-Aug-2016

3.3.3 Notes

3.4.0

02-Nov-2017

3.4.0 Notes

 

Module Deployment

The Cashier Module is deployed into OpenMRS the same way as all other modules

https://openmrs.atlassian.net/wiki/display/docs/Administering+Modules

 

Configuration - Getting Started

REST Web Services

The REST Web Services module must first be configured if this has not already been done.  

  1. On the OpenMRS Administration page, click on the REST Web Services - Settings link.  

  2. 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'. For example see the screenshot below:

Cashier Settings

  • All the settings for the Cashier Module are done from the Manage Cashier Module Page located in the Cashier Module Dashboard:

Cashier Dash Board
Cashier Dash Board
  • Click on the Manage Cashier Module Above to see the list of Cashier Management Pages. The Cashier Settings page is highlighted below:

  • Once you click on Cashier Settings, you will see a number of options such allowing adjustments, defining rounding and rounding mode and so on:

Cashier Settings
Cashier Settings

Cashier Settings Options

  • Bill Adjustment: Provides an option for the cashier to edit a bill once it has been processed. Bill adjustment is useful in instances where the cashier was to give a refund.

    • There are 2 available True of False settings for Bill Adjustment:  Allow Bill Adjustment and Require Adjustment Reason.

  • Autofill Payment Amount: When set to True, this option populates the Amount in the Payments Section of the Cashier Bill with the Total Amount due from the selected Line Items.

  •  Timesheet: True or false setting for Cashier Time tracking. Together with the Shift Reports, this enables tracking of the cashier's logins and amount of money collected during any of the time sheets.

  • Cashier Bill Rounding: This is an important setting defining how Inventory Item Price will be rounded off in the Cashier Bill. This may be useful in situations where giving out change in very small currency denominations is difficult.

    • Round To Nearest setting defines by how many units the price is to be rounded of. The input accepts floating type numbers as well as Integers. 

    • Rounding Mode There are 4 options for this setting, Blank(meaning NO Rounding), Floor, Mid and Ceiling. This options can be seen below:

  • Number of Bills on the Patient Dashboard: On OpenMRS 2.x, it is possible to view the last X number of Patient's Bills on the Patient Dashboard. The Bills are displayed in descending order that is from the Patient's Last Bill downwards. Patient Dashboard Number of Bills To Display defines how many bills to display. For example:

NOTE:The Above Reports need to be first added to the Jasper Reports Module as explained in the Reports Administration section.

The above Settings can also be configured from the Cashier Global Options as explained below. This is especially useful incase once is using OpenMRS platform 1.9.x and can be seen in the screenshot below:

Cashier Global Options

Most of the configuration for the Cashier Module is done through global options which can be accessed via the AdministrationSettings page (Screenshot Above).  For detailed instructions on configuring Global Options click here

Parameter

Description

Valid Values

Default

Cashier Adjustment Reason Field

Setting Defining whether or not Cashiers Need to Enter a Reason for Adjusting a Bill.

true or false

false

Cashier Allow Adjustments

Setting Defining whether or not Adjusting a Bill is allowed

true or false

true

Cashier Autofill Payment Amount

When set to True, this option populates the Amount TextBox in the Payments Section of the Cashier Bill with the Total Amount due from the selected Line Items.

true or false

false

Cashier Default Receipt Report Id

ID of the Jasper report to use for generating a receipt on the Bill Page.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Default Receipt Report Id

ID of the Jasper report to use for generating a receipt on the Bill Page.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Default Shift Report Id

ID of the Jasper report to use for generating a cashier shift report.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Patient Dashboard 2 Bill Count

Number of Bills that will be displayed on the Patient Dashboard on OpenMRS Reference Application 2.x

An integer value X

5

Cashier Daily Shift Summary

ID of the Jasper report to use for generating a cashier daily shift summary report.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Reports Department Collections

ID of the Jasper report to use for generating a Department and Inventory Item Total Amount collected report.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Reports Department Revenue

ID of the Jasper report to use for generating a Department summary Total Amount of revenue collected report.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Reports Shift Summary

ID of the Jasper report to use for generating a cashier shift summary report.

An integer value X

this value is acquired from the desired jasper report in Report Administration

null

Cashier Round To Nearest

This setting defines by how many units the price is to be rounded of. The input accepts floating type numbers as well as Integers.

a floating type number or integer

(e.g., 1, 0.5, 0.01)

null

Cashier Rounding Dept Id

A rounding department is need when setting up rounding. Check process for getting the rounding department id from the section #LINK

An integer value X

this value is acquired from the database inv_department table explained in Report Administration

null

Cashier Rounding Item Id

A rounding item is need when setting up rounding. Check process for getting the rounding item id from the section #LINK

An integer value X

this value is acquired from the database inv_item table explained in Report Administration

null

Cashier Rounding Mode

This setting defines how to do rounding for Bill Total Amounts

MID: round to nearest half

FLOOR: always round down

CEILING: always round up

null

Cashier System Receipt Number Generator

Once a user defines a receipt number from the #Manage Receipt Number Generator Page, the Fully qualified class name of the receipt number generator is stored in this setting. The receipt number generator is best setup using the the #Manage Receipt Number Generator Page.

 

null

Cashier Timesheet Required

This setting defines whether or not a cashier needs to have an active time sheet before they can be able to create or modify a bill.

true or false

false

Configuring Cashier Bill Rounding

  • If you are using the OpenMRS 2.x Navigate to the Cashier settings page as described above otherwise you can also navigate to the Administration / Settings page described above.

  • From the Cashier Settings Page Set the Round to Nearest value e.g 5 which means round to the nearest 5 units

  • Next select the Rounding Mode e.g CEILING which means always round up

Creating Rounding Department and Rounding Item

  • Click on the Inventory Button on the OpenMRS Dashboard and then Click on Manage Inventory Module Page and then Click on Manage Department and then click on New Department:

Inventory Button
Inventory Button
Manage Inventory Module
Manage Inventory Module
Manage Departments
Manage Departments
Create New Department
Create New Department
Enter Dept Name and Description
Enter Dept Name and Description

 

  • Enter the New Department's Name and Description. It's best to use the Department Name as "Rounding" for purposes of clarity and reporting:

 

Enter Rounding Dept Name
Enter Rounding Dept Name
After Saving Rounding Dept
After Saving Rounding Dept

 

  • Next Create a Rounding Item. From Manage Inventory Module, Click on Mange Items then Click on New Item.

Manage Items
Manage Items
Click on New Items
Click on New Items
Enter Item Details
Enter Item Details

 

  • Enter "Rounding as the Name of the item", Select the Department as "Rounding" and then Check the :Has Physical Inventory" Check box and Add a price of 0.00 as per the screenshot and then Save the Item:

  • Using a data base client like MySQL Workbench, get the Rounding department_id and item_id using the following queries: NB: Remember the include the name of your database e.g incase your database is called openmrs then use this name in the query e.g:

    • select department_id from openmrs.inv_department where name = 'Rounding';

    • select item_id from openmrs.inv_item where name = 'Rounding';

  • With this Rounding Department ID and Rounding Item ID, Navigate to System Administration -> Advanced Administration -> Maintenance and click on the Settings Link then Click on OpenHMIS:

System Administration
System Administration
Advanced System Administration
Advanced System Administration
Maintenance Settings
Maintenance Settings
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
System Administration
System Administration
Advanced System Administration
Advanced System Administration
Maintenance Settings
Maintenance Settings
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
Maintenance Settings OpenHMIS
  • Now Enter the Rounding Department ID and Rounding Item ID in the Cashier Rounding Dept Id and Cashier Rounding Item ID text boxes in the settings page and then save as shown below:

Entering Rounding Dept ID and Item ID
Entering Rounding Dept ID and Item ID
  • After saving, you have now successfully set up Cashier Bill Rounding.

  • Now go to the Cashier Settings and then enter a "Rounding Mode" and "Round To Nearest" value.

    • NB:// If you dont want any rounding, set "Round To Nearest " to "0"(zero). Just make sure "Rounding Mode" and "Round To Nearest" have some value otherwise you will get an error when trying to process a bill.

Creating Cashier User

 

1. Click System Administration

 

2. Click Advanced Administration

 

3. Now follow from Step 2 for the Classic UI below

 

Classic UI

1. Click Administration

2. Click on the Manage Providers link.

3. Click on the Add Provider link

4. (Optional) Type in an Identifier for the provider

An identifier is used to generally describe the role of the provider. Eg Cashier, Clerk, Doctor, Nurse  etc

5. Enter the Person or Provider Name of the user you want to set up as a cashier

6. Click Save

 

Module Administration

With the new version of OpenHMIS (that is version 2.0+), the Cashier application will appear on the OpenMRS home page as shown below:

Click on the Cashier application/button and you will be redirected the Cashier Task page as shown below:

At the Cashier task page, you can either Create new bill, make a Timesheet Entry/Generate Shift Report or Manage Cashier Module

In order to manage the cashier module, click on the Manage Cashier Module application and you will be redirected to the OpenHMIS Cashier Module page.