New in 1.8

The following is a list of new features and improvements in the 1.8 release. You should also check Known Issues and the Implementation Checklist.


HL7 2.5

OpenVPMS can now send and receive HL7 2.5 messages for select events, using the MLLP protocol. See:


Multi-day Schedules

A multi-day scheduling view has been added in order to better support boarding. This view is available to Schedule Views that have Multiple Day View enabled, from the Workflow - Scheduling screen.

Find Free Appointment Slots

Support has been added to find free appointment slots by Schedule View, Schedule, date range, time range and duration.

Repeating Appointments

Appointments can now repeat on a daily, weekly, monthly or yearly basis.

See Repeating Appointments for details.

Appointment Duration

The Appointment editor now displays the appointment duration, to help calculate boarding charges.


Product Batches

Product batches can now be tracked, during charging and dispensing.

This can be used to:

  • auto-fill the expiration date of medication, based on the batch of a product at the current stock location
  • record rabies vaccination details given to a patient
  • determine who has been sold a particular product batch being recalled
  • report on stock about to expire

Batches are created via the Product|Batches screen, or by finalising a delivery that contains batch information.

Product Templates

Product templates can now:

  • include other product templates
  • include products based on the weight of a patient
  • specify a low and high quantity, to support the low and high quantities of estimates. For invoices, the high quantity is used.
  • specify to zero the price of included products. This can be used for products that are not charged for, but are included for stock control or reporting purposes
  • indicate if the template should be printed as an aggregate in charges and estimates
  • have a product type
  • indicate if included products that have a zero total should be printed or suppressed in charges and estimates

See the Product Template documentation for more details.

Multi-Location Practice Support

OpenVPMS 1.8 extends support for multi-location practices.

Location-Specific Pricing

In multi-location practices, a product can now have different prices depending on the Practice Location. This may be done using Pricing Groups or Service Ratios.

Pricing Groups allow individual products to have different prices. Each Practice Location may be assigned a Pricing Group; it will only see product prices that have:

  • the same Pricing Group
  • no Pricing Groups

Services Ratios allow product types to be assigned a service ratio per Practice Location. This ratio is used to calculate a new product price from its existing price, when it is used in a charge or estimate.

See Concepts|Pricing for details.

Location Specific Reminders and Statements

Customers can now be linked to a Practice Location to indicate their preferred practice location.

This can be used to support location specific content in reminders and statements.


The Investigations screen has been updated to include a Location filter, to query patient investigations by practice location.

Work In Progress

The Work In Progress screen has been updated to include a Location filter, to query charges by practice location.

Stock Location Preferred Supplier

Products can now nominate a preferred supplier for a given stock location.

This is used by Generate Orders, and overrides any default preferred supplier specified by a product.

Disabling Discounts

Discounts can now be disabled at a given Practice Location. This is primarily designed for practices that provide out-of-hours services where discounting is not used.

When discounts are disabled:

  • the discount fields are hidden when charging/estimating
  • no discounts are calculated

Search for Referring Vet via Practice

When editing patient referrals, the referring vet can now be searched for by practice name.

Stock Quantity Export/Import

Stock quantities for a given Stock Location and product set can now be exported and imported using the Products|Stock Management screen. This facilitates the stocktake process.

Visit Classification

The Appointment Reason lookup has been renamed to Visit Reason, and is now used by both Appointments and Visits to indicate the reason for visit.

Previously, Visits had a free form Reason text field to indicate the reason for visit. This has moved to a new Summary field.


Patient Summary

The patient summary now includes:

  • the patient's birth date
  • a $ icon, displayed when the patient has current estimates

See Patients - Information for more details.

New Breed

A special breed 'New Breed' has been added to make it easier to enter new patients whose breed is not currently catalogued.  See here.

Deceased Date

Setting a patient's Deceased Date now automatically inactivates the patient. See here.

Patient Problems


Patient Problems can now be classified with a Presenting Complaint and/or Diagnosis.

A default set of Presenting Complaint and Diagnosis codes are included from the VeNom Codes.

Problem Summary

The Problems tab of Patient|Medical Records has been restructured so that it now has a similar look and feel to the Summary tab. In addition:

  • Clicking on a Visit switches to the selected Visit in the Summary tab
  • Clicking on a Problem in the Summary tab switches to it in the Problems tab
  • The Print button prints what is displayed on screen
  • The Problems tab can be displayed in the Visit Editor by enabling Show Problems in Visit


SMS Reminders

Patient reminders can now be sent out via SMS to customers. To enable this:

  • The Practice must have SMS support configured
  • All document templates used for reminders must have SMS text. This includes the Grouped Reminders template.

In addition, Reminder Types can be configured to override a customer's default reminder method by selecting the SMS check box.

Stopper Reminders

Stopper Reminders now have Completed status when they are saved. Previously they had In Progress status, which meant they appeared in the patient summary until Reporting|Reminders - Send All was run.

Reminder Export

The Reminder Export Format now includes the last recorded weight for the patient.


The Investigations screen has been enhanced:

  • It now includes a Customer column, displaying the patient owner
  • Selecting an investigation displays the corresponding customer and patient summaries
  • Investigations be queried by:
    • Incomplete status (i.e. any investigation that is In Progress, Received, Preliminary or Final). This is the default
    • practice location
    • investigation type
  • Investigations may be edited

Opening Cash Drawers

Support has been added to open the cash drawer associated with a till.

This can be triggered:

This feature is configured via Administration - Organisation - Till.

Auto Lock Screen

Support has been added automatically lock a user's OpenVPMS session after a period of inactivity. A dialog is displayed, prompting for the user's password.

This feature is configured via Administration - Organisation - Practice.


Report Templates

The Customer Invoice, Counter Sale, Credit and Estimate report templates have been updated to:

  • group line items by product template
  • display line items as an aggregate, if they were generated from a product template with Print Aggregate checked
  • suppress line items that have a zero total and Print unchecked

Revised Reports

The standard reports (found in <OPENVPMS-HOME>/reports/Reporting/Reports) have been revised to:

  • internationalise the date and currency formats
  • provide explicit warning of 'no data found' conditions (rather than a blank report)
  • optionally display explanatory text detailing what the report shows
  • automatically add a % suffix to selection fields so that they work the same way as those in the web application
  • enhance some reports to add additional selection criteria
  • add the following:
    • a Practice Summary Report (optionally reports summary information for income, payments, product sales, outstanding debtors, appointments and visits for a specified date range)
    • enhanced stocktaking with Stocktake Export and Stock Movement reports
    • 4 export reports to provide customer postal and email address data for mail merge applications
    • a Patient History Search report
    • a Customer Running Balance report

Application Fields

Application objects such as the current Practice, Practice Location, Customer and Patient are now available to reports.

See Application Fields and Application Fields as Report Parameters for more details.

Transaction Reversal Suppression

Transactions that have been reversed may now be excluded from customer statements. This can be done:

  • at the time of reversal by selecting "Suppress transaction and reversal in customer statement" in the confirmation dialog
  • administratively using the Hide button on the Customer Account workspace.

Note that the Statement report template needs to be updated to use this.

Document File Names

The format of customer, patient, and supplier document file names can now be specified via File Name Formats. These can be assigned to individual Document Templates.

JXPath Extension Functions

New JXPath extension functions are available, that may be used in reports and archetypes:

iReports Version

The 5.6 version of iReports is now supported. This provides a useful DataRange class which allows report writers to set date parameters to useful defaults such as ‘start of last month’, and ‘end of last year’. Also SQL reports containing sub-reports can be previewed. You can also use the Groovy language – this provides better date manipulation facilities than the standard Java language.
However, see Known Problems.

Miscellaneous Improvements

Zero Total Print Suppression in Charges and Estimates

Charges and estimates may now suppress printing of line items with a zero total, by unchecking the Print box.

Note that this option is not available if the line item was generated from a template with Print Aggregate selected.

Left Panel

The customer and patient data displayed in the left panel has been improved as follows:

  • Customer and Patient IDs are now shown
  • The 'Projected Amount' displays the customer's Balance+Unbilled - ie what the balance will be after the unbilled transactions are finalised
  • The Patient's birth date (as well as Age) is displayed
  • The Customer's phone number includes its name if other than the standard 'Phone Number'

See for example here.

Relative Date

The syntax of the Relative Date facility has been expanded to allow the specification of the start or end of a relative week, month, quarter or year. See here.

Macro Variables

The variables $appointment and $task have been added to enable access to appointment and task information.  See here.

Rabies Tags

These are now supported but need to be enabled. See here.

Multiple To, CC, and BCC addresses when emailing

The email write window has been enhanced to allow the use of CC and BCC addressees. Multiple addressees can also be entered. An address book facility has been added to allow easy selection of addressees. Also, users can now have contact information so that their contact details can be recorded.  This also allows emails to be easily CC'ed or BCC'ed to staff members. See here.

Automatic Document Loading

The docload tool has been integrated into the web application, launched as a scheduled job. See Job Configuration: Document Loader for configuration instructions.

Contact Email on Error Reports

When reporting an error, a contact email address can be included. See Concepts|Error Handling.


An At-Cost discount type has been added, and also a warning if the applied discounts would reduce the sell price below the cost price. See Concepts|Discounts.

Display Macro Window in Visit Editor

The Macro window can now be displayed by pressing Alt-M when editing invoices in the Visit Editor.

Customer Notes

A Customer Note facility has been added to invoices and estimates. This allows more patient-related information to be added to the estimate and invoice.

Microchip Implant Site and Date

Patient microchips can now capture the implant site and date.

Sorting Customer's Patients

Customer's patients can now be sorted on the ownership/location relationship dates.

Syndicate content