Billable Objects Module
Overview
The Billable Objects Module is an extension to the OpenHMIS Cashier Module.  The module adds the concept of billable objects, which are OpenMRS objects (such as Encounter or DrugOrder) that have associated costs that need to be billed to a patient.  A billable object implementation enables the storing of metadata indicating that an object should have an associated bill, and allowing that association.  Billable objects work in conjunction with billing handlers, which provides a framework for implementing and configuring billing behaviour for billable objects.  The main components of the module are:
the IBillableObject interface, which can be implemented to allow mapping in the database between an OpenMRS object and a bill
the IBillingHandler interface, by which implementations can define logic for generating appropriate bill line items for an object of a particular class.
Requirements
OpenMRS 1.9.4
OpenHMIS Backbone Forms Module 2.x
OpenHMIS Inventory Module 1.x
OpenHMIS Cashier Module 2.x
Download
Basic Operation
The Billable Objects Module responds to "create" events for objects in OpenMRS. Â Metadata will automatically be stored for an object that has a corresponding billable object implementation, as well as a corresponding billing handler instance saved in the database.
Configuration
Once the module has been started, a Manage Billing Handlers link will be available on the administration screen, which allows for adding and editing of billing handlers.  The module includes handlers for Encounter and DrugOrder.  See the developer documentation for information on how to add other handlers.
Billable object metadata will only be saved for classes that have handler instances saved to the database.
Encounter Handler
Encounter handlers allow the association of a set of inventory items with an encounter of a particular type. Â For example, to associate a fee with an ADULTINITIAL encounter:
Go to the Manage Billing Handlers screen, under Administration, Billable Objects Module
Click Add Billing Handler
Choose the EncounterHandler type
Enter a name, and optionally a description
Choose the appropriate encounter type, e.g. ADULTINITIAL
Add one or more items from the inventory that should be billed for this encounter type
Click Create Encounter Handler
Drug Order Handler
The Drug Order handler uses the ability of the OpenHMIS Inventory Module to associate items to drugs to find the appropriate item to bill for a Drug Order. Â Currently the Drug Order Handler has no configurable options; one Drug Order Handler will handle any Drug Order. Â To create:
Go to the Manage Billing Handlers screen, under Administration, Billable Objects Module
Click Add Billing Handler
Choose the DrugOrderHandler type
Enter a name, and optionally a description
Click Create Drug Order Handler
Â