OpenVPMS 1.7

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

See New In 1.7 for a summary of new features.


OpenVPMS requires the following to be installed:

  • Java Platform, Standard Edition 7 or higher

The Java Runtime Environment (JRE) is the minimum requirement.

  • MySQL 5.1.53 or higher

Download the MySQL Community Server 'Generally Available (GA) Release'
On Windows, the MySQL installer may require that the Microsoft .Net
Framework 4 be installed. This is available from:

  • MySQL Connector/J JDBC driver

This may be included in the MySQL server installation.

  • Tomcat 6.0 or higher

On Windows, select the 32-bit/64-bit Windows Service Installer

  • OpenOffice 4.0.0 or higher


  • iReport Designer 3.7.6 or higher

Only required to customise document templates.


  • should be on the same host as Tomcat
  • should accept connections on port 3306
  • include the following lines in my.ini

Upgrading OpenVPMS

Users upgrading OpenVPMS should consult section 2 of the readme.txt file included in the distribution.

Prior to upgrading, back up the database.

New features: 
  • [OVPMS-1269] - Automatic order generation
  • [OVPMS-1294] - Context sensitive help
  • [OVPMS-1307] - Prescriptions
  • [OVPMS-1308] - Reminder mail export to CSV
  • [OVPMS-1309] - Remove charged products from patient history when reversing invoices
  • [OVPMS-1315] - Add support to create new invoices in Consult workflow if the current invoice is finalised
  • [OVPMS-1346] - Visit Estimates
  • [OVPMS-1354] - Price export and import
  • [OVPMS-1361] - Report functions: vaccinations
  • [OVPMS-1383] - Add product field to patient investigation act
  • [OVPMS-920] - ProductQuery performs linear searches to filter on stock location & species
  • [OVPMS-1075] - Improve error reporting of duplicate lookups
  • [OVPMS-1084] - Add clinician to patient medical records summary
  • [OVPMS-1085] - Streamline Check-In
  • [OVPMS-1224] - Add payment type summary to deposit report
  • [OVPMS-1263] - Add support to customise help topics links.
  • [OVPMS-1271] - Worklist & Schedule - No feedback for current selection in 'single list' mode
  • [OVPMS-1281] - Add support to DocumentLoader to allow multiple --type arguments
  • [OVPMS-1295] - Email addressing enhancements
  • [OVPMS-1296] - Make the current context available to macros
  • [OVPMS-1297] - Enable reports to be evaluated as macros
  • [OVPMS-1321] - Add support to schedule Quartz jobs
  • [OVPMS-1324] - Increase display size of the Patient Clinical Note notes field
  • [OVPMS-1337] - Prevent deletion of entities that have source relationships
  • [OVPMS-1338] - Increase size of the document template Input Parameters fields
  • [OVPMS-1339] - Change template loader to include the description
  • [OVPMS-1342] - Change Estimate display to place Low Total and High Total on the same line
  • [OVPMS-1347] - Change "Start Time" column in Workflow|Scheduling to "Time"
  • [OVPMS-1349] - Retain cursor position after macro expansion
  • [OVPMS-1350] - Add support for gathering Task wait time performance
  • [OVPMS-1351] - Condition and patient weight report functions
  • [OVPMS-1352] - Preserve selection between view/edit
  • [OVPMS-1358] - Enhance reversal transactions so as to identify the transaction that was reversed
  • [OVPMS-1360] - Display ids of transactions on the Customers|Account and Suppliers|Account screens
  • [OVPMS-1364] - Need a part:getPatientMicrochips(.) function to handle patients with multiple microchips
  • [OVPMS-1367] - Add support for 24/7 Till Balancing
  • [OVPMS-1368] - Display times in Till Balancing
  • [OVPMS-1369] - Display the whole file name of documents where possible
  • [OVPMS-1380] - Improve error message when JasperReports template is newer than that supported
  • [OVPMS-1381] - Add SMS telephone number to reminder export CSV
  • [OVPMS-1385] - Display active status when searching
  • [OVPMS-1388] - Auto-logout
  • [OVPMS-1400] - Add Product and Clinician columns to Workflow|Investigations screen
  • [OVPMS-1401] - Retain tab selection when using Previous and Next in product browser
  • [OVPMS-1407] - Add support for macros called via macro:eval() to use context variables
  • [OVPMS-1418] - Improve performance for history:medication($patient, "Vaccination")
  • [OVPMS-1431] - Add tax rate to product price export
  • [OVPMS-1298] - Enable editing of the invoice reference node in the visit charge editor
  • [OVPMS-1305] - Create reports for act.stockTransfer & act.stockAdjust
  • [OVPMS-1306] - Suppress error reporting of com.mysql.jdbc.PacketTooBigException, improve error message
  • [OVPMS-1328] - Add warning for medication acts created via Patient|Medical Records
  • [OVPMS-1334] - Suppress supplierInvoiceId and supplierInvoiceItemId display in non-ESCI deliveries
  • [OVPMS-1336] - Check-In: constrain work list selection to the current practice location work lists
  • [OVPMS-1348] - Replace "Estimation" with "Estimate" in estimate report templates
  • [OVPMS-1359] - Place messages resource bundle in WEB-INF/classes/localisation
  • [OVPMS-1362] - Remove unused esci.user, entityRelationship.esciUserSupplier archetypes
  • [OVPMS-1363] - Update OpenOffice client jars to 4.0
  • [OVPMS-1365] - docload: prevent loading of documents linked to templates
  • [OVPMS-1366] - On Check-In, set new Visit status to IN_PROGRESS, on Check-Out, set status to COMPLETED
  • [OVPMS-1370] - Change release to not pre-load templates
  • [OVPMS-1379] - Add party:identities(party) function
  • [OVPMS-1391] - Exclude customer/patient being merged from list of customers/patients to merge with
  • [OVPMS-1392] - Prompt to perform merge after customer/patient has been selected
  • [OVPMS-1393] - Explicitly configure log4j for scripts, to avoid unwanted overrides
  • [OVPMS-1394] - Increase poll interval for message notifications
  • [OVPMS-1424] - Update migrate-1.6-to-1.7.sql script to include default values for new party.organisationSchedule and party.organisationWorkList nodes
  • [OVPMS-1434] - Disable audit service
Bug fixes: 
  • [OVPMS-959] - NPE when adding assertion.number assertion to archetype
  • [OVPMS-1110] - OTC workflow should commit charge and payment in a single transaction
  • [OVPMS-1270] - Last slot missing in 24 hour schedules
  • [OVPMS-1276] - Email Invoice - address errors lead to multiple attachments
  • [OVPMS-1279] - Supplier and stock relationship archetypes missing parentChild node
  • [OVPMS-1280] - Patients - Medical Records - Summary enables editing of invoice items
  • [OVPMS-1282] - Customer and patient alert display should take into account the alert status and end date
  • [OVPMS-1283] - OTC Payment doesn't display the invoiced amount
  • [OVPMS-1284] - Cannot save acts that have a customer-patient relationship to a prior customer.
  • [OVPMS-1285] - Table columns with sortable headers expand to maximum width in Chrome
  • [OVPMS-1286] - Incorrect xpath expression in entityRelationship.reminderTypeTemplate archetype
  • [OVPMS-1287] - Resend Reminder dialog allows selection of reminders that have not yet been sent
  • [OVPMS-1288] - assertion.lookup contains redundant concept node
  • [OVPMS-1289] - Stock reorder report doesn't exclude inactive suppliers or product-supplier relationships
  • [OVPMS-1290] - Kettle plugin not handling lookup.local nodes correctly
  • [OVPMS-1291] - DocumentLoader logs incorrect completion time
  • [OVPMS-1292] - Failed to delete object with reference act.patientDocumentForm...
  • [OVPMS-1300] - in progress and completed buttons do not trigger print at invoicing
  • [OVPMS-1302] - Duplicate medication entries are created on a a patient history from incomplete invoices.
  • [OVPMS-1303] - Mail editor doesn't support multiple from addresses
  • [OVPMS-1304] - PostedOrderQuery returns orders for all suppliers
  • [OVPMS-1311] - Cannot import archetype after deletion
  • [OVPMS-1313] - IMObjectViewerDialog close icon (x) doesn't close dialog
  • [OVPMS-1314] - Replace Lookup dialog should disable OK button until replacement lookup selected
  • [OVPMS-1317] - Overlapping appointments display incorrecly in single schedule view
  • [OVPMS-1318] - Selected till not refreshed after clearing the till
  • [OVPMS-1319] - Till balance print flag not set after printing
  • [OVPMS-1322] - Failed to save Role
  • [OVPMS-1323] - Reminder processing doesn't filter reminder type inactive templates
  • [OVPMS-1326] - Supplier order copy problems
  • [OVPMS-1327] - Customer tax exemptions ignored during charging
  • [OVPMS-1329] - patientClinicalEvent a4.jrxml and patientClinicalEvent a5.jrxml don't display invoice items
  • [OVPMS-1330] - Product Equivalents - Add works funny
  • [OVPMS-1331] - Failure removing invalid entity relationship
  • [OVPMS-1341] - Print|Preview tries to convert images to PDF
  • [OVPMS-1343] - Can invoice supplier more than once from a delivery
  • [OVPMS-1355] - Worklist items incorrectly persisting
  • [OVPMS-1371] - Schedule Views with custom Display Expressions can't be saved
  • [OVPMS-1372] - Schedule start and end times incorrect migrating from 1.6 to 1.7
  • [OVPMS-1373] - Patient|Medical Records|Reminders should show "In Progress" reminders by default
  • [OVPMS-1374] - $number variable is cleared by sub-macros
  • [OVPMS-1375] - Failure editing Product-Supplier relationship
  • [OVPMS-1376] - Generate Orders doesn't generate orders for low stock where the ideal quantity < package size
  • [OVPMS-1377] - NullPointerException ordering product with multiple product-supplier relationships
  • [OVPMS-1378] - Changing the practice location in Administration - Organisation displays popup
  • [OVPMS-1382] - New visit created when consulting from task
  • [OVPMS-1390] - The Openvpms parent pom has an out of date Jboss repo listed
  • [OVPMS-1395] - Default status for reminder query in patient view set to All
  • [OVPMS-1396] - Text areas resize when expanding macros
  • [OVPMS-1398] - "Object not found" error saving estimate with template products
  • [OVPMS-1402] - Cannot email documents from Visit editor
  • [OVPMS-1403] - Price Import: "Unit price dates overlap an existing unit price" error
  • [OVPMS-1404] - Reminder and statement processing not proceeding
  • [OVPMS-1405] - Emails should be sent with UTF-8 encoding
  • [OVPMS-1408] - Date field dropdown not in sync with date text field
  • [OVPMS-1410] - Task Service losing tasks
  • [OVPMS-1411] - IMObjectBeanException: No node found named dispensing in archetype act.customerAccountCreditItem
  • [OVPMS-1412] - org.openvpms.sms.SMSException: SMS-0304: Message has no text
  • [OVPMS-1413] - Supplier browser initial focus inconsistent with Customer browser
  • [OVPMS-1414] - Cannot sort Messages on From field
  • [OVPMS-1419] - Cursor position should move to the end of the current macro, when multiple macros being expanded
  • [OVPMS-1422] - Task waiting time incorrect if late for appointment
  • [OVPMS-1423] - SQL reports launched from Reporting|Reports don't support sub-reports.
  • [OVPMS-1425] - Error on ESCI order submission
  • [OVPMS-1426] - docload failing with IllegalArgumentException: Comparison method violates its general contract
  • [OVPMS-1427] - Generate Orders doesn't round tax amounts
  • [OVPMS-1432] - Clinician not set on medication act with no dispensing label during invoicing
  • [OVPMS-1433] - Assigning product with product-supplier relationship to ESCI delivery overwrites prices