xml2dsr(1)                        OFFIS DCMTK                       xml2dsr(1)

NAME
       xml2dsr - Convert XML document to DICOM SR file


SYNOPSIS
       xml2dsr [options] xmlfile-in dsrfile-out

DESCRIPTION
       The  xml2dsr utility converts the contents of an XML (Extensible Markup
       Language) document to DICOM  Structured  Reporting  (SR)  format  (file
       format or raw data set). The XML Schema dsr2xml.xsd does not yet follow
       any standard format. However, the xml2dsr application might be enhanced
       in  this  aspect  in the future (e. g. by supporting HL7/CDA - Clinical
       Document Architecture).

       An appropriate XML file can be created using the dsr2xml  tool  (option
       +Xn recommended to add XML namespace declaration to the root element).

PARAMETERS
       xmlfile-in   XML input filename to be converted ("-" for stdin)

       dsrfile-out  DICOM SR output filename ("-" for stdout)

OPTIONS
   general options
         -h   --help
                print this help text and exit

              --version
                print version information and exit

              --arguments
                print expanded command line arguments

         -q   --quiet
                quiet mode, print no warnings and errors

         -v   --verbose
                verbose mode, print processing details

         -d   --debug
                debug mode, print debug information

         -ll  --log-level  [l]evel: string constant
                (fatal, error, warn, info, debug, trace)
                use level l for the logger

         -lc  --log-config  [f]ilename: string
                use config file f for the logger

   input options
       encoding:

         +Ee  --template-envelope
                template element encloses content items

   processing options
       validation:

         +Vs  --validate-schema
                validate XML document against Schema
                (not with --template-envelope)

         # requires libxml to be compiled with XML Schema support

         +Vn  --check-namespace
                check XML namespace in document root

       unique identifiers:

         +Ug  --generate-new-uids
                generate new Study/Series/SOP Instance UID

         -Uo  --dont-overwrite-uids
                do not overwrite existing UIDs (default)

         +Uo  --overwrite-uids
                overwrite existing UIDs

   output options
       output file format:

         +F   --write-file
                write file format (default)

         -F   --write-dataset
                write data set without file meta information

       output transfer syntax:

         +t=  --write-xfer-same
                write with same TS as input (default)

         +te  --write-xfer-little
                write with explicit VR little endian TS

         +tb  --write-xfer-big
                write with explicit VR big endian TS

         +ti  --write-xfer-implicit
                write with implicit VR little endian TS

         +td  --write-xfer-deflated
                write with deflated explicit VR little endian TS

       post-1993 value representations:

         +u   --enable-new-vr
                enable support for new VRs (UN/UT) (default)

         -u   --disable-new-vr
                disable support for new VRs, convert to OB

       group length encoding:

         +g=  --group-length-recalc
                recalculate group lengths if present (default)

         +g   --group-length-create
                always write with group length elements

         -g   --group-length-remove
                always write without group length elements

       length encoding in sequences and items:

         +e   --length-explicit
                write with explicit lengths (default)

         -e   --length-undefined
                write with undefined lengths

       data set trailing padding (not with --write-dataset):

         -p=  --padding-retain
                do not change padding (default if not --write-dataset)

         -p   --padding-off
                no padding (implicit if --write-dataset)

         +p   --padding-create  [f]ile-pad [i]tem-pad: integer
                align file on multiple of f bytes
                and items on multiple of i bytes

       deflate compression level (only with --write-xfer-deflated):

         +cl  --compression-level  [l]evel: integer (default: 6)
                0=uncompressed, 1=fastest, 9=best compression

NOTES
   DICOM Conformance
       The xml2dsr utility supports the following SOP Classes:

       SpectaclePrescriptionReportStorage           1.2.840.10008.5.1.4.1.1.78.6
       MacularGridThicknessAndVolumeReportStorage   1.2.840.10008.5.1.4.1.1.79.1
       BasicTextSRStorage                           1.2.840.10008.5.1.4.1.1.88.11
       EnhancedSRStorage                            1.2.840.10008.5.1.4.1.1.88.22
       ComprehensiveSRStorage                       1.2.840.10008.5.1.4.1.1.88.33
       Comprehensive3DSRStorage                     1.2.840.10008.5.1.4.1.1.88.34
       ProcedureLogStorage                          1.2.840.10008.5.1.4.1.1.88.40
       MammographyCADSRStorage                      1.2.840.10008.5.1.4.1.1.88.50
       KeyObjectSelectionDocumentStorage            1.2.840.10008.5.1.4.1.1.88.59
       ChestCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.65
       XRayRadiationDoseSRStorage                   1.2.840.10008.5.1.4.1.1.88.67
       RadiopharmaceuticalRadiationDoseSRStorage    1.2.840.10008.5.1.4.1.1.88.68
       ColonCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.69
       ImplantationPlanSRStorage                    1.2.840.10008.5.1.4.1.1.88.70
       AcquisitionContextSRStorage                  1.2.840.10008.5.1.4.1.1.88.71
       SimplifiedAdultEchoSRStorage                 1.2.840.10008.5.1.4.1.1.88.72
       PatientRadiationDoseSRStorage                1.2.840.10008.5.1.4.1.1.88.73
       PlannedImagingAgentAdministrationSRStorage   1.2.840.10008.5.1.4.1.1.88.74
       PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75
       WaveformAnnotationSRStorage                  1.2.840.10008.5.1.4.1.1.88.77

       RenditionSelectionDocumentRealTimeCommunication 1.2.840.10008.10.4 (*)

       (*)   This  is  not  a  Storage  SOP  Class,  but  used  for  Real-Time
       Communication.

       Please note that currently only mandatory and some optional  attributes
       are supported.

   Character Encoding
       The  DICOM  character  encoding  is  determined  automatically from the
       element with tag '0008,0005' (Specific Character Set) - if present. The
       following character sets are currently supported  (requires  libxml  to
       include iconv support, see --version output):

       ASCII         (ISO_IR 6)    (UTF-8)
       UTF-8         "ISO_IR 192"  (UTF-8)
       ISO Latin 1   "ISO_IR 100"  (ISO-8859-1)
       ISO Latin 2   "ISO_IR 101"  (ISO-8859-2)
       ISO Latin 3   "ISO_IR 109"  (ISO-8859-3)
       ISO Latin 4   "ISO_IR 110"  (ISO-8859-4)
       ISO Latin 5   "ISO_IR 148"  (ISO-8859-9)
       ISO Latin 9   "ISO_IR 203"  (ISO-8859-15)
       Cyrillic      "ISO_IR 144"  (ISO-8859-5)
       Arabic        "ISO_IR 127"  (ISO-8859-6)
       Greek         "ISO_IR 126"  (ISO-8859-7)
       Hebrew        "ISO_IR 138"  (ISO-8859-8)
       Thai          "ISO_IR 166"  (TIS-620)
       Japanese      "ISO 2022 IR 13ISO 2022 IR 87"  (ISO-2022-JP)
       Korean        "ISO 2022 IR 6ISO 2022 IR 149"  (ISO-2022-KR)
       Chinese       "ISO 2022 IR 6ISO 2022 IR 58"   (ISO-2022-CN)
       Chinese       "GB18030"     (GB18030)
       Chinese       "GBK"         (GBK)

   Compression
       If  libxml  is  compiled with zlib support, the input file (xmlfile-in)
       can also be compressed with ZIP, which usually results in much  smaller
       files.  See  output  of option --version in order to check whether zlib
       support is available.

   Limitations
       The XML Schema dsr2xml.xsd does  not  support  all  variations  of  the
       dsr2xml  output format. However, the default output format (plus option
       --use-xml-namespace) should work.

       Different versions of libxml seem to  have  different  limits  for  the
       maximum length of an XML element value. Therefore, it should be avoided
       to  use  very  long  element values. A typical limit for libxml version
       2.7.3 (and above) is 10 MB for a single element value.

LOGGING
       The level of logging output of  the  various  command  line  tools  and
       underlying  libraries  can  be  specified by the user. By default, only
       errors and warnings are written to the  standard  error  stream.  Using
       option  --verbose  also  informational messages like processing details
       are reported. Option --debug can be used to get  more  details  on  the
       internal  activity,  e.g.  for debugging purposes. Other logging levels
       can be selected using option --log-level. In --quiet  mode  only  fatal
       errors  are reported. In such very severe error events, the application
       will usually terminate. For  more  details  on  the  different  logging
       levels, see documentation of module 'oflog'.

       In  case  the logging output should be written to file (optionally with
       logfile rotation), to syslog (Unix) or the event log  (Windows)  option
       --log-config  can  be  used.  This  configuration  file also allows for
       directing only certain messages to a particular output stream  and  for
       filtering  certain  messages  based  on the module or application where
       they are generated.  An  example  configuration  file  is  provided  in
       <etcdir>/logger.cfg.

COMMAND LINE
       All  command  line  tools  use  the  following notation for parameters:
       square brackets enclose optional  values  (0-1),  three  trailing  dots
       indicate  that multiple values are allowed (1-n), a combination of both
       means 0 to n values.

       Command line options are distinguished from parameters by a leading '+'
       or '-' sign, respectively. Usually, order and position of command  line
       options  are  arbitrary  (i.e.  they  can appear anywhere). However, if
       options are mutually exclusive the rightmost appearance is  used.  This
       behavior  conforms  to  the  standard  evaluation  rules of common Unix
       shells.

       In addition, one or more command files can be specified  using  an  '@'
       sign  as  a  prefix to the filename (e.g. @command.txt). Such a command
       argument is replaced by the content  of  the  corresponding  text  file
       (multiple  whitespaces  are  treated  as a single separator unless they
       appear between two quotation marks) prior to  any  further  evaluation.
       Please  note  that  a command file cannot contain another command file.
       This simple but effective  approach  allows  one  to  summarize  common
       combinations  of  options/parameters  and  avoids longish and confusing
       command lines (an example is provided in file <datadir>/dumppat.txt).

ENVIRONMENT
       The xml2dsr utility  will  attempt  to  load  DICOM  data  dictionaries
       specified  in the DCMDICTPATH environment variable. By default, i.e. if
       the  DCMDICTPATH  environment   variable   is   not   set,   the   file
       <datadir>/dicom.dic  will be loaded unless the dictionary is built into
       the application (default for Windows).

       The  default  behavior  should  be  preferred   and   the   DCMDICTPATH
       environment  variable  only used when alternative data dictionaries are
       required. The DCMDICTPATH environment variable has the same  format  as
       the  Unix  shell PATH variable in that a colon (':') separates entries.
       On Windows systems, a semicolon (';') is used as a separator. The  data
       dictionary  code  will  attempt  to  load  each  file  specified in the
       DCMDICTPATH environment variable. It is an error if no data  dictionary
       can be loaded.

FILES
       <datadir>/dsr2xml.xsd - XML Schema file

SEE ALSO
       dsr2xml(1)

COPYRIGHT
       Copyright  (C)  2003-2025  by OFFIS e.V., Escherweg 2, 26121 Oldenburg,
       Germany.

Version 3.7.0                   Mon Dec 15 2025                     xml2dsr(1)
