This section covers areas that affect the performance of the system. It is anticipated that more topics will be added here in the future.

Medical Records Retrieval
The standard system can perform slowly when retrieving medical records for a patient with a long history. The apparent performance can be improved by limiting the number of visits retrieved for each query of the medical history. The standard system retrieves the complete medical history and then pages it out 20 visits at a time.

One can change this behaviour by limiting the number of visits on each query. If this is set to a number less than 20, then each 'page' of the medical history will display just that number of visits, and as you page through the history, a new query will be issued to get the next block of visits.

To limit the number of visits retrieved on each query to say 5, create a file called QueryFactory.properties containing one record as follows:

 act.patientClinicalEvent org.openvpms.web.workspace.patient.history.PatientHistoryQuery,maxResults=5  

This file needs to be placed in the folder <TOMCAT_HOME>/webapps/openvpms/WEB_INF/classes

Hardware Selection
As always, the general advice is to buy the fastest you can afford. Adding more memory will improve performance provided that MySQL is configured with large buffers. In fact, given a 64-bit operating system, there is no reason that the database cannot be held fully in memory.

MySQL
MySQL configuration is a black art.  Parameters important for performance are:

innodb_buffer_pool_size - set as large as possible. Even if you have a small machine (ie one with only 4GB of memory) you should be able to set to this to 800MB. If you have a large machine (ie one with 16GB) then you should be able to set to to 8000MB or more.

Syndicate content