OpenVPMS 2.3

The OpenVPMS development team is pleased to announce the release of OpenVPMS 2.3.

See New in 2.3 for a summary of new features.

The release can be downloaded from the Download page.

See Installing OpenVPMS for installation instructions.

See Known Issues for any known issues with this release.

OpenVPMS is a community sponsored project. This release would not have been possible without:

  • Tony De Keizer
  • Lisa Vandenberg
  • Dr Matt Costa
  • Dr Peter Gooey
  • Ben Charlton
  • Tim Anderson

Many thanks to the following organisations that funded new features:

  • Boronia Veterinary Clinic
  • PetSure
  • Vetbiz Pty Ltd
  • Vetcheck Pty Ltd

Upgrading OpenVPMS

See Upgrading an existing system for general instructions on upgrading from an earlier release.

NOTE: these instructions have changed since 2.2.

See Implementation Checklist for specific changes that need to be made.


See Requirements for the pre-requisites for this release.

New features: 

OVPMS-2539 Add support for tel: links

OVPMS-2538 SMS account reminders

OVPMS-2502 Add support to generate documents from JasperReports for later editing

OVPMS-2489 Add Tasks tab to Customer - Information

OVPMS-2485 Add Tasks tab to Patients - Information

OVPMS-2484 Add appointments tab to Patients - Information

OVPMS-2483 Add estimates tab to Patients - Medical Records



OVPMS-2563 Update Document Forms and Letter fields order so Template is focus on New/Edit

OVPMS-2562 Add new and updated customer, patient and reminder templates.

OVPMS-2545 Add support for macros in label instructions

OVPMS-2540 Automatically upgrade plugins

OVPMS-2528 Simplify payments

OVPMS-2521 Add support for location-based account identifiers to investigation types

OVPMS-2518 Add support to launch external email client from customer summary

OVPMS-2516 Add default reason to Appointment Type

OVPMS-2514 Add 'Complete' button to Work Lists, to mark selected task Completed.

OVPMS-2513 Provide Print & OK button on Medication popup

OVPMS-2507 Allow the default jasperreport font to be customised

OVPMS-2492 Make supplier order details read-only where a product - supplier relationship exists

OVPMS-2487 Enable OpenOffice input fields to have a default value for prompting

OVPMS-2486 Provide facility to select all charge and estimate items for deletion

OVPMS-2482 Add support to view customer debit/credit allocations

OVPMS-2479 Add ability to show roster details on the schedule pre-expanded

OVPMS-2471 Add support for image laboratory results, long text results, long notes

OVPMS-2468 Increase length of appointment & task notes

OVPMS-2462 Provide option to suppress communications by reason in Medical Records - Summary

OVPMS-2461 Enable users to add a customer email via Add button in customer summary

OVPMS-2445 Provide option to prevent sale of restricted drugs over the counter

OVPMS-2002 Add support for themes

OVPMS-1956 Automatically load archetypes on database migration

OVPMS-1716 Prompt if an item is already on order


OVPMS-2572 Show full email address in tooltip in customer summary, if it has been truncated

OVPMS-2570 Revert change to sort OpenOffice document input fields according to document position

OVPMS-2569 Add Patient.getAllergies(), Patient.isAggressive()

OVPMS-2568 Change clickatell, deputy plugins to follow plugin naming convention

OVPMS-2566 Update JDBC driver to MySQL Connector/J 8

OVPMS-2565 Remove Patient Mailing Labels.jrxml

OVPMS-2564 Add support to set subjectSource, contentSource when loading email templates

OVPMS-2561 Suppress Enable & Disable Reminders buttons for charges if account reminders aren't enabled

OVPMS-2557 Enable OTC payments to be viewed in Customers - Payments

OVPMS-2549 Suppress medication expiry date if there is none

OVPMS-2547 Add support for unsolicited SMS

OVPMS-2544 Add toolbox option to specify user host for MySQL grant command

OVPMS-2537 Populate db.driver if its missing from

OVPMS-2536 Provide practice level option to enable/disable mailto: button

OVPMS-2533 Include paid and balance amounts on claim

OVPMS-2531 Add toolbox command to install and uninstall plugins

OVPMS-2529 Display X-Forwarded-For client address in Administration - System - Sessions to support running on AWS

OVPMS-2525 Improve visibility of SMS replies

OVPMS-2524 Increase field widths for currency fields

OVPMS-2510 Reduce width of appointment booking notes

OVPMS-2508 Prompt to delete In Progress payments on cancel

OVPMS-2506 Add downtime warning to toolbox database --update

OVPMS-2505 Move act.supplierOrder deliveryStatus node to status2 to improve query performance

OVPMS-2498 Remember 'No Terminal' EFTPOS terminal selection

OVPMS-2491 Allow reversal of payments/refunds with No Terminal eftpos transactions

OVPMS-2490 Prevent creation of duplicate active objects for singleton archetypes

OVPMS-2477 Update to jasperreports 6.16.0

OVPMS-2443 Print API

OVPMS-2440 Add support to filter document templates by type

OVPMS-2412 Add support to reload check-in editor if another user updates the visit

OVPMS-2406 Reinstate mapping validation

OVPMS-2336 Change toolbox archetype --load to update rather than remove and load archetypes

OVPMS-2305 Increase report column widths for multi-character currency symbols

OVPMS-2268 Document requirements for External Edit post Java 8

OVPMS-2152 Suppress MySQL SSL warning, document how to secure MySQL connections

OVPMS-2041 Add support to update plugins

OVPMS-2037 Add support to uninstall non-system plugins

OVPMS-1959 Update to MySQL 5.7

OBF-279 Add support to deploy plugins from the database

OBF-277 Change behaviour of RelatedObjects policy methods to return new instances instead of mutating the existing instance

OBF-275 Add singleton flag to ArchetypeDescriptor

OBF-267 Change JXPath use of commons-beanutils singletons to avoid classloader issues

OBF-247 Add ArchetypeService.remove(Reference) method

Bug fixes: 

OVPMS-2558 Undefined field rmask in Wait Times Statistics.jrml

OVPMS-2543 Schedule blocks render incorrectly in multi-day view

OVPMS-2522 Customer Payments Report excludes customers not linked to a practice location

OVPMS-2512 Stock Back Order Report excludes order items with no package size

OVPMS-2499 Cancelling from edit of new object leaves it displayed in workspace

OVPMS-2473 Clearing tendered amount in cash payment causes receipt print failure

OVPMS-2452 Stocktake Export Report doesn't limit classifications to Product Group or Product Income Type

OVPMS-2451 Reports filtering on breed exclude records with patients with no breed

OVPMS-1889 OpenVPMS Editor Launcher triggers security dialog each time it runs

OBF-282 OpenVPMSTypeConverter fails to convert String to Money if ContextClassLoader is changed

OBF-274 AssertionDescriptor PropertyMap changes not made persistent


API Changes


Archetype descriptors can now specify a singleton flag, to indicate that only a single instance should be active at a time. e.g.:

<archetype name="party.organisationPractice.1.0" latest="true" singleton="true"
           type="" displayName="Practice">


In order to support automatic plugin upgrades, plugins should now include an Atlassian-Plugin-Key in the bundle instructions to maven-bundle-plugin e.g.:


Insurance API

See OVPMS-2533 Include paid and balance amounts on claim


See OVPMS-2547 Add support for unsolicited SMS