How does wlmscpfs (DCMTK's DICOM Worklist Management SCP) work?
The wlmscpfs application in DCMTK (version 3.5.2 or newer) implements a DICOM worklist management SCP. The application replaces the former wlistctn application which may be used analogously but which has some deficiencies in comparison to wlmscpfs (unable to handle sequences of arbitrary depth, fewer supported matching and return key attributes). In general, it is possible to use wlmscpfs together with the findscu application which is able to send a C-Find Request message to any other application.
In case you are able to run both applications, wlmscpfs and findscu, do the following to test the DICOM worklist management service with these tools:
- Use the dump2dcm application to convert all *.dump files in dcmtk/dcmwlm/wlistdb/OFFIS to *.wl files (DICOM format). Note that these files have to have the extension .wl, otherwise wlmscpfs will not be able to find these files. These files represent your worklist database.
- Use dump2dcm to convert all *.dump files in dcmtk/dcmwlm/wlistqry to *.dcm files (DICOM format). These files represent possible queries that can be used to query the worklist database.
- In one shell go "wlmscpfs -v -dfp dcmtk/dcmwlm/wlistdb 1234" to start the worklist management SCP wlmscpfs.
- In another shell go "findscu -v --call OFFIS localhost 1234 dcmtk/dcmwlm/wlistqry/wlistqry0.dcm" to send a certain query to wlmscpfs.
Step 3 will start the worklist management SCP which will listen on port 1234 for incoming C-Find Request messages. The "-dfp dcmtk/dcmwlm/wlistdb" option specifies that the worklist database can be found in folder dcmtk/dcmwlm/wlistdb. Note that the worklist database can be organized in different storage areas: subfolder "OFFIS" below dcmtk/dcmwlm/wlistdb is one (the only one in this case) storage area. In an incoming C-Find Request, an SCU has to tell wlmscpfs which storage area shall be queried; this is done by sending a certain called AE title to wlmscpfs.
Step 4 will send the query in file dcmtk/dcmwlm/wlistqry/wlistqry0.dcm using a C-Find Request message to the wlmscpfs application (which is running on localhost and listening on port 1234). Option "--call OFFIS" specifies that the called AE title is "OFFIS" which in turn tells the wlmscpfs application to query the storage area "OFFIS" in its worklist database.
The two programs should dump information that shows their internal processings (contents of C-Find Request and C-Find Response messages). You can also use a different query file in folder dcmtk/dcmwlm/wlistqry/ for querying the worklist database.