Customer Order Service

Donate to this project

Development Project Status: Under Discussion

Due date for completion of this stage: 

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


  • need to be able to handle incomplete orders
  • what happens if an order has items for multiple patients?


At this stage, the project will not support the following operations via the web-service:

  • order retrieval
  • order amendment
  • order cancellation


Syndicate content