m CDA Unitcd States
oCTn
               Environmental Protection Agency

Office of Enforcement and Compliance Assurance


   Integrated Compliance Information System
           ICIS Batch

  DMR-Technical Specification


          Version 1.1


For Electronic Reporting of DMRs



            April 2011

-------
Office of Enforcement and Compliance Assurance
                                 Table of Contents
1. INTRODUCTION	1
  1.1 PURPOSE	2
  1.2 ASSUMPTIONS AND CONSTRAINTS	2
  1.3 DOCUMENT OVERVIEW	3

2. VALIDATION AND PROCESSING	4
  2.1 MASS DELETE (X)DMR PROCESSING	5
     2.1.1 Mass Delete DMR Processing Flow	5
  2.2 CHANGE (C)DMR PROCESSING	11
     2.2.1 Change DMR Processing Flow	11
      2.2.1.1 Process DMR Form NODI Flow	18
      2.2.1.2 Process DMR Parameter Data Flow	23
      2.2.1.3 Find Limit Season Number Flow	30
      2.2.1.4 Process Auxiliary Data Flow	36
      2.2.1.5 Change DMR Sample Scenarios	39
  2.3 REPLACE (R) DMR PROCESSING	42
     2.3.1 Replace DMR Processing Flow	43
  2.4 BUSINESS RULES	54

APPENDIX A: ACRONYMS	70
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                                  Tables and Figures
Table 2-1: Mass Delete DMR Processing	7
Table 2-2: Mass DeleteDMR Example 1	10
Table 2-3: Mass Delete DMR Example 2	10
Table 2-4: Mass Delete DMR Example 3	11
Table 2-5: Change DMR Processing	13
Table 2-6: Process DMR Form NODI	20
Table 2-7: Process DMR Parameter Data	25
Table 2-8: Find Limit Season Number	31
Table 2-9: Populate Unit Code for Validation	34
Table 2-10: Process Auxiliary Data	37
Table 2-11: Change DMR Example 1	39
Table 2-12: Change DMR Example 2	40
Table 2-13: Change DMR Example 3	40
Table 2-14: Change DMR Example 4	41
Table 2-15: Change DMR Example 5	41
Table 2-16: Change DMR Example 6	41
Table 2-17: Replace DMR Processing	45
Table 2-18: Replace DMR Example 1	50
Table 2-19: Replace DMR Example 2	50
Table 2-20: Replace DMR Example 3	51
Table 2-21: Replace DMR Example 4	51
Table 2-22: Replace DMR Example 5	52
Table 2-23: Replace DMR Example 6	52
Table 2-24: Change DMR Example 7	53
Table 2-25: Batch DMR Business Rules	54
Table A-6-1: Acronym List	70

Figure 2-1: Mass Delete DMR Processing	6
Figure 2-2: Change DMR Processing	12
Figure 2-3: Process DMR Form NODI	19
Figure 2-4: Process DMR Parameter Data	24
Figure 2-5: Find Limit Season Number	30
Figure 2-6: Populate Unit Code for Validation	33
Figure 2-7: Process Auxiliary Data	36
Figure 2-8: Replace DMR Processing	44
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
1.  INTRODUCTION
EPA is exploring different electronic reporting options to enable NPDES regulated facilities to
electronically submit their compliance monitoring data. As part of this effort, EPA will conduct a
Proof of Concept to demonstrate the technical capability for electronic reporting of NPDES
compliance monitoring data from regulated facilities via an 'open platform e-file'  electronic
reporting option. The 'open platform e-file' technical Proof of Concept demonstration will focus
the electronic transmission of NPDES Discharge Monitoring reports (DMRs) from third-party
commercial software providers to EPA. The objective of the Proof of Concept is to demonstrate
that third party software providers can offer an interface to the regulated community that can
leverage EPA/Exchange Network services and meet the requirements for electronic reporting to
EPA's Integrated Compliance Information System (ICIS)-NPDES system.
Batch files are submitted to the Environmental Protection Agency's (EPA's) Central Data
Exchange (CDX) which then passes the files to ICIS.  To submit data to CDX, the software
provider must have a CDX User ID and password. This ID and password are specific to CDX
and are completely unrelated to ICIS.  An ICIS User ID must also be provided in the Id tag in the
header of each XML file so that when ICIS receives the batch file(s), it can determine if the
transactions in the file can be performed by the user submitting the batch. After receiving a
batch from the software provider, CDX performs several important functions.  They perform a
virus scan to ensure that the  submission files are free of viruses and assign a unique Transaction
ID to the batch. (This Transaction ID maps directly to the Batch ID that ICIS uses internally to
manage processing. To communicate information about the batch to CDX and the software
provider, ICIS uses this Transaction ID.) CDX then archives the batch and validates that the
XML files are valid based on the rules in the XML schema. If problems are detected, CDX
notifies the software provider so that the problems can be corrected.  Upon completion of these
tasks, CDX sends the error-free batches to ICIS.

For purposes of this document:

•  "CDX User ID" refers to the ID the user must have to log in to CDX.
   "ICIS User ID" refers to the software provider's ID in the ICIS system.
   "Transaction ID" refers to the identifier CDX provides for each batch.
   "Batch ID" in all communications with users (e.g., audit reports, batch processing
   confirmation report) refers to the identifier CDX provides for each batch (i.e., the
   Transaction ID).
   "Batch ID" in the ICIS Batch Operational Database refers to the batch identifier assigned by
   ICIS to make processing more efficient.

A batch may contain many XML files, and within each XML file there can be up to one Payload
for each Submission Type (e.g., DMRs). Each Payload may contain many XML transactions,
each of which contains the DMR data and a specific transaction type that identifies how ICIS
should process the data. For DMRs there are three valid DMR XML transaction types:  Replace,
Change, and Mass Delete. These DMR XML transaction types are described in Section 2:
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Validation and Processing. After receiving a batch from CDX, ICIS parses it and saves each
DMR XML transaction as a Payload so that the individual DMR XML transactions can be
ordered and processed.

A DMR may contain parameter data (for which there may be multiple parameters) and other data
that do not apply to a specific parameter. In this document, such data are referred to as Auxiliary
Data and includes data related to the DMR Signatory and Principal Executive Officer, Land
Application, Surface Disposal,  Incinerator, and Co-Disposal. A single DMR XML transaction
may result in updating data for one or many of the parameters and/or the Auxiliary Data. To
accurately record the changes that a DMR XML transaction causes in the ICIS  database, ICIS
accepts or rejects data for each of these sub-sections and records each of these acceptances  and
rejections as separate "transactions" in the ICIS Batch logs.  For purposes of this document:

   "DMR XML Transaction" refers to the data within the DischargeMonitoringReport Data
   section of an XML file.
   "Transaction" refers to the accepted or rejected updates to the individual sub-sections of data
   (i.e., each parameter, Auxiliary Data).

After processing is complete for all files in a batch, ICIS sends a response notification to CDX.
CDX then notifies the software provider, which can then download the results from CDX in
XML format detailing the accepted and rejected transactions.

1.1  PURPOSE

The purpose of this document is to provide a comprehensive overview of the submission of
DMR data through batch XML transactions, through text descriptions, tables, and figures.

A major component of this DMR Technical Specification, Section 2: Validation and Processing,
details the three DMR XML transaction types: Mass Delete, Change, and Replace. Provided
along with these transactions are the business rules that govern batch DMR transactions and the
accompanying error/warning messages, serving to notify users of the data in error and provide
them with the information necessary to correct the problems.

This document also contains two sections that apply to all batch submission types, not just
DMRs: Audit Reports and ICIS Batch System Administration.  Covered in  Section 4, the audit
reports are an important way to communicate to the users the results of their batch submissions.
The ICIS Batch System Administration section (Section 5) provides information about managing
batch processing, sending confirmation reports to CDX, and viewing batch  status history.

1.2  ASSUMPTIONS AND CONSTRAINTS

The following assumptions and constraints apply to the ICIS Batch DMR Technical
Specification:

   ICIS will process batches within an XML submission in the order in which they are received
   from CDX.  CDX will not apply  a timestamp to each batch that is submitted by the software
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   provider.  In addition, CDX cannot guarantee that batches will be sent to ICIS in the same
   order that CDX received them from the software provider.  As a result, ICIS cannot
   guarantee that batches will be processed in the order in which the software provider
   submitted them.

   Users will submit batch files to CDX in the correct chronological order. A procedure will be
   put in place to ensure that a software provider sends only one batch at a time for a given
   DMR, and does not send a new batch until they have received confirmation that the previous
   batch has been processed.

   CDX will perform a schema validation on every batch. ICIS will not perform another
   schema validation.  If schema errors exist that are not caught by the CDX validation,
   unexpected results will occur.

   In PCS, there were an average of 25,584 Measurement Violation parameter-level batch
   transactions each day.  This included DMR data and DMR Violation data. It is assumed that
   there will be a similar level of batch DMR activity in ICIS.

   The business rules for DMRs entered via batch should be the same as DMRs entered via the
   web application. Any differences will be noted.

   Design decisions will be made to minimize software changes that will be needed to
   incorporate the batch entry of other data families.

   This technical specification does not address NetDMR. A separate technical specification
   may have to be created when NetDMR is incorporated into ICIS.

   ICIS will not save a transaction if there are any errors within the transaction. Because DMRs
   are submitted as forms that may contain many parameters as well as auxiliary data, ICIS will
   treat each parameter as a transaction and the entered auxiliary data section as one transaction.
   This means that if there is an error with any data in one parameter, that parameter will not be
   saved, but other parameters may still be processed. The rules for accepting and rejecting
   transactions are described in detail in Section 2: Validation and Processing.

1.3  DOCUMENT OVERVIEW

The following sections comprise the remainder of this technical specification:

   Section 2: Validation and Processing - This section  describes the processing of Mass
   Delete, Change, and Replace DMR transactions, and the business rules that apply to each
   transaction type.

   Section 3: Data Element Mapping - This section provides a mapping between the PCS
   Acronym, XML Tag Name, ICIS Screen Name, and ICIS Database Name for DMR data
   elements.

   Appendix A: Acronyms - This section provides a list of all acronyms used in the document.
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.  VALIDATION AND PROCESSING
After receiving a batch from CDX, ICIS parses the batch into individual DMR XML
transactions, saves each as a Payload, and groups them by type (Replace, Change, and Mass
Delete). If any other type of DMR XML transaction is submitted for DMRs, it will be rejected.
ICIS must process these groups in the proper order to achieve the desired results.  ICIS follows
the same processing order used in the Permit Compliance System (PCS): Mass Delete, Change,
and then Replace.

The validation and processing of an individual DMR XML transaction is dependent on the type
of transaction as well as the types of DMR data submitted within that DMR XML transaction. A
DMR Replace or Change XML transaction can contain the following combinations of data (see
Attachment A: DMR XML Schema):

•  Parameter Data (only data under the XML tag ReportParameter)
•  Form NODI (only data under the XML tag FormNODIGroup)
   Auxiliary Data (the data that is not under one of the two previous tags)
   Form NODI and Auxiliary Data
•  Parameter Data and Auxiliary Data.

Users may not submit a combination of Form NODI data and Parameter Data within the same
DMR XML Replace or Change transaction.  The XML tag FormNODIGroup is used to enter a
NODI code for all expected parameter values within a specific DMR, and the XML will not
allow users to submit both FormNODIGroup data and ReportParameter data within the same
DMR Replace or Change XML transaction.  To set NODI data for most expected parameters
values within a DMR and set a numeric value for the other expected parameter values, the user
can submit Form NODI using the FormNODIGroup XML tag in one batch, and then submit
specific values within the ReportParameter tag in a separate batch submitted after the first one is
processed. If users wish to enter a NODI Code for a specific parameter value, the XML tag
NumericReportNoDischargelndicator under the ReportParameter/NumericReport groups should
be used.

A Mass Delete DMR XML transaction only requires the key data to be submitted.  However, if
any other data besides the key data are included in a Mass Delete DMR XML transaction, they
will be ignored and the Mass Delete XML transaction will still be processed.

Since the DMR XML contains data sub-sections (Parameter data/Form NODI and/or Auxiliary
data), ICIS processing of the DMR XML actually accepts or rejects each parameter within the
DMR and then accepts or rejects the Auxiliary Data as a separate section. The Audit Reports list
each parameter as an Accepted or Rejected transaction and the Auxiliary data as one Accepted or
Rejected transaction.

Key values are used throughout ICIS Batch to identify data in the ICIS database. The ICIS Batch
Schema requires that key values be entered for all transactions. The key values for DMR Form-
Level Transactions (i.e., Form NODI, Mass Delete) are:
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Permit Identifier
•  Permitted Feature Identifier
•  Limit Set Designator
   Monitoring Period End Date

The key values for DMR Parameter-Level Transactions are:

   Permit Identifier
•  Permitted Feature Identifier
   Limit Set Designator
   Monitoring Period End Date
•  Parameter Code
•  Monitoring Site Description Code
   Limit Season Number.

Many state systems do not track a Limit Season Number, which posed a big challenge for
implementing batch DMRs. To resolve that problem, there is a subprocess that calculates the
Limit Season Number for the user if it is unknown to the submitter. This subprocess is called
when -1 is submitted as the Limit Season Number, and it will provide an error message if no
matches or multiple matches are found. If a user submits a -1, that is what will display for the
key value on the audit reports as well. More details about the Limit Season Number subprocess
will be found in the sections below.

The detailed processing of each type of DMR XML transaction is described in the following
sections.

2.1  MASS DELETE (X) DMR PROCESSING

The Mass Delete DMR XML transaction allows the user to blank out all data for an existing
DMR form.  In addition, if the DMR is unscheduled, ICIS will remove the entire DMR form
from the system.  The processing of a Mass Delete DMR XML transaction is described below.

 2.1.1 Mass Delete DMR Processing Flow

Figure 2-1: Mass Delete DMR Processing is a diagram depicting the processing of a Mass Delete
DMR XML transaction. Also included in this section are a table detailing each step in the flow
and sample Mass Delete DMR Processing scenarios.
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                                     Figure 2-1:  Mass Delete DMR Processing
                             ;l/Does user h
                          /privileges to perform^
                          \Mass Delete DMR
                             1CML transaction?"'
          1A. Reject transaction.
         Write 1 error message for
         the form to the error log.
End
                                   Yes
                                   A
                            2. Does a DMR forrrK
                            exist in ICIS matching
                            ^  the key data?   /
          2A. Reject transaction.
         Write 1 error message for
         the form to the error log.
End
                           ^3. Is the DMR Form"-
                             linked to a Program
                           v    Report?     .
                                   No
                                  A
                               4. Is the DMR
                                Scheduled?
                                   Y
                                   Yes
                                   y
                          5. Delete all user-entere'
                             data and Effluent
                                Violations.
-Yes—>
3A. Write 1 error message
for the form to the error
log.



3B. Reject the transaction
for the DMR form.
i
r
                                                End
                           6. Log accepted delete
                           transaction for the DMR
                                  form.
                          7. Set Submittal Status to
                           Submitted and run DMR
                          Data Processing to update
                           Non-Receipt Violations.
         4A. Delete the DMR Form
          and Effluent Violations.
         4B. Log accepted delete
         transaction for the DMR
                 form.
                             arlDid DMR Data
                                Processing   ^*
                                Complete
                                   Yes
                                   End
         8A. Roll back all changes
         for this Mass Delete DMR
              transaction.
          8B. Record 1 rejected
         transaction for the DMR
            form with 1 error
               message.
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Table 2-1: Mass Delete DMR Processing contains a description of the items in the above Mass Delete DMR Processing flow.




                                           Table 2-1: Mass Delete DMR Processing
Item
Number
1
1A
2
2A
3
3A
3B
Item Description
Does a DMR form exist in ICIS matching the key data?
ICIS determines if a DMR form exists in ICIS that matches the key data submitted. The XML key tags for a
DMR are: Permitldentifier, PermittedFeatureldentifier, LimitSetDesignator, and MonitoringPeriodEndDate.
If a matching DMR form is found in ICIS, processing continues at #2.
Reject transaction. Write 1 error message for the form to the error log.
If the XML key tags for the DMR do not match an existing DMR form in ICIS then ICIS will write an error
message to the error log and reject the DMR submission. The entire DMR XML transaction is considered
invalid and is rejected. ICIS processing of this Mass Delete DMR XML transaction ends.
Does user have privileges to perform Mass Delete DMR XML transaction?
ICIS has determined that this is a Mass Delete DMR XML transaction and identified the DMR to be
deleted, and must next determine if the ICIS User ID that has submitted this Mass Delete DMR XML
transaction has the correct privileges defined in ICIS. This includes determining if the user can perform a
Mass Delete DMR transaction and if the DMR is for a state/region for which the user has authority. ICIS
applies the same security rules for batch as it does for the web, and uses the same set of permissions. If
the ICIS User ID has the correct privileges, processing continues at #3.
Reject transaction. Write 1 error message for the form to the error log.
If the ICIS User ID does not have the correct privileges defined in ICIS for this Mass Delete transaction,
then ICIS will reject the entire DMR XML transaction. ICIS processing of this Mass Delete DMR XML
transaction ends.
Is the DMR Form linked to a Program Report?
ICIS determines if the DMR identified for deletion is linked to a Program Report. If the DMR is not linked to
a Program Report, processing continues at #4.
Write 1 error message for the form to the error log.
ICIS has determined that the DMR is linked to a Program Report; therefore a business rule has been
violated and the DMR cannot be deleted. To delete this DMR the Program Report must first be unlinked
from the DMR (for this first release of ICIS Batch, this unlinking must be done online). ICIS writes an error
message for the form to the error log. Processing continues at #3B.
Reject the transaction for the DMR form.
ICIS rejects the entire Mass Delete DMR transaction (i.e., the entire form will receive a rejection message).
ICIS processing of this Mass Delete DMR XML transaction ends.
Mapping To Business Rule Table
Row 45
Row 45
Row 2
Row 2
Row 46
Row 46
Row 46
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Item
Number
4
4A
4B
5
6
7
8
Item Description
Is the DMR Scheduled?
ICIS determines if this is a Scheduled DMR or an Unscheduled DMR. If this is a Scheduled DMR,
processing continues at #5.
Delete the DMR Form, Effluent Violations.
ICIS has determined that this is an Unscheduled DMR; therefore the form is deleted along with all
associated DMR data, Effluent Violations (Unscheduled DMRs do not receive DMR Non-Receipt
Violations), and any links between the Effluent Violations and Enforcement Actions. Processing continues
at #4B.
Log accepted delete transaction for the DMR form.
ICIS logs a successful Mass Delete transaction for the DMR form. Processing of the Mass Delete DMR
XML transaction is complete.
Delete all user-entered data and Effluent Violations.
ICIS determines this is a Scheduled DMR; therefore all associated DMR data and Effluent Violations are
deleted, as are any links between those Effluent Violations and Enforcement Actions. DMR Non-Receipt
Violations are not deleted, but may be updated when this DMR is submitted to DMR Data Processing for
compliance determination (see #7). The DMR form is not deleted. Processing continues at #6.
Log accepted delete transaction for the DMR form.
ICIS logs an accepted Delete transaction for the DMR form. Processing continues at #7.
Set Submittal Status to Submitted and run DMR Data Processing to update Non-Receipt Violations.
ICIS sets the status of this Scheduled DMR Form to Submitted. A Submitted Status means that this DMR
is ready to be evaluated for compliance (the DMR Data Processing programs that determine if this DMR
should receive violations and generates/updates them accordingly can now be run against the data in this
DMR). Since this DMR is now blank and all Effluent Violations have been deleted, ICIS will only update
DMR Non-Receipt Violations (update RNC or delete violation) according to the business rules. For further
information on the violation processing rules refer to the ICIS-NPDES Technical Specification documents
for DMR Non-Receipt Violations Update. Processing continues at #8
Did DMR Data Processing Complete Successfully?
ICIS determines if the DMR Data Processing (Background Processing) completed successfully or if
unexpected errors occurred. If DMR Data Processing completed successfully, processing of the Mass
Delete DMR transaction is complete.
Mapping To Business Rule Table
N/A
N/A
N/A
N/A
N/A
N/A
N/A
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Item
Number
8A
8B
Item Description
Roll back all changes for this Mass Delete D MR transaction.
ICIS has determined that unexpected errors occurred during DMR Data Processing. This means that DMR
Non-Receipt Violations may not have been updated properly and ICIS may be unable to commit changes
for the XML transaction. ICIS rolls back all changes related to this Mass Delete DMR transaction, including
both updates to DMR data and any previously recorded accepted transaction records.
Record 1 rejected transaction for the DMR form with 1 error message.
ICIS records one rejected transaction for the DMR form and writes one error message to the log for that
rejected transaction. This will allow the user to see that no data were successfully saved and the XML
transaction must be resubmitted. Processing of the Mass Delete DMR transaction is complete.
Mapping To Business Rule Table
Row 48
Row 48
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Following are sample Mass Delete DMR Processing scenarios.

A Mass Delete DMR XML transaction should contain only key data. If it contains any other
data, ICIS will still process the Mass Delete.  However, if the DMR in ICIS is linked to a
Program Report, it cannot be deleted.  Examples of possible Mass Delete scenarios are described
below.

Example 1

A Mass Delete DMR XML transaction is submitted with valid key data that matches an existing
ICIS Scheduled DMR that is not linked to a Program Report. ICIS will blank out all data for the
ICIS DMR.  The DMR Form will remain in ICIS.  Table 2-2: Mass Delete DMR Example 1
provides an example.

                        Table 2-2: Mass Delete DMR Example 1
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Mass delete valid for Scheduled DMR
Arsenic (01252), 1, 1 -blank
Benzene (34030), 1, 1 -blank
Cadmium (01253), 1, 1 -blank
Auxiliary Data - blank
Example 2

A Mass Delete DMR XML transaction is submitted with valid key data that matches an existing
ICIS Unscheduled DMR that is not linked to a Program Report.  ICIS will remove the DMR
Form and all associated data from ICIS.  Table 2-3:  Mass Delete DMR Example 2 provides an
example.

                        Table 2-3: Mass Delete DMR Example 2
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Mass delete valid for Unscheduled
DMR
DMR Form removed from ICIS DB
Example 3

A Mass Delete DMR XML transaction is submitted with valid key data that matches an existing
ICIS Unscheduled DMR, however the ICIS DMR is linked to a Program Report. This violates a
business rule and so ICIS will not delete the DMR.  Table 2-4: Mass Delete DMR Example 3
provides an example.
                                                                                     10
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                        Table 2-4: Mass Delete DMR Example 3
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Mass delete invalid for Unscheduled
DMR (Program Report linked)
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
2.2  CHANGE (C) DMR PROCESSING

The Change DMR XML transaction allows the user to submit specific changes to the DMR data
in ICIS. For the DMR form identified in the transaction, ICIS updates only the fields specified
in the XML form.

ICIS contains many fields which can have multiple values at once. Examples within DMRs
include Crop Types Planted and Crop Types Harvested.  When the tags for these fields are
included in a Change DMR XML transaction, ICIS always replaces the existing values for that
field with the values submitted in the XML.

The user must have a way to blank out fields that were previously populated in the database. To
do this in a Change DMR XML transaction, the user should submit an asterisk (*) in the field(s)
they want to blank out.

The processing of a Change DMR XML transaction in ICIS is described below.

 2.2.1 Change DMR Processing Flow

Figure 2-2: Change DMR Processing is a diagram depicting the processing of a Change DMR
transaction. Also included in this section are a table detailing each step in the flow and sample
Change DMR Processing scenarios.
                                                                                     11
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                                      Figure 2-2: Change DMR Processing
                Change
                 DMR
               Processing
            \. Does DMR For
              exist in ICIS?
            2-tfoes user have
          'privileges to performs
          .Change DMR XML,
          ^xSTDoes submissioh\
           contain data other than
          \,   DMR key?   s*


                 Yes
           ^IstheDMRForrrK,
            linked to a Program
           \    Report?    ,/
                the DMR F&rrn
             e any Auxiliary Data
             (after processing
               payload)? ~^
    /^4A, 5A. Does^\
/-"submission blank out alT\
\parameters for this DMR/
  ^\   Form?   /^
-Yes>
                                                                                 /1^ Did DM R Date-
                                                                              
-------
Office of Enforcement and Compliance Assurance
Table 2-5: Change DMR Processing contains a description of the items in the above Change DMR Processing flow.

                                                 Table 2-5: Change DMR Processing
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Does DMR Form exist in ICIS?
            ICIS determines if a DMR form exists in ICIS that matches the key data submitted. If the Change DMR
            XML transaction is for a Scheduled Limit Set, the DMR form has already been created in ICIS and may or
            may not contain data. If the Change DMR XML transaction is for an Unscheduled Limit Set, and no data
            has been entered for that DMR, then ICIS will determine if it can call Generate Expected DMR Schedule
            (see #1A1) to create the DMR form. If some data has already been entered for the Unscheduled DMR,
            then the form already exists in ICIS. If no form is found, then processing continues at #1 A. If a form is
            found, processing continues at #2.
                                                                                             N/A
1A
Can a DMR Form be created based on the Permit Identifier, PF ID, LSD and MPED?
ICIS determines if the key fields submitted in the Change DMR XML transaction are valid. The XML key
tags for a DMR are: Permitldentifier, PermittedFeatureldentifier, LimitSetDesignator, and
MonitoringPeriodEndDate.  For the DMR key to be valid in ICIS there must be a corresponding NPDES
permit in ICIS that has defined a requirement for a DMR to be due for the submitted Permitted Feature/
Limit Set/ Monitoring Period End Date.  In this case, the DMR keys would only be valid if the associated
Limit Set is Unscheduled and the MPED represents a date for which DMR data can be entered.  If the key
data are valid processing continues at #1A1. If the key data are invalid processing continues at #1A2.
Rows 3-4
1A1
Call Generate Expected DMR Schedule to create a DMR Form.
ICIS has determined that the DMR key data submitted is valid for a defined Unscheduled Limit Set (the
Limit Set has been defined as Unscheduled in the permit) and no corresponding  DMR form exists. ICIS
calls Generate Expected DMR Schedule, and a DMR form for the submitted DMR key data is created in
ICIS.
Row 4
1A2
Reject transaction. Write 1 error message for the form to the error log.
If the XML key tags for the DMR are not valid, then ICIS will reject the Change DMR XML transaction.
ICIS will write an error message to the error log stating that the entire DMR was rejected. No data for this
DMR submission will be processed or saved.  ICIS processing of this Change DMR XML transaction ends.
Rows 3-4
            Does user have privileges to perform Change DMR XML transaction?
            ICIS has determined that this is a Change DMR XML transaction and identified the DMR to be changed,
            and must next determine if the ICIS User ID that has submitted this Change DMR XML transaction has the
            correct privileges defined in ICIS. This includes determining if the user can perform a Change DMR
            transaction and if the DMR is for a state/region for which the user has authority.  ICIS applies the same
            security rules for batch as it does for the web, and uses the same set of permissions. If the ICIS User ID
            has the correct privileges, processing continues at #3.
                                                                                             Row 2
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                       13

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
2A
Reject transaction. Write 1 error message for the form to the error log.
If the ICIS User ID does not have the correct privileges defined in ICIS for this Change DMR XML
transaction, then ICIS will reject the DMR XML transaction. ICIS processing of this DMR XML transaction
ends.
Row 2
            Does submission contain data other than DMR key?
            ICIS determines whether or not any data besides the key data has been submitted with the DMR. If any
            data besides the key data has been submitted, processing continues at #4.
                                                                                             Row 5
3A
Reject transaction. Write 1 error message for the form to the error log.
If no data besides the key data has been submitted in this Change DMR XML transaction, ICIS will reject
the entire Change DMR XML transaction. ICIS will write an error message to the error log stating that the
entire DMR was rejected because no data was submitted with the DMR. No data for this DMR submission
will be processed or saved. ICIS processing of this DMR XML transaction ends.
Row 5
            Is the DMR Form linked to a Program Report?
            ICIS determine if the DMR form that is being updated in the Change DMR XML transaction is linked to
            Program Report in ICIS. ICIS performs this check because if the DMR Form is linked to a Program Report,
            further checks are necessary to determine if all data on the Form is being blanked out.  If the DMR Form is
            not linked to a Program Report, processing continues at #5.
                                                                                             Row 6
4A
Does submission blank out all parameters for this DMR Form?
ICIS determines if the XML submission blanks out all parameter data for this DMR Form. A batch user can
blank out all parameter data for a DMR Form in a Change DMR XML transaction in the following ways:
• For Form NODI, submit an asterisk (*) for the DMRNoDischargelndicatortag and the
  DMRNoDischargeReceivedDate tag for a DMR Form that only has NODI codes with received dates.
• Submit an asterisk (*) for every non-key Report Parameter or Numeric Report tag that has data entered
  in ICIS.
N/A
4A1
Reject transaction. Write 1 error message for the form to the error log.
It is invalid to blank out all parameter data for a DMR Form if the DMR Form is linked to a Program Report
because this effectively deletes the DMR Form and a DMR Form cannot be deleted  if it has a linked
Program Report. ICIS processing of this Change DMR XML transaction ends.
Row 6
            Does the DMR Form have any Auxiliary Data (after processing payload)?
            ICIS determines if, after the entire payload is processed, the DMR form will contain any Auxiliary Data.
            ICIS performs this check because if the DMR Form will contain Auxiliary Data, further checks are
            necessary to determine if all data on the Form is being  blanked out. If the DMR Form will not contain any
            Auxiliary Data, processing continues at #6.
                                                                                             Row 6
                                                                                                                                        14
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
5A
Does submission blank out all parameters for this DMR Form?
ICIS determines if the XML submission blanks out all parameter data for this DMR Form. A batch user can
blank out all parameter data for a DMR Form in a Change DMR XML transaction in the following ways:
• Submit Form NODI an asterisk (*) for the DMRNoDischargelndicator tag and the
  DMRNoDischargeReceivedDate tag.
• Submit an asterisk (*) for every non-key Report Parameter or Numeric Report tag that has data entered
  in ICIS.
N/A
5A1
Reject transaction. Write 1 error message for the form to the error log.
It is invalid to blank out all parameter data for a DMR Form if the DMR Form has Auxiliary Data because
Auxiliary Data cannot exist for a DMR Form unless one valid DMR Received Date exists for the Form.
ICIS processing of this Change DMR XML transaction  ends.
Row 6
            Does submission contain DMR Form NODI?
            Once ICIS has found or created the DMR form, ICIS determines if the transaction is a Form NODI or not.
            A DMR Form NODI XML has no report data (parameter data). A Form NODI transaction is used to enter a
            NODI code and a received date for all the DMR's expected parameters and their associated expected
            values (e.g., Quantity 1 value, Concentration 1 value etc.). If ICIS determines that this is not a Form NODI
            transaction, processing continues at #7.
                                                                                             N/A
6A
Process DMR Form NODI
If this DMR transaction is a DMR Form NODI transaction, the processing continues under Table 2-6:
Process DMR Form NODI.
N/A
            Does submission contain parameter data?
            ICIS determines whether or not this DMR transaction contains parameter data (data entered under the
            XML parent tag ReportParameter). If there is parameter data, processing continues at #8.  If there is no
            parameter data, processing continues at #9.
                                                                                             N/A
            Process DMR Parameter Data
            ICIS has determined that this transaction does contain parameter data and processing continues under
            Table 2-7: Process DMR Parameter Data.
                                                                                             N/A
            Does the submission contain auxiliary data?
            Once the DMR Form NODI or parameter data have been processed, ICIS determines if any auxiliary data
            have been submitted with the Change DMR XML transaction.  Auxiliary data are the additional data
            associated with a DMR such as the DMR signatory information, DMR Principal Executive Officer
            information, and special program data (e.g., Land Application,  Incinerator, etc.). This auxiliary data cannot
            be entered for a DMR form unless at least one value or NODI code, with one received date has been
            entered for the DMR form. If the Change DMR XML transaction does not contain Auxiliary Data,
            processing continues at #10.
                                                                                             N/A
                                                                                                                                        15
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
9A
Process Auxiliary Data
ICIS has determined that auxiliary data exists for this Change DMR XML transaction and processing
continues under Table 2-9: Process Auxiliary Data.
N/A
10
Does the Change DMR XML transaction contain any accepted transactions?
ICIS has either determined that no auxiliary data exist or has finished processing the auxiliary data and
now determines if any of the previous DMR processing resulted in accepted transactions. If none of the
transactions were accepted, then the processing of this Change DMR XML transaction ends. If there were
accepted transactions, processing continues at #11.
N/A
11
Set Submit Status Flag to Submitted for the DMR Form.
ICIS has determined that at least one transaction was accepted for this payload, which means that
changes to the data have been saved. ICIS will set the status of this DMR Form to Submitted.  In ICIS, a
Submitted Status means that this DMR is ready to be evaluated for compliance (the DMR Data Processing
programs that determine if this DMR should  receive violations and generates/updates them accordingly
can now be run against the data in this DMR).  Processing continues at #12.
N/A
12
Call DMR Data Processing for saved data.
ICIS calls the DMR Data Processing programs to evaluate this DMR data for compliance. For further
information on the violation processing rules refer to the ICIS-NPDES Technical Specification documents
for DMR Non-Receipt Violations and Effluent Violations.
Note that existing RNC data for Violations will remain as it was before this Change DMR XML transaction
unless this transaction has made the existing RNC data inapplicable. This is consistent with ICIS Web
functionality.
Processing continues at #13.
N/A
13
Did DMR Data Processing Complete Successfully?
ICIS determines whether DMR Data Processing successfully completed or if there was an unexpected
error.  If the background processing completed successfully, processing of this Change DMR XML
transaction ends.
N/A
13A
Roll back all changes for this Change DMR transaction.
ICIS has determined that DMR Data Processing did not complete because of an unexpected error. This
means that DMR Non-Receipt and Effluent Violations may not have been updated properly and ICIS may
be unable to commit changes for the XML transaction. ICIS rolls back all changes related to this Change
DMR transaction, including both updates to DMR data and any previously recorded accepted or rejected
transaction records.
Row 48
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                           16

-------
Office of Enforcement and Compliance Assurance
Item
Number
13B
Item Description
Record 1 rejected transaction for the DMR form with 1 error message.
ICIS records one rejected transaction for the DMR form and writes one error message to the log for that
rejected transaction. This will allow the user to see that no data were successfully saved and the XML
transaction must be resubmitted. Processing of the Change DMR transaction is complete.
Mapping To
Business Rule Table
Row 48
                                                                                                                                        17
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.1  Process DMR Form NODI Flow

Figure 2-3: Process DMR Form NODI is a diagram depicting the processing of DMR Form
NODI.  A table detailing each step in the flow is also included in this section.
                                                                                         18
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                                        Figure 2-3: Process  DMR Form NODI
                                                                1. Find all parameters for
                                                                      DMR form
         2A2. Reject the DMR
        form. Write 1 form-level
        error for the business rule
         violation to error log.
  ^2A DoeSx
^ihe form (in the [
  contain received
"^DJVIR Value(s) orp
    Qualifier^)?

       No
	I	
   /    2.  \,
  '/Were asterisks \.
   submitted for both
\NODI Code and/
   Received Daje??
                                   2A1. Blank out NODI
                                  Code and Received Date
                                 for all valid columns on all
                                       parameters.
                                ihe form (in the C
                             <^  contain received
                              ^HVIR Value(s) oi>F
                                   Qualifier^)?
                              /^ 3A. Is this a \^
                      Yes-X^Replace DMR XML
                             ^.transaction?  /
                                                      4. Are Form NODI
                                                         data valid?
                                                           Y
                                                           Yes
                                                   5. Blank out all fields for
                                                   all parameters (excludes
                                                       Auxiliary Data).
                                                     6. Delete all Effluent
                                                         Violations.
                                                   7. For every valid column
                                                   on the form, set the NODI
                                                    code to the Form NODI
                                                           code.
                                                   8. For every valid column
                                                   on the form, set the DMR
                                                     Received Date to the
                                                     Form Received Date.
                                                       9. Log accepted
                                                   transaction for the DMR
                                                           form.
10. Save all parameters.
i

                                                        11. Return to  ]
                                                       calling program
                                                                            3B, 4A. Reject the DMR
                                                                            form.  Write 1 form-level
                                                                           error for the business rule
                                                                             violation to error log.
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                       19

-------
Office of Enforcement and Compliance Assurance
Table 2-6: Process DMR Form NODI contains a description of the items in the above Process DMR Form NODI flow.

                                                 Table 2-6: Process DMR Form NODI
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Find all parameters for DMR form.
            ICIS has determined that this DMR submission is a Form NODI so ICIS must find all the parameters
            defined for this specific DMR.
                                                                                              N/A
            Were asterisks submitted for both NODI Code and Received Date?
            ICIS determines whether asterisks were submitted for both Form NODI Code and the Form Received
            Date.  If something other than an asterisk was submitted for Form NODI Code or Form Received Date (or
            both), then processing continues at #3.
                                                                                              N/A
2A
Does the form (in the DB) contain received DMR Value(s) or T Qualifier(s)?
ICIS determines if any received DMR values or T Qualifiers exist for any of the parameters on the DMR.
the Form does not contain any received values or T Qualifiers, processing continues at #2A1.  If it does
contain received values orT Qualifiers, processing continues at#2A2.
Row 10
2A1
Blank out NODI Code and Received Date for all valid columns on all parameters.
ICIS has determined that asterisks were submitted for both Form NODI Code and Form Received Date
and that the DMR form (in the database) does not contain any received values.  An asterisk indicates that
the indicated field should be blanked out, so ICIS blanks out both the NODI Code and the Received Date
for all valid columns on all parameters. Processing continues at #9.
2A2
Reject the DMR form.  Write 1 form level error for the business rule violation.
ICIS has determined that asterisks were submitted for both Form NODI Code and Form Received Date
and that the DMR form (in the database) contains at least one received value. An asterisk indicates that
the indicated field should be blanked out, but that is invalid in this case because all Received Dates cannot
be blanked out while there are received value(s) for the form.  ICIS will reject the DMR form and no
parameter data will be saved for this DMR XML transaction. An error message for the DMR form will be
listed in the error log stating that it was rejected because all Received Dates cannot be blanked out while
received values exist. . Processing returns to the main flow of the calling program (Table 2-5: Change
DMR Processing (#9) or Table 2-13: Replace DMR Processing (#9)).
Row 10
            Does the form (in the DB) contain received DMR Value(s) or T Qualifier(s)?
            ICIS has determined that something other than an asterisk was submitted for Form NODI Code or Form
            Received Date (or both). Now it determines if any received DMR values or T Qualifiers exist for any of the
            parameters on the DMR. If the Form does not contain received values, processing continues at #4.  If it
            does contain received values, processing continues at#3A.
                                                                                              N/A
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                         20

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
3A
Is this a Replace DMR XML transaction?
ICIS determines if the DMR XML transaction being processed is a Replace transaction. In a Change
transaction, Form NODI cannot be submitted if the DMR Form contains any received values.  This rule
does not apply to a Replace transaction. If this is a Replace transaction, processing continues at #4.
Row 7
3B
Reject the DMR form. Write 1 form level error for the business rule violation to error log.
If ICIS has determined that received numeric values exist for the DMR and the DMR XML transaction is a
Change transaction, then the Form NODI is considered invalid. ICIS will reject the DMR form and no
parameter data will be saved for this DMR XML transaction.  An error message for the DMR form will be
listed in the error log stating that it was rejected because a received value exists for one or more
parameters.  Processing returns to the main flow of the calling program (Table 2-5: Change DMR
Processing (#9) or Table 2-13: Replace DMR Processing (#9)).
Row 7
            Are Form NODI data valid?
            ICIS determines if the data in the parent tag FormNODIGroup are valid. The two XML tags within this
            group are DMRNoDischargelndicator (NODI code) and DMRNoDischargeReceived-Date (Form NODI
            received date).  If these data are valid according to the business rules (see Section 2.4 Business Rules for
            details), processing continues at #5.
                                                                                               Rows 8-9, 11
4A
Reject the DMR form. Write 1 form level error for the business rule violation to error log.
If the FormNODIGroup data are invalid then the Form NODI is considered invalid. ICIS will reject the DMR
form and no parameter data will be saved for this DMR XML transaction. An error message for the DMR
form will be listed in the error log stating that it was rejected because of an invalid NODI code or received
date.  Processing returns to the main flow of the calling program (Table 2-5: Change DMR Processing (#9)
or Table 2-13: Replace DMR Processing (#9)).
Rows 8-9, 11
            Blank out all fields for all parameters (excludes Auxiliary Data).
            Before Form NODI can be applied, all existing parameter data must be blanked out because that data
            cannot exist unless there is at least one received value on the DMR (NODI does not count as a value).
            Processing continues at #6.
                                                                                               N/A
            Delete all Effluent Violations.
            Because NODI is being applied to all parameters, any Effluent Violations that were previously generated
            against DMR values are no longer valid.  ICIS also deletes any links between the deleted Effluent
            Violations and Enforcement Actions. Processing continues at #7.
                                                                                               N/A
            For every valid column on the form, set the NODI code to the Form NODI code.
            Once the Form NODI data are determined to be valid, ICIS will set the NODI code of every expected
            column (Quantity/Concentration column defined in the permit for this DMR) for every parameter in the
            DMR to the value received in the tag DMRNoDischargelndicator.  Processing continues at #8.
                                                                                               N/A
                                                                                                                                          21
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Item
Number
8
9
10
11
Item Description
For every valid column on the form, set the DMR Received Date to the Form Received Date.
ICIS will set the received date of every expected column (Quantity/Concentration column defined in the
permit for this DMR) for every parameter in the DMR to the date received in the tag
DMRNoDischargeReceivedDate. Processing continues at #9.
Log accepted transaction for the DMR form .
ICIS will log a successful transaction message for the DMR form saved. These transaction messages will
be displayed on the Accepted Transactions audit report.
Save all parameters.
ICIS saves all data for all parameters on the DMR Form. It does not matter whether this is a Change or a
Replace DMR XML transaction because the goal of Form NODI is to set NODI code and Received Date for
all parameters on the DMR Form. Processing continues at #1 1 .
Return to calling program.
Processing returns to the main flow of the calling program (Table 2-5: Change DMR Processing (#9) or
Table 2-13: Replace DMR Processing (9)).
Mapping To Business Rule Table
N/A
N/A
N/A
N/A
                                                                                                                                        22
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.2 Process DMR Parameter Data Flow

Figure 2-4: Process DMR Parameter Data is a diagram depicting the processing of DMR
parameter data.  A table detailing each step in the flow is included in this section as well.
                                                                                          23
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
                             Figure 2-4: Process DMR Parameter Data
                                            ' Process \
                                              DMR
                                             Parameter
                                            ,  Data /
^^^fT Has unprocessed^-^

^fc^^ parameter? ^^
\ "-- .. ,-a

15B, 16A. Reject
parameter


15A. Write error message
for parameter for each
business rule violation to
the error log.
t
No
Y
19. Save changed data for
this parameter, keeping
existing data in all other
fields.
Yes
iBrls this a Charfg*=
<^ DMR XML J>
17. Log accepted
s transaction for parameter
No
/^\ 6. Are there any error\
	  replacing all existing data Niumber js-lX \ Season /
with the data submitted in \^ ,/ Nslumbetx
this transaction. "--^ ~^T"^
No \^^ Messages ./
^-^Are Parameter^^ 3A' ReJect Parameter.
-^ fs ^^--^^ '^^ parameter to the error log.
          ^^Are parameter data valrt
           (Freq of Analysis, Sample
            /pe, No. of Excursions)?/


0

Yes
6. Read data for
unprocessed Numeric
Report Code
i
7A.8A. Write error J^ffe DMRdata^,
message for parameter for +Ho_^^^eA for ^r^
this business rule violation \_^^ ? ^^
to the error log. ^~^^co umn^^--^
" "f
Yes
^-~-sT Is Numeric RepSrt\
Yes
„. „, , Lr , 9^B6NODI Code-and
9A. Blank out Equals ^Yes_^^ua|s Qua|ifier ^^
Qualifier for column ^\eiistfor columpP^
7

10A. Write error message ,^-^ "~~~--~
for parameter for each ^"m Are the data for^-^
the error log. ^~^--^^ ,^^
Yes
J*^
"Pr Were arw
^--IDMR or Adjusted^-,
^--submitted forthis/^



N
14A. Write warning
message to log for the
accepted transaction
Y

-------
Office of Enforcement and Compliance Assurance
Table 2-7: Process DMR Parameter Data contains a description of the items in the above Process DMR Parameter Data flow.
                                          Table 2-7: Process DMR Parameter Data
Item
Number
1
1A
1A1
1B
2
2A
2A1
2A2
Item Description
Has unprocessed parameter?
ICIS determines if there is a parameter to process. If there is another parameter, processing continues at
#2.
Are all parameters for the DMR Form blank?
ICIS determines whether all parameters for the DMR Form are blank after all parameters have been
processed. If all parameters are blank, processing continues at #1 A1 . If data exist for at least one
parameter, processing continues at#1B.
Delete all Effluent Violations.
ICIS has determined that the DMR Form does not contain any parameter data. This means that any
Effluent Violations previously generated are no longer valid. ICIS also deletes any links between Effluent
Violations and Enforcement Actions. Processing continues at #1 B.
Return to calling program.
After all parameters have been processed, ICIS returns to the main flow of the calling program (Table 2-5:
Change DMR Processing (#9) or Table 2-14: Replace DMR Processing (#9)).
Read data for unprocessed parameter.
ICIS reads in the data for the parameter.
Limit Season Number is -1?
ICIS determines if the submitted transaction has a -1 as the Limit Season Number, indicating that the
system must try to find a matching DMR Form Parameter in the database. If the Limit Season Number is
-1 , processing continues at #2A1 . If the Limit Season Number is not -1 , processing continues at step #3.
Find Limit Season Number
ICIS has determined that the Limit Season Number is -1 . Processing continues under Table 2-8: Find
Limit Season Number.
Error Messages Returned?
ICIS determines if any error messages were returned from the Find Limit Season Number Process. If error
messages were returned, processing continues at #3A. If no error messages were returned, processing
continues at #3.
Mapping To Business Rule Table
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
                                                                                                                           25
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Are Parameter Keys valid?
            ICIS determines if the Parameter key fields submitted in the DMR XML transaction are valid. The XML key
            tags for a DMR parameter are: ParameterCode, MonitoringSiteDescriptionCode, and LimitSeasonNumber.
            For the parameter key to be valid in ICIS there must be a corresponding parameter on the DMR form (i.e.,
            the parameter has to be defined in the Permit for this DMR). If the key data are valid, processing continues
            at #4.
                                                                                              Row 12
3A
Reject parameter. Writer error message for parameter to the error log.
If the XML key tags for the parameter are not valid (i.e., do not exist in ICIS) then ICIS will reject the
parameter data.  This means that none of the data for this parameter is processed by ICIS.  An error
message is written to the error log stating that this parameter for this DMR has been rejected and why.
Processing returns to #1 to check if there are any more parameters to process.
Row 12
            Was Quantity or Concentration Unit Code included in XML?
            ICIS determines if tags for Quantity Unit Code or Concentration Unit Code were included in the XML. If
            either tag was included, processing continues at #4A.  If neither Unit Code tag was included, processing
            continues at #5.
                                                                                              N/A
4A
Populate Unit Code for Validation.
ICIS has determined that tags for Quantity or Concentration Unit Code were included in the XML.
Processing continues under Table 2-8: Populate Unit Code for Validation.
N/A
            Has unprocessed Numeric Report Code (Q1 - C3)?
            ICIS determines if there are any Quantity or Concentration column data (XML parent tag NumericReport)
            to be processed. If there is another Quantity or Concentration column of data, processing continues at #6.
            If there are no more NumericReport data for this parameter, processing continues at #15.
                                                                                              N/A
            Read data for unprocessed Numeric Report Code.
            ICIS reads in the an unprocessed column of Quantity or Concentration data. The specific Quantity or
            Concentration column (i.e., Q1, Q2, C1-3) is identified by the XML tag NumericReportCode.
                                                                                              N/A
            Are DMR data allowed for this column?
            ICIS determines if the NumericReportCode is valid for this parameter.  For the NumericReportCode to be
            valid for the parameter, the column must have a Limit, Optional Monitoring, or Required Monitoring defined
            in the NPDES permit. As previously stated, ICIS will not accept unexpected DMR data.  If the DMR
            parameter does not have the particular Quantity or Concentration defined, then the NumericReportCode is
            considered invalid. If the NumericReportCode is defined in the parameter for data entry, then processing
            continues at #8.
                                                                                              Row 17
                                                                                                                                         26
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
7A
Write error message for parameter for this business rule violation to the error log.
If ICIS determines that the NumericReportCode is not defined for this parameter, an error message is
written to the error log stating that this NumericReportCode is invalid for this parameter. Processing
returns to #5 to check if there is any more Quantity or Concentration column data (NumericReport data) for
this parameter to process.
Row 17
            Is Numeric Report Code unique?
            Once ICIS has determined that the NumericReportCode is valid for this parameter, the system must
            determine if it is a duplicate NumericReportCode. The code would be considered duplicate if it has already
            been processed within this DMR parameter transaction. Only one of each type of NumericReportCode is
            allowed per parameter. ICIS will process the first instance of a NumericReportCode and any subsequent
            duplicate instances found while processing a parameter are rejected.  If this is a unique
            NumericReportCode, then processing continues at #9.
                                                                                                Row 16
8A
Write error message for parameter for this business rule violation to the error log.
If ICIS determines that the NumericReportCode is not unique for this parameter, an error message is
written to the error log stating that this NumericReportCode is invalid for this parameter. Processing
returns to #5 to check if there is any more Quantity or Concentration column data (NumericReport data) for
this parameter to process.
Row 16
            Do NODI Code and Equals Qualifier both exist for column?
            ICIS determines if this column has both a NODI Code and an Equals Qualifier, because if it does, an
            additional step of processing is needed.  If the column does not contain both a NODI Code and an Equals
            Qualifier, processing continues at #10.
                                                                                                N/A
9A
Blank out Equals Qualifier for column.
ICIS has determined that this column contains both a NODI Code and an Equals Qualifier.  ICIS blanks out
the Equals Qualifier before processing continues at #10.
N/A
10
Are the data for this column valid?
ICIS determines if the data for the Quantity or Concentration column (NumericReport data) are valid.
There are several business rules that apply to this data (see Section 2.4 Business Rules for details), and
an asterisk in any field means that the field should be blanked out.  If any of the business rules are
violated, the Quantity or Concentration column is considered invalid. If the data are valid, processing
continues at #11.
Rows 18-35
10A
Write error message for parameter for each business rule violation to the error log.
If ICIS determines that any of the data for a Quantity or Concentration column are invalid, an error
message is written to the error log stating that this NumericReportCode is invalid for this parameter which
business rule was violated.  Processing returns to #5 to check if there is any more Quantity or
Concentration column data (NumericReport data) for this parameter to process.
Rows 18-35
                                                                                                                                           27
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
11
Were any DMR or Adjusted DMR Values submitted for this column?
ICIS determines if any numeric value data (as opposed to NODI codes) were submitted for the Quantity or
Concentration column.  If they were, then processing continues at #12.  If there were no numeric values
submitted for this column of data then processing returns to #5 to check if there is any more Quantity or
Concentration column data (NumericReport data) for this parameter to process.
N/A
12
Convert value(s) to standard units.
ICIS has determined that numeric value data was submitted for a particular NumericReport and so those
numeric values must be converted to the standard unit of measure defined for this parameter.  ICIS
determines if the unit of measure entered for the numeric data is the standard unit of measure. If it is then
no conversion is needed. If it is not the standard unit of measure, then ICIS converts the numeric values
entered to the standard unit of measure for the parameter.  All DMR value data is converted to standard
units of measure for compliance determination.  Processing continues at #13.
N/A
13
Determine Percent Exceedence.
Once all numeric data is the standard unit of measure, ICIS calculates the Percent Exceedence for values
entered and blanks out Percent Exceedence for all values that were blanked out. Processing continues at
#14.
N/A
14
Is Percent Exceedence > 500%?
ICIS determines if the percent exceedence calculated is greater than 500%. If it is then processing
continues at #14A.  If the percent exceedence is less than or equal to 500% then processing returns to #5
to check if there is any more Quantity or Concentration column data (NumericReport data) for this
parameter to process.
Row 36
14A
Write warning message to log.
ICIS has determined that the percent exceedence is greater than 500% and writes a warning message to
the error log. Users are informed that the percent exceedence for the value was greater than 500% so
they may determine if this value was entered in error. Processing returns to #5 to check if there is any
more Quantity or Concentration column data (NumericReport data) for this parameter to process.
Row 36
15
Are parameter data valid (Freq of Analysis, Sample Type, No. of Excursions)?
ICIS has determined that there are no more Quantity or Concentration column data for this parameter.
Next ICIS determines whether there is any additional parameter data  (i.e., Sample Type, Frequency of
Analysis, and Number of Excursions) and if yes, is that data valid. The specific business rules that are
applied to this data to determine if it is valid can be found under Section 2.4 Business Rules, and an
asterisk in any field means that the field should be blanked out. If there is no additional  parameter data or
the additional parameter data is determined to be  valid,  then processing continues at #16.
Rows 13-15
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                           28

-------
Office of Enforcement and Compliance Assurance
Item
Number
15A
15B
16
16A
17
18
18A
19.
Item Description
Write error message for parameter for each business rule violation to error log.
If ICIS has determined that the additional parameter data is invalid, an error message is written to the error
log stating that this parameter is invalid and which business rule was violated.
Reject parameter.
ICIS rejects the parameter if an error was found in the additional parameter data. No data for this
parameter will be saved. All errors found for this parameter will be listed in the error log along with the
status of rejected for this parameter.
Are there any error messages for the parameter?
ICIS has determined that the additional parameter data is valid and now must determine if there were any
errors detected during the processing of the Quantity or Concentration column data. If no errors were
detected, processing returns to #1 to determine if there are any more parameters to be processed for this
DMR.
Reject parameter.
ICIS rejects the parameter if any errors were found while processing the Quantity or Concentration column
data. No data for this parameter will be saved. All errors found for this parameter will be listed in the error
log along with the status of rejected for this parameter.
Log accepted transaction for parameter.
ICIS will log a successful transaction message for each error-free parameter. These transaction messages
will be displayed on the Accepted Transactions audit report for this DMR.
Is this a Change DMR XML transaction?
ICIS determines whether the DMR XML transaction being processed is a Change transaction or a Replace
transaction. This decision determines how ICIS will save the data. If this is a Change transaction,
processing continues at #19.
Save this parameter, replacing all existing data with the data submitted in this transaction.
ICIS has determined that this is a Replace DMR XML transaction. For this parameter, any previously
entered parameter data will be overwritten with this new data. If an XML tag for a specific field in the
parameter has not been included, that field should be blanked out. It is also possible that the user will
submit an asterisk in an XML tag for a specific field. An asterisk is another way to indicate that the field
should be blanked out. Processing continues at#1 to check if there are any more parameters to process.
Save changed data for this parameter, keeping existing data in all other fields.
ICIS has determined that this is a Change DMR XML transaction. For this parameter, only the specific
data fields submitted will be changed in the database. An asterisk in any field means that the field should
be blanked out. Processing continues at #1 to check if there are any more parameters to process.
Mapping To Business Rule Table
Rows 13-15
Rows 13-15
Rows 16-35
Rows 16-35
N/A
N/A
N/A
N/A
                                                                                                                                        29
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.3  Find Limit Season Number Flow

Figure 2-5: Find Limit Season Number is a diagram depicting the identification of the Limit Season Number when the user submits -1
for the parameter.  A table detailing each step in the flow is included in this section as well.
                                                  Figure 2-5: Find Limit Season Number
                                                     1
                                               Find all records in
                                             icis_dmr_form_parameter
                                             that match the submitted
                                               transaction keys.
 / 2
Any matching
   DMR
xparameters/
 Nound/
                                                    Yes
                                                //Only one
                                                  matching
                                                Xparameter
                                                 Nound/

                                                    Yes
-No—»•
                                                                            2A
                                                                   Generate error message that
                                                                     no matching parameter
                                                                           found
                              2B Return to
                             calling program
No—»•
                            3A
                   Generate error message that
                       multiple matching
                       parameters found
                              3B Return to  \
                              calling program J
                                             Update transaction to use
                                             the Limit Season Number
                                            from the matching parameter
                                              f 5 Return to calling\
                                              V   program    I
                                                                                                                                               30
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Table 2-8: Find Limit Season Number contains a description of the items in the above Find Limit Season Number flow.
                                           Table 2-8: Find Limit Season Number
Item
Number
1
2
2A
2B
3
3A
3B
Item Description
Find all records in icis_dmr_form_parameterthat match the submitted transaction keys.
ICIS identifies all matching DMR Form Parameters in the database which match the submitted keys:
Permit Identifier (icis_permit.external_permit_nmbr)
Permitted Feature Identifier (icis_perm_feature.perm_feature_nmbr)
Limit Set Designator (icis_limit_set.limit_set_designator)
Monitoring Period End Date (icis_dmr_event.monitoring_period_end_date)
Parameter Code (icis_dmr_form_parameter.parameter_code)
Monitoring Site Description Code (icis_dmr_form_parameter.monitoring_location_code)
Processing continues at #2.
Any matching DMR parameters found?
ICIS determines whether there are any matching DMR Form Parameters for the transaction based on the
results of #1. If no matching parameters are found, processing continues at#2A. If at least one matching
DMR Form parameter is found, processing continues at #3.
Generate error message that no matching parameter found.
ICIS has determined that there is no DMR Form Parameter matching the transaction keys. Processing
continues at#2B.
Return to calling program.
After the parameter has been processed, ICIS returns to the main flow of the calling program (Table 2-5:
Change DMR Processing (#9) or Table 2-14: Replace DMR Processing (#9)).
Only one matching parameter found?
ICIS determines whether there is one or more matching DMR Form Parameters for the transaction based
on the results of #1 . If multiple matching parameters are found, processing continues at #3A. If only one
matching DMR Form parameter is found, processing continues at #4.
Generate error message that multiple parameters found.
ICIS has determined that there are multiple DMR Form Parameters matching the transaction keys.
Processing continues at#3B.
Return to calling program.
After the parameter has been processed, ICIS returns to the main flow of the calling program (Table 2-5:
Change DMR Processing (#9) or Table 2-14: Replace DMR Processing (#9)).
Mapping To Business Rule Table
N/A
N/A
Row 12
N/A
N/A
Row 12A
N/A
                                                                                                                         31
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Item
Number
4
5
Item Description
Update transaction to use the Limit Season Number from the matching parameter.
ICIS updates the transaction to use the Limit Season Number from the matching parameter, rather than -1 .
Processing continues at #5.
Return to calling program.
After the parameter has been processed, ICIS returns to the main flow of the calling program (Table 2-5:
Change DMR Processing (#9) or Table 2-14: Replace DMR Processing (#9)).
Mapping To
Business Rule Table
N/A
N/A
                                                                                                                                        32
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.3.1  Populate Unit Code for Validation

Figure 2-6: Populate Unit code for Validation is a diagram depicting how ICIS uses Quantity and
Concentration Unit Codes to populate value-level Unit Codes. A table detailing each step in the
flow is included in this section as well.

                          Figure 2-6: Populate Unit Code for Validation
                                    /  Populate \
                                      Unit Code
                                         for
                                      Validation /
    ,4: Was a value (norv
 ,/ asterisk) entered for \>
^x  Quantity Unit Code in ,/
   \.    XML?    /
                                         No
                                                                   -Yes-
                                                               1A. Populate Q1 and Q2
                                                                 Unit Codes with the
                                                                 Quantity Unit Code
                                                               entered, if columns exist.
                                ,/2. Was an asterisK^v
                              <^ entered for Quantity Unit
                                \,   Code in XML?  /
                                         No
                                 -Yes-
                                   2A. Blank out Q1 and Q2
                                    Unit Codes, if columns
                                          exist.
 3A. Populate C1, C2, and
  C3 Unit Codes with the
  Concentration Unit Code
  entered, if columns exist.
-Yes-
    3^'Was a value (non^
  ' asterisk) entered for ^
  ^Concentration Unit Code/
   \.  in XML?   /
                                         No
                                         ,.



                                  /4\\Nas an asterisk^
                                '     entered for    ^
                                ^Concentration Unit Code/
                                  \   in XML?   /
                                         No
                                -Yes
                                4A. Blank out C1.C2, and
                                C3 Unit Codes, if columns
                                       exist.
                                     5. Return to  |
                                    calling program I
                                                                                                       33
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Table 2-9: Populate Unit Code for Validation contains a description of the items in the above Populate Unit Code for Validation flow.

                                            Table 2-9: Populate Unit Code for Validation
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Was a value (non-asterisk) entered for Quantity Unit Code in XML?
            ICIS determines whether the Quantity Numeric Report Unit Measure Code tag was entered in the XML
            with a value. A value is any entry except an asterisk. If a value was not entered for Quantity Numeric
            Report Unit Measure Code, then processing continues at Step #2.
                                                                                             N/A
1A
Populate Q1 and Q2 Unit Codes with the Quantity Unit Code entered, if columns exist.
ICIS has determined a value was entered for Quantity Numeric Report Unit Measure Code.  ICIS uses that
value to populate the Unit Codes for all Quantity columns (Q1, Q2) that exist.  Processing continues at
Step #3.
N/A
            Was an asterisk entered for Quantity Unit Code in XML?
            ICIS determines whether the Quantity Numeric Report Unit Measure Code tag was entered in the XML
            with an asterisk.  If an asterisk was not entered for Quantity Numeric Report Unit Measure Code, then
            processing continues at Step #3.
                                                                                             N/A
2A
Blank out Q1 and Q2 Unit Codes, if columns exist.
ICIS has determined that an asterisk was entered for Quantity Numeric Report Unit Measure Code.  An
asterisk indicates that the user wishes to blank out the Unit Code, so ICIS blanks out the Unit Codes for
any Quantity columns (Q1, Q2) that exist. Processing continues at Step #3.
N/A
            Was a value (non-asterisk) entered for Concentration Unit Code in XML?
            ICIS determines whether the Concentration Numeric Report Unit Measure Code tag was entered in the
            XML with a value.  A value is any entry except an asterisk.  If a value was not entered for Concentration
            Numeric Report Unit Measure Code, then processing continues at Step #4.
                                                                                             N/A
3A
Populate C1, C2, and C3 Unit Codes with the Concentration Unit Code entered, if columns exist.
ICIS has determined a value was entered for Concentration Numeric Report Unit Measure Code.  ICIS
uses that value to populate the Unit Codes for all Concentration columns (C1, C2, C3) that exist.
Processing continues at Step #5.
N/A
            Was an asterisk entered for Concentration Unit Code in XML?
            ICIS determines whether the Concentration Numeric Report Unit Measure Code tag was entered in the
            XML with an asterisk.  If an asterisk was not entered for Concentration Numeric Report Unit Measure
            Code, then processing continues at Step #5.
                                                                                             N/A
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final
                                                                                                                                       34

-------
Office of Enforcement and Compliance Assurance
Item
Number
4A
5
Item Description
Blank out C1, C2, and C3 Unit Codes, if columns exist.
ICIS has determined that an asterisk was entered for Concentration Numeric Report Unit Measure Code.
An asterisk indicates that the user wishes to blank out the Unit Code, so ICIS blanks out the Unit Codes for
any Concentration columns (C1, C2, C3) that exist. Processing continues at Step #5.
Return to calling program.
After populating value-level Unit Codes, ICIS returns to the Process DMR Parameter flow (Table 2-7:
Process DMR Parameter Flow (#5).
Mapping To Business Rule Table
N/A
N/A
                                                                                                                                        35
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.4  Process Auxiliary Data Flow

Figure 2-7: Process Auxiliary Data is a diagram depicting the processing of DMR auxiliary data.
A table detailing each step in the flow is included in this section as well.

                                   Figure 2-7: Process Auxiliary Data
                                            Process \
                                            Auxiliary
                                             Data
                                     •-T Are any Auxiliary Dara"\
                                       values submitted in the
                                     \  XML transaction?  /
                                             Yes
            3A. Write error message
              for each form-level
            business rule violation to
                 error log.
>the Form (after vaifck
x^ updates are made) \^
x^contain at least one DMR/
0 \> Received //
\Date?,/
r
Yes
A
2A. Write error message
for this form-level
business rule violation to
error log.



                                            there any error\
                                         messages for the
                                          auxiliary data?  /
                                              No
                                         5. Log accepted
                                       transaction for auxiliary
                                             data
                                     / 6. Is this a Change \
                                     \DMR XML transaction?/
                                             Yes
                                        7. Save changes to
                                       Auxiliary Data, keeping
                                       existing data in all other
                                            fields.
-Yes—
4A. Reject auxiliary data.


                            8. Return to  |
                          calling program I
-No—
  6A. Save the Auxiliary
Data, replacing all existing
   data with the data
    submitted in this
	transaction.	
                                                                                                               36
ICIS Batch - DMR Technical Specification, Version 1.1- Revised Final

-------
Office of Enforcement and Compliance Assurance
Table 2-10: Process Auxiliary Data contains a description of the items in the above Process Auxiliary Data flow.

                                                    Table 2-10: Process Auxiliary Data
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
            Are Auxiliary Data values submitted in this XML transaction?
            ICIS determines whether the user has submitted values for any Auxiliary Data fields or just blanked out
            Auxiliary Data fields by placing an asterisk in Auxiliary Data fields.  This check is needed because the next
            check (Does the Form (after valid updates are made) contain at least one DMR Received Date) does not
            apply if the user is only blanking out, and not entering any, data. If the user is only blanking out data,
            processing continues at #3.
                                                                                                N/A
            Does the Form (after valid updates are made) contain at least one DMR Received Date?
            ICIS has determined that this DMR submission contains auxiliary data (e.g., DMR signatory information,
            DMR Principal Executive Officer information, and special program data such as Land Application or
            Incinerator data). ICIS must determine if at least one column for one parameter in the DMR contains valid
            received data (either as part of the current DMR XML transaction or already existing in the ICIS database).
            That data can be either a valid numeric value or a valid NODI code, with a valid received date.  If this data
            exists, then processing continues at #3.
                                                                                                Row 37
2A
Write error message for this form-level business rule violation to error log.
If ICIS has determined that received dates do not exist for the DMR, then the submission of the auxiliary
data is considered invalid. An error message for the DMR will be written in the error log detailing why all
the auxiliary data is in error (e.g., due to a received date not existing for any parameter).  Processing
continues at #3 so that all errors within the auxiliary data can be identified and listed on the error log.
Row 37
            Are Auxiliary Data valid?
            ICIS determines if the auxiliary data are valid based on the business rules (see Section 2.4 Business Rules
            for details), and an asterisk in any field means that the field should be blanked out.  If this data is valid
            processing continues at #4.
                                                                                                 Rows 38-44
3A
Write error message for each form-level business rule violation to error log.
If there are errors in the auxiliary data (e.g., Signatory Date is greater than the current data, an invalid code
was submitted for Crop Types Planted) then ICIS will write an error message to the log for each error
found, detailing why the data is violating a business rule.  Processing continues at #4.
Rows 38-44
            Are there any error messages for the auxiliary data?
            ICIS must determine if any errors were encountered during the processing of the auxiliary data.
            errors were encountered, then processing continues at #5.
                                                                                                 Rows 37-44
                                                                                     If no
                                                                                                                                             37
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
Item
Number
4A
5
6
6A
7
8
Item Description
Reject auxiliary data.
If ICIS encountered errors during the processing of the auxiliary data then all the auxiliary data is rejected.
ICIS will not save any of the auxiliary data when any errors are encountered on a replace or change
transaction. Processing continues at #8.
Log accepted transaction for auxiliary data.
ICIS will log a successful replace or change transaction message for the auxiliary data saved. This
transaction message will be displayed on the Accepted Transactions audit report for this DMR. Processing
continues at #6.
Is this a Change DMR XML transaction?
ICIS determines whether the DMR XML transaction being processed is a Change transaction or a Replace
transaction. This decision determines how ICIS will save the data. If this is a Change transaction,
processing continues at #7.
Save the Auxiliary Data, replacing all existing data with the data submitted in this transaction.
ICIS has determined that this is a Replace DMR XML transaction. Any previously entered Auxiliary Data
will be overwritten with this new data. If an XML tag for a specific field in the Auxiliary Data has not been
included, that field should be blanked out. It is also possible that the user will submit an asterisk in an XML
tag for a specific field. An asterisk is another way to indicate that the field should be blanked out.
Processing continues at #8.
Save changes to Auxiliary Data, keeping existing data in all other fields.
ICIS has determined that this is a Change DMR XML transaction. Only the specific Auxiliary Data fields
submitted will be changed in the database. An asterisk in any field means that the field should be blanked
out. Processing continues at #8.
Return to calling program.
Processing returns to the main flow of the calling program (Table 2-5: Change DMR Processing (#10) or
Table 2-14: Replace DMR Processing (#10)).
Mapping To Business Rule Table
Rows 37-44
N/A
N/A
N/A
N/A
N/A
                                                                                                                                        38
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
2.2.1.5 Change DMR Sample Scenarios

A Change DMR transaction can contain many different combinations of data. It may contain all
of the parameters that are expected for a DMR, only some of the parameters, no parameters at
all, or Form NODI, but not both parameter and Form NODI. Similarly, it may contain Auxiliary
Data, but does not have to.  The data submitted for each of these sections may or may not be
valid. A few of these submission variations with the associated system results are described
below.

Example 1

If the submitted DMR XML includes:

   One parameter with data for specific fields
   No invalid data

ICIS will update the specific data fields entered for that parameter with the data submitted in the
Change DMR XML transaction. The other data fields for that parameter, all other parameters,
and the Auxiliary Data section will remain unchanged.  Table 2-11: Change DMR Example 1
provides an example.

                          Table 2-11: Change DMR Example 1
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Arsenic (01252), 1, 1 -with no errors
(updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity)



Arsenic (01252), 1, 1 -original plus
updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity
Benzene (34030), 1, 1 -original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Example 2

If the submitted DMR XML includes:

   Two parameters with data for specific fields
   Invalid data for one of the parameters

ICIS will update the specific data fields for the parameter that did not have errors with the data in
the XML transaction. The rejected parameter, the parameters that were not included in the DMR
XML, and the Auxiliary Data section will remain unchanged. Table 2-12: Change DMR
Example 2 provides an example.
                                                                                     39
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
                          Table 2-12: Change DMR Example 2
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Arsenic (01252), 1, 1 -with no errors
(updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity)
Benzene (34030), 1,1- rejected with
errors (updated values for Q2 Numeric
Condition Quantity and Numeric
Report Received Date)


Arsenic (01252), 1,1- original plus
updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity
Benzene (34030), 1, 1 -original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Example 3

If the submitted DMR XML includes:

•   Form NODI
•   No Auxiliary data

In this scenario, one of the parameters on the ICIS DMR form contains received numeric value
data which causes the all the DMR XML Form NODI data to be rejected. ICIS will leave all
parameter and auxiliary data unchanged. Table 2-13: Change DMR Example 3 provides an
example.

                          Table 2-13: Change DMR Example 3
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Form NODI receives an error because
the existing ICIS DMR parameter
Benzene (34030), 1, 1 contains
received numeric value data.

Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Example 4

If the submitted DMR XML includes:

   One parameter with asterisks submitted for all non-key fields
•   No invalid data

ICIS will blank  out all fields for the submitted parameter, leaving all other parameters and the
auxiliary data unchanged. Table 2-14: Change DMR Example 4 provides an example.
                                                                                     40
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
                         Table 2-14: Change DMR Example 4
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original

Benzene (34030), 1, 1 -asterisks
entered for all non-key fields


Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -new (blank)
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Example 5

If the submitted DMR XML includes:

   One parameter with data for specific fields
•   Limit Season Number equal to -1 for a parameter that has one matching DMR Form
   Parameters in ICIS

ICIS will identify the correct DMR Form Parameter and update the correct record in the
database. Table 2-15: Change DMR Example 5 provides an example.

                         Table 2-15: Change DMR Example 5
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1,4- original
Cadmium (01253), 1,1- original
Auxiliary Data - original

Benzene (34030), 1, -1
(updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity)


Arsenic (01252), 1, 1 -original
Benzene (34030), 1,4- original plus
updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Example 6

If the submitted DMR XML includes:

   One parameter with data for specific fields
•   Limit Season Number equal to -1 for a parameter that has multiple matching DMR Form
   Parameters in ICIS

ICIS will reject the transaction.  Table 2-16: Change DMR Example 6 provides an example.

                         Table 2-16: Change DMR Example 6
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                   41

-------
Office of Enforcement and Compliance Assurance
DMR Form in ICIS DB
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Benzene (34030), 1,2- original
Cadmium (01253), 1,1- original
Auxiliary Data - original
DMR XML Submission

Benzene (34030), 1, -1
(updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity)



Result saved to ICIS DB
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Benzene (34030), 1,2- original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
2.3  REPLACE (R) DMR PROCESSING

The Replace DMR transaction allows the user to submit DMR data to ICIS without considering
the current state of received DMR data.  A Replace DMR transaction may contain data for one or
more parameters and/or Auxiliary Data.  In processing the transaction, ICIS will replace all of
the existing data for each of the parameters submitted in the XML.  Any parameters that exist for
that DMR in ICIS but are not included in the Replace DMR transaction will not be updated or
blanked out through the Replace DMR transaction. Similarly, if any Auxiliary Data is submitted
in a Replace DMR transaction, all of the Auxiliary Data currently existing for that DMR will be
replaced with the Auxiliary Data submitted in the XML.

The user must have a way to blank out fields that were previously populated in the database.  To
do this in a Replace DMR XML transaction, the user has the following options:

   The user can submit an asterisk (*) in the field(s) they want to blank out.

   The user can choose not to include certain fields when they submit the Replace DMR XML
   transaction.  Because this is a Replace, ICIS will replace all fields for the  submitted sections
   with only the data in the XML, so any fields excluded from the XML (within that section)
   will be blanked out.

   The user can submit the key tags for a Parameter (ParameterCode,
   MonitoringSiteDescriptionCode, and LimitSeasonNumber), with no other tags for that
   Parameter. ICIS will blank out all fields for that Parameter.

   The user can submit the identifying field for a specific column on a Parameter
   (NumericReportCode) with no other tags for that column.  ICIS will blank out all fields for
   that column.

Form NODI is handled differently than other types of DMR data because Form NODI data
causes data to be updated for every parameter that exists for the DMR.  When Form NODI is
submitted in a Replace DMR transaction, it is evaluated against the business rules.  If it is valid,
all parameters will be updated with the new NODI data. If asterisks are submitted for the Form
NODI Code  and Date, NODI Code and Received Date would be blanked out for every column
for every Parameter on the Form.
                                                                                     42
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
ICIS has two kinds of DMRs, Scheduled and Unscheduled.  Scheduled DMRs correspond to
Scheduled Limit Sets that are defined in the permit and have the Monitoring Period End Date
specifically defined. Unscheduled DMRs correspond to Unscheduled Limit Sets that are defined
in the permit and do not have the Monitoring Period End Date defined. Scheduled DMR Forms
always exist in ICIS regardless of whether data has been entered for them because they are
created by the Expected DMR Schedule process when limits are entered.  Unscheduled DMRs
are not created by the Expected DMR Schedule process until the user creates them. When the
user submits a Replace DMR transaction for an Unscheduled DMR, ICIS will create the DMR
Form if it does not already exist and at least one Limit exists for the Unscheduled Limit Set.

The processing of a Replace DMR transaction in ICIS is described below.

 2.3.1 Replace DMR Processing Flow

Figure 2-8: Replace DMR Processing is a diagram depicting the processing of a Replace DMR
transaction.  Also included in this section are a table detailing each step in the flow and sample
Replace DMR Processing scenarios.
                                                                                      43
ICIS Batch - DMR Technical Specification, Version 1.1  - Revised Final

-------
Office of Enforcement and Compliance Assurance
                                      Figure 2-8:  Replace DMR Processing
              /  Replace
                  DMR
              I  Processing
                                              ^dan a DMR Fofhvr^e
                                              created based on the
                                              Permit Identifier, PF ID,
                                               USDand
           ^--^Does submission-^.
            contain data other than
           ^\ DMR key? /
            -< IstheDMRFomt-
             linked to a Program
            \  Report?    /
                  No
                ^

           5^B6es the DMR^ocm
          -^iave any Auxiliary Data
          \   (after processing
           ^^ payload)? ~/^
    /^4A, 5A. Does\^
.-^submission blank out all\
\parameters for this DMR/
        Form?   /^
-Yes>
                                                            the Re
                                                      DMRXMLtransaction^
                                                      contain any accepted
                                                         transactions?/^^
                                                                                 /13. Did DMR Data
                                                                                ;T Processing Complete "
                                                                                                                             44
ICIS Batch - DMR Technical Specification, Version 1.1  - Revised Final

-------
Office of Enforcement and Compliance Assurance
Table 2-17: Replace DMR Processing contains a description of the items in the above Replace DMR Processing flow.

                                                Table 2-17: Replace DMR Processing
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Does DMR Form exist in ICIS?
            ICIS determines if a DMR form exists in ICIS that matches the key data submitted. If the Replace DMR
            XML transaction is for a Scheduled Limit Set, the DMR form has already been created in ICIS and may or
            may not contain data. If the Replace DMR XML transaction is for an Unscheduled Limit Set, and no data
            has been entered for that DMR, then ICIS will determine if it can call Generate Expected DMR Schedule
            (see #1A1) to create the DMR form. If some data has already been entered for the Unscheduled DMR,
            then the form already exists in ICIS. If no form is found, then processing continues at #1 A. If a form is
            found, processing continues at #2.
                                                                                            N/A
1A
Can a DMR Form be created based on the Permit Identifier, PF ID, LSD and MPED?
ICIS determines if the key fields submitted in the Replace DMR XML transaction are valid.  The XML key
tags for a DMR are: Permitldentifier, PermittedFeatureldentifier, LimitSetDesignator, and
MonitoringPeriodEndDate.  For the DMR key to be valid in ICIS there must be a corresponding NPDES
permit in ICIS that has defined a requirement for a DMR to be due for the submitted Permitted Feature/
Limit Set/ Monitoring Period End Date.  In this case, the DMR keys would only be valid if the associated
Limit Set is Unscheduled and the MPED represents a date for which DMR data can be entered. If the key
data is valid processing continues at #1A1.  If the key data are invalid processing continues at #1A2.
Rows 3-4
1A1
Call Generate Expected DMR Schedule to create a DMR Form.
ICIS has determined that the DMR key data submitted is valid for a defined Unscheduled Limit Set (the
Limit Set has been defined as Unscheduled in the permit) and no corresponding  DMR form exists. ICIS
calls Generate Expected DMR Schedule, and a DMR form for the submitted DMR key data is created in
ICIS.
Row 4
1A2
Reject transaction. Write 1 error message for the form to the error log.
If the XML key tags for the DMR are not valid, then ICIS will reject the Replace DMR XML transaction.
ICIS will write an error message to the error log stating that the entire DMR was rejected. No data for this
DMR submission will be processed or saved.  ICIS processing of this Replace DMR XML transaction ends.
Rows 3-4
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                       45

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
            Does user have privileges to perform Replace DMR XML transaction?
            ICIS has determined that this is a Replace DMR XML transaction and identified the DMR to be replaced,
            and must next determine if the ICIS User ID that has submitted this Change DMR XML transaction has the
            correct privileges defined in ICIS. This includes determining if the user can perform a Change DMR
            transaction and  if the DMR is for a state/region for which the user has authority. ICIS applies the same
            security rules for batch as it does for the web, and uses the same set of permissions.  If the ICIS User ID
            has the correct privileges, processing continues at #3.
                                                                                             Row 2
2A
Reject transaction. Write 1 error message for the form to the error log.
If the ICIS User ID does not have the correct privileges defined in ICIS for this Replace DMR XML
transaction, then ICIS will reject the DMR XML transaction. ICIS processing of this DMR XML transaction
ends.
Row 2
            Does submission contain data other than DMR key?
            ICIS determines whether or not any data besides the key data has been submitted with the DMR. If any
            data besides the key data has been submitted, processing continues at #4.
                                                                                             Row 5
3A
Reject transaction. Write 1 error message for the form to the error log.
If no data besides the key data has been submitted in this Replace DMR XML transaction, ICIS will reject
the entire Replace DMR XML transaction.  ICIS will write an error message to the error log stating that the
entire DMR was rejected because no data was submitted with the DMR. No data for this DMR submission
will be processed  or saved. ICIS processing of this DMR XML transaction ends.
Row 5
            Is the DMR Form linked to a Program Report?
            ICIS determine if the DMR form that is being updated in the Replace DMR XML transaction is linked to
            Program Report in ICIS. ICIS performs this check because if the DMR Form is linked to a Program Report,
            further checks are necessary to determine if all data on the Form is being blanked out.  If the DMR Form is
            not linked to a Program Report, processing continues at #5.
                                                                                             Row 6
4A
Does submission blank out all parameters for this DMR Form?
ICIS determines if the XML submission blanks out all parameter data for this DMR Form. A batch user can
blank out all parameter data for a DMR Form in a Replace DMR XML transaction in the following ways:
• For Form NODI, submit an asterisk (*) for the DMRNoDischargelndicatortag and the
  DMRNoDischargeReceivedDate tag for a DMR Form that only has NODI codes with received dates.
• Submit an asterisk (*) for every non-key Report Parameter or Numeric Report tag that has data entered
  in ICIS.
• Submit all parameters with only key data.
• For each parameter, submit all NumericReportCodes with no data tags other than the
  NumericReportCode.
N/A
                                                                                                                                        46
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                      Item Description
  Mapping To Business Rule Table
4A1
Reject transaction. Write 1 error message for the form to the error log.
It is invalid to blank out all parameter data for a DMR Form if the DMR Form is linked to a Program Report
because this effectively deletes the DMR Form and a DMR Form cannot be deleted if it has a linked
Program Report. ICIS processing of this Replace DMR XML transaction ends.
Row 6
            Does the DMR Form have any Auxiliary Data (after processing payload)?
            ICIS determines if, after the entire payload is processed, the DMR form will contain any Auxiliary Data.
            ICIS performs this check because if the DMR Form will contain Auxiliary Data, further checks are
            necessary to determine if all data on the Form is being blanked out. If the DMR Form will not contain any
            Auxiliary Data, processing continues at #6.
                                                                                             Row 6
5A
Does submission blank out all parameters for this DMR Form?
ICIS determines if the XML submission blanks out all parameter data for this DMR Form. A batch user can
blank out all parameter data for a DMR Form in a Replace DMR XML transaction in the following ways:
• For Form NODI, submit an asterisk (*) for the DMRNoDischargelndicator tag and the
  DMRNoDischargeReceivedDate tag for a DMR Form that only has NODI codes with received dates.
• Submit an asterisk (*) for every non-key Report Parameter or Numeric Report tag that has data entered
  in ICIS.
• Submit all parameters with only key data.
• For each parameter, submit all NumericReportCodes with no data tags other than the
  NumericReportCode.
N/A
5A1
Reject transaction. Write 1 error message for the form to the error log.
It is invalid to blank out all parameter data for a DMR Form if the DMR Form has Auxiliary Data because
Auxiliary Data cannot exist for a DMR Form unless one valid DMR Received Date exists for the Form.
ICIS processing of this Replace DMR XML transaction ends.
Row 6
            Does submission contain DMR Form NODI?
            Once ICIS has found or created the DMR form, ICIS determines if the transaction is a Form NODI or not.
            A DMR Form NODI XML has no report data (parameter data). A Form NODI transaction is used to enter a
            NODI code and a received date for all the DMR's expected parameters and their associated expected
            values (e.g., Quantity 1 value, Concentration 1 value etc.). If ICIS determines that this is not a Form NODI
            transaction, processing continues at #7.
                                                                                             N/A
6A
Process DMR Form NODI
If this DMR transaction is a DMR Form NODI transaction, the processing continues under Table 2-6:
Process DMR Form NODI.
N/A
                                                                                                                                        47
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
            Does submission contain parameter data?
            ICIS determines whether or not this DMR transaction contains parameter data (data entered under the
            XML parent tag ReportParameter). If there is parameter data, processing continues at  #8. If there is no
            parameter data, processing continues at #9.
                                                                                               N/A
            Process DMR Parameter Data
            ICIS has determined that this transaction does contain parameter data and processing continues under
            Table 2-7: Process DMR Parameter Data.
                                                                                               N/A
            Does the submission contain auxiliary data?
            Once the DMR Form NODI or parameter data have been processed, ICIS determines if any auxiliary data
            have been submitted with the Replace DMR XML transaction. Auxiliary data are the additional data
            associated with a DMR such as the DMR signatory information, DMR Principal Executive Officer
            information, and special program data (e.g.,  Land Application, Incinerator, etc.). This auxiliary data cannot
            be entered for a  DMR form unless at least one value or NODI code, with one received date has been
            entered for the DMR form. If the Replace DMR XML transaction does not contain Auxiliary Data,
            processing continues at #10.
                                                                                               N/A
9A
Process Auxiliary Data
ICIS has determined that auxiliary data exists for this Replace DMR XML transaction and processing
continues under Table 2-9: Process Auxiliary Data.
N/A
10
Does the Replace DMR XML transaction contain any accepted transactions?
ICIS has either determined that no auxiliary data exist or has finished processing the auxiliary data and
now determines if any of the previous DMR processing resulted in accepted transactions. If none of the
transactions were accepted, then the processing of this Replace DMR XML transaction ends. If there were
accepted transactions, processing continues at #11.
N/A
11
Set Submit Status Flag to Submitted for the DMR Form.
ICIS has determined that at least one transaction was accepted for this payload, which means that
changes to the data have been saved. ICIS will set the status of this DMR Form to Submitted.  In ICIS, a
Submitted Status means that this DMR is ready to be evaluated for compliance (the DMR Data Processing
programs that determine if this DMR should  receive violations and generates/updates them accordingly
can now be run against the data in this DMR).  Processing continues at #12.
N/A
                                                                                                                                          48
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
   Item
 Number
                                       Item Description
  Mapping To Business Rule Table
12
Call DMR Data Processing for saved data.
ICIS calls the DMR Data Processing programs to evaluate this DMR data for compliance. For further
information on the violation processing rules refer to the ICIS-NPDES Technical Specification documents
for DMR Non-Receipt Violations and Effluent Violations.
Note that existing RNC data for Violations will remain as it was before this Replace DMR XML transaction
unless this transaction has made the existing RNC data inapplicable. This is consistent with ICIS Web
functionality.
Processing continues at #13.
N/A
13
Did DMR Data Processing Complete Successfully?
ICIS determines whether DMR Data Processing successfully completed or if there was an unexpected
error.  If the background processing completed successfully, processing of this Replace DMR XML
transaction ends.
N/A
13A
Roll back all changes for this Replace DMR transaction.
ICIS has determined that DMR Data Processing did not complete because of an unexpected error. This
means that DMR Non-Receipt and Effluent Violations may not have been updated properly and ICIS may
be unable to commit changes for the XML transaction. ICIS rolls back all changes related to this Replace
DMR transaction, including both updates to DMR data and any previously recorded accepted or rejected
transaction records.
Row 47
13B
Record 1 rejected transaction for the DMR form with 1 error message.
ICIS records one rejected transaction for the DMR form and writes one error message to the log for that
rejected transaction.  This will allow the user to see that no data were successfully saved and the XML
transaction must be resubmitted.  Processing of the Change DMR transaction is complete.
Row 47
                                                                                                                                          49
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
The following are sample Replace DMR Processing scenarios.

A Replace DMR transaction can contain many different combinations of data. It may contain all
of the parameters that are expected for a DMR, only some of the parameters, no parameters at
all,  or Form NODI.  Similarly, it may contain Auxiliary Data, but does not have to.  The data
submitted for each of these sections may or may not be valid. Many of these submission
variations with the associated system results are described below.

Example 1

If the submitted DMR XML includes:

    All expected DMR parameters
    Auxiliary data
•   No invalid data

ICIS will replace all existing data for that DMR form with the parameter and auxiliary data
submitted in the XML transaction. Table 2-18: Replace DMR Example 1 provides an example.

                          Table 2-18: Replace DMR Example 1
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Cadmium (01253), 1,1- new
Auxiliary Data - new
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Cadmium (01253), 1,1- new
Auxiliary Data - new
Example 2

If the submitted DMR XML includes:

   All expected DMR parameters
   No Auxiliary data
•  No invalid data

ICIS will replace all the data for all parameters with the data submitted in the XML transaction.
Data for the Auxiliary Data section will remain unchanged. Table 2-19: Replace DMR Example
2 provides an example.

                          Table 2-19: Replace DMR Example 2
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
                                                                                      50
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
DMR Form in ICIS DB
Cadmium (01253), 1,1- original
Auxiliary Data - original
DMR XML Submission
Cadmium (01253), 1,1- new

Result saved to ICIS DB
Cadmium (01253), 1,1- new
Auxiliary Data - original
Example 3

If the submitted DMR XML includes:

   Only some of the expected DMR parameters
   Auxiliary data
   Invalid data in some parameters

ICIS will replace all data for the parameters that were submitted and accepted as well as the
Auxiliary Data. The parameters that were not submitted and the parameters that were rejected
will remain unchanged. Table 2-20: Replace DMR Example 3 provides an example.

                          Table 2-20: Replace DMR Example 3
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Arsenic (01252), 1, 1 -new, invalid
Benzene (34030), 1,1- new

Auxiliary Data - new
Arsenic (01252), 1, 1 -original
Benzene (34030), 1,1- new
Cadmium (01253), 1, 1 -original
Auxiliary Data - new
Example 4

If the submitted DMR XML includes:

   All expected DMR parameters
   Auxiliary data
   Invalid data among the Auxiliary data

ICIS will replace parameter data with the accepted parameter data and will leave the Auxiliary
Data unchanged. Table 2-21: Replace DMR Example 4 provides an example.

                          Table 2-21: Replace DMR Example 4
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Cadmium (01253), 1,1- new
Auxiliary Data - new, invalid
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Cadmium (01253), 1,1- new
Auxiliary Data - original
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                     51

-------
Office of Enforcement and Compliance Assurance
Example 5

If the submitted DMR XML includes:

•  Form NODI
   Auxiliary data
•  No invalid data

ICIS will update all parameters and the Auxiliary Data section with the data submitted in the
XML.

In this situation, the original parameters in ICIS may be blank, have received values, or have
NODI codes with received dates.  Table 2-22: Replace DMR Example 5 provides an example.

                          Table 2-22: Replace DMR Example 5
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original
Form NODI
Auxiliary Data- new
Arsenic (01252), 1,1- new
Benzene (34030), 1,1- new
Cadmium (01253), 1,1- new
Auxiliary Data - new
Example 6

If the submitted DMR XML includes:

   One of the expected DMR parameters, with only key data
•  No Auxiliary Data

ICIS will blank out all data for the parameter that was submitted. All other parameters and the
Auxiliary Data section will remain unchanged. Table 2-23: Replace DMR Example 6 provides
an example.

                          Table 2-23: Replace DMR Example 6
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -original
Cadmium (01253), 1,1- original
Auxiliary Data - original

Benzene (34030), 1,1- only key data


Arsenic (01252), 1, 1 -original
Benzene (34030), 1, 1 -new (blank)
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
                                                                                     52
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
Example 7

If the submitted DMR XML includes:

   One parameter with data for specific fields
   Limit Season Number equal to -1 for a parameter that has no matching DMR Form
   Parameters in ICIS

ICIS will reject the transaction. Table 2-24: Change DMR Example 7 provides an example.

                          Table 2-24: Change DMR Example 7
DMR Form in ICIS DB
DMR XML Submission
Result saved to ICIS DB
NPDES ID VA1234567; PF ID: 001; Limit Set Designator: A; MPED 01/31/2007
Arsenic (01252), 1, 1 -original
Benzene (34030), 0, 4 - original
Cadmium (01253), 1,1- original
Auxiliary Data - original

Benzene (34030), 1, -1
(updated values for Report Sample
Type Text and Q1 Numeric Condition
Quantity)


Arsenic (01252), 1, 1 -original
Benzene (34030), 0, 4
Cadmium (01253), 1, 1 -original
Auxiliary Data - original
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------
Office of Enforcement and Compliance Assurance
2.4  BUSINESS RULES

Table 2-25: Batch DMR Business Rules lists the business rules that apply to batch DMR transactions. Each row has a unique Row ID
which identifies the business rule mappings for the processing tables in Section 2 Process and Validation.  The Business Rules column
describes the specific business rule that is being applied to the DMR transaction.  These rules are the same business rules (unless
otherwise indicated as new for Batch functionality) that are currently implemented in the production system. The naming of the data
fields is therefore consistent with the existing production system terminology and not the batch XML schema terminology.  The two
Where Enforced columns identify the code tier that is responsible for enforcing the business rule. The Rejection Tolerance column
identifies the level  of rejection (i.e.; entire DMR, parameter, auxiliary data) that violating the business rule causes. The last three
columns, Error/Warning Code, Transaction Keys, and Error/Warning Message identify the code for error/warning messages, the keys
that identify the specific record, and the specific message (including data) that will be displayed on the audit report along with code.
The error/warning messages use the XML schema terminology for data so that users can easily identify the specific data tags that are
in error. On the audit reports, the key values for each transaction will be concatenated.  The keys that will be displayed for DMR
transactions are listed below in the Transaction Keys column.
                                           Table 2-25: Batch DMR Business Rules
Row ID


1


2





Business Rules


Transaction Type must
be valid for DMRs. Valid
Transaction Types are R
(Replace), C (Change),
and X(Mass Delete).
User must have
privileges to perform the
jansaction.
Note: ICIS does not
have Batch-specific
orivileges. The privileges
for Batch and Web
access are the same.
Where
Enforced
(Web)
N/A


GUI





Where
Enforced
(Batch)
Business rule
layer (new)

Business rule
layer




Rejection
Tolerance

Reject entire DMR
:ransaction

Reject entire DMR
transaction




Error/Warning
Code

DMR010


DMR020





Transaction Keys


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate



Error/Warning Message


Transaction Type
 is not valid for
DMRs.
User  does not
have privileges to
perform a transaction
type> DMR transaction.



Replace/Change Transactions
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                          54

-------
Office of Enforcement and Compliance Assurance
Row ID
3
4
5
6
Business Rules
If Limit Set Type for the
submitted DMR equals
Scheduled, a DMR Form
with values matching
Permit Identifier, PF ID,
LSD, and MPED must
already exist in ICIS.
If Limit Set Type for the
submitted DMR equals
Unscheduled, the
combination of Permit
Identifier, PF ID, and LSD
must exist in the system
and MPED must be valid.
The system will use this
data to generate the
DMR Form if it does not
already exist.
If the DMR contains only

-------
Office of Enforcement and Compliance Assurance
Row ID
7
8
9
10
11
Business Rules
In a Change D MR XML
:ransaction, if Form NODI
data (DMR No Discharge
Indicator, DMR No
Discharge Received
Date) are submitted, no
received DMR Values
may exist for the Form.
=orm NODI Code must
be a valid (i.e., Active)
code in the REF_NODI
table.
Form NODI Received
Date must be less than or
equal to the current date.
All Received Dates on a
DMR Form cannot be
olanked out if any
received values exist for
the DMR Form.
If Form NODI Code is
entered, Form NODI
Received Date must also
be entered, and vice
versa.
Where
Enforced
(Web)
Business rule
layer
Web Tier
Business rule
layer
Business rule
layer
Business rule
layer
Where
Enforced
(Batch)
Business rule
layer
Business rule
layer (new)
Business rule
layer
Business rule
layer
Business rule
layer
Rejection
Tolerance
Reject entire Form
Reject entire Form
Reject entire Form
Reject entire Form
Reject entire Form
Error/Warning
Code
DMR050
DMR060
DMR070
DMR073
DMR076
Transaction Keys
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Error/Warning Message
Form NODI cannot be
entered because at least
one DMR Value exists for
the DMR Form.
DMR No Discharge
Indicator  does
not exist in the ICIS
reference table.
DMR No Discharge
Received Date 
entered must be less
than or equal to the
current date.
An asterisk (*) cannot be
entered for DMR No
Discharge Received Date
because at least one
DMR Value exists for the
DMR Form.
1) DMR No Discharge
Received Date must be
entered because DMR
No Discharge Indicator
has been entered.
2) DMR No Discharge
Indicator must be entered
because DMR No
Discharge Received Date
has been entered.
Parameter Data
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        56

-------
Office of Enforcement and Compliance Assurance
Row ID

12



12A


Business Rules

For each Parameter, the
DMR Parameter Key
[Parameter Code,
Monitoring Location
Code, Season ID) must
exist in ICIS.

Mote: the Limit Season
Numberwill display as -1
if that was what was
submitted.
=or a Parameter, the
DMR Parameter Key
must be unique to one
record.
Note: the Limit Season
Mumber will display as -1
if that is what was
submitted.

Where
Enforced
(Web)
GUI



N/A


Where
Enforced
(Batch)
Business rule
layer (new)



Business rule
layer (new)


Rejection
Tolerance

Reject parameter



Reject parameter


Error/Warning
Code

DMR080



DMR085


Transaction Keys

Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber

Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message

A Parameter does not
exist that matches the
data entered.



Multiple matching
Parameters exist that
match the data entered.


ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        57

-------
Office of Enforcement and Compliance Assurance
Row ID

13







14




Business Rules

If any of the following are
entered for a parameter:
• Sample Type
• Frequency of
Analysis
• Report Number of
Then at least one DMR
Value or T Qualifier must
exist.






Frequency of Analysis
code entered must be a
valid (i.e., Active) code in
the
REF FREQUENCY OF
ANALYSIS table.



Where
Enforced
(Web)
Business rule
layer







Web Tier




Where
Enforced
(Batch)
Business rule
layer







Business rule
layer (new)




Rejection
Tolerance

Reject parameter







Reject parameter




Error/Warning
Code

DMR090







DMR100




Transaction Keys

Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber






Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message

(Report Sample Type
Text: ) or
(Reporting Frequency
Code: ) or Report
Number of Excursions:
) cannot be
entered unless valid data
has been entered for at
least one Numeric
Condition Quantity or T
has been entered for at
least one Numeric
Condition Qualifier for
this parameter.
In the message above,
all XML tags that may
have this error are listed
in parentheses. Only the
tags for which this error
occurs will be included in
the actual error message.
Reporting Frequency
Code  entered
does not exist in the ICIS
reference table.




ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        58

-------
Office of Enforcement and Compliance Assurance
Row ID


15






Business Rules


Sample Type code
entered must be a valid
[i.e., Active) code in the
REF_SAMPLE_TYPE
table.




Where
Enforced
(Web)
Web Tier






Where
Enforced
(Batch)
Business rule
layer (new)





Rejection
Tolerance

Reject parameter






Error/Warning
Code

DMR110






Transaction Keys


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message


Report Sample Type
Text  entered
does not exist in the ICIS
reference table.




Column Data
16







17









For each unique
Parameter entered, only
one of each Value Type
can be entered (i.e., only
one Q1, one Q2, one C1,
one C2, and one C3)




=or each unique
Parameter Code entered,
any Value Type (Q1-C3)
entered must exist in the
DMR Form (i.e., users
cannot enter data for a
parameter column that is
not expected (defined in
the permit with a
corresponding limit that
has a value or is req mon
or opt mon))
GUI







GUI for
Parameter
view and
Business rule
layer for Form
view






Business rule
layer (new)






Business rule
layer








Reject parameter







Reject parameter









DMR120







DMR130









Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber


Numeric Report Code
 has been
entered more than one
time for this parameter,
and only one of each
type of Numeric Report
Code can be entered per
unique parameter.


Numeric Report Code
 entered for this
parameter is not defined
in the permit as expected
data so cannot be
entered in this DMR.






ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        59

-------
Office of Enforcement and Compliance Assurance
Row ID


18







19









Business Rules


DMR Value Received
Date must be less than or
equal to the current date.





For every DMR Value
Received Date, there
must be a corresponding
Value/Adjusted Value or
NODI unless the Qualifier
for the column equals T.






Where
Enforced
(Web)
Business rule
layer






Business rule
layer








Where
Enforced
(Batch)
Business rule
layer






Business rule
layer








Rejection
Tolerance

Reject parameter







Reject parameter









Error/Warning
Code

DMR140







DMR150









Transaction Keys


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber


Error/Warning Message


The following Numeric
Report Received Date(s)
must be less than or
equal to the current date:
value (column).
For this error message,
value and column will be
listed for each column
that has this error.

The following Numeric
Report Received Date(s)
was entered but no
Numeric Condition
Quantity or Numeric
Report No Discharge
Indicator exists: value
(column)
For this error message,
value and column will be
listed for each column
that has this error.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        60

-------
Office of Enforcement and Compliance Assurance
Row ID
20















Business Rules
If any of the following are
entered for a Value Type:
• Adjusted Value
• Unit Code
• Value Qualifier
(except! or=)
Then a DMR Value must
exist for that Value Type.












Where
Enforced
(Web)
Business rule
layer














Where
Enforced
(Batch)
Business rule
layer














Rejection
Tolerance
Reject parameter















Error/Warning
Code
DMR160















Transaction Keys
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber











Error/Warning Message
The following was
entered but a Numeric
Condition Quantity does
not exist: :
(Numeric Condition
Adjusted Quantity:
, Numeric
Condition Qualifier:
).
For this error message,
"" will be
replaced by the column
that is causing the
problem (e.g., Q1).
In the message above,
all XML tags that may
have this error are listed
in parentheses. Only the
tags for which this error
occurs will be included in
the actual error message.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        61

-------
Office of Enforcement and Compliance Assurance
Row ID
20A
























Business Rules
A. If any Quantity Unit
Code exists (i.e., Q1 Unit
Code, Q2 Unit Code), at
least one DMR Value
must exist for Q1 or Q2.

B. If any Concentration
Unit Code exists (i.e., C1
Unit Code, C2 Unit Code,
C3 Unit Code), at least
one DMR Value must
exist for C1, C2, orC3.
















Where
Enforced
(Web)
Business rule
layer























Where
Enforced
(Batch)
Business rule
layer























Rejection
Tolerance
Reject parameter
























Error/Warning
Code
DMR105
DMR106
DMR107






















Transaction Keys
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber

















Error/Warning Message
DMR105:
Quantity Numeric Report
Unit Measure Code
 exists, but no
Quantity Numeric Report
Quantity exists for the
parameter.

DMR106:
Concentration Numeric
Report Unit Measure
Code  exists, but
no Concentration
Numeric Report Quantity
exists for the parameter.
DMR107:
Quantity Numeric Report
Unit Measure Code
 exists, but no
Quantity Numeric Report
Quantity exists for the
parameter.
Concentration Numeric
Report Unit Measure
Code  exists, but
no Concentration
Numeric Report Quantity
exists for the parameter.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        62

-------
Office of Enforcement and Compliance Assurance
Row ID

21





22


23


Business Rules

Adjusted DMR Value can
only be entered if a Trade
Dartner has been defined
for the associated Limit
[Parameter) on the
Dermit.





If Value Qualifier is not
entered the system will
default it to Equals (=)
when a DMR Value is
entered.
If DMR Value is negative
the associated Value
Qualifier cannot be Less
Than (<).


Where
Enforced
(Web)
Business rule
layer





GUI


Business rule
layer


Where
Enforced
(Batch)
Business rule
layer





Business rule
layer (new)

Business rule
layer


Rejection
Tolerance

Reject parameter





N/A


Reject parameter


Error/Warning
Code

DMR170





N/A


DMR180


Transaction Keys

Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber


N/a


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message

The following Numeric
Condition Adjusted
Quantity(ies) was
entered but a Trade
Partner does not exist for
the Limit and so the data
cannot be entered for this
DMR parameter: value
(column).
For this error message,
value and column will be
listed for each column
that has this error.
N/A


The following Numeric
Condition Quantity(ies) is
negative, so the Numeric
Condition Qualifier
cannot be Less than (<):
value (column).
For this error message,
value and column will be
listed for each column
that has this error.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        63

-------
Office of Enforcement and Compliance Assurance
Row ID

24






25


Business Rules

If Value Qualifier = T, the
following fields must be
blank for that Value Type:
DMR Value
Adjusted DMR Value
NODI






If T is entered as the
Value Qualifier then the
Unit Code for the
associated Limit for that
Value Type must have T
listed as a valid qualifier
For the Unit Code in the
REFJJNIT table.

Where
Enforced
(Web)
Business rule
layer






Business rule
layer


Where
Enforced
(Batch)
Business rule
layer






Business rule
layer


Rejection
Tolerance

Reject parameter






Reject parameter


Error/Warning
Code

DMR190






DMR200


Transaction Keys

Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber





Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber

Error/Warning Message

When a Numeric
Condition Qualifier T is
entered the following
cannot be entered:
 (Numeric
Condition Quantity:
, Numeric
Condition Adjusted
Quantity: ,
Numeric Report No
Discharge Indicator:
)
For this error message,
"" will be
replaced by the column
that is causing the
problem (e.g., 1).
In the message above,
all XML tags that may
have this error are listed
in parentheses. Only the
tags for which this error
occurs will be included in
the actual error message.
For Numeric Report
Code(s) ,
Numeric Condition
Qualifier of T has been
entered. The associated
Limit's Unit Code does
not have T listed as a
valid qualifier.
For this error message,
value and column will be
listed for each column
that has this error.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        64

-------
Office of Enforcement and Compliance Assurance
Row ID


26







27







29







Business Rules


If Value Qualifier = T the
following fields are
required:
Value Type
Value Received Date.





If a DMR Value is
entered, DMR Value
Received Date must exist
for the specified Value
Type.





If a Value NODI is
entered, DMR Value
Received Date must exist
For the specified Value
Type.





Where
Enforced
(Web)
Business rule
layer






Business rule
layer






Business rule
layer






Where
Enforced
(Batch)
Business rule
layer






Business rule
layer






Business rule
layer






Rejection
Tolerance

Reject parameter







Reject parameter







Reject parameter







Error/Warning
Code

DMR210







DMR220







DMR240







Transaction Keys


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message


1 ) When T is entered as
the Numeric Condition
Qualifier, Numeric Report
Code must be entered.
2) When T is entered as
the Numeric Condition
Qualifier, Numeric Report
Received Date must be
entered.

Numeric Condition
Quantity was entered but
no Numeric Report
Received Date exists for
the following: value
(column).
For this error message,
value and column will be
listed for each column
that has this error.
Numeric Report No
Discharge Indicator
cannot be entered
because no Numeric
Report Received Date
exists: value (columns).
For this error message,
value and column will be
listed for each column
that has this error.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        65

-------
Office of Enforcement and Compliance Assurance
Row ID


30



















31







Business Rules


If Value NODI is entered,
:he following cannot exist
For the specified Value
Type:
DMR Value
Adjusted DMR Value
Value Qualifier (except =)
















Value NODI must be a
valid (i.e., Active) code in
the REF_NODI table.





Where
Enforced
(Web)
Business rule
layer


















Web Tier







Where
Enforced
(Batch)
Business rule
layer


















Business rule
layer (new)






Rejection
Tolerance

Reject parameter



















Reject parameter







Error/Warning
Code

DMR250



















DMR260







Transaction Keys


Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber














Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message


When a Numeric Report
No Discharge Indicator is
entered the following
cannot be entered:
 (Numeric
Condition Quantity:
, Numeric
Condition Adjusted
Quantity: ,
Numeric Report No
Discharge Indicator:
)
For this error message,
"" will be
replaced by the column
that is causing the
problem.
In the message above,
all XML tags that may
have this error are listed
in parentheses. Only the
tags for which this error
occurs will be included in
the actual error message.
Numeric Report No
Discharge Indicator does
not exist in the ICIS
reference table for the
following: value (column).
For this error message,
value and column will be
listed for each column
that has this error.

ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        66

-------
Office of Enforcement and Compliance Assurance
Row ID


32








33







36







Business Rules


If Unit Code is not
associated with a value,
:he corresponding Unit
Code defined for the
associated Limit
(Parameter) Value Type
[Quantity or
Concentration) on the
Dermit will be used.
Unit Code must be
included in the Unit
Group defined for the
Parameter.





If Percent Exceedence is
greater than 500%,
oresent a warning
message to the user but
save the data.





Where
Enforced
(Web)
Business rule
layer







Business rule
layer






Business rule
layer






Where
Enforced
(Batch)
Business rule
layer







Business rule
layer






Business rule
layer






Rejection
Tolerance

N/A








Reject parameter







N/A







Error/Warning
Code

N/A








DMR270







DMR300







Transaction Keys


N/A








Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate

ParameterCode
MonitoringSiteDescriptionC
ode
LimitSeasonNumber
Error/Warning Message


N/A








The following Numeric
Report Unit IMeasure(s)
must be included in the
Unit Group for the
parameter: value
(column).
For this error message,
value and column will be
listed for each column
that has this error.
Warning: The following
Numeric Condition
Quantity(ies) has a
Percent Exceedence
greater than 500%:
column.
For this error message,
value and column will be
listed for each column
that has this error.
Auxiliary Data
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        67

-------
Office of Enforcement and Compliance Assurance
Row ID
37
38
39
40
41
42
Business Rules
Data cannot be entered
for General DMR Info,
_and Application, Surface
Disposal, Co-Disposal,
and Incinerator unless
one valid DMR Received
Date exists.
DMR Authorized
Signatory Date must be
ess than or equal to the
current date.
Pollutant Met (Land
Application) must be a
valid (i.e., Active) code in
the
REF POLLUTANT TAB
LE table.
Crop Types Planted
[Land Application) must
oe a valid (i.e., Active)
code in the
REF_CROP_TYPE table.
Crop Types Harvested
[Land Application) must
oe a valid (i.e., Active)
code in the
REF_CROP_TYPE table.
Class A Alternative Used
(Land Application and
Surface Disposal) must
se a valid (i.e., Active,
Alternative_Used_Type_
Code = A) code in the
REF ALTERNATIVE US
ED table.
Where
Enforced
(Web)
GUI
Business rule
layer
GUI
GUI
GUI
GUI
Where
Enforced
(Batch)
Business rule
layer (new)
Business rule
layer
Business rule
layer (new)
Business rule
layer (new)
Business rule
layer (new)
Business rule
layer (new)
Rejection
Tolerance
Reject auxiliary
data
Reject auxiliary
data
Reject auxiliary
data
Reject auxiliary
data
Reject auxiliary
data
Reject auxiliary
data
Error/Warning
Code
DMR310
DMR320
DMR330
DMR340
DMR350
DMR360
Transaction Keys
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Error/Warning Message
Data cannot exist for the
following unless a valid
Numeric Report
Received Date exists for
this DMR: (list all data
elements, by section).
Signature Date 
entered must be less
than or equal to the
current date.
Pollutant Met for Land
Application  does
not exist in the ICIS
reference table.
Crop Types Planted
 does not exist in
the ICIS reference table.
Crop Types Harvested
 does not exist in
the ICIS reference table.
Class A Alternative Used
 does not exist in
the ICIS reference table.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        68

-------
Office of Enforcement and Compliance Assurance
Row ID
43
44
Business Rules
Class B Alternative Used
[Land Application and
Surface Disposal) must
be a valid (i.e., Active,
Alternative_Used_Type_
Code = B) code in the
REF ALTERNATIVE US
ED table.
VAR Alternative Used
(Land Application and
Surface Disposal) must
oe a valid (i.e., Active,
Alternative_Used_Type_
Code = V) code in the
REF ALTERNATIVE US
ED table.
Where
Enforced
(Web)
GUI
GUI
Where
Enforced
(Batch)
Business rule
layer (new)
Business rule
layer (new)
Rejection
Tolerance
Reject auxiliary
data
Reject auxiliary
data
Error/Warning
Code
DMR370
DMR380
Transaction Keys
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Error/Warning Message
Class B Alternative Used
 does not exist in
the ICIS reference table.
VAR Alternative Used
 does not exist in
the ICIS reference table.
Delete Transactions
45
46
In a delete DMR
:ransaction, the specified
DMR form must already
exist in ICIS.
A DMR Form cannot be
deleted if it is linked to a
Drogram Report.
GUI
Business rule
layer
Business rule
layer (new)
Business rule
layer
Reject entire Form
Reject entire Form
DMR400
DMR410
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
A DMR Form matching
the key data provided
does not exist in ICIS.
The DMR Form cannot
be deleted because it is
linked to a Program
Report.
Background Processing
48
If Background Processing
does not complete
successfully, roll back all
changes for the XML
:ransaction.
N/A
Business rule
layer (new)
Reject entire
=orm.
DMR450
Permitldentifier
PermittedFeatureldentifier
LimitSetDesignator
MonitoringPeriodEndDate
An error has occurred
while processing the data
for this DMR Form. No
data were saved for this
form, and the XML
transaction must be
resubmitted.
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final
                                                                                                                                        69

-------
Office of Enforcement and Compliance Assurance
APPENDIX A: ACRONYMS
                             Table A-6-1: Acronym List
Acronym
CDX
DMR
EPA
ERD
ICIS
LSD
MPED
NODI
NPDES
PCS
PF ID
XML
Definition
Central Data Exchange
Discharge Monitoring Report
Environmental Protection Agency
Entity Relationship Diagram
Integrated Compliance Information System
Limit Set Designator
Monitoring Period End Date
No Discharge Indicator
National Pollutant Discharge Elimination System
Permit Compliance System
Permitted Feature Identifier
Extensible Markup Language
                                                                                 70
ICIS Batch - DMR Technical Specification, Version 1.1 - Revised Final

-------