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