4 \page wlmscpfs DICOM Basic Worklist Management SCP (based on data files)
6 \page wlmscpfs wlmscpfs: DICOM Basic Worklist Management SCP (based on data files)
9 \section synopsis SYNOPSIS
12 wlmscpfs [options] port
15 \section description DESCRIPTION
17 The \b wlmscpfs application implements a Service Class Provider (SCP) for the
18 Basic Worklist Management Service. The application will listen on a specified
19 TCP/IP port for incoming association requests from a Worklist Management SCU.
20 In case an association was acknowledged and a worklist query was received, the
21 \b wlmscpfs application will query particular files in a certain directory
22 (which can be specified through corresponding program options) on the file
23 system for corresponding worklist information, and it will send this
24 information back to the calling Worklist Management SCU. Aside from dealing
25 with Worklist Management queries, the \b wlmscpfs application also supports
26 the Verification Service Class as an SCP.
28 \section parameters PARAMETERS
31 port tcp/ip port number to listen on
34 \section options OPTIONS
36 \subsection general_options general options
39 print this help text and exit
42 print version information and exit
45 print expanded command line arguments
48 quiet mode, print no warnings and errors
51 verbose mode, print processing details
54 debug mode, print debug information
56 -ll --log-level [l]evel: string constant
57 (fatal, error, warn, info, debug, trace)
58 use level l for the logger
60 -lc --log-config [f]ilename: string
61 use config file f for the logger
64 \subsection multiprocess_options multi-process options
70 fork child process for each association (default)
73 \subsection input_options input options
77 -dfp --data-files-path [p]ath: string (default: /home/www/wlist)
78 path to worklist data files
80 handling of worklist files:
82 -efr --enable-file-reject
83 enable rejection of incomplete worklist files (default)
85 -dfr --disable-file-reject
86 disable rejection of incomplete worklist files
89 \subsection processing_options processing options
91 returned character set:
93 -cs0 --return-no-char-set
94 return no specific character set (default)
96 -cs1 --return-iso-ir-100
97 return specific character set ISO IR 100
100 return character set provided in file
102 other processing options:
104 -nse --no-sq-expansion
105 disable expansion of empty sequences in C-FIND
109 \subsection network_options network options
111 preferred network transfer syntaxes:
114 prefer explicit VR local byte order (default)
117 prefer explicit VR little endian TS
120 prefer explicit VR big endian TS
123 accept implicit VR little endian TS only
125 network host access control (tcp wrapper):
128 accept connections from any host (default)
131 enforce host access control rules
133 post-1993 value representations:
136 enable support for new VRs (UN/UT) (default)
139 disable support for new VRs, convert to OB
141 other network options:
143 -ta --acse-timeout [s]econds: integer (default: 30)
144 timeout for ACSE messages
146 -td --dimse-timeout [s]econds: integer (default: unlimited)
147 timeout for DIMSE messages
149 --max-associations [a]ssocs: integer (default: 50)
150 limit maximum number of parallel associations
156 reject association if no implementation class UID
159 don't fail on an invalid query
161 --sleep-after [s]econds: integer
162 sleep s seconds after find (default: 0)
164 --sleep-during [s]econds: integer
165 sleep s seconds during find (default: 0)
167 -pdu --max-pdu [n]umber of bytes: integer (4096..131072)
168 set max receive pdu to n bytes (default: 16384)
170 -dhl --disable-host-lookup
171 disable hostname lookup
176 The semantic impacts of the above mentioned options is clear for the majority
177 of options. Some particular options, however, are so specific that they need
178 detailed descriptions which will be given in this passage.
180 The returned character set options are intended for situations in which the
181 \b wlmscpfs application will return attribute values which are not composed of
182 characters from the DICOM default character repertoire. In such cases, for
183 example option \e --return-iso-ir-100 can be used to specify that a response
184 to a modality's worklist management C-FIND request shall contain DICOM's
185 Specific Character Set attribute (0008,0005) with a corresponding value,
186 indicating the character repertoire from which the characters of returned
187 attribute values were taken (in this example the repertoire ISO IR 100).
188 Please note that the \b wlmscpfs application will not make sure that all
189 returned values are actually made up of this character repertoire; the
190 application expects this to be the case.
192 In general, the Specific Character Set attribute (0008,0005) will only be
193 included in the C-FIND response if it contains any attributes that are affected
194 by the character set, i.e. for value representations PN, LO, LT, SH, ST and UT.
196 Please note that a C-FIND request which is handled by this application may
197 contain DICOM's Specific Character Set attribute (0008,0005), but this
198 application will never use this attribute's value for matching. Besides, the
199 question if DICOM's Specific Character Set attribute (0008,0005) will be
200 contained in a C-FIND response which is returned by this application is always
201 determined by the returned character set option which was specified when this
202 application was started.
204 The options --enable-file-reject and --disable-file-reject can be used to
205 enable or disable a file rejection mechanism which makes sure only complete
206 worklist files will be used during the matching process. A worklist file is
207 considered to be complete if it contains all necessary type 1 information
208 which the SCP might have to return to an SCU in a C-FIND response message.
209 Table K.6-1 in part 4 annex K of the DICOM standard lists all corresponding
210 type 1 attributes (see column "Return Key Type").
212 \subsection dicom_conformance DICOM Conformance
214 The \b wlmscpfs application supports the following SOP Classes as an SCP:
217 VerificationSOPClass 1.2.840.10008.1.1
218 FINDModalityWorklistInformationModel 1.2.840.10008.5.1.4.31
221 The \b wlmscpfs application will accept presentation contexts for all of the
222 abovementioned supported SOP Classes using any of the transfer syntaxes:
225 LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
226 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
227 BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
230 The default behaviour of the \b wlmscpfs application is to prefer transfer
231 syntaxes having an explicit encoding over the default implicit transfer
232 syntax. If \b wlmscpfs is running on big-endian hardware it will prefer
233 BigEndianExplicit to LittleEndianExplicit transfer syntax (and vice versa).
234 This behaviour can be changed with the \e --prefer options (see above).
236 The \b wlmscpfs application does not support extended negotiation.
238 Currently, the \b wlmscpfs application supports the following attributes as
242 (0008,0050) AccessionNumber
243 (0008,0090) ReferringPhysicianName
244 (0010,0010) PatientName
245 (0010,0020) PatientID
246 (0010,0030) PatientBirthDate
247 (0010,0040) PatientSex
248 (0032,1032) RequestingPhysician
249 (0038,0010) AdmissionID
250 (0040,0100) ScheduledProcedureStepSequence
251 (0008,0060) > Modality
252 (0040,0001) > ScheduledStationAETitle
253 (0040,0002) > ScheduledProcedureStepStartDate
254 (0040,0003) > ScheduledProcedureStepStartTime
255 (0040,0006) > ScheduledPerformingPhysicianName
256 (0040,1001) RequestedProcedureID
257 (0040,1003) RequestedProcedurePriority
260 As return keys the following attributes are currently supported by \b wlmscpfs:
263 (0008,0050) AccessionNumber
264 (0008,0080) InstitutionName
265 (0008,0081) InstitutionAddress
266 (0008,0090) ReferringPhysicianName
267 (0008,1080) AdmittingDiagnosesDescription
268 (0008,1110) ReferencedStudySequence
269 (0008,1150) > ReferencedSOPClassUID
270 (0008,1155) > ReferencedSOPInstanceUID
271 (0008,1120) ReferencedPatientSequence
272 (0008,1150) > ReferencedSOPClassUID
273 (0008,1155) > ReferencedSOPInstanceUID
274 (0010,0010) PatientName
275 (0010,0020) PatientID
276 (0010,0030) PatientBirthDate
277 (0010,0040) PatientSex
278 (0010,1000) OtherPatientIDs
279 (0010,1001) OtherPatientNames
280 (0010,1020) PatientSize
281 (0010,1030) PatientWeight
282 (0010,1040) PatientAddress
283 (0010,1080) MilitaryRank
284 (0010,2000) MedicalAlerts
285 (0010,2110) ContrastAllergies
286 (0010,2160) EthnicGroup
287 (0010,21a0) SmokingStatus
288 (0010,21b0) AdditionalPatientHistory
289 (0010,21c0) PregnancyStatus
290 (0010,21d0) LastMenstrualDate
291 (0010,4000) PatientComments
292 (0020,000d) StudyInstanceUID
293 (0032,1032) RequestingPhysician
294 (0032,1033) RequestingService
295 (0032,1060) RequestedProcedureDescription
296 (0032,1064) RequestedProcedureCodeSequence
297 (0008,0100) > CodeValue
298 (0008,0102) > CodingSchemeDesignator
299 (0008,0103) > CodingSchemeVersion
300 (0008,0104) > CodeMeaning
301 (0038,0010) AdmissionID
302 (0038,0011) IssuerOfAdmissionID
303 (0038,0050) SpecialNeeds
304 (0038,0300) CurrentPatientLocation
305 (0038,0500) PatientState
306 (0040,0100) ScheduledProcedureStepSequence
307 (0008,0060) > Modality
308 (0032,1070) > RequestedContrastAgent
309 (0040,0001) > ScheduledStationAETitle
310 (0040,0002) > ScheduledProcedureStepStartDate
311 (0040,0003) > ScheduledProcedureStepStartTime
312 (0040,0004) > ScheduledProcedureStepEndDate
313 (0040,0005) > ScheduledProcedureStepEndTime
314 (0040,0006) > ScheduledPerformingPhysicianName
315 (0040,0007) > ScheduledProcedureStepDescription
316 (0040,0008) > ScheduledProtocolCodeSequence
317 (0008,0100) > > CodeValue
318 (0008,0102) > > CodingSchemeDesignator
319 (0008,0103) > > CodingSchemeVersion
320 (0008,0104) > > CodeMeaning
321 (0040,0009) > ScheduledProcedureStepID
322 (0040,0010) > ScheduledStationName
323 (0040,0011) > ScheduledProcedureStepLocation
324 (0040,0012) > PreMedication
325 (0040,0020) > ScheduledProcedureStepStatus
326 (0040,0400) > CommentsOnTheScheduledProcedureStep
327 (0040,1001) RequestedProcedureID
328 (0040,1002) ReasonForTheRequestedProcedure
329 (0040,1003) RequestedProcedurePriority
330 (0040,1004) PatientTransportArrangements
331 (0040,1005) RequestedProcedureLocation
332 (0040,1008) ConfidentialityCode
333 (0040,1009) ReportingPriority
334 (0040,1010) NamesOfIntendedRecipientsOfResults
335 (0040,1400) RequestedProcedureComments
336 (0040,2001) ReasonForTheImagingServiceRequest
337 (0040,2004) IssueDateOfImagingServiceRequest
338 (0040,2005) IssueTimeOfImagingServiceRequest
339 (0040,2008) OrderEnteredBy
340 (0040,2009) OrderEnterersLocation
341 (0040,2010) OrderCallbackPhoneNumber
342 (0040,2016) PlacerOrderNumberImagingServiceRequest
343 (0040,2017) FillerOrderNumberImagingServiceRequest
344 (0040,2400) ImagingServiceRequestComments
345 (0040,3001) ConfidentialityConstraintOnPatientDataDescription
348 The attribute (0008,0005) SpecificCharacterSet is a special case and its
349 support by \b wlmscpfs is discussed in the NOTES section above.
351 \subsection access_control Access Control
353 When compiled on Unix platforms with TCP wrapper support, host-based access
354 control can be enabled with the \e --access-control command line option. In
355 this case the access control rules defined in the system's host access control
356 tables for \b wlmscpfs are enforced. The default locations of the host access
357 control tables are <em>/etc/hosts.allow</em> and <em>/etc/hosts.deny</em>.
358 Further details are described in <b>hosts_access</b>(5).
360 \section logging LOGGING
362 The level of logging output of the various command line tools and underlying
363 libraries can be specified by the user. By default, only errors and warnings
364 are written to the standard error stream. Using option \e --verbose also
365 informational messages like processing details are reported. Option
366 \e --debug can be used to get more details on the internal activity, e.g. for
367 debugging purposes. Other logging levels can be selected using option
368 \e --log-level. In \e --quiet mode only fatal errors are reported. In such
369 very severe error events, the application will usually terminate. For more
370 details on the different logging levels, see documentation of module "oflog".
372 In case the logging output should be written to file (optionally with logfile
373 rotation), to syslog (Unix) or the event log (Windows) option \e --log-config
374 can be used. This configuration file also allows for directing only certain
375 messages to a particular output stream and for filtering certain messages
376 based on the module or application where they are generated. An example
377 configuration file is provided in <em><etcdir>/logger.cfg</em>).
379 \section command_line COMMAND LINE
381 All command line tools use the following notation for parameters: square
382 brackets enclose optional values (0-1), three trailing dots indicate that
383 multiple values are allowed (1-n), a combination of both means 0 to n values.
385 Command line options are distinguished from parameters by a leading '+' or '-'
386 sign, respectively. Usually, order and position of command line options are
387 arbitrary (i.e. they can appear anywhere). However, if options are mutually
388 exclusive the rightmost appearance is used. This behaviour conforms to the
389 standard evaluation rules of common Unix shells.
391 In addition, one or more command files can be specified using an '@' sign as a
392 prefix to the filename (e.g. <em>\@command.txt</em>). Such a command argument
393 is replaced by the content of the corresponding text file (multiple
394 whitespaces are treated as a single separator unless they appear between two
395 quotation marks) prior to any further evaluation. Please note that a command
396 file cannot contain another command file. This simple but effective approach
397 allows to summarize common combinations of options/parameters and avoids
398 longish and confusing command lines (an example is provided in file
399 <em><datadir>/dumppat.txt</em>).
401 \section environment ENVIRONMENT
403 The \b wlmscpfs utility will attempt to load DICOM data dictionaries specified
404 in the \e DCMDICTPATH environment variable. By default, i.e. if the
405 \e DCMDICTPATH environment variable is not set, the file
406 <em><datadir>/dicom.dic</em> will be loaded unless the dictionary is built
407 into the application (default for Windows).
409 The default behaviour should be preferred and the \e DCMDICTPATH environment
410 variable only used when alternative data dictionaries are required. The
411 \e DCMDICTPATH environment variable has the same format as the Unix shell
412 \e PATH variable in that a colon (":") separates entries. On Windows systems,
413 a semicolon (";") is used as a separator. The data dictionary code will
414 attempt to load each file specified in the \e DCMDICTPATH environment variable.
415 It is an error if no data dictionary can be loaded.
417 \section copyright COPYRIGHT
419 Copyright (C) 1996-2010 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.