Configuring the CTPClient Application for Clinical Trials
The CTPClient application is a program for anonymizing images and transmitting them from image acquisition sites to principal investigator sites in clinical trials. This article describes how to configure, distribute, and run the program. The intended audience for this article is clinical trial administrators and their software minions.
1 Running CTPClient
CTPClient can be launched via the Java webstart mechanism, thus removing the necessity for installing CTP applications at the image acquisition sites. When run via webstart, the user accesses a URL on the principal investigator's CTP site, and the CTP site then downloads CTPClient and starts it. The recommended method for launching CTPClient via webstart is to use the CTP Application Server on the CTP site. For general information on the Application Server, see Using the CTP Application Server.
CTPClient can also be launched as a stand-alone application installed on the client computer. When run stand-alone, the program is started by double-clicking the program's icon or by launching a command window and entering the command:
- java -jar CTPClient.jar [options]
where [options] is a series of quoted parameters, each in the form:
- "param=value"
2 Run-time Configuration
CTPClient is designed to be configured by setting the [options] parameters for the transmitting site. When run via webstart, these parameters can be supplied by query parameters in the URL, as in this example:
Note that when a value includes whitespace or any other characters that are illegal in a URL, the value must be URL-encoded.
The parameters supported by the program are:
- url: The URL of the destination HttpImportService.
- showURL: "yes" to display a UI field for entering the URL of the destination HttpImportService. "no" to suppress the UI field, thus forcing the URL to be the value of the url parameter. The default value is "yes".
- helpURL: The URL to be accessed when the user clicks the Help button on the CTPClient UI. If this parameter is missing, the Help button is not displayed.
- windowTitle: The text to be shown in the title bar of the CTP Client window. The default is "CTP Client".
- panelTitle: The text to be shown at the top of the main pane in the CTPClient UI. The default is "CTP Client".
- daScriptName: The name of a DicomAnonymizer script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient uses the default script built into the application.
- daLUTName: The name of a DicomAnonymizer lookup table file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the lookup table file from the server. When not present, CTPClient tries to find the LUT.properties file in the CTPClient.jar file. This file is not present unless a special CTPClient version has been build for the trial, so an empty lookup table is used.
In addition to the standard parameters above, CTPClient supports special parameters for modifying the DicomAnonymizer script parameters and lookup table entries.
Any parameter name starting with the at-sign ( '@' ) is treated as the name of an anonymizer script parameter, and the parameter value is substituted for the value of the parameter in the script. The intent of this feature is to allow a standard script to be tailored for a specific image acquisition site.
Any parameter name starting with the dollar-sign ( '$' ) is treated as the name of an anonymizer lookup table parameter, and the parameter value is substituted for the value of the parameter in the lookup table. The intent of this feature is to allow a standard lookup table to be tailored for a specific image acquisition site.
The Application Server supplies three parameters automatically when starting CTPClient. These are used by CTPClient to contact the server when the daScriptName or daLUTName parameters are supplied. If CTPClient is not started via webstart and the project requires that these files be obtained from a server, the parameters must be supplied explicitly.
- protocol: The protocol to be used for communication with the CTP site's web server.
- host: The host IP address or domain name (and port) of the CTP site's web server.
- application: The name of the application ("CTPClient").
3 Building CTPClient
The CTPClient jar file contains default configuration files, including:
- config.properties
- DA.script
- LUT.properties
In some trials, it may be desired to build a special version of CTPClient with pre-configured values in the config file and/or the script.
The source code for CTPClient is on GitHub at https://github.com/johnperry/CTPClient.
The program is built using ant. After the build is complete, the files necessary for deployment are located in the signed directory.
4 Deploying CTPClient on the CTP Application Server
As described in Using the CTP Application Server, all the files for CTPClient must be placed in the CTP/ROOTCTPClient directory. The latest version is encapsulated in a zip file on the RSNA MIRC site at http://mirc.rsna.org/download.CTPClient.zip.
Included in the zip file is the XSL file required by the Application Server for automatic creation of the webstart jnlp file.