[Deprecated] Order Manager - Installation & Configuration
This documentation is out-of-date, we are now maintaining this page: https://gazelle.ihe.net/gazelle-documentation/Order-Manager/installation.html
Sources & binaries
To get the name of the latest release, visit the Order Manager project in JIRA and consult the "Change log" section.
A maven artifact is published in our Nexus repository each time we release the application. You can use it, but be aware that the link to the database is hardly expressed within the artifact so you will have to use the same database name, owner (and password).
To get the artifact on Nexus browse: http://gazelle.ihe.net/nexus/index.html#nexus-search;gav~~OrderManager-ear~~~ and download the latest version.
If you rather want to build the project by yourself, you must checkout the latest tag and package it. You may want to create a new profile to customize your build.
1. Checkout the latest tag available on Inria’s forge: svn co https://scm.gforge.inria.fr/svn/gazelle/Maven/simulators/OrderManager/tags/OrderManager-$versionName
2. [Optional] Edit the pom.xml file and create a new profile
3. Package the application: mvn [-P profile] clean package
4. The EAR is available at OrderManager/OrderManager-ear/target/OrderManager.ear
Database configuration
If you use the artifact available on Nexus or if you have not change this parameter in the pom.xml file, create a database named order-manager, owned by the user gazelle.
createdb -U gazelle -E UTF8 order-manager
Dcmtk
Installation
The OrderManager tool makes use of the OFFIS Dicom toolkit to manage its DICOM worklist. You need to locally installed the latest version of dcmtk in your environment. If you run a Debian-like operating system, execute:
sudo apt-get install dcmtk
We recommand to use version 3.6.0 of the toolkit, you can verify the version with the following command line: wlmscpfs --version
Configuration
DCMTK operation is based on file-based, it thus requires the creation of a folder to store and retrieve the worklists. The path to the root folder can be configured in the database (see Application Configuration section), the sub folders shall be created as follows
$ROOT = /opt/worklists
Sub-folders: RAD_OF, EYE_OF, _DISABLED, exchanged
To enable the worklist to look into directories, you also have to create empty files named “lockfile” in RAD_OF and EYE_OF folders.
Finally, change owner and give writing access to jboss:
sudo chown -R dcmtk:jboss-admin worklists
sudo chmod -R g+w worklists
Deploy the application
Copy EAR to the deploy folder of JBoss (do not forget to change its name to OrderManager.ear)
Start Jboss ⇒ sudo service jboss start
Wait until the application has been completly deployed and configure the database running:
Initialize the application
You first need to initialize the database with some data available in a SQL script. If you have checked out the project, the script is available in OrderManager-ear/src/main/sql/import.sql
Otherwise, download it from Inria’s forge at: ???
Before executing the script, open the file and checked the various preferences to be inserted in the app_configuration table, especially the cas_url, application_url and other preferences relative to the user authentication (see Application configuration section)
Finally, execute the script: psql -U gazelle order-manager < import.sql
To take those parameters into account, you need to restart either the whole Jboss ($>sudo service jboss restart), either only the application ($>touch OrderManager.ear in the deploy folder of Jboss)
Application configuration
Use the Administration menu, you will find a sub-menu entitied "Configure application preferences". The following preferences must be updated according to the configuration of your system. The table below summarizes the variables used by the OrderManager tool.
Variable |
Description |
Default value |
application_url |
The URL used by any user to access the tool. The application needs it to build permanent links inside the tool |
http://publicUrlOfJboss/OrderManager |
cas_url |
If you intent to use a CAS, put its URL here |
https://gazelle.ihe.net |
application_works_without_cas |
Tells the application how users are authenticated |
True: all users are granted as admin False: uses a CAS service to authenticate users |
ip_login |
if the application is not linked to a CAS, you can choose to restraint the access to the administration sections of the application to a subset of IP addresses |
true: only users whom IP address matches the regex set in ip_login_admin are granted as admin false: no IP address check |
ip_login_admin |
regex to be matched by IP address of the users granted as admin |
.* will grant every one as admin |
analyzer_serial_number |
OID used to populate OBX-18 in the messages sent by the analyzer in the context of the LAW profile |
OID formatted string |
time_zone |
Defines which time zone to use to display dates and timestamps |
Europe/Paris |
xsl_location |
URL to access the XML stylesheet used to display HL7v2.x validation results |
|
dds_ws_endpoint |
Location of the Demographic Data server WSDL |
|
gazelle_hl7v2_validator_url |
URL of the Gazelle HL7 Validator tool |
http://gazelle.ihe.net/GazelleHL7Validator |
svs_repository_url |
URL of the Sharing Value Set Repository actor of the SVSSimulator |
http://gazelle.ihe.net |
timeout_for_receiving_messages |
How long must the HL7 initiator wait for a response (in ms) |
10000 |
url_EVSC_ws |
URL of the Gazelle HL7 Validator wsdl (the one for HL7v2.x validation) |
|
dicom_proxy_port |
The port on which the Order Manager listens to to forward the worklist queries to dcmtk |
|
proxy_port_low_limit |
the lowest value of port the tool tries to use |
10130 |
dcm_data_set_basedir |
where to store the DICOM dataset exchanged between the SUT and the simulator |
/opt/worklists/exchanged |
dicom_proxy_ip |
The IP address shows to user to contact the worklist through the Order Manager |
basically, the IP address of the server the JBoss AS is running on |
documentation_url |
Url of the user manual in Drupal (link displayed in the footer of the application) |
|
eye_order_hierarchy_location |
Location of the XML file used to perform the matching between orders and procedures/protocols in the context of the Eyecare workflow profile |
|
order_hierarchy_location |
Location of the XML file used to perform the matching between orders and procedures/protocols in the context of the scheduled workflow profile |
|
pam_encounter_generation_url |
Patients and Encounters are generated by a called to the PatientManager application, this preference precises the REST endpoint |
http://gazelle.ihe.net/PatientManager/rest/GenerateRandomData |
wlmscpfs_host |
where to contact the worklist |
localhost |
wlmscpfs_port |
the port on which the worklist listens to |
12345 |
worklists_basedir |
where to store worklists for retrieve by dcmtk |
/opt/worklists |
SeHE_mode_enabled |
whether to configure the tool for the SeHE use case or for IHE (default) |
false |
HL7v2.x responders
From the Administration/HL7 Responders configuration page, you will be able to configure each actor of the tool playing the role of a responder in a HL7-based transaction. A configure consists in the receiving application and facility and the port on which it listens to incoming messages. You can also configure the encoding for receiving message (always ER7 for IHE) as weel as the transport protocol to be used (always MLLP for IHE). If you are using HL7 over HTTP, you will be asked to provide the URL of the endpoint instead of the IP address/port couple.
The IP address is not used by the server but must be set properly so that the users can configure their systems under test to communicate with the tool. DO NOT update the other parameters, it would prevent the tool from working correctly.
Note: When you update a configuration, do not forget to restart it.
Home page
The first time you access the application, you may notice that the home page of the tool is not configured. To set a title and a welcome message, log into the application with admin rights.
Note that you will have to set up this page for all the languages supported by the application.