DICOM Basic Worklist Management - WWW Application Kuratorium OFFIS e.V., Escherweg 2, D-26121 Oldenburg, Germany Version: 1.2 Last Modification: 02 December 2002 INTRODUCTION The DICOM "Basic Worklist Management - Modality Worklist Management SOP Class" allows modalities to query and retrieve worklist information from hospital information systems offering a DICOM Modality Worklist SCP interface. The OFFIS wlmscpfs utility supports the Modality Worklist Management SOP Class as a SCP, allowing clients to connect and to query worklist information. However, wlmscpfs is not a hospital information system. Therefore, worklist entries must be created, updated and deleted manually. Since the DICOM services do not support this, a WWW server application has been developed which allows to use a web browser from any workstation in the demonstration network to create, edit and delete worklist entries. During DICOM exhibitions, this WWW server will reside on a test workstation, so that vendors participating in the demonstration only require a web browser on their systems. PREREQUISITES 1. Web Browser The Web Server component utilizes the HTML3 tags. Therefore, the web browser used should support either HTML3 or HTML2 with Netscape extensions. We recommend Netscape 2.01 (any platform). 2. Web Server The CGI scripts have been developed for the NCSA HTTPd 1.5 web server. However, any web server supporting the same CGI interface should work. NCSA HTTPd 1.5 is available on many ftp sites, including: ftp://ftp.uni-oldenburg.de/pub/unix/net/www/server/ncsa-httpd. 3. Perl Interpreter The CGI scripts are written in "perl", an interpreted script language. The scripts have been developed for GNU Perl 4 (Patchlevel 36) and have also been successfully (though, shortly) tested with GNU Perl 5 (Patchlevel 1). GNU Perl 4 is avaible on many ftp sites, including: ftp://ftp.uni-oldenburg.de/pub/gnu/perl We recommend to install the perl binary as /usr/local/bin/perl. INSTALLATION Compilation of the WWW Server component is performed together with the DICOM component - see installation instructions for the dcmtk source code. However, it is not possible to "automatically" install the WWW server component with "make install". 1. ACCESS RIGHTS A WWW server usually runs under a seperate user ID (e.g. user "www"). You must make sure that both wlmscpfs and the WWW server are able to read and write to files in the worklist storage areas. We recommend to have both WWW server and wlmscpfs running under the same user ID. 2. CREATE DIRECTORIES You must create three directories for the WWW application: a) a directory under which the CGI scripts can be installed, e.g. ~www/cgi-bin/worklist. This directory must be recognised by the WWW server as a CGI script directory. Refer to the WWW server documentation for details. b) a directory under which the HTML/GIF components can be installed, e.g. ~www/htdocs/worklist. This directory must be recognised by the WWW server as a HTML data directory. Refer to the WWW server documentation for details. c) a directory for the storage areas. This can be an arbitrary directory, e.g. /home/www/data. Please remember that both wlmscpfs and the WWW server need read/write access to this directory and all files and subdirectories (e.g. if WWW server and wlmscpfs work under different user IDs, check if the umasks are appropriate to ensure read/write access for newly created files). 3. INSTALL FILES a) Copy all files from dcmtk/dcmwlm/perl to the CGI script directory you have created (e.g. ~www/cgi-bin/worklist). All files with file name extension ".pl" must have access right "755" (executable). If your perl interpreter is *not* installed as /usr/local/bin/perl, you must edit all .pl files and change the first line to point to the correct path to the perl interpreter (e.g. change to #!/usr/share/perl). b) Then copy all executables from dcmtk/dcmwlm/wwwapps to the same directory: preplock, readoviw, readwlst and writwlst. c) Finally, copy all files from dcmtk/dcmwlm/images to the HTML/GIF directory you have created (e.g. ~www/htdocs/worklist). 4. CONFIGURE PERL SCRIPTS You have to edit the file "prefs.ph" in the CGI directory (e.g. ~www/cgi-bin/worklist), using a text editor: a) Define the *relative* path to the CGI script directory as it is seen from the WWW server when resolving URLs (e.g. /cgi- bin/worklist instead of ~www/cgi-bin/worklist). Refer to your WWW server documentation for details of URL resolution. The configuration line will look like this: $prefs{'cgi_path'} = '/cgi-bin/worklist'; b) Define the *relative* path to the HTML/GIF directory as it is seen from the WWW server when resolving URLs (e.g. /worklist instead of ~www/htdocs/worklist). Refer to your WWW server documentation for details of URL resolution. The configuration line will look like this: $prefs{'html_path'} = '/worklist'; c) Define the *absolute* path to the storage area directory. The configuration line will look like this: $prefs{'data_path'} = '/home/www/data'; 5. CREATE STORAGE AREAS For each storage area you want to support, perform the following steps: a) Create a subdirectory in the storage area directory, with it's name identical to the application entity title, e.g.: mkdir /home/www/data/AETITLE_1 All application entity titles should be unique within the first eight letters, because these will be used for the automatic generation of ID values (e.g. Procedure Step ID, Accession Number). b) In the subdirectory, create a file named "lockfile", e.g.: touch /home/www/data/AETITLE_1/lockfile Initially, the storage areas will have no passwords (empty passwords). You may use your Web browser to set new passwords, which must be at least 6 characters long. 6. PUBLIC STORAGE AREAS You may declare one or more storage areas as "public", which simply means that the WWW application will not allow users to change the password. To declare a storage area as public, simply create a file named "public" in the appropriate directory, e.g. touch /home/www/data/AETITLE_1/public If you want a public storage area to be password protected, simply set the password from the Web browser before creating the "public" file. The password will remain valid. USING THE WWW APPLICATION When everything is installed correctly, you should be able to access the WWW application on your server under the URL consisting of the IP address, the relative CGI path you have configured into "prefs.ph", and the script name "main.pl", e.g.: http://caesar.offis.uni-oldenburg.de/cgi-bin/worklist/main.pl If you have configured wlmscpfs correctly (see separate documentation), you should be able to create, modify and delete worklist entries using a Web browser, and query the current status of the system using a DICOM Worklist SCU. PROBLEMS Should you experience problems, please contact us at dicom-bugs@offis.de. Please include the following information with your request: * Problem description * Version of Source Code used * Compiler, Perl Interpreter and Operating System used (including version numbers and patch levels if appropriate). * WWW Server and Browser used