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 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.
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 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:
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: