DP1 Configuration Files

Introduction

This document aims to describe the location and purpose of several DICOM Printer 1 configuration files. Some files are omitted as they are either machine-generated, or not intended to me modified without significant expertise.

Application Load Sequence

During startup, DP1 looks for each configuration file in the following folders:

  1. %ProgramData%\Flux Inc\DICOMPrinter\config
  2. %ProgramFiles%\Flux Inc\DICOMPrinter\config

If a particular configuration file is not found in folder #1, or that copy has been corrupted, then a fresh instance is copied from folder #2 into folder #1.

Changes should only be made to Copy #1, wich Copy #2 acting as a failsafe backup.

Multiple-Users

To deploy a file for multiple users, simply change the instance in the %ProgramFiles%\Flux Inc\DICOMPrinter\config folder.

DICOM Printer 1 is not intended for concurrent use, e.g., Citrix. If this kind of use is required then please migrate to version 2.

Configuration File List

The following configuration files are installed, created and maintained by the application:

cd.xml: Defines the default CD writing behaviour of DP1.
default_tags.xml: Desribes the default attribute lists and values used to create DICOM records, as well as those used when sending queries and receiving responses from PACS and Worklist.
devices.xml: Lists the DICOM nodes accessed by the application. This list includes both storage and query targets.
dicom_fields.txt: The DICOM data dictionary used by the application.
fields.xml: Regular expression-based capture definitions, used to retrieve vales from printed text.
logo.sample.ini: A sample configuration file for embedding an image onto all outputted pages.

default_tags.xml

This XML file defines the default content of the DICOM header and queries. It is divided into three sections, each represented by an XML group, they are:

  • <study> Represents the default attribute list, and values, included in a Study Root Query.
  • <worklist> Represents the default attribute list and values included in a Worklist Query
  • <store> The default attribute list and values for any new document.

Attribute Precedence

Attribute precedence is established in the following manner:

  1. An attribute list is generated for every new document, which is based upon the <store> definition.
  2. If a Study Root C-FIND query is performed, its results are merged into the current attribute set.
  3. If a Worklist model query is performed, its results are merged into the current attribute set.
  4. Storage transmits the entire current set to the PACS, CD, or Film imager.

Precedence Example

The following example illustrates the creation of a document record, the result of a worklist query, and the process by which retrieved information is merged prior to storage.

This example assumes that:

  • The date is 2013-07-01
  • The Patient ID is 123456
  • An abridged version of the default_tags.xml file is used:

      <store>
        <tag num1="0008" num2="0050" desc="accession"></tag>
        <tag num1="0008" num2="0020" desc="study date"></tag>
        <tag num1="0008" num2="103E" desc="series description">Paper Series</tag>
        <tag num1="0010" num2="0020" desc="patient_id"></tag>
        <tag num1="0020" num2="000D" desc="study instance uid"></tag>
      </store>
      <worklist>
        <tag num1="0008" num2="0050" desc="accession"></tag>
        <tag num1="0010" num2="0020" desc="patient_id"></tag>
        <tag num1="0020" num2="000D" desc="study instance uid"></tag>
        <sequence num1="0040" num2="0100">
          <tag num1="0040" num2="0002" desc="sps start date">[%TodaysDate]</tag>
        </sequence> 
      </worklist>
    

Note that the study group has been left out, and both the store and worklist groups have been shortened.

Example workflow steps
  1. The user opens a new document, which creates a clean study record, containing the default <store> attribute list and values:

        (0008,0050) []                  # Accession
        (0008,0020) []                  # Study Date
        (0008,103E) [Paper Series]      # Series description
        (0010,0020) []                  # Patient ID
        (0020,000D) []                  # Study Instance UID
    
  2. The user performs a Worklist query using the Patient ID 123456, which creates a query record with the following contents:

        (0008,0050) []                  # Accession
        (0010,0020) [123456]            # Patient ID
        (0020,000D) []                  # Study Instance UID
        (0040,0002) [20130701]          # Scheduled Procedure Step Start Date
    
  3. A record is found at the worklist server, which returns the following result:

        (0008,0050) [ABCD00001]         # Accession
        (0010,0020) [123456]            # Patient ID
        (0020,000D) [1.200.300.4001]    # Study Instance UID
        (0040,0002) [20130701]          # Scheduled Procedure Step Start Date
    
  4. The user selects this result, which merges it into the study record, which now contains:

        (0008,0050) [ABCD00001]         # Accession
        (0008,0020) [20130701]          # Study Date
        (0008,103E) [Paper Series]      # Series description
        (0010,0020) [123456]            # Patient ID
        (0020,000D) [1.200.300.4001]    # Study Instance UID
    
  5. The user manually enteres a patient name into the DP1 Main Window:

        (0008,0050) [ABCD00001]         # Accession
        (0008,0020) [20130701]          # Study Date
        (0008,103E) [Paper Series]      # Series description
        (0010,0010) [SMITH^JOHN]        # Patient ID
        (0010,0020) [123456]            # Patient ID
        (0020,000D) [1.200.300.4001]    # Study Instance UID
    
  6. The user initiates a C-STORE of the document. DICOM header contents are represented by the preceding block of values,

search_types.xml

Purpose

The search_types.xml file defines the search types available in the user interface.

Syntax and Field Definitions

Search type entries are contained within <record> blocks and comprised of six fields:

<records>
   <record>
      <name>Worklist (Modality)</name>
      <type>worklist</type>
      <num1>8</num1>
      <num2>96</num2>
      <fieldname>Modality</fieldname>
      <defaultvalue></defaultvalue>
   </record>
</records>

Defined as:

name: The drop-down label for this search type.
type: One of study or patient, representing the query root for this search stype.
num1: The first part of the DICOM attribute identified, in DECIMAL format, e.g., 0010 is represented as 16.
num2: The second part of the DICOM attribute identified, in DECIMAL format, e.g., 50 is represented as 80.
fieldname: The label above the search field in the user interface.
defaultvalue: Any default search value — can be [%TodaysDate], to represent the current date.

In the example above, a typical DICOM Modality Worklist query is defined by the query type worklist, the search field 8,96 (or 0008,0060 in hex), and labeled as Modality in the user interface.

Note: Because worklist queries sometimes return an inordinate number of results, the default attribute list for a worklist query also includes [%TodaysDate] in the Study Date attribute value.

result_formats.xml

Purpose

This file defines the fields shown in the query result list. It is useful when our pre-chosen attributes not ones that can be used to identify a study at a particular facility.

Default content

<records>
    <record>
        <id>1</id>
        <name>Name, MRN, Accession</name>
        <tags>0010,0010;0010,0020;0008,0050</tags>
    </record>
    <record>
        <id>2</id>
        <name>Name, Modality, Accession</name>
        <tags>0010,0010;0008,0060;0008,0050</tags>
    </record>
</records>

This default definition contains two possible formats for query results, which list three attribute values each:

  1. Name, MRN, Accession
  2. Name, Modality, Accession

The <name> and <tag> elements describe the labels and attribute identifiers of each field in turn. Unlike the search_types definition, these are repesented using hexadecimal values.

Creating a new result format

To create a new result format that includes the Name, MRN, and Study Description, the following record can be appended within the records group:

<record>
        <id>3</id>
        <name>Name, MRN, Description</name>
        <tags>0010,0010;0008,0060;0002,0050</tags>
</record>

Remaining Files

The remaining files, cd.xml, fields.xml, dicom_fields.txt, should be modified through the user interface, but can then easily be copied from workstation to workstation to homogenize configurations across your facility.

Embedding a Logo

The final file logo.sample.ini must be renamed to logo.ini and can be readily modified to embed a logo image onto every outputted page. Contents of the file are described in comments therein.

Leave a Reply

Your email address will not be published. Required fields are marked *