Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel4
printablefalse

How Integrator works

 

  • Both Oscar sites periodically push data into Integrator, which stores it into its database.
  • Patients have their demographics registered in both Oscar sites and "linked" through Integrator.
  • When a patient's chart is opened in one Oscar site, Oscar will contact the integrator and pull his/her chart data from the other site(s).
  • Chart data from remote site is shown with special indication.

integrator_install.sh

Use integrator_install.sh to do the basic setup for Integrator. Refer to "using_integrator_install.txt" for instructions.

It does most of the work in:

"Get Integrator"

"Setup Oscar/Integrator"

except: - oscar.properties -

Manual Setup for Oscar/Integrator

Prerequisites

Java version: openjdk-6

(linux command) sudo apt-get install openjdk-6-jre

Tomcat version: tomcat6

...

Prerequisites

Java Version 6

Sun Java 6 is no longer available in the Ubuntu repositories.  However, it can still be installed from Oracle's web site.  Alternatively (and likely preferably), you can create packages of Java 6 using this script.

Code Block
languagebash
titleInstructions to run script and install JRE
cd ~/
wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh
sudo apt-get install sun-java6-jre

Tomcat version 6

sudo apt-get install tomcat6

Tomcat setting

The following line should be added to tomcat start script at before executing the web service:

export JAVA_OPTS="-Xmx1024M -Dcaisi_integrator_config=/usr/share/tomcat6/integrator_override.xml"

 

...

Info

1) -Xmx1024M is a suggested value providing Tomcat with 1024 MB of memory. More memory can be assigned if available.

2) /usr/share/tomcat6/ is a suggested

...

3) For the use of integrator_override.xml refer to section - integrator_override.xml -

Oscar version

...

path – you should use the path to where you would normally store your oscar.properties file if it was on a similar setup.

Oscar version

Integrator works with Oscar release 12.1.  All Oscar systems connected to the same integrator should be on the same version of Oscar.

Installation Via Script

We have created a script which will:

  1. create integrator_override.xml
  2. prepare the caisi_integrator database
  3. download caisi_integrator.war file

 It can be downloaded here: integrator_install.sh

Before running, edit the script and set the following variables:

Variable in scriptValue
USER=the mysql username you would like to use to access the database
PASSWORD=the password you would like to use to access the database

DB_HOST=

127.0.0.1

DB_PORT=

3306

DATABASE_NAME=

caisi_integrator

INTEGRATOR_HOST=

the external IP/hostname used to access the server
INTEGRATOR_PORT=the external port used to access the server

 

After running, move override file and the war file to their directories:

Code Block
languagebash
cp integrator_override.xml /usr/share/tomcat6/

cp caisi_integrator.war /var/lib/tomcat6/webapps/

Skip to oscar.properties and proceed from there.

Manual Setup for Oscar/Integrator

Get Integrator

Option 1: Get war file

You can always download the latest WAR file for the integrator from this url: https://demo.oscarmcmaster.org:11042/job/integratorMaster/lastBuild/org.oscarehr$caisioscarehrcaisi_integrator/artifact/org.oscarehr/caisi_integrator/0.0-SNAPSHOT/caisi_integrator-0.0-SNAPSHOT.war

...

Info
<require_consent_to_read_data>, <require_phi_filter_to_read_data>, and <log_performance> should all be set to false unless necessary.

Integrator war file

...

  1. Rename the above acquired war file to "caisi_integrator.war"

...

  1. If you are running integrator in a dedicated server, put the war file into /var/lib/tomcat6/webapps/

...

  1.   If you are running integrator alongside with Oscar, put the war file together with the Oscar war file.

Integrator database setup

...

  1. get sql script from

...

  1. https://demo.oscarmcmaster.org:11042/job/integratorMaster/lastBuild/artifact/target/create_tables.sql

...

...

  1. create database:
    (linux commands)
    create database caisi_integrator | mysql -uroot -prootpass -h10.10.10.1 -P3306
    grant all on caisi_integrator.* to root@localhost identified by "rootpass" | mysql -uroot -prootpass -h10.10.10.1 -P3306 caisi_integrator

...


  1. Note:
    The above commands are only an example. All the databases, users, passwords, hosts, ports can be changed but keep them consistent along all setup. Same thing apply to the following steps.

...

...

  1. build database:
    (linux command) mysql -uroot -prootpass -h10.10.10.1 -P3306 caisi_integrator < create_tables.sql

 

...

  1. prepare initial data:
    Login to mysql and use the caisi_integrator database. Run the following commands:
    insert into SiteUser (name,password) values ('admin',unhex(sha1('admin')));
    create table CachedProviderRole (caisiItemId varchar(16) not null, integratorFacilityId int(11) not null, providerRole varchar(32) not null);
    create table HomelessPopulationReportPrograms (configurationTime datetime not null, index(configurationTime), facilityId int not null, programId int not null);

oscar.properties

The following 3 properties must be present:

program=onEnsure these three properties are present in the oscar.properties file for each Oscar system you wish to connect to the integrator:

VariableValueComment
program=on 
INTEGRATOR_UPDATE_PERIOD=1800000This value is in milliseconds.  OMD requires sync within 30 minutes.
ENABLE_CONFORMANCE_ONLY_FEATURES=true 

Note:

1) INTEGRATOR_UPDATE_PERIOD is set in millisecond. OMD requires sync within 30 minutes.

2) If you have a large database the transfer time may exceed INTEGRATOR_UPDATE_PERIOD. In such case the update will be skipped.

...

Info
You must restart Oscar in order for changes to the oscar.properties file

...

to take effect

...

.

Web Setup

Integrator

...

Web Setup

  1. Run Integrator by starting tomcat
  2. Open a web browser and go to: (url) http://integrator_server_name:8080/caisi_integrator

    Info
    change "integrator_server_name" and port according to your own settings
  3. Select "Integrator Site"
  4. Login as "admin", password: "admin"
  5. Select "Administration"
  6. Select "Manage Facilities"
  7. Select "Add New Facility", enter name a username and password and save. for each Oscar site to use on connecting to the integrator.  The facility name username and password will be used in - Oscar 1st startup -the next section.
  8. Repeat step 7. Each facility represents one Oscar site.

Oscar

...

Web Setup

  1. Run Start Oscar (if not already running)
  2. Login to Oscar with using an account which has with admin rights
  3. Select "Admin" in the top menu
  4. Select "Manage Facilities" under "Misc"
  5. Select "Edit"
  6. Change "Name", "Description" to something of your choice

    Info

    The name field will be used to identify this Oscar instance at other facilities so we suggest using something short and identifiable.
    For example, a name of "Fakestreet Family Health Team" is likely too long, whereas "FFHT" may not be unique or identifiable, but "Fakestreet" allows users at other sites to know what site information is coming from.

  7. Enter "http://integrator_server_name:8080/caisi_integrator/ws" into "Integrator Url" (See - Integrator 1st startup - Step 2This should be the URL from step 2 in the previous section + "/ws")
  8. Enter "Integrator User" and "Integrator password" with the facility name and password from - Integrator 1st startup - Step 7)step 7 in the previous section
  9. Check "Enable Integrator"
  10. Save. You will be prompted with "Remove Demographic Identity NOT checked! Is it OK?". Select "OK".

...

Info

Oscar will now push data to Integrator once every INTEGRATOR_UPDATE_PERIOD. Note that the update period starts its count on Oscar startup, so you may not see any data push immediately after the above setup.

A patients E-Chart Encounter notes do not abide by the syncing period set by 'INTEGRATOR_UPDATE_PERIOD'. Encounter notes update 60 minutes after the previous Encounter notes sync.

Integrator

...

Preferences Within Oscar

The purpose of setting this is to allow all patients to be synced, or by default only Rostered patients will be synced.

...

2) On 1st push/pull of data to Integrator, Integrator Preference may be reset. Please re-apply the setting if this happens. (Bug to be fixed)

...

Adding a "

...

Linked"

...

Patient

Warning
Do NOT create the same patient demographic in different Oscar sites. The "linking" does not work this way.

...

The new "Linker, Boy" is linked to "Linker, Boy" in Oscar site 1. All data created in one site will be shown in another.

Other issues

- Bug to be fixed -

...

Known Issues

Potential Incorrectly Formatted Data in Oscar's Program Table

For a newly created Oscar database, please check the "program" table:

 

select defaultServiceRestrictionDays from program;

...

If any one of the result results is NULL, run the following mysql command: 

update program set defaultServiceRestrictionDays=0 where defaultServiceRestrictionDays is NULL;

 

Otherwise If this is not corrected, the integrator push will fail.