Volunteer needed

Recent site activity

6.1 Basic Oscar Install

Preface

 

NOTE This documentation is for older versions of Oscar applications and is no longer being maintained.  See http://new.oscarmanual.org/oscar-emr for documentation for versions 10.6 and newer



This basic install is adequate for a local install of Oscar.  Many users prefer to install Oscar as a server and run it on a browser from another computer and this will require setting up tomcat for https:// connections and other basic security hardening.

Document Version History

  • v1.0 – initial public release – May 2, 2010
  • v1.1 – adjusted date stamp on CVS instructions. May 3, 2010
  • v1.2 - removed workarounds after bugfixes committed on May 5th, 2010
This document, has been modified from the instructions by David Daley by Peter Hutten-Czapski with updates for the current stable releases of Ubuntu and Oscar.  The document is copyright © 2010 under the Creative Commons Attribution-Share Alike 3.0 Unported License


Prerequisites

It is assumed that
  1. You have installed a version of Ubuntu 10.4 LTS "Lucid"  (32/64 bit desktop/server)
  2. You have a basic level of Linux knowledge
  3. You can open a Linux terminal
  4. You can use a Linux text editor
  5. You can cut and paste EXACTLY the following instructions
NOTE: Firefox will copy with Control+C while a linux terminal requires Shift+Control+V for paste

Installing The Infrastructure Packages

OSCAR is predominately written in the Java programming language and thus requires the Java SDK to be built from source. The Java SDK also supports the Tomcat web framework. The following installs Java

First enable the ubuntu lucid partner repository (it's not enabled by default) by editing sources.list

A note about the following command – ‘vi’ (for visual editor) is a classic unix editor. First time users usually find other Linux editors easier to use particularly ‘nano’, if you are running in a terminal environment, and ‘gedit’, if you are running with a GUI. If you elect to use an alternative editor, replace ‘vi’ in the commands that follow with your editor of choice.

sudo vi /etc/apt/sources.list

Uncomment the following line in /etc/apt/sources.list by removing its preceding #

#deb http://archive.canonical.com/ubuntu lucid partner

This gives you access to certain software from companies (the partners) that have entered into an agreement with Canonical (which develops Ubuntu) such as Oracle (Sun) that provides the type of java that we want.

sudo apt-get update
sudo apt-get install sun-java6-jdk

Mouse or tab to highlight the <yes> acceptance of the liscence agreement and click or enter to accept it.

The source code compilation process for OSCAR is managed by the Ant package.

sudo apt-get install ant-optional

Your specific CMS data, profiles, and information will all be stored in the MySQL database. This installation sequence will ask you for a secure password for the database server – remember this password as you will need it again later in the installation whenever ****** is referenced.  If you use symbols "#,!, &,*, (, ), / , \ and $" in this password (eg pass&word), be sure to escape them when replacing the ***** (eg pass\&word).

sudo apt-get install mysql-server libmysql-java

To support OSCAR’s web based user interface, the system leverages the extensive resources of the Apache Tomcat web application framework.

sudo apt-get install tomcat6

Concurrent Versions System (CVS) is used for source code control on the OSCAR Project. You will need this package to grab the OSCAR source code.

sudo apt-get install cvs

These are all of the base packages that need to be installed. Now, we will reboot the server.

sudo shutdown -r now

After the server restarts, log in once again, and proceed to the next section.

Configuring The Base Packages

A few environment variables need to be set to support OSCAR.

sudo vi /etc/profile

If you are configuring OSCAR on a freshly installed Ubuntu server, then you should be safe to add these lines to end of the file.

JAVA_HOME="/usr/lib/jvm/java-6-sun"
CATALINA_HOME="/usr/share/tomcat6"
CATALINA_BASE="/var/lib/tomcat6"
ANT_HOME="/usr/share/ant"
export JAVA_HOME CATALINA_HOME CATALINA_BASE ANT_HOME

To load the new environment variables into your existing terminal, run the following command. Please note that the sudo command is not required in this case.

source /etc/profile

The infrastructure is now in place and it is time to get the OSCAR source code. The first cvs command below will ask you for a password – please respond by hitting the Enter key, without adding a password (ie a null password).

By specifying a specific date/time on the checkout command, you ensure that you get a specific, dated version that you can track from. The command, run without the datestamp verb -D "2010-05-05 23:59:59" will retrieve the most recent version that works for both BC and ON.

By specifying a particular release, you will get the code from that branch of the code. The command, run without the release flags, will get you the code from the development branch. If the development stream code is what you want, run the command without -r and also without -r RELEASE_9_12.

This tutorial is specific to the commands in the following section.

mkdir -p $HOME/src/oscar_source
cd $HOME/src/oscar_source
cvs -d:pserver:anonymous@oscarmcmaster.cvs.sourceforge.net:/cvsroot/oscarmcmaster login
cvs -z3 -r -d:pserver:anonymous@oscarmcmaster.cvs.sourceforge.net:/cvsroot/oscarmcmaster co -r RELEASE_9_12 -D "2010-05-05 23:59:59" oscar_mcmaster
cvs -d:pserver:anonymous@oscarmcmaster.cvs.sourceforge.net:/cvsroot/oscarmcmaster logout

It will take a few minutes for the source code to download. Afterward, Compile OSCAR.

cd $HOME/src/oscar_source/oscar_mcmaster/build
ant

You may ignore the warnings from the compiler, however you should expect to receive the message: BUILD SUCCESSFUL.

Copy the resulting WAR files to the web server.

sudo cp $HOME/src/oscar_source/oscar_mcmaster/build/tmp/*.war $CATALINA_BASE/webapps

OSCAR includes scripts to populate the MySQL database. Change to the database script directory.

cd $HOME/src/oscar_source/oscar_mcmaster/database/mysql

Only run one of the following two database creation commands (either A or B) !

A.) Users that wish to use Ontario’s billing subsystem should run the following command (replace ****** with the MySQL password you set earlier.):

./createdatabase_on.sh root ****** oscar_mcmaster

B.) Whereas users who wish to use British Columbia’s billing subsystem should run this command (replace ****** with the MySQL password you set earlier.):

./createdatabase_bc.sh root ****** oscar_mcmaster

OSCAR users that are from neither Ontario nor BC can run either of the above commands (you must run one of them), then you will need to adjust the billing system according to your own location.

You will need to move the oscar_*.properties files to $CATALINA_HOME as described below.

sudo cp $HOME/src/oscar_source/oscar_mcmaster/install/oscar*.properties $CATALINA_HOME
sudo ln -s $CATALINA_HOME/oscar_mcmaster.properties $CATALINA_HOME/oscar.properties

The oscar.properties file needs to be localized for your specific configuration.

sudo vi $CATALINA_HOME/oscar.properties
Ontario users will probably want to adjust the following (Warning do not put any blank spaces at the end of any line!)

db_password=******* ### change to your mysql database password
isNewONbilling=true
billregion=ON
billcenter=R ### change to your local OHIP office code
phoneprefix=705-

BC users will probably want to adjust the following to match their environment

db_password=******* ### change to your mysql database password
visitlocation = P1|PEMBERTON
dataCenterId = 00000
msp_error_codes = # supply the file location of msp error codes
billregion=BC
NEW_BC_TELEPLAN=yes
CDM_ALERTS=250,428,4280
COUNSELING_CODES=18220,18120,17220,17120,16220,16120,13220,12220,12120,00120
phoneprefix = 613-
pathnet_url= # supply the Location of Pathnet DLL
pathnet_username=  # supply User to access the system
pathnet_password= # supply Users Password

We will now configure Tomcat. First, adjust the configuration file to allocate more resources to OSCAR otherwise Drugref 2/3 will not run or will not run properly.
sudo vi /etc/default/tomcat6

Find the following sections and configure the variables to match what is below.  I am assuming that you have at least 1Gb RAM.

# Arguments to pass to the Java virtual machine (JVM).
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -Xms1024m -XX:MaxPermSize=512m -server"
Now we’ll enable the new echart interface.

cd $HOME/src/oscar_source/oscar_mcmaster/database/mysql
java -cp .:$CATALINA_BASE/webapps/oscar/WEB-INF/lib/mysql-connector-java-3.0.11-stable-bin.jar importCasemgmt $CATALINA_HOME/oscar.properties

and adjust some tables (replace ****** with the MySQL password you set earlier.)

mysql -uroot -p****** oscar_mcmaster ### will bring you to the mysql database prompt
mysql> insert into issue (code,description,role,update_date) select icd9.icd9, icd9.description, "doctor", now() from icd9;
mysql> quit; ### gets you out of mysql

Drugref2/3

Download the binary and copy the WAR file to $CATALINA_BASE

wget http://drugref2.googlecode.com/files/drugref.war
sudo mv drugref.war $CATALINA_BASE/webapps/drugref.war

Either MySQL or Postgres can be used for database. Launch your text editor to form drugref.properties
sudo vi $CATALINA_HOME/drugref.properties

Enter the following lines into drugref.properties (replace ****** with the MySQL password you set earlier.) and save

db_user=root
db_password=******
db_url=jdbc:mysql://127.0.0.1:3306/drugref
db_driver=com.mysql.jdbc.Driver

For simplicity MySQL will be used here. Create an empty drugref database with the following (replace ****** with the MySQL password you set earlier.):

mysql -uroot -p*******
mysql> create database drugref;
mysql> quit;

Restart tomcat

sudo /etc/init.d/tomcat6 restart

To populate the database with drug data open your browser and navigate to the server.  If you installed on a local desktop version of Ubuntu it is as shown below.

 http://localhost:8080/drugref/Update.jsp (If you installed via a SSH tunnel open firewall access for port 8080 on the server and change localhost to its URL)

NOTHING will seem to happen (except for the page loading symbol) for half an hour so get a coffee.

When you get back to the screen you will get a page like.

Update Drugref Database!

Table Name Number of Rows
CdVeterinarySpecies 5584
Interactions 3872
CdDrugProduct 39173
CdDrugSearch 86216
CdDrugStatus 119642
CdActiveIngredients 109648
CdInactiveProducts 51568
CdTherapeuticClass 42538
CdCompanies 43458
CdForm 50800
CdPharmaceuticalStd 23836
CdPackaging 43802
CdRoute 46940
LinkGenericBrand 39142
CdSchedule 43664

Time spent on importing data: 14 minutes

Time spent on new generic import: 8 minutes

Trying It Out

At this point you can test the fairly plain install. To test the connection, open your web browser and go to your the web address of your server.  If you installed on a local desktop version of Ubuntu it is as shown below. You should see the OSCAR login page.

http://localhost:8080/oscar

The default login parameters for OSCAR is as follows:

User Name: oscardoc
Password: mac2002
2nd Level Passcode: 1117
Activate Rx3 when logged into Oscar navigate Pref > Set To Use Rx3 and click the check box

If you can login then you have successfully installed a plain OSCAR and you can start playing with it.

This is enough for now, however for production use you will need to secure your installation further and apply basic security hardening.


Comments