Third-Culture-Software / bhima

A hospital information management application for rural Congolese hospitals
https://docs.bhi.ma/
GNU General Public License v2.0
218 stars 104 forks source link

design: Tariff based invoices - Cases #1770

Open sfount opened 7 years ago

sfount commented 7 years ago

Problem A number of installation sites that we have visited are moving to using a tariff based system of billing. Instead of patients being responsible for covering the cost of their health care, they are instead assigned a tariff. This is a set amount that will pay no matter what happens with their progression through the hospital.

This is possible to model in BHIMA however without billing for individual invoice items there will be no way of knowing how much treating patients is actually costing the hospital. The only two data points available would be the cost that the hospital should make from tariffs and how much they actually do make in cash. The cost of healthcare would be be unknown.

Cases Concept After a patient has been registered they can create a 'Case'. Creating a case will invoice the patient based on tariff. This case can then be used to cover individual invoices.

Invoices can optionally reference a case, if an invoice references a case the debt will immediately be balanced by the hospital.

Requirements

Result

DedrickEnc commented 7 years ago

@sfount Thanks to create this issue, my question is :

sfount commented 7 years ago

@DedrickEnc

  1. I would suggest that cases are completely optional and should not be required. We could add an option in enterprise settings so that if an enterprise has no use for the optional case fields they will not be displayed.

  2. The cash module should have no changes at all given this design. Cash should be paid towards invoices in exactly the same way.

sfount commented 7 years ago

I have also proposed a much simpler solution that would not require as much infrastructure to build - it would not track individual cases but it would allow enterprises to optionally assign any invoice to be covered fully by the enterprises 'case' account.

Quote

I do have a suggestion for an intermediate solution that would not take as long to develop and would be less complex for the hospital:

This involves very little infrastructure on our part. It then provides to options for billing.

  1. 'Covered by a case' is not checked. The patient is invoiced (for example for the original tariff) and owes that money to the hospital.
  2. 'Covered by a case' is checked. The patient is invoiced (for example for medicines) and the invoice is instantly paid by the hospital, no money is owed by the patient.
DedrickEnc commented 7 years ago

Yes but technically how the cash module will load bills? because even if the invoice is covered by the case, the patient should pay. If the cash will not change, that means the patient invoice module will create two invoices (one balanced and other not balanced)?

sfount commented 7 years ago

The cash modules should load bills in the same way.

If the invoice is covered by a 'Case' the balance will be paid immediately by the hospital - because the balance will always be 0 it will never show up in the cash module.

If the invoice is not covered by a 'Case' the balance will be > 0 and it will show up in the cash module.

jniles commented 7 years ago

If we are going to implement this, I would be more comfortable going all the way in and supporting all the infrastructure required to do Tarif-based invoicing against a case.

This was a really detailed issue, and we can probably start to work on it anytime. It will expand our potential installation sites greatly.