HL7 General Orders

Donate to this project

Development Project Status: Completed

Total cost estimate (ex-Tax): 
Due date for completion of this stage: 
Current Percentage Funded: 
Project funding: 

You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.

Project description: 

1. Overview

This project will add support for HL7 general order messages.

It will enable OpenVPMS to:

  • submit and cancel orders to external providers during invoicing
  • submit orders when creating Investigations
  • cancel orders when deleting Investigations or setting their status to Cancelled
  • receive order cancellation notifications from providers to amend invoices

Orders will be submitted whenever an investigation is created that has an investigation type that specifies:

  • an Investigation Service or Investigation Service Group; and
  • a Universal Service Identifier

2. Messages

The following messages will be supported:

Message Type Message Event Name Direction Description
ORM O01 General Order Message Outbound Used to place and cancel orders with an external provider
      Inbound Used by the provider to cancel orders
ORR O02 General Order Message Reponse Outbound Used to acknowledge an ORM^O01 cancellation sent by a provider
      Inbound Used to acknowledge an ORM^O01 message sent from OpenVPMS

Note that outbound messages are those generated via OpenVPMS, and inbound messages are those generated by an external provider.

2.1 Orders

New orders are submitted for:

  • products with approriately configured investigation types, when an invoice is saved
  • investigations

Order cancellations are submitted for prior orders when:

  • an invoice item is deleted
  • an invoice is deleted
  • an investigation is cancelled
  • an investigation is deleted

2.2. Provider Order Cancellation

A provider can cancel an order issued from OpenVPMS, by sending an ORM^O01 message with:

  • ORC-1 Order Control set to CA
  • ORC-2 Placer Order Number set to that of the original order


In order to tie these messages into invoicing, a new Investigation Order archetype will be created, similar to the Pharmacy Order archetype. As with Pharmacy Orders, these may be:

  • invoiced
  • created, viewed, and deleted via Workflow - Customer Orders.

To support order cancellation, these may have a Cancellation status.

3. Investigation Services

Two new HL7 services will be supported:

  • Investigation Service
  • Investigation Service Group

Both will be configured via the Administration - HL7 - Services tab.

3.1 Investigation Service

An Investigation Service has a:

  • name
  • description
  • connector used to submit orders
  • connector used to receive order cancellations
  • location, indicating the Practice Location that the service applies to
  • list of patient admission events the service will receive

3.2 Investigation Service Group

An Investigation Service Group is used to group Investigation Services by Practice Location. When submitting orders, the current Practice Location is used to select the Investigation Service to use.

4. Configuration

4.1 Mapping

The following fields require mapping from OpenVPMS to their provider-specific values.

Field Name Description
PID-8 Administrative Sex

Requires a mapping between party.patientpet sex and desexed nodes and the provider values for these. E.g.:

  • sex = MALE, desexed = false => "M"
  • sex = MALE, desexed = true => "C"
  • sex = FEMALE, desexed = false => "F"
  • sex = FEMALE, desexed = true => "S"
PID-35 Species code Requires a mapping between lookup.species and a provider specific species lookup.
OBR-4 Universal Service Identifier Requires a mapping between OpenVPMS investigation type, and the provider service identifier.


The PID-8 and PID-35 fields will be supported via a new archetype entity.HL7MappingConfiguration:

  • for PID-8, all of the possible combinations for administrative sex will be enumerated as fields, to allow a value for each e.g:
    • male => "M"
    • maleDesexed => "C"
    • female => "F"
    • femaleDesexed => "S"
    • unknownSex => "U"
  • for PID-35, the archetype name of the provider species will be used e.g. lookup.speciesIDEXX
  • this configuration will be an optional field of Connectors.
  • it will include the Include Milliseconds and Include Time Zone fields, currently held on the entity.HL7ReceiverMLLP and entity.HL7SenderMLLP archetypes

Pre-defined provider configurations may be supported by creating an entity.HL7MappingConfiguration<Provider> archetype (e.g. entity.HL7MappingConfigurationIDEXX), that provides the appropriate mappings for each field as default values.

5. User Interface

The new entity.HL7MappingConfiguration archetype will be viewed and edited via a new tab in Administration - HL7, named Mappings. This will also support editing provider specific mappings.

6. Exclusions

This project will not support:

  • receipt of results (e.g. ORU messages). These can be handled as documents and loaded via the Document Loader
  • OMG, OML, OMD, OMS, OMN, OMI, or OMP messages (these are the preferred order messages in HL7 2.5)



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: HL7 General Orders

A very generous donor has kick-started funding for this project. It's a big project but every $ counts.Why not look and see if it will create efficiencies and make a difference in your practice?

Re: HL7 General Orders

I am pleased to announce that the IDEXX general orders module is ready to be deployed in clinics for final testing.

Some Background

The IDEXX labLink module is currently used by Open VPMS customers to automatically post results from IDEXX In-house instruments and the IDEXX reference Laboratory directly into a patient's medical record.

LabLink has been modified and is now able to accept work orders from OPEN VPMS. (Work Listing). The benefits of using such a system are reduced data entry, automated billing, (by linking work requests to work orders) and seamless integration of diagnostic data into the patient's medical record.

This HL7 General Orders project is the final step in completing the work listing for OPEN VPMS customers to be able to use the ordering capabilities of IDEXX LabLink.

Project Momentum

A project such as this is not possible without community involvement, and I encourage you to get behind this project for the benefit of the Open VPMS community. All donations no matter how small contribute towards getting to the winning post.

What's the Return on Investment

Studies have shown that up to 18% of diagnostics are not billed out to the customer, (but the costs are incurred). By linking your billing with closed loop ordering systems, you could expect aproximately an additional 18c of every diagnostic dollar to drop through to your bottom line.

I wish all my investments returned 18%

How is IDEXX helping?

IDEXX has spent over $30,000 developing the IDEXX LabLink software for OPEN VPMS customers and will continue to invest in new and novel ways to share diagnostic information for all of our customers. To assist with this component of the project, IDEXX will donate a further $2000 to the HL7 General Orders project.

We look forward to being able to deploy the IDEXX LabLink software in more clinics in the future.

Kind regards Carl Eden

IDEXX Laboratories Australia and New Zealand


Re: HL7 General Orders

Thank you very much for your pledge Carl. Your point is well made regarding accurate billing of outsourced services such as pathology which typically have a lower margin than our professional services. You don't have to miss many billings to run up a loss!

If everyone pledges just a modest amount this project will undergo development and save us all money.


Re: HL7 General Orders

Another supporter has very generously donated to this project. Thank you very much!

Re: HL7 General Orders

This project has now been fully funded. It will be available for all to share in the next version

Syndicate content