From http://www.openvpms.org/project/multi-patient-checkout
This project will allow all patients associated with a customer's current invoice to be checked out at once.
It will also enforce check-out when finalising invoices via Customers - Charges to ensure patients are correctly discharged.
At present, OpenVPMS provides a Check-Out workflow to automate the task of checking out a single patient. This
optionally prompts to select one or more boarding appointments to Check-Out
automatically charges any boarding fees
displays the invoice
prompts for payment, if the invoice is finalised
optionally prints documents
optionally creates a follow-up task
optionally imports documents from Smart Flow Sheet
sets the Appointment and Visit status to Completed
sends HL7 discharge events to Cubex/IDEXX etc
completes the Task, if Check-Out was launched from one
For multiple patients, users have several options:
run the Check-Out workflow multiple times, skipping invoice finalisation and payment to the last patient
perform each step manually, finalising the invoice via Customers - Charges
This latter approach means that users can forget to complete appointments and visits, effectively leaving patients checked in to the hospital.
To prevent this:
the Check-Out workflow will be updated to support multi-patient check-out
attempting to finalise an invoice with checked in patients will prompt to run the Check-Out workflow
To support multiple patients, the Check-Out workflow will be changed to:
locate all current appointments for the customer at the practice location. If there is:
more than one, it will prompt which patients to check-out
only one, or none, the workflow will run as it does now. There can be none if Check-Out is run for a completed appointment or task.
automatically charge any boarding fees for the selected patient(s)
display the invoice
prompt for payment, if the invoice is finalised
optionally print documents for the selected patient(s)
optionally create a follow-up task for the selected patient(s)
optionally imports documents from Smart Flow Sheet for the selected patient(s)
set the Appointment and Visit status to Completed for the selected patient(s)
send HL7 discharge events to Cubex/IDEXX etc for the selected patient(s)
completes the Task, if Check-Out was launched from one, and complete any Tasks linked to the appointments of the selected patient(s)
When an Invoice is finalised in Customers - Charges, it will:
1. Collect all patients in the invoice
2. Locate their appointments and visits
3. Display a confirmation to the user:
The confirmation window will provide the following buttons:
OK - check out the selected patients
Cancel - cancel check-out and finalisation
Skip - skip checkout, perform finalisation
If any of the patients are checked in at a different practice location, they will be listed, along with the location, but will not be available for selection.
4. If OK is selected, the Check-Out workflow will be run, from Step 2.
The invoice will only be displayed again if boarding has not been charged.
At present, the Invoice editor allows the Status to be changed to Finalised to finalise the invoice. This will be prevented if any of the patients referred to on the invoice have appointments that are not Pending, Cancelled, or Completed, and the invoice editing wasn't launched via the Check-Out workflow.