To get the name of the latest release, visit the Order Manager project in JIRA and consult the Relese secion.
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 coded within the artifact so you will have to use the same database name, owner (and password).
To get the artifact on Nexus browse: https://gazelle.ihe.net/nexus/index.html#nexus-search;gavOrderManager-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 Maven profile to customize your build.
Checkout the latest tag available on Inria’s gitlab:
git clone https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/order-manager.git
cd order-manager
git checkout tags/OrderManager-<version>
[Optional] Edit the pom.xml file and create a new profile
Package the application: mvn \[-P profile\] clean package
The EAR is available at OrderManager/OrderManager-ear/target/OrderManager.ear
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
DCMTK operation 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
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
Copy EAR to the deployment folder of JBoss7 (do not forget to change its name to OrderManager.ear)
Start Jboss
sudo service jboss7 start
Wait until the application has been completly deployed and configure the database running.
WARNING : From version 5.3.0, datasources have been extracted from the ear. The template file can be found in /src/main/application/datasource in the source or in the file XDWSimulator-X.X.X-datasource.zip from the nexus. For more informations about how to manage that externalization, please refer to general considerations for JBoss7.
Datasource name : OrderManagerDS
Database name : order-manager
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
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 deployment folder of Jboss)
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 | |
---|---|---|---|
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 | |
application_issue_tracker_url | URL of the helpdesk or project for Order Manager in your bug tracker tool | Link to jira | |
application_release_note_url | URL to the release note in JIRA (or elsewhere) | Link to JIRA | |
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 | |
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 |
|
cas_url | If you intent to use a CAS, put its URL here | https://gazelle.ihe.net | |
contact_email | The email address of the person to be contacted by the user in case help is needed | - | |
contact_name | The name of the person to be contacted by the user in case help is needed | - | |
contact_title | The title of the person to be contacted by the user in case help is needed | - | |
dcm_data_set_basedir | where to store the DICOM dataset exchanged between the SUT and the simulator | /opt/worklists/exchanged | |
dds_mode | How demographics are generated when calling DDS | minimal | |
dds_ws_endpoint | Location of the Demographic Data server WSDL | DDS WS on Gazelle | |
dicom_proxy_ip | Is only used for display to the user | Public IP of the tool | |
dicom_proxy_port | The port on which the Order Manager listens to to forward the worklist queries to dcmtk | - | |
documentation_url | Link to the user manual of the tool | Gazelle website | |
eyecare_enabled | Enabled/Disabled the Eyecare entry in the menu | true | |
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 | Default file | |
gazelle_hl7v2_validator_url | URL of the Gazelle HL7 Validator tool | Gazelle HL7 Validator | |
hl7v2_xsl_location | URL to access the XML stylesheet used to display HL7v2.x validation results | XSL location | |
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 | |
laboratory_enabled | Enabled/Disabled the Laboratory entry in the menu | true | |
message_permanent_link | Permanent link to message details | http://publicUrlOfJboss/OrderManager/messages/MessageDisplay.seam?id= | |
NUMBER_OF_ITEMS_PER_PAGE | Default number of rows to be displayed in tables | 20 | |
number_of_segments_to_display | Use to truncate HL7 message in display | 40 | |
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 | Default file | |
pam_encounter_generation_url | Patients and Encounters are generated by a called to the PatientManager application, this preference precises the REST endpoint | Gazelle Patient Manager | |
proxy_port_low_limit | When opening a channel to a DICOM SCU, the proxy will start searching for a free port from this port number | 10001 | |
radiology_enabled | Enabled/Disabled the Radiology entry in the menu | true | |
SeHE_mode_enabled | Enabled/Disabled the SeHE entry in the menu | false | |
svs_repository_url | URL of the Sharing Value Set Repository actor of the SVSSimulator | Gazelle SVS Repository | |
timeout_for_receiving_messages | How long must the HL7 initiator wait for a response (in ms) | 10000 | |
time_zone | Defines which time zone to use to display dates and timestamps | Europe/Paris | |
url_EVSC_ws | URL of the Gazelle HL7 Validator wsdl (the one for HL7v2.x validation) | GazelleHL7Validator WS on Gazelle | |
wlmscpfs_host | where to contact the worklist | localhost | |
wlmscpfs_pid | Process ID used by the tool | Managed by the tool, do not edit | |
wlmscpfs_port | the port on which the worklist listens to | 12345 | |
worklists_basedir | where to store worklists for retrieve by dcmtk | /opt/worklists |
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. An entry in this table 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.
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.