Table of Content
The dcm4chee-proxy is a DICOM proxy application, that provides a vehicle for rule based distribution of DICOM data accross a network. Example use-cases are i) forwarding of DICOM objects to multiple AETs, ii) forwarding of DICOM objects based on receive time schedules, iii) forwarding to target AETs based on send time schedule, iv) forwarding based on attribute evaluation, etc.
The application can be run on JBoss AS7 or as a standalone command line tool.
Before building the proxy, check out and build the dcm4che-3.x DICOM Toolkit.
To build the dcm4chee-proxy, run
in the root directory. On success, a JBoss AS7 deployable file can be found in dcm4chee-proxy-war/target/dcm4chee-proxy-war-<version>.war and the command line proxy-version can be found in dcm4chee-proxy-tool/target/dcm4chee-proxy-tool-<version>.zip. The standard build includes configuration support for LDAP and Java Preferences.
To build the proxy with a dependency for use with dcm4che-jdbc-prefs, run
LDAP Schema Import
In order to store configuration data for dcm4chee-proxy, new schema files have to be imported into the LDAP server instance. The folder /dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/ldap contains subfolders with the required schema files for the supported LDAP servers:
dcm4chee-proxy provides a sample configuration for LDAP and Java Preferences.
The LDAP sample configuration can be found at /dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/ldap:
After importing the LDAP specific schema file (see step LDAP Schema Import), import the ldif files in the above order into the LDAP server.
A Java Preferences sample configuration can be found at dcm4chee-proxy/dcm4chee-proxy-conf/src/main/config/prefs:
To import the sample config, use the xml2prefs tool provided by the dcm4che 3.0 library (https://github.com/dcm4che/dcm4che).
To run dcm4chee-proxy within JBoss AS7 requires dcm4che-jboss-modules to be installed, which can be found in the dcm4che-3.x DICOM Toolkit (https://github.com/dcm4che/dcm4che).
Unpack dcm4che-jboss-modules-<version>.zip into the JBoss AS7 folder.
Create a directory dcm4chee-proxy inside the container configuration directory (e.g. <jbossDir>/standalone/configuration/dcm4chee-proxy) and copy all files from dcm4chee-proxy-conf/src/main/config/conf/ into it.
If planned to use Java Preferences as configuration backend, delete the file ldap.properties from <jbossDir>/standalone/configuration/dcm4chee-proxy/.
If planned to use a LDAP configuration backend, edit the file <jbossDir>/standalone/configuration/dcm4chee-proxy/ldap.properties and set the connection and authentication parameters according to the LDAP server configuration.
To run dcm4chee-proxy in a JBoss AS7 instance, deploy dcm4chee-proxy/dcm4chee-proxy-war/target/dcm4chee-proxy-war-<version>.war via the JBoss command line interface or by copying it into e.g. <jbossDir>/standalone/deployments/.
The dcm4chee-proxy is using a LDAP configuration, compliant to the DICOM Application Configuration Management Profile, specified in DICOM 2011, Part 15, Annex H.
On start-up, the dcm4chee-proxy application needs to load a proxy device configuration from the configuration backend. The device to be loaded can be set via
i) JBoss AS7 system property org.dcm4chee.proxy.deviceName in the JBoss container configuration
ii) by editing the file /WEB-INF/web.xml within the war file
For all audit log messages to appear in a separate log file (e.g. dcm4chee-proxy-audit.log), add to the according container configuration (e.g. standalone.xml):
If the preferences data is supposed to be read via the dcm4che-jdbc-prefs project from a database, specify the following system property in the container configuration (e.g. standalone.xml):
The dcm4chee-proxy can be run as a standlone application from the command line. After building the project, the command line version can be found in dcm4chee-proxy-tool/target/dcm4chee-proxy-tool-<version>-bin.zip. The standalone app can be started by executing ./bin/proxysa (or proxysa.bat) and specifying the device name to be loaded from the configuration backend (LDAP or Java Preferences).
This will start the proxy with a DICOM configuration retrieved from the specified LDAP.
Try proxysa --help for more information.
Proxy Device Configuration
For an overview of configuration options for a proxy device, please refer to the according section of the dcm4chee DICOM Configuration Wizard documentation.