OFFIS DCMTK  Version 3.6.0
wlmscpfs.man
1 /*!
2 
3 \if MANPAGES
4 \page wlmscpfs DICOM Basic Worklist Management SCP (based on data files)
5 \else
6 \page wlmscpfs wlmscpfs: DICOM Basic Worklist Management SCP (based on data files)
7 \endif
8 
9 \section synopsis SYNOPSIS
10 
11 \verbatim
12 wlmscpfs [options] port
13 \endverbatim
14 
15 \section description DESCRIPTION
16 
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.
27 
28 \section parameters PARAMETERS
29 
30 \verbatim
31 port tcp/ip port number to listen on
32 \endverbatim
33 
34 \section options OPTIONS
35 
36 \subsection general_options general options
37 \verbatim
38  -h --help
39  print this help text and exit
40 
41  --version
42  print version information and exit
43 
44  --arguments
45  print expanded command line arguments
46 
47  -q --quiet
48  quiet mode, print no warnings and errors
49 
50  -v --verbose
51  verbose mode, print processing details
52 
53  -d --debug
54  debug mode, print debug information
55 
56  -ll --log-level [l]evel: string constant
57  (fatal, error, warn, info, debug, trace)
58  use level l for the logger
59 
60  -lc --log-config [f]ilename: string
61  use config file f for the logger
62 \endverbatim
63 
64 \subsection multiprocess_options multi-process options
65 \verbatim
66  -s --single-process
67  single process mode
68 
69  --fork
70  fork child process for each association (default)
71 \endverbatim
72 
73 \subsection input_options input options
74 \verbatim
75 general:
76 
77  -dfp --data-files-path [p]ath: string (default: /home/www/wlist)
78  path to worklist data files
79 
80 handling of worklist files:
81 
82  -efr --enable-file-reject
83  enable rejection of incomplete worklist files (default)
84 
85  -dfr --disable-file-reject
86  disable rejection of incomplete worklist files
87 \endverbatim
88 
89 \subsection processing_options processing options
90 \verbatim
91 returned character set:
92 
93  -cs0 --return-no-char-set
94  return no specific character set (default)
95 
96  -cs1 --return-iso-ir-100
97  return specific character set ISO IR 100
98 
99  -csk --keep-char-set
100  return character set provided in file
101 
102 other processing options:
103 
104  -nse --no-sq-expansion
105  disable expansion of empty sequences in C-FIND
106  request messages
107 \endverbatim
108 
109 \subsection network_options network options
110 \verbatim
111 preferred network transfer syntaxes:
112 
113  +x= --prefer-uncompr
114  prefer explicit VR local byte order (default)
115 
116  +xe --prefer-little
117  prefer explicit VR little endian TS
118 
119  +xb --prefer-big
120  prefer explicit VR big endian TS
121 
122  +xi --implicit
123  accept implicit VR little endian TS only
124 
125 network host access control (tcp wrapper):
126 
127  -ac --access-full
128  accept connections from any host (default)
129 
130  +ac --access-control
131  enforce host access control rules
132 
133 post-1993 value representations:
134 
135  +u --enable-new-vr
136  enable support for new VRs (UN/UT) (default)
137 
138  -u --disable-new-vr
139  disable support for new VRs, convert to OB
140 
141 other network options:
142 
143  -ta --acse-timeout [s]econds: integer (default: 30)
144  timeout for ACSE messages
145 
146  -td --dimse-timeout [s]econds: integer (default: unlimited)
147  timeout for DIMSE messages
148 
149  --max-associations [a]ssocs: integer (default: 50)
150  limit maximum number of parallel associations
151 
152  --refuse
153  refuse association
154 
155  --reject
156  reject association if no implementation class UID
157 
158  --no-fail
159  don't fail on an invalid query
160 
161  --sleep-after [s]econds: integer
162  sleep s seconds after find (default: 0)
163 
164  --sleep-during [s]econds: integer
165  sleep s seconds during find (default: 0)
166 
167  -pdu --max-pdu [n]umber of bytes: integer (4096..131072)
168  set max receive pdu to n bytes (default: 16384)
169 
170  -dhl --disable-host-lookup
171  disable hostname lookup
172 \endverbatim
173 
174 \section notes NOTES
175 
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.
179 
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.
191 
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.
195 
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.
203 
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").
211 
212 \subsection dicom_conformance DICOM Conformance
213 
214 The \b wlmscpfs application supports the following SOP Classes as an SCP:
215 
216 \verbatim
217 VerificationSOPClass 1.2.840.10008.1.1
218 FINDModalityWorklistInformationModel 1.2.840.10008.5.1.4.31
219 \endverbatim
220 
221 The \b wlmscpfs application will accept presentation contexts for all of the
222 abovementioned supported SOP Classes using any of the transfer syntaxes:
223 
224 \verbatim
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
228 \endverbatim
229 
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).
235 
236 The \b wlmscpfs application does not support extended negotiation.
237 
238 Currently, the \b wlmscpfs application supports the following attributes as
239 matching keys:
240 
241 \verbatim
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
258 \endverbatim
259 
260 As return keys the following attributes are currently supported by \b wlmscpfs:
261 
262 \verbatim
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
346 \endverbatim
347 
348 The attribute (0008,0005) SpecificCharacterSet is a special case and its
349 support by \b wlmscpfs is discussed in the NOTES section above.
350 
351 \subsection access_control Access Control
352 
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).
359 
360 \section logging LOGGING
361 
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".
371 
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>).
378 
379 \section command_line COMMAND LINE
380 
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.
384 
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.
390 
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>).
400 
401 \section environment ENVIRONMENT
402 
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).
408 
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.
416 
417 \section copyright COPYRIGHT
418 
419 Copyright (C) 1996-2010 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
420 
421 */


Generated on Sun Aug 23 2015 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.9.1