Documentation for implementors of OpenVPMS
This documentation is all community contributed. Feel free to contribute your own documentation to the website so that other users can benefit. If there is no documentation for your operating system please use the windows install docs as a guide and then contribute back the documentation to the community for your operating system.
Important Note- when installing OpenVPMS you should be logged in on an account that has administrator privileges!
In order for other applications to be able to find the java installation we need to set an environmental variable on the system.
max_allowed_packet=16M
innodb_file_per_table
-XX:PermSize=128m
-Xincgc
mysql -u root -p
mysql> source createdb.sql;
mysql> use openvpms;
mysql> source db.sql;
mysql> quit;
Based on OpenVPMS Installation (Windows), here is the tasks list with plenty of screen shots I 've made while I installed OpenVPMS on the new computer with Vista (french version).
| Attachment | Size |
|---|---|
| Install_note_1_2_on_Vista.pdf | 3.65 MB |
This tutorial describes a step-by-step installation of OpenVPMS on a PC with a Windows 7 32-bit or 64-bit operating system.
When installing OpenVPMS you should be logged in on an account with Administrator privileges. Disabling UAC may also smooth the installation process.







Execute jdk-7-windows-xxxi586.exe (where xxx is i586 or x64) and accept all defaults.
Right-Click on Computer icon on desktop, then click "Properties".
The end result should look like this:
Click OK, OK, then close the remaining window.
Be patient: at this point, it may take some time for the progress bar to start moving (on one of my PCs, over three minutes), so just leave the PC to do its work:
You now need to ensure all permissions are enabled (welcome to Windows7!).
- Click on "Computer" icon, browse to C:\Program Files\MySQL;
- right-click on MySQL Server 5.1 (1);
- select Properties and then click on Security (2) tab;
- select Users (3);
- then click Edit (4), click Users (5) and click to enable Full Control (6);
- and press OK.
Click Start, right-click on Configure Tomcat and select Run As Administrator:
Click on Java tab. In Java Options, scroll down to the bottom and add the following two lines:
Right-Click on Computer icon on desktop, then click "Properties".
Test your OpenOffice path configuration.
Click Start | All Programs | Accessories | Command Prompt:
Type in swriter and press Enter. OpenOffice/Writer should start. Two reasons for doing this:
- If it does start, you've set the path correctly.
- OpenVPMS starts OpenOffice in the background; if OpenOffice is waiting for questions on registration and checking for updates to be answered, letter merging etc. won't work.
Reopening OO makes sure it is not asking for you to participate in surveys etc.
Open the downloaded mysql-connector-java-5.1.16.zip:
Extract connector file mysql-connector-java-5.1.6-bin.jar to Tomcat shared library folder i.e C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib (note that this is a different folder than Tomcat 5.5):
Extract the same connector to c:\OpenVPMS\openvpms-release-1.4\lib folder:
Click Start | Control Panel | User Accounts and Family Safety:

Click the Add or remove user accounts link:

Click on Create a new account:

Name the new account openvpms, select Administrator and click on Create Account:

Once the account is created, click on Create a password. Type in openvpms twice, then click Create password (you may use a different password for security but remember for later Apache Tomcat step):

Close window when complete. Log off, then Log in as new openvpms user.
Start OpenOffice and check that configuration is the same as in Step #10 above: ie uncheck On-line Updates, check Browser plug-in.
Log off and log in as your regular local administrator.
Click on Apache Tomcat 6, then click on Restart the service.
![]()
Open up your internet browser this address: http://localhost:8080/openvpms/app
Login to OpenVPMS using user 'admin' and password 'admin'
To start OpenVPMS on another PC on the network, you will need to type in http://IPv4_address:8080/openvpms; in example below, http://192.168.1.101:8080/openvpms:
![]()
Click here to move on to setting up OpenVPMS for use.
Hi:
Just wondering if anyone has tried installing this on FreeBSD 7.0 RELEASE?
We have Tomcat5.5, Mysql 5.0.33, Sun JDK 1.5.0_13 running on a FreeBSD Machine and I can't seem to figure out how to get the database loaded.
If anyone has any experience or installation instructions, I would appreciate your help....
Regards,
Fred Schnittke
Install the appropriate Ubuntu Server operating system. If want a GUI you can do this with ubuntu desktop and then install all the dependencies as described. This setup has been tested on Ubuntu 9.10 but should work at least on 8.10 or more recent. If you are installing the server edition install mysql, tomcat6, LAMP stack and printer server when prompted during the installation process.
From a command prompt install the following packages and their dependancies if they are not already installed:
sudo apt-get install mysql-server phpmyadmin tomcat6 tomcat6-admin libmysql-java
sudo nano /etc/php5/apache2/php.ini
Increase upload_max_filesize from 2M to 20M
This will allow you to import the database using phpmyadmin
sudo ln -s /usr/share/java/mysql-connector* /usr/share/tomcat6/lib/
sudo nano /etc/init.d/tomcat6

sudo nano /etc/tomcat6/tomcat-users.xml

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/tomcat6 restart
Firstly, need to get the IP address of your server? Use the ifconfig command.
OpenVPMS installation instructions to follow
Ubuntu mucks up the path for the log files to be written so by default it is trying to right them in the root directory and gets permission denied so you don't get any output.
To fix it correct the path in the log4.properties file in your OpenVPMS install:
sudo nano /var/lib/tomcat6/webapps/openvpms/WEB-INF/classes/log4j.properties
Change log4j.appender.fileout.File=openvpms.log to log4j.appender.fileout.File=/var/lib/tomcat6/webapps/openvpms.log
and
Change log4j.appender.fullout.File=openvpms-full.log to log4j.appender.fullout.File=/var/lib/tomcat6/webapps/openvpms-full.log
Now save your changes and restart tomcat and your log files should now be there.
It's taken me forever to figure out to get this going so now that I've found it out here's the solution (thanks to this post: http://code.google.com/p/openmeetings/wiki/OpenOfficeConverter#Starting_OO_in_headless_with_Version_OpenOffice_3.0_++)
First of all install the headless openoffice from the repositories:
sudo apt-get install openoffice.org-headless openoffice.org-writer openoffice.org-draw
The 2 latter packages are required or you will get an error message: This url is not supported
Now you need to create a script to start it as a service:
sudo nano /etc/init.d/openoffice.sh
Paste the following code into that file:
#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice
#
# Author: Vic Vijayakumar
# Modified by Federico Ch. Tomasczik
#
OOo_HOME=/usr/bin
SOFFICE_PATH=$OOo_HOME/soffice
PIDFILE=/var/run/openoffice-server.pidset -e
case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "OpenOffice headless server has already started."
sleep 5
exit
fi
echo "Starting OpenOffice headless server"
$SOFFICE_PATH -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1
touch $PIDFILE
;;
stop)
if [ -f $PIDFILE ]; then
echo "Stopping OpenOffice headless server."
killall -9 soffice && killall -9 soffice.bin
rm -f $PIDFILE
exit
fi
echo "Openoffice headless server is not running."
exit
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
Exit the nano text editor saving the file as you do.
Now make the script executable:
sudo chmod 0755 /etc/init.d/openoffice.sh
Make it start automatically on reboot by executing this command:
sudo update-rc.d openoffice.sh defaults
Now start the service by running
sudo /etc/init.d/openoffice.sh start
Now all should be good!
This guide describes how to install OpenVPMS on your veterinary clinic.
The guide is intentionally brief and describes the most typical installation for OpenVPMS. After completing the installation, you will be ready to start using OpenVPMS for your veterinary clinic.
OpenVPMS will run on most standard Sun JavaEE environments with an additional component of OpenOffice (used for document generation). You will need to make sure your einvornment includes:
We have tested the following Sun JavaEE environments
Note: Sun JavaEE applications like OpenVPMS can run on many different type of operating systems like Microsoft Windows, Mac OS X, Linux and more!
If you need help installing the prerequiste software, please see the Install Guide for those products.
To perform the installation you will need to download and unpack the OpenVPMS installation files.
Download the latest installation archive from: http://www.openvpms.org/download
After downloading, unpack the ZIP file in a directory - <openvpms_tmp>.
Configures the database to store data using UTF8 (to support english and double-byte characters like Chinese). By default, mysql uses latin1 instead of UTF8 to store data. You need to add a configuration setting into your database so that the server and client does everything by UTF8.
MySQL Configuration - Linux (my.cnf) or Windows (my.ini): [mysqld] character-set-server=utf8 default-collation=utf8_unicode_ci [client] default-character-set=utf8
This populates the database with the database structure.
Linux/Windows: cd <openvpms_tmp> cd db mysql -u root -p mysql> drop database openvpms; mysql> source createdb.sql; mysql> use openvpms; mysql> source db.sql; mysql> quit;
Note: This will create a database "openvpms" with username of "openvpms" and password of "openvpms".
This will load the database with the initial data needed for the application. It will setup a one vet veterinary clinic in Australia.
Linux: cd <openvpms_tmp> cd bin ./dataload.sh setup Windows: cd <openvpms_tmp> cd bin dataload.sh setup
Note: This will create an administrator user account with username of "admin" and password of "admin". Retain this information for later when we first login to the system.
JasperSoft needs to be configured to run in a headless mode for it to generate reports like invoices.
Linux with IBM WebSphere Application Server Community Edition: export GERONIMO_OPTS=-Djava.awt.headless=true Linux with Apache Tomcat: export CATALINA_OPTS=-Djava.awt.headless=true
Note: Suggested to put environmental settings in your shell startup so that you do not need to execute the command at each time before Java Application Server startup.
OpenVPMS uses OpenOffice for form generation. As a result, we have to run OpenOffice in a headless mode so that when we generate form slike vaccinations certificates.
Linux: soffice.bin -headless -nofirststartwizard -accept="socket,port=8100;urp;" &
Note for Linux: It may help that you add soffice.bin in your path and make the OpenOffice daemon a startup service.
OpenVPMS has the ability to automatically import customer and patient records and patient investigations into the system. This daemon uses the automatic scheduling utility ("at" in Microsoft Windows or "cron" in Linux) provided by the operating system.
Linux/Windows: mkdir <openvpms-tmp>/docimport <openvpms-tmp>/docarchive
Within your automatic scheduling utility, set the OpenVPMS document import daemon to run.
Linux: echo "cd <openvpms-tmp>/bin/" > /etc/cron.hourly/openvpms-docimport.sh echo "./docload.sh --byid --source <openvpms-tmp>/docimport --dest <openvpms-tmp>/docarchive --verbose" >> /etc/cron.hourly/openvpms-docimport.sh chmod 755 /etc/cron.hourly/openvpms-docimport.sh
A database type 4 driver is used to connect the Java Application Server to the database.
Download and copy the mySQL connector/j jar file to <java_home>/jre/lib/ext. This will allow you to skip manually modifying your Java classpath.
Follow the startup instructions in your Java Application Server.
Follow the instructions in your Java Application Server to install WARs.
Follow the instructions in your Java Application Server to start WARs.
You're almost done. You'll need to setup Scheduling and Work List and once you're done, you'll have a fully working veterinary practice management software system.
By default, the application would be available at http://localhost:8080/openvpms/. Use the username of "admin" and password of "admin" to first login to the system.
Navigate to "Administration" -> "Organization". Modify the "Main Appointment Schedule" and "Main Surgery Schedule" with start and end hours. Create a new "Schedule View" called "Schedule View". Add the "Main Appointment Schedule" and "Main Surgery Schedule". Click "Ok". Navigate back to "Administration" -> "Organization" and find "Main Clinic". Edit the "Main Clinic" and in the "Scheduling Views", add the "Schedule View" you just created. Save, logout and then re-login and you should be able to navigate to "Scheduling" and be able to add, modify and remove appointments.
Navigate to "Administration" -> "Organization". Create a new "Work List View" called "Work List View". Add the "Main Hospital List" and "Main WaitingList". Click "Ok". Navigate back to "Administration" -> "Organization" and find "Main Clinic". Edit the "Main Clinic" and in the "Work List Views", add the "Work List View" you just created. Save, logout and then re-login and you should be able to navigate to "Work List" and be able to add, modify and remove customers/clients on and off lists.
Note: Stock/Inventory Management module is not enabled by default.
Your veterinary practice management software is now installed!
From this point, here are some other things you might need to customize before "production" use.
OpenVPMS version 1.3 or greater provides a document importer utility which can be used to setup automatic importing of documents into OpenVPMS.
This document describes how to configure this utility.
In OpenVPMS users can add a range of documents to customers, patients and visits.
These documents are added manually through the user interface and the attached content is added by browsing to a specific file and uploading it to the document entry. This process is typically used for the following document types
In many cases it is desirable to have the content added automatically rather than manually. This is especially true of investigation results which can be electronically downloaded as a file in various formats. It is also true for automated scanning systems where users wish to have scanned files directly imported into the customer or patient file.
To facilitate an automatic system the document umporter utility needs to be able to identify to what document entry the file belongs to. We decided the best way to accomplish this was to utilise the unique ID assigned to any document entry when you added it into OpenVPMS. If the file to be imported has a file name made up of this ID and any extension i.e 123456.html then the importer utility can find a unique document entry and attach the content to the entry. Heres an example of a Investigation entry in a patients Medical Records.

In this case the unique identifier is 2917.
In order for the document importer utility to attach the subsequent electronic result/report to this investigation entry this unique identifier needs to be first communicated to the provider (i.e. via a request form) and the provider needs to subsequently provide some electronic download facility to save the results into a file with the file name set to this number and with any prefix i.e 2917.pdf, 2917.html. 2917.tif etc. Heres an example of the completed upload.

Also notice that the status on the document has been changed from In Progress to Completed. This will allow subsequent workflow functions in OpenVPMS to check from pending or arrived document imports.
The document importer utility requires two folders to operate. The first folder is used as the source of files to be imported. The second folder is used to archive files that have been succesfully imported. These folders can be located anywhere on the network as long as they are accesible by the utility. For this example I have created the following folder structure under the OpenVPMS folder. You are free to put the folder anywhere on your server or network.

In order to have the document import utility regularly check the import folder for new files to process you need to setup a scheduled task to run the utility with the correct parameters. You can set the utility to run as often as you like. The frequency depends on how often the files will be downloaded into the folder so may depend on the schedules setup in your other download applications (i.e Eclinic). The example here runs the utility every 10 minutes.
The document import utility is located in the OpenVPMS release under the bin folder. In this example the comand line used for the utility is :
For version 1.3
F:\OpenVPMS\openvpms-release-1.3\bin\docload.bat --byid --source f:\openvpms\import\in --dest f:\openvpms\import\archive --verbose
For version 1.4
In version 1.4 we have added support for multiple document versions to cater for circumstance where you receive multiple reports for the same investigation id. We also added regular expression support so you can tailor the file name patterns used to extract the id from the filename. The one shown allows up to 1 or 2 letters followed by the investigation id and then any non numeric delimiter followed by any number of other characters.
F:\OpenVPMS\openvpms-release-1.4\bin\docload.bat --byid --source f:\openvpms\import\in --dest f:\openvpms\import\archive --verbose -o --regexp "^[a-zA-Z]{0,2}(\d+).*"This is the command that needs to be entered into the scheduled task Run field as shown here:

You will also notice the Start in: and Run as: are setup appropriately. It is important that the Start In. field is set to the correct location. The user selected to run the command must be able to access the folders setup previously.

Here you will notice I have set the import utility to start Daily at 8:00Am and to run every 10 minutes till 10:00Pm. You can set the recurring schedule by clicking the Advanced button.
You can test the scheduled task by creating a dummy document entry in OpenVPMs and placing a file into the In folder with the correct unique name and then running the Scheduled task by right clicking on it and selecting Run.
If the task is setup correctly the file should now be attached to the document entry you created and the file should be moved from the In folder to the Archive folder.
If the import failed the file will remain in the In folder and you can check the import log which will be located in the file
f:\OpenVPMS\openvpms-release-1.4\bin\docload.log
This file will contain log entries similar to the following.
23 Mar 2009 10:38:57,505 INFO DocumentLoader,138 - Starting load at: Mon Mar 23 10:38:57 EST 2009 23 Mar 2009 10:38:57,536 INFO DocumentLoader,198 - Ending load at: Mon Mar 23 10:38:57 EST 2009 23 Mar 2009 10:38:57,536 INFO DocumentLoader,203 - Loaded: 0 23 Mar 2009 10:38:57,536 INFO DocumentLoader,204 - Errors: 0 23 Mar 2009 10:38:57,536 INFO DocumentLoader,205 - Total: 0 23 Mar 2009 10:38:57,536 INFO DocumentLoader,206 - Processed 0 files in 0.00 seconds (0.00 files/sec) 23 Mar 2009 10:53:45,070 INFO DocumentLoader,138 - Starting load at: Mon Mar 23 10:53:45 EST 2009 23 Mar 2009 10:53:45,070 INFO DocumentLoader,198 - Ending load at: Mon Mar 23 10:53:45 EST 2009 23 Mar 2009 10:53:45,070 INFO DocumentLoader,203 - Loaded: 2 23 Mar 2009 10:53:45,070 INFO DocumentLoader,204 - Errors: 0 23 Mar 2009 10:53:45,070 INFO DocumentLoader,205 - Total: 2 23 Mar 2009 10:53:45,086 INFO DocumentLoader,206 - Processed 2 files in 1.00 seconds (2.00 files/sec)
If the log file does not contain entries for the date and time you ran the scheduled task you will need to check the setup of the scheduled task itself as it may not be correctly configured.
In the above examples the import folder have been setup in the OpenVPMS folder. This may not be convenient in many cases as you may want to use a central folder in a location that is accessible to specific or all users. This is particularly the case if you want users to be able to monitor these folders as well but it also would allow them to drop scanned documents/images into these folders for import.
You just need to change the paths in the above command to suit your specific location. i.e.
F:\OpenVPMS\openvpms-release-1.4\bin\docload.bat --byid --source s:\documents\import\in --dest s:\documents\import\archive --verbose -o --regexp "^[a-zA-Z]{0,2}(\d+).*"If you use a mapped drive please be sure that this drive is mapped for the user that will run the scheduled task.
If upgrading OpenVPMS the location of the docload batch file will change. In order to simplify upgrades by not having to edit the scheduled task I suggest you do the following:
F:\OpenVPMS\current\bin\docload.bat --byid --source f:\openvpms\import\in --dest f:\openvpms\import\archive --verbose -o --regexp "^[a-zA-Z]{0,2}(\d+).*" When the version change all you need to do is redirect the shortcut to the location of the current OpenVPMS version.
Firstly you will need to create a directory for importing and archiving the documents. I did it in my dropbox so I can add files to be imported from any machine I use.
Make a directory called Imports with 2 subfolders called In and Archives
mkdir Imports cd Imports mkdir In Archives
Now determine where you left the extracted openvpms package files on your machine (we will refer to this as <openvpms>). The base of your home directory is probably a good spot. Make sure:
Check that everything is working by changing to the <openvpms>/bin directory (cd <openvpms>/bin) and then invoking the script with the command (changing the paths where appropriate):
./docload.sh --byid --source Path/to/Imports/In --dest Path/to/Imports/Archive --verbose
sudo crontab -e
0 * * * * cd Path/to/<openvpms>/bin && ./docload.sh --byid --source Path/to/Imports/In --dest Path/to/Imports/Archive --verbose
0 * * * * cd Path/to/<openvpms>/bin && ./docload.sh --byid --source Path/to/Imports/In --dest Path/to/Imports/Archive --verbose -o --regexp "^[a-zA-Z]{0,2}(\d+).*"The folder will now be checked every hour for new files.
Gzipping can result in a significant speed improvement in downloading of files from the tomcat server and is easily enabled in tomcat. When the client (browser) makes a http request it tells the server if it has the ability to deflate. If so the server can gzip files such as xml, css and javascript before they are sent to the client. Significant speed increases are seen in the OpenVPMS web application especially when served from a remote server.
To enable this feature edit the connector in tomcat's server.xml file and add the compression settings as below:
Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="xxxx" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"
compressableMimeType="text/html,text/xml,text/css,text/javascript,text/plain" compression="on"
compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" />
If you are using firefox you can use the Yslow plugin to check if gzipping is enabled or not. Yslow can also be used to tell you the speed prior to and following enabling compression.
Since version 1.4, I have been getting frustrated with this function taking capitals out of acronym like FIV (changing it to Fiv) when editing product names or adding few products or fees. Can it be turned off in some areas (it doesn't exist when writing client histories for example).
Glen
Greenvale
Hi,
I have an existing OpenVPMS site that would like to run a test or demo system alongside the live one for testing of templates and for new staff to practice on.
What are the steps required to restore a copy of the real data (with customers and all in it) to another new database on that same server?
What would then be the web address of the new site.
Finally, how can the background colour of the demo system be changed to clearly differentiate it from the live system?
thanks very much
Marty Oliver, The Soho Box
Melbourne, Australia
Hi,
What is the best wasy to set up the reminders for applicable products? We have not made use of this function yet.
Thanks
Tamara
Hi,
We are just setting up a new range of reminders and it's been ages since I've worked in this area so I'm a bit rusty. A couple of questions
Cancel Interval: If this is set a for example 2 years. What happens after two years?
Senstivity Interval: Is this to do with the reminder bells appearing? Can someone give me a refresher here?
Sandra.
dataload.bat ../import/data/postcodes.xml
You will see a series of processing messages.......
.... and be returned to the Command Prompt when the dataload has completed.
Make sure you haven't added any states or suburbs first as this may cause duplicate errors and the load would fail.
Close the Command Prompt window when you're done.
Click Edit, delete "openvpms practice" and type in your clinic's name (6), click Contacts (7) | Add (8) and enter your clinic's address (9). Press Apply (10).
Click on Phone Number (11), enter your clinic area code and number (12), and click Apply (13).
Click on Taxes (14), select Gst in left column and click on arrow to move into "Selected" column (15). Click Ok (16) to save changes and complete this section.
Click Administration | Organisation | Main.
In the same manner as decribed above, set up location and phone number.
Click on Practice | Add | Click on Binoculars | double-click on your hospital name.
Select your default printer from a drop-down box (this should be a printer installed to the server on which openVPMS resides either as a local or network printer).
If you're going to send email from openVPMS, you'll need to place the address of your ISP's smtp mail server here (as shown above). Look in the configuration of your email client (Outlook, Thunderbird, etc) for "outgoing mail server" for the server address.
Click Ok to save changes and complete this section.If your outgoing mail server requires a username and password, you'll need to add these to your applicationContext.xml file: this will be found in the c:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\openvpms\WEB-INF folder.
Right-click and edit this file in Notepad or your favourite text editor. Search for mail sender.
Add the username and password lines as shown below, inserting your own values for "someuser" and "somepassword".
Save and close the file. Stop and restart Tomcat to apply changes.
Click on Administration (1) | Organisation (2) | Select (3) | All (4) | Find (5).
Double-click on Main Appointment Schedule (6).
Click on Edit.
Fill in start and end times in 24 hour format (eg 0900), select slot size, and click OK.
Once again, click on Administration | Organisation | Select | All | Find .
Double-click on Main Surgery Schedule.
Fill in start and end times in 24 hour format (eg 0900), select slot size, and click OK.
Create a new Schedule View called Schedule View.
Click on Administration | Organisation | Select | Schedule View | Find .
You'll see No results to display.
Click on New.
A new window pops up.
Type in Schedule View (1).
Click Add (2) | Binoculars {Search}.
Double-click on Main Appointment Schedule (4).
Window will close. Press OK (5).
Click Edit (1) | Add (2) | Binoculars {Search} (3).
Double-click on Main Surgery Schedule (4).
Window will close. Press OK (5).
Click on Administration | Organisation | Select | All | Find .
Double-click on Practice Location (Main Clinic).
Click Edit. A new window pops up.
Click Edit (1) | Add (2) | Binoculars {Search} (3).
Double-click on Schedule View (4).
Window will close. Press OK (5).
Log out, then log in again.
Click on Workflow | Scheduling and you should be able to add, modify and remove appointments.
Your resultant screen should look like this:
Click on Administration | Organisation | Select | All | Find .
Double-click on Practice Location (Main Clinic).
Click Edit. A new window pops up.
Click Work List Views (2) | Add (3) | Binoculars {Search} (4).
Double-click on Work List View (5).
Window will close. Press OK (6).
Log out, then log in again.
Click on Workflow | Work Lists and you should be able to add, modify and remove clients on and off lists.
![]()
CONTENTS
This tutorial describes step-by-step preparation of an alternate demo version of openVPMS for training purposes, allowing you to run the system without compromising your main installation.
You should be logged into the PC where openVPMS resides using an account with Administrator privileges.
Click Open Backup File (1), select your file (2), and click Open (3):
Once the operation is complete, click Close and exit MySQL Administrator.
Change the openvpms in the highlighted line to read openvpms-demo, thus:<param-value>openvpms-demo</param-value>
hibernate.connection.url=jdbc:mysql://localhost:3306/openvpms-demo
Save and close the file.4. Set Schema Privileges in MySQL Administrator
5. Change Background Colour To Orange
6. Restart and Test
Open Firefox and type in http://localhost:8080/openvpms-demo/app. Log in as admin/admin and you should have openVPMS in orange ready for you to use for training.
To start OpenVPMS-demo on another PC on the network, you will need to type in http://IPv4_address:8080/openvpms-demo; in example below, http://192.168.1.101:8080/openvpms-demo:
Hope this helps.
Created 20 July 2011 (Author: Yuri Sos)
Follow the instructions to upgrade your installation.
This page outlines the required steps to upgrade a 1.1 release OpenVPMS installation to release 1.2-Beta-1.
| Step | Description |
|---|---|
| Download OpenVPMS Installation Files |
|
| Stop Tomcat Service |
|
| OpenVPMS Database Upgrade |
|
| Download and install the Mysql JDBC driver | This release does not package the Mysql database JDBC driver that is required by OpenVPMS to talk to a Mysql database installation. This is due to license restrictions on the Mysql connector. Using your current OpenVPMS-1.1 installation you can copy the necessary files from this installation to the new 1.2 installation and Tomcat using these instructions:
|
| Reload the Archetypes |
|
| Update the OpenVPMS web application |
|
| Start Tomcat |
|
This page outlines the required steps to upgrade a 1.0 release OpenVPMS installation to release 1.1.
| Step | Description |
|---|---|
| Download OpenVPMS Installation Files |
|
| Stop Tomcat Service |
|
| OpenVPMS Database Upgrade |
|
| Reload the Archetypes |
|
| Update the OpenVPMS web application |
|
| Start Tomcat |
|
This page outlines the required steps to upgrade a 1.2 release OpenVPMS installation to release 1.3.
| Step | Description |
|---|---|
| Download OpenVPMS Installation Files |
|
| Stop Tomcat Service |
|
| Database Backup | The 1.2 to 1.3 database upgrade process is quite extensive so we strongly suggest performing a MySQL database backup prior to attempting the upgrade. Use the MySQl administrative tool or phpmyadmin under Linux to create a backup. |
| OpenVPMS Database Upgrade | Depening on the size of your OpenVPMS database the upgrade process can take some time so we suggest you give yourself plenty of time for the process to complete.
|
| Download and install the Mysql JDBC driver | This release does not package the Mysql database JDBC driver that is required by OpenVPMS to talk to a Mysql database installation. This is due to license restrictions on the Mysql connector. Using your current OpenVPMS-1.2 installation you can copy the necessary files from this installation to the new 1.2 installation and Tomcat using these instructions:
|
| Reload the Archetypes |
|
| Update the OpenVPMS web application |
|
| Start Tomcat |
|
| Software Configuration |
Version 1.3 consists of some significant software changes, specifically the new enhanced scheduler. You will need to do some significant configuration steps in order to get the Scheduling and Worklist workspaces operational. This includes:
This version also includes automatic post code lookups using a new suburb lookup. We suggest you:
If you have any questions on these ad other software changes please post them on the forum. |
This page outlines the required steps to upgrade a 1.3 release OpenVPMS installation to release 1.4.
| Step | Description |
|---|---|
| Download OpenVPMS Installation Files |
|
| Stop Tomcat Service |
|
| Database Backup | The 1.3 to 1.4 database upgrade process is quite extensive so we strongly suggest performing a MySQL database backup prior to attempting the upgrade. Use the MySQl administrative tool or phpmyadmin under Linux to create a backup. |
| OpenVPMS Database Upgrade | Depending on the size of your OpenVPMS database the upgrade process can take some time so we suggest you give yourself plenty of time for the process to complete.
|
| Download and install the Mysql JDBC driver | This release does not package the Mysql database JDBC driver that is required by OpenVPMS to talk to a Mysql database installation. This is due to license restrictions on the Mysql connector. Using your current OpenVPMS-1.3 installation you can copy the necessary files from this installation to the new 1.3installation and Tomcat using these instructions:
|
| Reload the Archetypes |
|
| Update the OpenVPMS web application |
|
| Start Tomcat |
|
This guide provides a valuable resource for implementers who want to understand some of the key software changes that have been incorporated in the 1.5 release. It does not detail all of the new features and improvements in the 1.5 Release but specifically details those new features and improvements that will require specific setup steps to be performed post the 1.5 upgrade.
In some instances the notes relate to significant changes in look and feel that may require additional user training.
The documentation is structured as a page per significant feature or improvement.
The customer notes area in OpenVPMS has been modified to split notes into notes and alerts. This was done to allow more detailed display of customer alert information in the customer summary section as well as to make customer alerts work the same way as patient alerts. These changes are detailed in the following JIRA request and you can see an example of the new customer summary display in this screenshot.

The previous Alert button has been replaced with specific coloured and prioritised buttons which can can clicked to get more detailed information. These alerts are also displayed while creating and editing appointments.
During the upgrade to 1.5 the database update script finds all the Customer Note Category lookups that are associated with Customer Notes that have the Alert flag ticked and then creates new Customer Alert lookups for these. The lookups have their Priority field set to High and their Colour set to Red. It then migrates all the existing Customer Notes that have alerts to be Customer Alerts and deletes them from the Notes.
In order to setup the colours and priorities of these new Customer Alert Type lookups you need to go into Administration -> Lookups and edit the newly created lookups to your desired settings.

You are of course free to add additional Customer Alert Types.
From a user perspective they will need to told that they need to now make a decision in Customer -> Notes & Alerts which they will create. Only alerts will be displayed in the customer summary and new appointment screens.
In conjunction with the Customer Alert changes noted previously, release 1.5 has made some changes to the existing Patient Alerts feature.

The previous Alert button has been replaced with specific coloured and prioritised buttons which can can clicked to get more detailed information. These alerts are also displayed while creating and editing appointments.
From a implementation perspective the only required task is to modify the existing Patient Alert Types to set their colour and priority. Again this is done in Administration -> Lookups as was the case with Customer Alert Types.
From a users perspective little changes except they do not need to click the Alerts button anymore.
You can set the default highlight for specific Schedule and Work List views as per Jira Entry.
To setup the default highlight edit the Schedule or Work List view from Administration -> Organisation as shown in this screen shot.

There are a number of template changes that effect general printing and the behaviour of printing.
Wherever you see an interactive print dialog in OpenVPMS you will now notice a Copies selector.

You can set the default copies for any specific template in the Administration -> templates workspace using the new Copies field.

If the Template Printer is setup to be interactive you will get a chance to modify this at the time of printing. If not then this will be the number of copies that will be printed automatically.
A new template option now allows you to control how printing certain templates behave during checkout and also when documents are created during invoicing certain products.

The new Preferred Print Mode field allows control over whether documents are printed immedaitely when created during charging, are printed at check-out or only printed manually.
The following outlines the behaviour of the three options.
Immediate. The document will be printed immedaitely when invoice is saved. If the template is set to interactive then it will prompt with the standard printer dialog which you can Skip if required. If you Skip the document will then be presented at check-out.
Checkout. The document will be presented at Check-out using the standard check-out printing dialog and will be automatically ticked. This is the default settings as this is the behaviour for all previous releases.
Manual. The document will not be printed immediately and will be presented at Check-out by unticked. Typcailly for forms that the user wishes to manually print or only occassionally print at check-out.
Reminder Types and Product Reminder Links can now be set to display a new reminder dialog when reminders are generated through charging.

The Reminder Type Interactive flag is used as the default for any new Product Reminder interactive settings. That is if you link a reminder to a product the setting for Interactive for the link will be determined by the setting in the Reminder Type. This will not effect existing links just any new links created.

In the product you can nominate whether you want a specific reminder to be interactive or not overriding the original setting in the reminder type.
The default setting in non interactive so, from an implementers perspective, you will only need to modify those products that have reminder type links that you want to change to be interactive.
When set to interactive the users will get a new reminder dialog appear when they select the product with the default due date set to the interval defined for the product. They can accept or override this date.
By far the most significant User Interface and operational changes is Medical Records editing. These changes will be evident in the Patient ->Medical Records and the Check-In and Consult workflows. The changes are described in detail in the Direct Editing and Streamline Visits Item JIRA's.

This screen shot shows you the Consult workflow initial Edit Medical Records dialog. You will note the screen is actually the summary medical records screen and you can do all the normal filtering, scrolling and reviewing functions on this screen as you would do in the Patients - >Medical Records summary page.
If you want to add a new entry just click on the New button and the following New Medical Record dialog will appear with the default entry being a Note.

When you want to edit a specific medical record entry there is now no longer a need to select the appropriate visit, click Edit and then select the visit item to edit from the table (i.e note, investigation etc). Just double click on the entry on the summary screen and a edit dialog will appear as is shown below for a note.

All of these changes are designed to streamline editing Medical Records and to circumvent the locking issues when check-out and medical records editing happened simultaneously.
Although there are no new charging configuration options there has been a number of significant improvements to charging. These are primarily designed to streamline the charging and are outlined in this JIRA.

On entering the new invoice you will first notice that a new invoice entry has automatically been added and is ready to enter the patient or product.
You will note the additional buttons at the bottom of the invoice dialog. These allow you to save the invoice and simultaneously set the invoice to the desired status, Completed or In progress. The Ok button is still available allowing you save as normal leaving the status unchanged.
Next and Previous buttons and keyboard shortcuts have been added to allow you to easily move between invoice entries.
The Add button is disabled when you have a invoice entry that has not been completed (No Patient and/or Product selected).
Previously if you tried to Save the invoice and there was a entry without a Patient and/or Product you would get a validation error and have to enter the information or delete the entry. These entries are now automatically removed.
A popup Macro selector has been implemented as per this JIRA.
Also Macros can be used in Letter input fields as per this JIRA.

The Macro screen can be displayed in any text box field using the Alt-M keyboard shortcut.
A number of workspaces in OpenVPMS have been changed to streamline bulk editing and viewing. These changes are detailed in this JIRA.
The workspaces that have changed are:
The idea is to allow the user to create a list then work from that list to edit the individual items. This is contrary to the current situation where selection of a product etc is done through the SELECT button. This means that the list dissapears after a selection is made and needs to be re created to make another selection. Here is an example using the Product -> Information workspace.

Double clicking on any table entry will automatically take you to a standard edit dialog for that entry as shown below.

You will note there are two(2) new buttons on the bottom of the dialog, Next and Previous. These allow you to move backwards and forwards through the previous filtered list making performing mass editing or viewing of details significantly easier.
Selection Ok or Cancel on the edit dialog will return you to the filtered list either saving or cancelling any changes made on that record respectively.
Should you edit something and not Apply the change before using the Next or Previous buttons the following dialog will appear giving you the option to Save, Revert or Cancel.

Stock control has been improved by allowing stock reordering preferences to be setup against specific products and stock locations as per this JIRA.

This in conjunction with a new Stock Reorder report can be used to generate a report of products that need reordering. This new report can be found in the Shared Resources area here.
The OpenVPMS components of first release of the ESCI (Electronic Supply Chain Interface) project are included in version 1.5. In summary this includes the ability to send Orders electronically, receive electronic confirmation from the supplier that the Order was received, and receive electronic Delivery/Invoice information from the supplier.
In order to take advantage of these new features your current supplier needs to implement a set of standard ESCI services. Many Australian suppliers are in the process of developing these based on documentation and tools the ESCI project has already provided. When implementing these services you will work closely with your supplier to configure OpenVPMS for these electronic services.
From a practice and a user perspective the process is quite straight forward.
When you create an order and the supplier for the order is configured to send electronically, when the order is Finalised it will automatically sent to the supplier electronically.

If this is successful then a dialog will be displayed otherwise if connection cannot be made or there is an error in the order an error message will be displayed and the Order will remain In Progress.

You would have noticed in the Order screen shot above a new button Check Inbox. This button is available in both the Supplier ->Orders and Supplier -> Deliveries workspaces. This button will check all suppliers which are configured for electronic communications in your system and look for electronic Order Responses or Deliveries. It will process any found and generate messages in the Workflow -> Messages workspace as shown below.

When the supplier has processed the Order you will receive an Order Accepted or Order Rejected message and it will be linked to the details of the Order it relates to as shown above. The status of the Order in the Supplier -> Orders workspace will be modified accordingly.
The Order Invoiced message tells you you have received an Delivery notification. The details of the delivery are attached. Deliveries can be for one or more full or partial orders or not associated with a order at all.
You will find the received electronic Delivery in the Suppliers -> Deliveries workspace marked as In progress. You can then confirm this against the actual physical delivery and modify and Finalise as appropriate. On finalising stock and any price updates will occur.
From an OpenVPMS implementation perspective in order for OpenVPMS and the supplier to successfully interact electronically any Product Supplier information needs to include enough information for the supplier and OpenVPMS to understand which product is being ordered and correctly ascertain the number being ordered or delivered. In order to do this it is imperative that each product supplier has key supplier reorder information and the correct package description and units.

From an ordering perspective this provides the supplier with a product code they can recognise and the type of package and size you are after.
From an delivery perspective it allows OpenVPMS to ascertain the product being delivered and how to update the stock levels correctly for the number of selling units delivered. this is especially important if the Delivery is not associated with an electronic Order. i.e. a phone order where you are receiving an electronic delivery notification.
We suggest you work closely with your supplier(s) to implement these new features.
In the previous version the format of the patient age display in the Patient summary panel and the Patient Information screen was hard coded into the application. This release allows you to customise this to suit your practice needs.
Also the patient age at the time of each visit displayed in the Medical Record summary tab is now shown next to the visit details.
In order to customise the display you need to create a Duration Formats lookup in Administration -> Lookups and associate one or more Duration Format lookups to it as shown is this screen shot.

Each Duration Format shown in the list tells OpenVPMS whether to show years, months, weeks or days for any age up to and including the interval and units selected. It doesn't matter in what order you add the formats as OpenVPMS will order by ascending interval and select the first interval it finds that is greater than or equal to the patients age.
In the above example this means patients aged up to 3 months old will display in weeks and days, patients greater than 3 months old and up to 1 year old will display in months and weeks, patients greater than 1 year old and up to 3 years old will display in years and months, and patients greater than 3 years old will display in years only.
Although typically you wouldn't create more than one Duration Formats lookup you can and then you can select which one to utilise by associating with the Practice in Administration -> Organisation as shown in this screen shot.

Once a duration formats lookup is associated with the practice that format will be used to display patient ages. If no Format is specified in the Practice (the default) then the internal default patient age formatting is used (as per version 1.4 and prior).
This release includes the ability to generate SMS messages from the Customer summary panel and when viewing Contacts in the Customer Information workspace as shown below.


The Send SMS button will only appear if the SMS configuration has been completed as described below and the Customer has one or more phone contacts that have the Allow SMS flag ticked.
When the Send SMS button is clicked a dialog is dsiplayed allowing you to enter an SMS message and also, if there are more than one phone contacts that can SMS, allow syou to select the contact to use from a drop down list.

Please note the SMS mesage field displasy the number of charaters remaining in the message up to the limit of 160. You are free to utilise macros in the message field. Also implemented are some new macro tags which will allow you to automatically display customer and patient details. For example the following macro
concat('This is a test message to ', openvpms:get($customer,'name'), ' about their pet ', openvpms:get($patient,'name'))
will display
This is a message to Abbotsford, Dan and Debra about their pet Maple.You can use this feature to create many standard message macros suitable for your own practice.
OpenVPMS uses email to send SMS's so the selection of SMS provider is restricted to those providers that provide an Email to SMS gateway service. Fortunately most providers do provide this service so your choice is large allowing to shop on service and price rather than being restricted to one or only a few SMS providers.
In this release we have provided three(3) different SMS configuration options. Two(2) of these are for popular SMS providers, SMMSGlobal and Clickatell. The third configuration option is Generic and can be used for nearly any other SMS provider.
You will need to sign up with an SMS provider and setup your account and specific preferences with them before configuring OpenVPMS. Each provider will have their own specific setup requirements.
To add a SMS configuration firstly goto Administration -> Organisation and click New and select the appropriate SMS configuration option from the list.
The SMS Global configuration screen is shown below.

Country Prefix: This will be added to the front of the number to internationalise it.
Area Prefix: This will be removed from the front f the number to internationalise it.
From: Must match the sending email address settings when you setup email preferences in your SMS Global account. You can restrict which email address can initiate sending SMS's in the SMS Global account preferences on the SMS Global web site. Within these settinsg you can also stipulate if any SMS replies are sent to the sending or another email address.

Clickatell has a more detailed configuration and is generally more secure as users need to know a few more details in order to send SMS's through their account.
User Id: Your Clickatell account user id.
Password: Your Clickatell account password.
API Id: Provide when you create account.
From: The from addres Clickatell require.
Reply To: The address any SMS responses are sent to.

The setup of the generic SMS configuration is beyond the scope of ths document. We suggest you utilise the Implementers forums to request any information about setting up the Generic SMS configuration for your SMS provider.
Note: In each of the configuration screens you have a test section which allows you to test the setup by entering a telephone number and message to send and clicking Send SMS. We suggest you use this to test both the SMS configuration and succesful receipt of email responses.
Once you have created your specific SMS configuration you need to link it to the Practice as per this screen shot.
