
       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
   <TABLE>  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
