Customer Order Service
Donate to this project
Development Project Status: Under Discussion
This project will allow external systems to place orders for customers and patients within OpenVPMS via a web-service.
This can be used by in-house lab and dispensing equipment to initiate billing for products and services.
The project will deliver:
- a web service to receive orders
- a workspace to view and invoice orders
- integration with the Visit editor to invoice orders
- support to notify users that an order has been received
Web Service
The Customer Order web-service will:
1. accept order documents
2. validate them
3. save orders as act.customerOrder objects
4. notify user(s) that orders have been received
Customer Order Workspace
Received orders may be reviewed and processed within a new Customer Order workspace, under Workflow.
Here, customer orders may be:
- Queried
- Invoiced
- Cancelled
- Printed
Querying Orders
A filter will be provided to filter customer orders by status, date range, customer and patient. It will default to displaying all Pending orders.
Invoicing Orders
Invoicing an order copies the ordered products and quantities to an invoice, and changes the order status to Finalised.
If the customer already has an invoice, a prompt will be displayed to add to the existing invoice, or create a new one.
Cancelling Orders
Orders may be cancelled by selecting them and clicking Cancel. A prompt will be displayed warning that this operation cannot be undone before proceeding with the cancel.
Visit Editor Integration
The Visit Editor will be extended to include an "Invoice Orders" button, displayed when on the Invoice tab.
This will list the available orders, if any.
Selecting an order will:
- copy the order items to the invoice
- set the order status to Finalised
- save both the order and invoice
TODO:
- need to be able to handle incomplete orders
- what happens if an order has items for multiple patients?
Exclusions
At this stage, the project will not support the following operations via the web-service:
- order retrieval
- order amendment
- order cancellation