Sharing ideas on how to handle cases where patients need to pay (fully or partially) before services are provided to them.
Here is the client workflow:
- Patient comes in the hospital, is seen at the registration desk and is redirected to the waiting area for his/her type of visit.
- Patient is seen by the doctor who may prescribe lab tests, radiology tests, surgical procedures, drugs…
- A paper prescription is given to the patient.
- Patient (or a trusted friend or family member) then goes to the cashier to pay the prescribed orders.
- Cashier first looks up the prices in the price list.
- Patient is asked to pay the calculated amount. If he/she is unable to pay, the hospital may provide other payment options (loan, extended payment terms, free of charge…)
- Once cleared, the prescription is stamped and signed.
- Patient can then use this as a proof of payment/clearance and proceed to getting orders done (retrieve the drugs from the pharmacy or getting the x-rays done etc…)
In Bahmni, when the doctor prescribes an order, it is synced to Odoo and creates a Quotation with prices picked up from the applicable price list.
With Bahmni in place, when the patient would go to the cashier, the cashier would see the ordered Quotation in Odoo. If all is correct, the Quotation is then transformed into a Sales Order and a payment can be received from the patient (or payment options applied) and transform the Sales Order into an Invoice. Invoice or receipt can be printed out as a proof of payment.
We would like to leverage on this so the doctor would be able to confirm at first sight if an order is indeed cleared and he can proceed with delivering care to this patient.
So we are thinking of providing a customisable dashboard widget that lists invoice lines and their corresponding invoice clearing status. The doctor would not need to know any of the details of the patient payment options. Order would only appear to him/her as cleared/approved.
- Define what exactly a cleared order would mean in Odoo
- Identify if this is something that can be fetched using the existing Odoo API
- If not, create a custom Odoo module to compute this status and expose the resource
- OpenMRS module to call the Odoo RPC API to retrieve such status and expose it via a custom OpenMRS resource
Bahmni EMR side:
- Display control to show order lines and their clearance status
- Other implementations have a use case where a fee is also applied at registration (@laxman) .
- This only describes a simple ideal OPD workflow. IPD patients could have more than one Quotation created and cleared. Requirements are not 100% clear on this yet, but IPD is something to keep in mind.