OpenVPMS 2.1

The OpenVPMS development team is pleased to announce the release of OpenVPMS 2.1

See New in 2.1 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
  • Dr Peter Gooey
  • Dr Adrian Simon
  • Jeniefer Saunders
  • Dr Benjamin Charlton
  • Samuel Longiaru
  • Tim Anderson
  • Australian Animal Hospitals
  • Eastside Veterinary Emergency & Specialists

Many thanks to the following organisations and individuals that funded new features:

  • ActiVet Clinic
  • Advanced Vetcare
  • Australian Animal Hospitals
  • Eastside Veterinary Emergency & Specialists
  • Pacific Paradise Veterinary Surgery
  • PetSure

Upgrading OpenVPMS

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

Users upgrading from an earlier 2.0.x release must perform the upgrade tasks listed in the subsequent releases first:

Users upgrading from the 2.1 beta release can skip to Upgrading from OpenVPMS 2.1-beta-1

The following steps must be performed:

  1. migrate the database
  2. load archetypes
  3. Load new and updated templates
  • Document Templates
    • Statement Items (OVPMS-2083)
      reports/Reporting/Debtors/Statement/<Size>/Statement Items.jrxml


  1. Update Email Templates
    Email Templates used for reminders that use Expression or Macro for the Content Type need to be updated if they expect a party.customerperson object. An act.patientReminder is now passed.
    The customer can be accessed using $customer. E.g.:
  • $customer.firstName
  • $customer.lastName
  1. Configure the Scheduling Refresh 
  2. Configure the Appointment and Task caches, to avoid cache thrashing when enabling automatic schedule refreshing
  3. Configure plugins
    If you are running OpenVPMS 2.0 plugins, these will need to be redeployed for OpenVPMS 2.1.
    If you were using the PetSure VetHub plugin, you will need to contact PetSure for the latest version.
    NOTE: contact PetSure to enable gap claims for your practice

Upgrading from OpenVPMS 2.1-beta-1

Users upgrading from OpenVPMS 2.1-beta-1 need only:

  1. migrate the database
  2. load archetypes



See Requirements for the pre-requisites for this release.

New features: 
  • [OVPMS-2034] - Patient Insurance - Gap Claims
  • [OVPMS-2054] - Calendar-based Service Ratios
  • [OVPMS-2084] - Mandatory customer and patient alerts
  • [OVPMS-2091] - Basic rostering support
  • [OVPMS-2110] - Add support to view summary for a patient while editing multi-patient charges and estimates
  • [OVPMS-2111] - Prompt for clinician at start of Consult, and when invoicing estimates
  • [OVPMS-2122] - Roster synchronisation API
  • [OVPMS-2140] - Add support to find free appointment slots by clinician
  • [OVPMS-1074] - Add support to prompt for letter parameters during invoicing
  • [OVPMS-1536] - Add macro variables $appointment and $task
  • [OVPMS-1781] - Enable printing of a customer's statement for an arbitrary period
  • [OVPMS-1966] - Product price rounding should not round prices to $0
  • [OVPMS-1989] - Edit summary patient alerts
  • [OVPMS-2003] - Display customer & patient alert text by hovering over them
  • [OVPMS-2007] - Clip long text in charge and estimate tables
  • [OVPMS-2045] - Add user preference to sort patient history from oldest visit first
  • [OVPMS-2059] - Scheduled Reporting - Calculated Date Parameters
  • [OVPMS-2064] - Automatically refresh Scheduling and Work-list views
  • [OVPMS-2066] - Add support to monitor, clear and configure appointment, task and calendar caches
  • [OVPMS-2069] - Add support to sort on Owner column in Select Patient browser
  • [OVPMS-2078] - Provide practice setting to set the default estimate expiry period
  • [OVPMS-2088] - Add support to edit alerts in customer, patient summary
  • [OVPMS-2097] - Access patient history when editing notes
  • [OVPMS-2099] - Multiple charge/estimate item selection and deletion
  • [OVPMS-2100] - Simplify emailing
  • [OVPMS-2102] - Improved patient search
  • [OVPMS-2104] - Patient history product type filter
  • [OVPMS-2106] - Patient check-in simplification
  • [OVPMS-2123] - Include Reorder Description in order and delivery product supplier selection
  • [OVPMS-2124] - Provide sample macros for appointments and tasks
  • [OVPMS-2133] - Add support to specify a default work list on a schedule
  • [OVPMS-2134] - Add support for mail.smtp.writetimeout
  • [OVPMS-2135] - Avoid allocating credits to invoices in gap claims
  • [OVPMS-2136] - Prevent check-out from automatically creating a new invoice
  • [OVPMS-2149] - Indicate when the referral vet has been marked inactive
  • [OVPMS-2011] - Add validation to plugin configuration editor to ensure plugin directory accessible
  • [OVPMS-2044] - Allow entity.productBatch flag to be edited
  • [OVPMS-2092] - Use claim location for claim attachments
  • [OVPMS-2114] - Pharmacy order discontinuation
  • [OVPMS-2116] - Allow the Summary to be edited in Add Visit & Note
  • [OVPMS-2125] - Restrict stock locations to those accessible by the current user
  • [OVPMS-2127] - Remove propercasing from product names
  • [OVPMS-2128] - Replace Work List 'Create Flow Sheet' options with a checkbox to pre-select Create Flow Sheet in Patient Check In
  • [OVPMS-2144] - Display author in patient, customer act archetypes
  • [OVPMS-2145] - Add diagnostics reporting support
  • [OVPMS-2146] - Add support to view logs
  • [OVPMS-2151] - Add roster shift authorities to the base role
  • [OBF-237] - Update spring, hibernate dependencies
  • [OBF-249] - Provide query API for plugins
  • [OBF-255] - Update to hibernate 5, ehcache 3
Bug fixes: 
  • [OVPMS-1886] - Trying to replacing lookup with itself generates 'An application error has occurred. Your session has been reset' error
  • [OVPMS-1903] - Ambiguous call errors for party: functions where argument is null
  • [OVPMS-1936] - Practice Location not merged when merging customers
  • [OVPMS-2017] - Copying a product with a name with length >= 93 characters fails to save
  • [OVPMS-2023] - Unsupported attachments prevent claim submission
  • [OVPMS-2074] - Application context not supplied to Patient Letters during charging
  • [OVPMS-2083] - Statement displays 'Invalid' for product units when letterhead has 'Use Product Types' unticked
  • [OVPMS-2086] - Macro and Expression Content Type in reminder email templates supplied customer rather than reminder
  • [OVPMS-2107] - Deactivating users used for medical recording locking presents startup
  • [OVPMS-2108] - Generate Orders treats rejected orders as being stock on order
  • [OVPMS-2109] - Editing a cancelled quantity on a part-delivered order changes delivery status from Part to Pending
  • [OVPMS-2113] - Reminder CSV export lists incorrect customer addresses
  • [OVPMS-2115] - PDF invoices submitted with insurance claims may have different content to claim.
  • [OVPMS-2121] - Prevent deletion of Product Price Templates linked to products
  • [OVPMS-2131] - JobScheduler should generate unique name when scheduling jobs
  • [OVPMS-2132] - Can't create patient alerts in visit editor
  • [OVPMS-2143] - Transfer workflow does not complete if documents are printed
  • [OVPMS-2147] - Error reporting fails for invalid from address
  • [OBF-216] - dataload not loading relationships