+ All Categories
Home > Documents > icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location...

icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location...

Date post: 11-May-2018
Category:
Upload: hoangminh
View: 227 times
Download: 1 times
Share this document with a friend
46
Office of Enforcement and Compliance Assurance Integrated Compliance Information System ICIS Batch DMR and Schedule Event Violation - Technical Specification Version 1.2 Revised Final June 18, 2012
Transcript
Page 1: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Integrated Compliance Information System

ICIS BatchDMR and Schedule Event Violation - Technical

Specification

Version 1.2

Revised Final

June 18, 2012

Page 2: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Document Change History

Version Number Date Description0.1 May 26, 2011 Initial Draft Release.

1.0 July 1, 2011 Incorporated EPA comments.Updated the document based on the redesign agreed

upon by Booz Allen and EPA:• Rewrote the business rules to be shared between

DMR and Schedule Event Violation. Single Event Violation will also be updated to share the same rules and error codes. Updated the business rules and error messages. Added new rules, edited rules, and removed rules. The old rules can be found in the draft version of the technical specification.

• Removed the sub-flow Process Generate RNC Information.

• Changed the triggers for BGP. Removed the trigger from the tech spec to call BGP when both RNC Resolution Data elements are blanked out for DMR Non-Receipt and Schedule Event Violations since the new rules prevent the user from blanking these out. Updated the trigger for calling EA RNC BGP. This now applies to all types of Violations instead of just Effluent and Single Event Violations. Also, changed “manually noncompliant” to “noncompliant” since the user can now submit an automatically noncompliant code (i.e., 1).

• Revised the example scenarios as needed to reflect the redesign changes.

1.1 March 16, 2012 Updated the Background Processing trigger for Change Schedule Event Violation Removed the condition where RNC Resolution Code = A.

Updated the text in the business rule column for VIO090. Changed REF_RNC_DETECTION_TABLE to REF_RNC_DETECTION table.

Removed the DMR Data Processing - Update BGP call for Effluent Violations in the Change DMR Violation Processing Flow.

Added new business rule VIO055 and upfront flow check that applies to DMR Non-Receipt and Schedule Event Violation that says that the Violation cannot be edited if all of the RNC data elements in ICIS were previously blank.

Updated the business rule column of VIO100. Made it clearer that this rule only applies to Effluent and Single Event Violations.

Modified the business rule and error message for VIO060. Made this a batch-only rule that applies only to DMR Non-Receipt Violations. Also modified the flow diagram for this early exit point rule.

Added a new business rule: VIO095. The new rule applies only to Effluent Violations and is checked in the “Are data valid” step.

Removed the BGP trigger for EA RNC Processing that says to only call the process when the Violation is Non-Compliant and linked to one or more Final Orders. EA RNC

iICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 3: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Version Number Date DescriptionProcessing is now called for every saved Violation.

Modified the Schedule Event Violation flow diagram and added the steps 4 and 4A for VIO055. Also moved this step to be before the Are data valid step.

Removed VIO080 from the Are data valid step in the supporting table of the Change Schedule Event Violation flow. This business rule will never get triggered for Schedule Event Violations since it is covered by rule VIO055.

Updated the business rule and error message for VIO055 to say that all the RNC data elements must exist, instead of they cannot all be blank.

Added a note to the business rule VIO080 to specify that it cannot be triggered for DMR Non-Receipt and Schedule Event Violations due to business rule VIO055.

Updated the privileges for Change Schedule Event Violations. Added that a user must have sensitive data access in order to edit a Compliance Schedule Event Violation if its parent Enforcement Action is sensitive.

1.2 June 18, 2012 Updated the data type in the data element mapping for the tag FinalOrderIdentifier from icis:NonNegativeIntegerMin1Max5Type to icis:IntegerRange1To99999Type.

iiICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 4: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Table of Contents

1. INTRODUCTION.....................................................................................................................5

1.1 PURPOSE.................................................................................................................................61.2 ASSUMPTIONS AND CONSTRAINTS.........................................................................................61.3 DOCUMENT OVERVIEW..........................................................................................................7

2. VALIDATION AND PROCESSING.......................................................................................8

2.1 GENERAL BATCH PROCESSING RULES...................................................................................92.1.1 Asterisks.........................................................................................................................92.1.2 Multi-Value Items...........................................................................................................92.1.3 Default Values................................................................................................................9

2.2 CHANGE (C) DMR VIOLATION PROCESSING.........................................................................92.2.1 Change DMR Violation Processing Flow....................................................................102.2.2 Find Limit Season Number Flow.................................................................................162.2.3 Change DMR Violation Sample Scenarios..................................................................19

2.3 CHANGE (C) SCHEDULE EVENT VIOLATION PROCESSING...................................................202.3.1 Change Schedule Event Violation Processing Flow....................................................202.3.2 Change Schedule Event Violation Sample Scenarios..................................................24

2.4 DMR AND SCHEDULE EVENT VIOLATION BUSINESS RULES...............................................26

3. DATA ELEMENT MAPPING...............................................................................................30

3.1 DMR VIOLATION DATA ELEMENT MAPPING......................................................................303.2 SCHEDULE EVENT VIOLATION DATA ELEMENT MAPPING..................................................31

4. XML SCHEMA.......................................................................................................................33

Appendix A: Acronyms.................................................................................................................34

iiiICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 5: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

List of Tables

Table 2-1: Change DMR Violation Processing.............................................................................12Table 2-2: Find Limit Season Number Processing........................................................................17Table 2-3: Change DMR Violation Example 1.............................................................................19Table 2-4: Change DMR Violation Example 2.............................................................................19Table 2-5: Change DMR Violation Example 3.............................................................................20Table 2-6: Change Schedule Event Violation Processing.............................................................22Table 2-7: Change Schedule Event Violation Example 1.............................................................24Table 2-8: Change Schedule Event Violation Example 2.............................................................24Table 2-9: Change Schedule Event Violation Example 3.............................................................25Table 2-10: DMR and Schedule Event Violation Business Rules................................................26Table 3-1: Batch DMR Violation Data Element Mapping............................................................30Table 3-2: Batch Schedule Event Violation Data Element Mapping...........................................................31

Table A-1: Acronym List...............................................................................................................34

List of Figures

Figure 2-1: Change DMR Violation Processing............................................................................11Figure 2-2: Find Limit Season Number.........................................................................................16Figure 2-3: Change Schedule Event Violation Processing............................................................21

ivICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 6: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

1. INTRODUCTION

Many states already have their own tracking systems for National Pollutant Discharge Elimination System (NPDES) data. When those states are migrated to the Integrated Compliance Information System (ICIS), having them enter these data in ICIS through the Web interface would require them to perform duplicative data entry. Instead, users from these states may enter data in ICIS through batch submissions by which they extract data from their state system and submit it to ICIS in Extensible Markup Language (XML) files. The type of data a state submits through batch depends on the type of data tracked in their state system.

Current users of ICIS include Headquarters, Regions, direct-user states, hybrid states using Batch Discharge Monitoring Report (DMR) functionality, and full batch states. Batch modules are being added in groups, and the DMR Violation and Schedule Event Violation modules are part of Full Batch Release 3. The DMR and Schedule Event Violation Technical Specification covers only State NPDES Violations.

The purpose of the Violations module is to record and track potential Violations that are both entered manually and generated by the system. There are three types of Violations: DMR, Schedule Event, and Single Event. The focus of this technical specification is the submission of DMR Violation and Schedule Event Violation data to ICIS through batch XML transactions. Data for other areas of the ICIS system (e.g., Single Event Violations, Enforcement Action Violation Linkage) will be addressed in separate technical specifications.

The general process for states to submit batch data was defined for batch DMR processing and remains unchanged. States do not submit batch data directly to ICIS. Instead, 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 state 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 state, CDX performs several important functions. They perform a virus scan to ensure that the state files are free of viruses and then assign a unique Transaction ID to the batch. This Transaction ID maps directly to the Batch ID that ICIS uses internally to manage processing. ICIS uses this Transaction ID to communicate information about the batch to CDX and the state. CDX then archives the batch and validates the XML files based on the rules in the XML schema. If problems are detected, CDX notifies the state 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 state user’s ID in the ICIS system.

• “Transaction ID” refers to the identifier CDX provides for each batch.

5ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 7: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

• “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 (DB) refers to the batch identifier assigned by ICIS to make processing more efficient.

• “Payload” in a batch refers to all of the XML transactions for a submission type.

A batch may contain many XML files, and within each XML file there can be up to one Payload for each Submission Type (DMR Violation or Schedule Event Violation). Each Payload may contain one or many XML transactions, each of which contains the DMR Violation or Schedule Event Violation data and a specific transaction type that identifies how ICIS should process the data. For DMR Violations and Schedule Event Violations, the only valid transaction type is Change. The details of the DMR Violation and Schedule Event Violation transaction types are described in Section 2: Validation and Processing. After receiving a batch from CDX, ICIS parses it and saves each DMR Violation or Schedule Event Violation XML transaction to the database so that the individual DMR Violation or Schedule Event Violation XML transactions can be ordered and processed. After processing is complete for all files in a batch, ICIS sends a response notification to CDX, which then notifies the state, regional, or headquarters user when processing is complete.

1.1 Purpose

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

A major section of this DMR and Schedule Event Violation Technical Specification, Section 2: Validation and Processing, details the Change XML transaction type for DMR Violations and Schedule Event Violations. Provided with these transactions are the business rules that govern batch DMR Violation and Schedule Event Violation transactions, as well as 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.

1.2 Assumptions and Constraints

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

• ICIS will process batches within a state in the order they are received from CDX. CDX will not apply a timestamp to each batch that is submitted by the state. In addition, CDX cannot guarantee that batches will be sent to ICIS in the same order that CDX received them from the state. As a result, ICIS cannot guarantee that batches will be processed in the order in which the state submitted them.

6ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 8: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

• Users will submit batch files to CDX in the correct chronological order. A procedure will be put in place by each state to ensure that a state sends only one batch at a time, 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.

• The business rules for DMR Violations and Schedule Event Violations entered via batch should be the same as DMR Violations and Schedule Event Violations entered via the web application. Any differences will be noted in the “Where Enforced (Web)” Column of the Business Rules table in Section 2: Validation and Processing.

• Design decisions will be made to minimize software changes that will be needed to incorporate the batch entry of other data families. EPA will be consulted, as appropriate, as these decisions are made.

• ICIS will not save a transaction if there are any errors within the transaction, though transactions will be saved if only warnings/informational messages exist. 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 Change DMR Violation and Change Schedule Event Violation XML transactions, and the business rules that apply to each transaction type.

• Section 3: Data Element Mapping – This section provides a mapping between the Permit Compliance System (PCS) Acronym, XML Tag Name, ICIS Screen Name, and ICIS Database Name for DMR Violation and Schedule Event Violation data elements.

• Section 4: XML Schema – This section provides a list of the XML schemas related to DMR Violations and Schedule Event Violations.

• Appendix A: Acronyms – This section provides a list of all acronyms used in the document.

7ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 9: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

2. VALIDATION AND PROCESSING

After receiving a batch from CDX, ICIS parses the batch DMR Violation and Schedule Event Violation XML transactions, saves each to the database, and groups them by transaction type. The only valid transaction type for DMR Violations is Change and the only valid transaction type for Schedule Event Violations is Change. ICIS must process these groups in the proper order to achieve the desired results. The ICIS Batch Design Document Appendix D: ICIS Batch Submission Types and Processing Order details the processing order for all ICIS batch submissions. This section describes specific fields that require special processing as well as the detailed processing of the DMR Violation and Schedule Event Violation transaction types.

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 Violation transactions are:

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

Within a single Schedule Event Violation XML transaction, a user can either edit a Permit Schedule Event Violation or edit a Compliance Schedule Event Violation. If a Permit Schedule Event Violation is edited, the XML transaction must contain the following key values:

• Permit Identifier• Narrative Condition Number• Schedule Event Code• Schedule Date• Schedule Violation Code

If a Compliance Schedule Event Violation is edited, the XML transaction must contain the following key values:

• Enforcement Action Identifier• Final Order Identifier• Permit Identifier• Compliance Schedule Number• Schedule Event Code• Schedule Date• Schedule Violation Code

8ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 10: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

The following sub-sections describe general processing rules related to asterisks and the detailed processing of DMR Violation and Schedule Event Violation XML transactions.

2.1 General Batch Processing Rules

It is important to understand the following general batch processing rules for ICIS:

2.1.1 Asterisks

Users must have the ability to remove data from fields through batch transactions. This is accomplished through the use of asterisks (*). The asterisk is not stored in ICIS, but instead is used to signal the system that the field should be blanked out.

2.1.2 Multi-Value Items

Data fields or sections for which multiple values can be entered are referred to as multi-value items. The DMR Violation and Schedule Event Violation submission types do not contain any multi-value items.

2.1.3 Default Values

The DMR Violation and Schedule Event Violation submission types do not contain any default values.

2.2 Change (C) DMR Violation Processing

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

For DMR Non-Receipt Violation (i.e., Numeric Report Violation Code = D) transactions, users can edit the RNC Resolution Code and the RNC Resolution Date, but cannot edit the RNC Detection Code or RNC Detection Date.

For Effluent DMR Violation (i.e., Numeric Report Violation Code = E) transactions, users can edit all four of the RNC data elements.

ICIS will search for a DMR Non-Receipt Violation (i.e., Violation Code = D80 or D90) if the Numeric Report Violation Code submitted is D and will search for an Effluent Violation (i.e., Violation Code = E90) if the Numeric Report Violation Code submitted is E.

If -1 is submitted for the Limit Season Number for a DMR Non-Receipt or Effluent Violation, then ICIS will edit the Violation only if one Violation exists for the DMR Violation key data submitted excluding Limit Season Number and Numeric Report Violation Code: Permit Identifier, Permitted Feature Identifier, Limit Set Designator, Monitoring Period End Date, Parameter Code, Monitoring Site Description Code, and Numeric Report Code.

9ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 11: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

The processing of a Change DMR Violation transaction is described below. Also included in this section are sample Change DMR Violation scenarios.

2.2.1 Change DMR Violation Processing Flow

Figure 2-1: Change DMR Violation Processing is a diagram depicting the processing of a Change DMR Violation transaction. A table detailing each step in the flow diagram is also included in this section.

10ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 12: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Figure 2-1: Change DMR Violation Processing

11ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 13: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Table 2-1: Change DMR Violation Processing contains a description of the items in the above flow. The Item Number column refers to the Processing step being referenced. The Item Description column gives a more in-depth explanation of each step of the process. The Mapping to Business Rules Table column references the specific business rules that are checked in that step.

Table 2-1: Change DMR Violation ProcessingItem

NumberItem Description Mapping to Business Rule Table

1 Does submitted Limit Season Number equal -1?ICIS determines if the submitted Limit Season Number equals -1. If this is true, processing continues at #1A, otherwise processing continues at #2.

N/A

1A Find Limit SeasonProcessing continues at Figure 2-2: Find Limit Season Number and then processing continues at #1B.

N/A

1B Were any error messages returned?ICIS determines if any error messages were returned during the processing of Find Limit Season Number. If this is true, processing continues at #1C, otherwise processing continues at #6.

N/A

1C Reject transaction.ICIS has determined that one or more business rules were violated during the processing of Find Limit Season Number. ICIS rejects the transaction and ends processing of the transaction.

N/A

2 Does submitted Numeric Report Violation Code equal D?ICIS determines if the submitted Numeric Report equals D. If this is true, processing continues at #2A, otherwise processing continues at #3.

N/A

2A Find all DMR Non-Receipt records in ICIS_NPDES_VIOLATION that match the submitted transaction keys, excluding Numeric Report Violations Code.ICIS has determined that the Numeric Report Violation Code submitted equals D and identifies all DMR Non-Receipt matching Violations (Violation Code = D80 or D90) in the database from the ICIS_NPDES_VIOLATION table which match the submitted keys:

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

Processing continues at #4.

N/A

12ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 14: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Item Number

Item Description Mapping to Business Rule Table

3 Find all Effluent records in ICIS_NPDES_VIOLATION that match the submitted transaction keys, excluding Numeric Report Violations Code.ICIS has determined that the Numeric Report Violation Code submitted equals E and identifies all Effluent matching Violations (Violation Code = E90) in the database from the ICIS_NPDES_VIOLATION table which match the submitted keys:

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

Processing continues at #4.

N/A

4 Does a DMR Violation exist in ICIS for the key data entered excluding Numeric Report Violation Code?ICIS determines if a DMR Violation exists in ICIS that matches the key data submitted excluding Numeric Report Violation Code. If this is true, processing continues at #5, otherwise processing continues at #4A.

VIO030

4A Reject transaction. Write 1 error message to the error log.ICIS has determined that a DMR Violation does not exist, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO030

5 Update transaction to use the Numeric Report Violation Code from the matching Violation.ICIS updates the transaction to use the Numeric Report Violation Code from the matching Violation. Processing continues at #6.

N/A

6 Does user have privileges to perform Change DMR Violation XML transaction?ICIS determines if the user has privileges to perform a Change DMR Violation transaction and if the user has the authority to conduct a Change DMR Violation transaction for the state requested. ICIS applies the same security rules for batch as it does for the web, and uses the same set of permissions. The user must have the Edit DMR Non-receipt Violation function and the Edit Effluent Violation function, which are available as part of the Violation Editor role. If this is true, processing continues at #7, otherwise processing continues at #6A.

BAT020

6A Reject transaction. Write 1 error message to the error log.ICIS has determined that the user does not have appropriate privileges, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

BAT020

13ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 15: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Item Number

Item Description Mapping to Business Rule Table

7 Does submission contain data other than key data?ICIS determines if any data other than key data were submitted. If this is true, processing continues at #8, otherwise processing continues at #7A.

VIO050

7A Reject transaction. Write 1 error message to the error log.ICIS has determined that data other than key data were not submitted, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO050

8 Is Violation eligible to be edited?ICIS determines if the Violation is eligible to be edited based on the business rules identified. If it is editable, processing continues at #8A, otherwise processing continues at #9.

VIO055, VIO060

8A Reject transaction. Write 1 error msg per business rule violation to the error log.ICIS has determined that the Violation cannot be edited based on the business rules identified, rejects the transaction, writes an error message to the error log for each violation, and ends processing of the transaction.

VIO055, VIO060

9 Overlay changed fields.ICIS overlays the fields from the transaction over the current fields in ICIS. Processing continues at #10.

N/A

10 Are data valid?ICIS determines if the transaction is valid according to the business rules identified. If this condition is true, processing continues at #11, otherwise processing continues at #10A.

VIO (070, 080, 090, 095, 100, 110, 120, 130, 140)

10A Reject transaction. Write 1 error msg per business rule violation to the error log.ICIS has determined that the transaction is not valid according to the business rules identified, rejects the transaction, writes an error message to the error log for each business rule violation, and ends processing of the transaction.

VIO (070, 080, 090, 095, 100, 110, 120, 130, 140)

11 Call EA RNC Processing for the Violation.ICIS calls the EA RNC background process to update the RNC data elements. Refer to the RNC Technical Specification for more details. Processing continues at #11A.

N/A

11A Did Background Processing Complete Successfully?ICIS determines if background processing completed successfully. If this is true, processing continues at #12, otherwise processing continues at #11B.

VIO150

11B Reject transaction. Write 1 error message to the error log.ICIS has determined that background processing did not successfully complete, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO150

12 Save the DMR Violation to the database.ICIS has determined that the Change DMR Violation transaction is valid. The Violation is saved to the ICIS database and processing continues at #13.

N/A

14ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 16: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Item Number

Item Description Mapping to Business Rule Table

13 Accept transaction.ICIS logs a successful Change DMR Violation transaction and processing ends.

N/A

15ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 17: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

2.2.2 Find Limit Season Number Flow

Figure 2-2: Find Limit Season Number is a diagram depicting the processing to determine which DMR Violation to edit if the Limit Season Number submitted equals -1. A table detailing each step in the flow diagram is also included in this section.

Figure 2-2: Find Limit Season Number

16ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 18: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Table 2-2: Find Limit Season Number Processing contains a description of the items in the above flow. The Item Number column refers to the Processing step being referenced. The Item Description column gives a more in-depth explanation of each step of the process. The Mapping to Business Rules Table column references the specific business rules that are checked in that step.

Table 2-2: Find Limit Season Number ProcessingItem

NumberItem Description Mapping to Business Rule Table

1 Does submitted Numeric Report Violation Code equal D?ICIS determines if the submitted Numeric Report equals D. If this is true, processing continues at #1A, otherwise processing continues at #2.

N/A

1A Find all DMR Non-Receipt records in ICIS_NPDES_VIOLATION that match the submitted transaction keys, excluding Limit Season Number and Numeric Report Violations Code.ICIS has determined that the Numeric Report Violation Code submitted equals D and the Limit Season Number submitted equals -1 and identifies all matching DMR Non-Receipt Violations (Violation Code = D80 or D90) in the database from the ICIS_NPDES_VIOLATION table which match the submitted keys:

• Permit Identifier• Permitted Feature Identifier• Limit Set Designator• Monitoring Period End Date• Parameter Code• Monitoring Site Description Code• Numeric Report Code

Processing continues at #3.

N/A

2 Find all Effluent records in ICIS_NPDES_VIOLATION that match the submitted transaction keys, excluding Limit Season Number and Numeric Report Violations Code.ICIS has determined that the Numeric Report Violation Code submitted equals E and the Limit Season Number submitted equals -1 and identifies all matching Effluent Violations (Violation Code = E90) in the database from the ICIS_NPDES_VIOLATION table which match the submitted keys:

• Permit Identifier• Permitted Feature Identifier• Limit Set Designator• Monitoring Period End Date• Parameter Code• Monitoring Site Description Code• Numeric Report Code

Processing continues at #3.

N/A

17ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 19: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Item Number

Item Description Mapping to Business Rule Table

3 Any matching Violations found?ICIS determines whether there are any matching Violations for the transaction based on the results of #2 or #2A. If no matching Violations are found, processing continues at #3A. If at least one matching Violation is found, processing continues at #4.

VIO030

3A Write 1 error message to the error log.ICIS has determined that a DMR Violation does not exist for the key data entered and writes an error message to the error log. Processing continues at #3B.

VIO030

3B Return to calling programICIS returns to the calling program (Figure 2-1: Change DMR Violation Processing).

N/A

4 Only one matching Violation found?ICIS determines whether there is one or more matching Violations for the transaction based on the results of #2 or #2A. If multiple matching Violations are found, processing continues at #4A. If only one matching Violation is found, processing continues at #5.

VIO040

4A Write 1 error message to the error log.ICIS has determined that more than one Violation exists for the key data entered and writes an error message to the error log. Processing continues at #4B.

VIO040

4B Return to calling programICIS returns to the calling program (Figure 2-1: Change DMR Violation Processing).

N/A

5 Update transaction to use the Limit Season Number and Numeric Report Violation Code from the matching Violation.ICIS updates the transaction to use the Limit Season Number and the Numeric Report Violation Code from the matching Violation. Processing continues at #6.

N/A

6 Return to calling programICIS returns to the calling program (Figure 2-1: Change DMR Violation Processing).

N/A

18ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 20: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

2.2.3 Change DMR Violation Sample Scenarios

Examples of possible Change DMR Violation scenarios are described below.

Example 1

If the submitted Change DMR Violation XML includes:

• Valid key data for a DMR Non-Receipt Violation that exists in ICIS• Valid data

ICIS will accept the transaction and edit the DMR Violation in ICIS with the data submitted. Table 2-3: Change DMR Violation Example 1 provides an example.

Table 2-3: Change DMR Violation Example 1

DMR Violation in ICIS DB DMR Violation XML Submission Result in ICIS DB After ProcessingNPDES ID WY0000001; Permitted Feature ID: 001; Limit Set Designator: A; Monitoring Period End Date: 11/30/2009; Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D

RNC Detection Code: N RNC Detection Code: N

RNC Detection Date: 01/15/2010 RNC Detection Date: 01/15/2010

RNC Resolution Code: 8 RNC Resolution Code: 7 RNC Resolution Code: 7

RNC Resolution Date: 04/06/2011 RNC Resolution Date: 05/07/2011 RNC Resolution Date: 05/07/2011

Example 2

If the submitted Change DMR Violation XML includes:

• Valid key data for a DMR Non-Receipt Violation that exists in ICIS• Data that violate a business rule (i.e., RNC Detection data cannot be submitted for DMR

Non-Receipt Violations)

ICIS will reject the transaction, and the DMR Violation will not be updated in ICIS because RNC Detection data cannot be submitted for DMR Non-Receipt Violations. Table 2-4: Change DMR Violation Example 2 provides an example.

Table 2-4: Change DMR Violation Example 2

DMR Violation in ICIS DB DMR Violation XML Submission Result in ICIS DB After ProcessingNPDES ID WY0000001; Permitted Feature ID: 001; Limit Set Designator: A; Monitoring Period End Date: 11/30/2009; Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: C2; Violation Code: D

RNC Detection Code: N RNC Detection Code: K RNC Detection Code: N

RNC Detection Date: 01/15/2010 RNC Detection Date: 01/30/2010 RNC Detection Date: 01/15/2010

RNC Resolution Code: 8 RNC Resolution Code: 7 RNC Resolution Code: 8

RNC Resolution Date: 04/06/2011 RNC Resolution Date: 05/07/2011 RNC Resolution Date: 04/06/2011

19ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 21: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Example 3

If the submitted Change DMR Violation XML includes:

• Valid key data for an Effluent Violation that exists in ICIS• Data that violate a business rule (i.e., RNC Detection Date must be greater than or equal to

the Violations Date)

ICIS will reject the transaction, and the DMR Violation will not be updated in ICIS because the RNC Detection Date is less than the Violation Date (Monitoring Period End Date) of the DMR Form. Table 2-5: Change DMR Violation Example 3 provides an example.

Table 2-5: Change DMR Violation Example 3

DMR Violation in ICIS DB DMR Violation XML Submission Result in ICIS DB After ProcessingNPDES ID WY0000001; Permitted Feature ID: 001; Limit Set Designator: A; Monitoring Period End Date: 11/30/2009; Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: C3; Violation Code: E

RNC Detection Code: X RNC Detection Code: Y RNC Detection Code: X

RNC Detection Date: 05/06/2011 RNC Detection Date: 10/01/2009 RNC Detection Date: 05/06/2011

RNC Resolution Code: 8 RNC Resolution Code: 8

RNC Resolution Date: 05/06/2011 RNC Resolution Date: 05/06/2011

2.3 Change (C) Schedule Event Violation Processing

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

In each Change Schedule Event Violation XML transaction, a user can edit either a Permit Schedule Event Violation or a Compliance Schedule Event Violation. The only processing difference between the two is that different XML key values are submitted for Permit Schedule Event Violations compared to Compliance Schedule Event Violations.

Schedule Event Violations can only be edited if the Violation Code = C30 or C40. C10 and C20 Violations cannot be edited. In addition, users can edit the RNC Resolution Code and the RNC Resolution Date, but cannot edit the RNC Detection Code or RNC Detection Date.

The processing of a Change Schedule Event Violation transaction is described below. Also included in this section are sample Change Schedule Event Violation scenarios.

2.3.1 Change Schedule Event Violation Processing Flow

Figure 2-3: Change Schedule Event Violation Processing is a diagram depicting the processing of a Change Schedule Event Violation transaction. A table detailing each step in the flow diagram is also included in this section.

20ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 22: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Figure 2-3: Change Schedule Event Violation Processing

21ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 23: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Table 2-6: Change Schedule Event Violation Processing contains a description of the items in the above flow. The Item Number column refers to the Processing step being referenced. The Item Description column gives a more in-depth explanation of each step of the process. The Mapping to Business Rules Table column references the specific business rules that are checked in that step.

Table 2-6: Change Schedule Event Violation ProcessingItem

NumberItem Description Mapping to Business Rule Table

1 Does a Schedule Event Violation exist in ICIS for the key data entered?ICIS determines if a Schedule Event Violation exists in ICIS that matches the key data submitted. Schedule Event Violations have a Violation Code of C30 or C40. If this is true, processing continues at #2, otherwise processing continues at #1A.

VIO030

1A Reject transaction. Write 1 error message to the error log.ICIS has determined that a Schedule Event Violation does not exist for the key data entered, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO030

2 Does user have privileges to perform Change Schedule Event Violation XML transaction?ICIS determines if the user has privileges to perform a Change Schedule Event Violation transaction and if the user has the authority to conduct a Change Schedule Event Violation transaction for the state requested. ICIS applies the same security rules for batch as it does for the web, and uses the same set of permissions. The user must have the Edit Schedule Violation function, which is available as part of the Violation Editor role. In addition, the user must have Sensitive Data Access privileges to perform this transaction for a Compliance Schedule Event if its parent Enforcement Action is sensitive. An Administrative Formal Enforcement Action is sensitive unless a Milestone Complaint/Proposed Order Actual Date exists or a Final Order exists with a Final Order Issue Date. A Judicial Enforcement Action is sensitive unless the Milestone Complaint Filed with Court Actual Date exists. Note: it is only possible to have a sensitive Compliance Schedule Event Violation if the parent Enforcement Action is Judicial. If this is true, processing continues at #3, otherwise processing continues at #2A.

BAT020

2A Reject transaction. Write 1 error message to the error log.ICIS has determined that the user does not have appropriate privileges, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

BAT020

3 Does submission contain data other than key data?ICIS determines if any data other than key data were submitted. If this is true, processing continues at #4, otherwise processing continues at #3A.

VIO050

3A Reject transaction. Write 1 error message to the error log.ICIS has determined that data other than key data were not submitted, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO050

22ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 24: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Item Number

Item Description Mapping to Business Rule Table

4 Are all RNC data elements in ICIS blank?ICIS determines if all of the RNC data elements that were previously in ICIS are blank. If this condition is true, processing continues at #4A, otherwise processing continues at #5.

VIO055

4A Reject transaction. Write 1 error msg per business rule violation to the error log.ICIS has determined that the Violation cannot be edited based on the business rule identified, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO055

5 Overlay changed fields.ICIS overlays the fields from the transaction over the current fields in ICIS. Processing continues at #6.

N/A

6 Are data valid?ICIS determines if the transaction is valid according to the business rules identified. If this condition is true, processing continues at #7, otherwise processing continues at #6A.

VIO (070, 120, 130, 140)

6A Reject transaction. Write 1 error msg per business rule violation to the error log.ICIS has determined that the transaction is not valid according to the business rules identified, rejects the transaction, writes an error message to the error log for each business rule violation, and ends processing of the transaction.

VIO (070, 120, 130, 140)

7 Call EA RNC Processing for the Violation.ICIS calls the EA RNC background process to update the RNC data elements. Refer to the RNC Technical Specification for more details. Processing continues at #7A.

N/A

7A Did Background Processing Complete Successfully?ICIS determines if background processing completed successfully. If this is true, processing continues at #8, otherwise processing continues at #7B.

VIO150

7B Reject transaction. Write 1 error message to the error log.ICIS has determined that background processing did not successfully complete, rejects the transaction, writes an error message to the error log, and ends processing of the transaction.

VIO150

8 Save the Schedule Event Violation to the database.ICIS has determined that the Change Schedule Event Violation transaction is valid. The Violation is saved to the ICIS database and processing continues at #9.

N/A

9 Accept transaction.ICIS logs a successful Change Schedule Event Violation transaction and processing ends.

N/A

23ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 25: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

2.3.2 Change Schedule Event Violation Sample Scenarios

Examples of possible Change Schedule Event Violation scenarios are described below.

Example 1

If the submitted Change Schedule Event Violation XML includes:

• Valid key data for a Schedule Event Violation that exists in ICIS

• Valid data

ICIS will accept the transaction and edit the Schedule Event Violation in ICIS with the data submitted. Table 2-7: Change Schedule Event Violation Example 1 provides an example.

Table 2-7: Change Schedule Event Violation Example 1

Schedule Event Violation in ICIS DB Schedule Event Violation XML Submission

Result in ICIS DB After Processing

NPDES ID WY0000001; Narrative Condition Number: 1; Schedule Event: CS001; Schedule Date: 01/01/2009; Violation Code: C30

RNC Detection Code: S RNC Detection Code: S

RNC Detection Date: 04/02/2009 RNC Detection Date: 04/02/2009

RNC Resolution Code: 7 RNC Resolution Code: 9 RNC Resolution Code: 9

RNC Resolution Date: 04/13/2011 RNC Resolution Date: 05/07/2011 RNC Resolution Date: 05/07/2011

Example 2

If the submitted Change Schedule Event Violation XML includes:

• Valid key data for a Schedule Event Violation that exists in ICIS

• Data that violate a business rule (i.e., if the RNC Detection Code exists, then all RNC data elements must exist)

ICIS will reject the transaction, and the Schedule Event Violation will not be updated in ICIS because the RNC Resolution Code is blank, but the RNC Detection Code exists. Table 2-8: Change Schedule Event Violation Example 2 provides an example.

Table 2-8: Change Schedule Event Violation Example 2

Schedule Event Violation in ICIS DB Schedule Event Violation XML Submission

Result in ICIS DB After Processing

NPDES ID WY0000001; Narrative Condition Number: 1; Schedule Event: CS001; Schedule Date: 01/01/2009; Violation Code: C30

RNC Detection Code: S RNC Detection Code: S

RNC Detection Date: 04/02/2009 RNC Detection Date: 04/02/2009

RNC Resolution Code: 7 RNC Resolution Code: * RNC Resolution Code: 7

24ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 26: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Schedule Event Violation in ICIS DB Schedule Event Violation XML Submission

Result in ICIS DB After Processing

RNC Resolution Date: 04/13/2011 RNC Resolution Date: 04/13/2011

Example 3

If the submitted Change Schedule Event Violation XML includes:

• Valid key data for a Schedule Event Violation that exists in ICIS

• Data that violate a business rule (i.e., If the RNC Detection Code is automatic, then RNC Resolution Code cannot equal A)

ICIS will reject the transaction, and the Schedule Event Violation will not be updated in ICIS because the RNC Resolution Code submitted equals A (NC - Manual Unresolved RNC). Table 2-9: Change Schedule Event Violation Example 3 provides an example.

Table 2-9: Change Schedule Event Violation Example 3

Schedule Event Violation in ICIS DB Schedule Event Violation XML Submission

Result in ICIS DB After Processing

NPDES ID WY0000001; Narrative Condition Number: 1; Schedule Event: CS001; Schedule Date: 01/01/2009; Violation Code: C40

RNC Detection Code: N RNC Detection Code: N

RNC Detection Date: 02/03/2009 RNC Detection Date: 02/03/2009

RNC Resolution Code: 5 RNC Resolution Code: A RNC Resolution Code: 5

RNC Resolution Date: 01/13/2011 RNC Resolution Date: 02/01/2011 RNC Resolution Date: 01/13/2011

25ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 27: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

2.4 DMR and Schedule Event Violation Business Rules

Table 2-10: DMR and Schedule Event Violation Business Rules lists the business rules that apply to DMR Violation and Schedule Event Violation transactions. Each row has a unique Error Code which identifies the business rule. The Business Rules column describes the specific business rule that is being applied to the DMR Violation and Schedule Event Violation transactions. The naming of the data fields is consistent with the existing production system terminology and not the batch XML schema terminology. The Where Enforced (Web) column identifies the code tier that is responsible for enforcing the business rule from the Web Application. Business Rules that have a Where Enforced column of Business rule layer can often be reused for ICIS Batch. The Error/Warning Message lists 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 key values that will be displayed for DMR Violation transactions are: Permit Identifier, Permitted Feature Identifier, Limit Set Designator, Monitoring Period End Date, Parameter Code, Monitoring Site Description Code, Limit Season Number, Numeric Report Code, and Numeric Report Violation Code. The key values that will be displayed for Permit Schedule Event Violation transactions are: Permit Identifier, Narrative Condition Number, Schedule Event Code, Schedule Date, and Schedule Violation Code. The key values that will be displayed for Compliance Schedule Event Violation transactions are: Enforcement Action Identifier, Final Order Identifier, Permit Identifier, Compliance Schedule Number, Schedule Event Code, Schedule Date, and Schedule Violation Code. The Applicable Transaction Types column identifies all transaction types to which the business rule applies.

Table 2-10: DMR and Schedule Event Violation Business RulesError/

Warning Code

Business Rules Where Enforced

(Web)

Error/Warning Message Applicable Transaction

TypesBAT010 Transaction Type must be valid for DMR Violations and

Schedule Event Violations. The only valid Transaction Type is C (Change).

N/A Transaction Type <Transaction Type value> is not valid for <Submission Type value>.

C

BAT020 User must have privileges to perform the transaction. This relates to specific roles and access level (HQ, specific region, specific state).Note: ICIS does not have Batch-specific privileges. The privileges for Batch and Web access are the same.

Graphical User Interface (GUI)

User <ID value> does not have privileges to perform this <Transaction Type value> <Submission Type value> transaction.

C

Violation key data

26ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 28: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Error/ Warning

Code

Business Rules Where Enforced

(Web)

Error/Warning Message Applicable Transaction

TypesVIO030 A Violation identified by the combination of key data

must exist in ICIS.GUI A Violation does not exist for the key data entered.

Note: For DMR Violations, the Limit Season Number will display as -1 on the audit report if that was what was submitted. The Numeric Report Violation Code will also display D or E on the audit report.

C

VIO040 For a Violation, the Violation key data must be unique to one record.Note: It is only possible to have multiple Violations if -1 was submitted for Limit Season ID for a DMR Violation.

N/A Multiple Violations exist that match the key data entered.

Note: For DMR Violations, the Limit Season Number will display as -1 on the audit report if that was what was submitted. The Numeric Report Violation Code will also display D or E on the audit report.

C

VIO050 If the Violation transaction contains key data and no other data, ICIS rejects the transaction.

N/A The Violation transaction contains key data and no other data for processing.

C

Upfront checks

VIO055 DMR Non-Receipt Violations and Schedule Event Violations cannot be edited unless the RNC Detection Code, RNC Detection Date, RNC Resolution Code, and RNC Resolution Date that were previously in ICIS all exist.Note: These data elements could be blank if the RNC Tracking Flag was off at or following generation of the violation.

Business rule layer

DMR Non-Receipt Violations and Schedule Event Violations cannot be edited unless the following fields in ICIS all exist: Reportable Non Compliance Detection Code, Reportable Non Compliance Detection Date, Reportable Non Compliance Resolution Code, and Reportable Non Compliance Resolution Date.

C

VIO060 For DMR Non-Receipt Violations, the RNC Detection Code and the RNC Detection Date cannot be changed or blanked out.Note: DMR Non-Receipt Violations are always automatically detected and are read-only fields on the web, but in batch the XML schema is shared between Effluent and DMR Non-Receipt Violations.

GUI Reportable Non Compliance Detection Code and Reportable Non Compliance Detection Date are not editable for DMR Non-Receipt Violations.

C

RNC Detection Code

VIO070 If RNC Detection Code exists, then all RNC data elements must exist.

Business rule layer

All RNC data elements must exist because Reportable Non Compliance Detection Code exists.

C

27ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 29: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Error/ Warning

Code

Business Rules Where Enforced

(Web)

Error/Warning Message Applicable Transaction

TypesVIO080 If RNC Detection Code is blank, then all RNC data

elements must be blank.Note: This business rule will not be issued for DMR Non-Receipt Violations or Schedule Event Violations due to business rule VIO055.

Business rule layer

All RNC data elements must be blank because Reportable Non Compliance Detection Code is blank.

C

VIO090 RNC Detection Code must be a valid (i.e. Active) manual code (rnc_detection_code_entry_flag = M) in the REF_RNC_DETECTION table or must be the same as the previously existing automatic code in ICIS. Valid manual Effluent Violations have a detection_type_code = TRC, EFF, or CHR.Note: RNC Detection Code cannot be submitted for Schedule Event Violations and DMR Non-Receipt Violations.

GUI Reportable Non Compliance Detection Code <Reportable Non Compliance Detection Code value> does not exist, is inactive, is not a valid manual code, or is not the same as the previously existing automatic code in ICIS.

C

VIO095 For Effluent Violations, if the RNC Detection Code that was previously in ICIS is an automatic code (rnc_detection_entry_code_flag = A), then the RNC Detection Code must exist (i.e., cannot be blanked out).

Business rule layer

The Reportable Non Compliance Detection Code <Reportable Non Compliance Detection Code value> cannot be blanked out because it is an automatic code.

C

RNC Detection Date

VIO100 RNC Detection Date must be:Less than or equal to the current dateGreater than or equal to the Violation Date

Violation Date varies by the type of Violation:Effluent: Monitoring Period End DateSingle Event: Single Event Violation Date

Note: RNC Detection Date cannot be submitted for Schedule Event Violations and is and cannot be changed for DMR Non-Receipt Violations.

Business rule layer

Reportable Non Compliance Detection Date <Reportable Non Compliance Detection Date value> must be less than or equal to the current date <current date value> and greater than or equal to the Violation Date <Violation Date value>.

C

RNC Resolution Code

28ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 30: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

Error/ Warning

Code

Business Rules Where Enforced

(Web)

Error/Warning Message Applicable Transaction

TypesVIO110 If RNC Detection Code is manual

(rnc_detection_entry_code_flag = M), then RNC Resolution Code must be valid (i.e. Active) and must be a manual code (rnc_resolution_code_entry = Manual) in the REF_RNC_RESOLUTION table.Note: RNC Detection Code cannot be manual for Schedule Event and DMR Non-Receipt Violations.

GUI For the manually detected Violation, Reportable Non Compliance Resolution Code <Reportable Non Compliance Resolution Code value> does not exist, is inactive, or is not a manual code in the ICIS reference table.

C

VIO120 If RNC Detection Code is automatic (rnc_detection_entry_code_flag = A), then RNC Resolution Code must be valid (i.e. Active), must be a manual code (rnc_resolution_code_entry = Manual) or must be the automatic code of 1 (NC - Unresolved RNC), and cannot = A (NC - Manual Unresolved RNC) in the REF_RNC_RESOLUTION table.

GUI For the automatically detected Violation, Reportable Non Compliance Resolution Code <Reportable Non Compliance Resolution Code value> does not exist, is inactive, is not a manual code or does not equal the automatic code of 1 (NC - Unresolved RNC), or equals A (NC - Manual Unresolved RNC) in the ICIS reference table.

C

RNC Resolution Date

VIO130 If RNC Resolution Code equals A (NC - Manual Unresolved RNC) or 1 (NC - Unresolved RNC), then RNC Resolution Date must equal the RNC Detection Date.

Business rule layer

If Reportable Non Compliance Resolution Code is A (NC - Manual Unresolved RNC) or 1 (NC - Unresolved RNC), then Reportable Non Compliance Resolution Date <Reportable Non Compliance Resolution Date value> must equal the Reportable Non Compliance Detection Date <Reportable Non Compliance Detection Date value>.

C

VIO140 If RNC Resolution Code does not equal A (NC - Manual Unresolved RNC) or 1 (NC - Unresolved RNC), then RNC Resolution Date must be:

Less than or equal to the current dateGreater than or equal to the RNC Detection Date

Business rule layer

If Reportable Non Compliance Resolution Code is not A (NC - Manual Unresolved RNC) or 1 (NC - Unresolved RNC), then Reportable Non Compliance Resolution Date <Reportable Non Compliance Resolution Date value> must be less than or equal to the current date <current date value> and greater than or equal to the Reportable Non Compliance Detection Date < Reportable Non Compliance Detection Date value>.

C

Background Processing - DMR Non-Receipt and Effluent Violations

VIO150 If Background Processing does not complete successfully, roll back all changes for the XML transaction.

Business rule layer

An error has occurred while processing the data for this Violation. No data were saved and the XML transaction must be resubmitted.

C

29ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 31: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

3. DATA ELEMENT MAPPING

The sections below contain the mapping between PCS Acronym, XML Tag Name, ICIS Screen Name, and ICIS Database Name for the DMR Violation schema and the Schedule Event Violation schema.

3.1 DMR Violation Data Element Mapping

Shown below is Table 3-11: Batch DMR Violation Data Element Mapping. The table is organized according to the order in which tags are listed in the DMR Violation schema.

Table 3-11: Batch DMR Violation Data Element Mapping

PCS Acronym XML Tag Name XML Data Type ICIS Screen Name ICIS Database NameDMR Violation - Key Values

NPID, SLID PermitIdentifier icis:String9FixedTypeBase NPDES ID icis_permit.external_permit_nmbr

VDSC PermittedFeatureIdentifier

icis:AlphanumericStringMin3Max4TypeBase

Permitted Feature ID icis_perm_feature.perm_feature_nmbr

VDRD LimitSetDesignator icis:AlphanumericStringMin1Max2TypeBase

Limit Set Designator icis_limit_set.limit_set_designator

MVDT MonitoringPeriodEndDate

xsd:date Monitoring Period End Date icis_dmr_event.monitoring_period_end_date

VPRM ParameterCode icis:StringMin1Max5TypeBase Parameter Code icis_limit.parameter_code

VMLO MonitoringSiteDescriptionCode

icis:StringMin1Max3TypeBase Monitoring Location Code icis_limit.monitoring_location_code

VSEA LimitSeasonNumber icis:IntegerRange-1to12TypeBase Season ID icis_limit.limit_season_id

N/A NumericReportCode icis:NumericReportTextType (Parameter Columns Q1-C3) icis_dmr_form_value.value_type_code

MVIO NumericReportViolationCode

icis: NumericReportViolationCodeType

Violation Code icis_npdes_violation.violation_code

RNC Detection Data

SNCE ReportableNonComplianceDetectionCode

icis:StringMin1Max3Type RNC Detection Code Icis_npdes_violation.rnc_detection_code

SNDC, SNDS, SNDE

ReportableNonComplianceDetectionDate

icis:DateType RNC Detection Date Icis_npdes_violation.rnc_detection_date

30ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 32: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

PCS Acronym XML Tag Name XML Data Type ICIS Screen Name ICIS Database NameRNC Resolution Data

SRCC ReportableNonComplianceResolutionCode

icis:StringMin1Max3Type RNC Resolution Code Icis_npdes_violation.rnc_resolution_code

SRDC, SRDS, SRDE

ReportableNonComplianceResolutionDate

icis:DateType RNC Resolution Date Icis_npdes_violation.rnc_resolution_date

3.2 Schedule Event Violation Data Element Mapping

Shown below is Table 3-12: Batch Schedule Event Violation Data Element Mapping. The table is organized according to the order in which tags are listed in the Schedule Event Violation schema.

Table 3-12: Batch Schedule Event Violation Data Element Mapping

PCS Acronym XML Tag Name XML Data Type ICIS Screen Name ICIS Database NamePermit Schedule Event Violation - Key Values

NPID, SLID PermitIdentifier icis:String9FixedTypeBase NPDES ID icis_permit.external_permit_nmbr

N/A NarrativeConditionNumber

icis:IntegerRange1To999TypeBase Narrative Condition Number icis_perm_narrative_condition.narrative_condition_nmbr

CVEV ScheduleEventCode icis:StringMin1Max5TypeBase Schedule Event icis_perm_schedule_event.schedule_event_code

CVDT ScheduleDate xsd:date Schedule Date icis_perm_schedule_event.schedule_date

CVIO ScheduleViolationCode icis:ScheduleViolationCodeType Violation Code icis_npdes_violation.violation_code

Compliance Schedule Event Violation - Key Values

CSFN EnforcementActionIdentifier

icis:StringMin1Max20TypeBase Enforcement Action Identifier icis_enforcement.enf_identifier

N/A FinalOrderIdentifier icis:IntegerRange1To99999Type Final Order ID icis_enf_conclusion.enf_conclusion_nmbr

NPID, SLID PermitIdentifier icis:String9FixedTypeBase Programmatic ID icis_facility_interest.pgm_sys_id

VDCD+VCSN ComplianceScheduleNumber

icis:IntegerRange1To999TypeBase Schedule Number icis_comp_schedule.comp_schedule_nmbr

CVEV ScheduleEventCode icis:StringMin1Max5TypeBase Schedule Event icis_comp_schedule_event.schedule_event_code

CVDT ScheduleDate xsd:date Schedule Date icis_comp_schedule_event.schedule_date

CVIO ScheduleViolationCode icis:ScheduleViolationCodeType Violation Code icis_npdes_violation.violation_code

31ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 33: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

PCS Acronym XML Tag Name XML Data Type ICIS Screen Name ICIS Database NameRNC Resolution Data

SRCC ReportableNonComplianceResolutionCode

icis:StringMin1Max3Type RNC Resolution Code Icis_npdes_violation.rnc_resolution_code

SRDC, SRDS, SRDE

ReportableNonComplianceResolutionDate

icis:DateType RNC Resolution Date Icis_npdes_violation.rnc_resolution_date

32ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 34: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

4. XML SCHEMA

The following sections of the ICIS XML schema are related to the DMR Violation and Schedule Event Violation Submission Types:

• ICIS_Common.xsd• ICIS_DischargeMonitoringReportViolation.xsd• ICIS_Header.xsd• ICIS_KeyElements.xsd• ICIS_ReportableNonComplianceDetectionResolution.xsd• ICIS_ScheduleEventViolation.xsd

33ICIS Batch – DMR and Schedule Event Violation, Version 1.2

Page 35: icis.zendesk.com€¦  · Web view · 2015-12-29... Parameter Code: 01252; Monitoring Location Code: 1; Season ID: 1; Parameter Column: Q1; Violation Code: D RNC ... Unresolved

Office of Enforcement and Compliance Assurance

APPENDIX A: ACRONYMS

Table A-1: Acronym ListAcronym Definition

BGP Background Processing

CDX Central Data Exchange

DB Database

DMR Discharge Monitoring Report

EPA Environmental Protection Agency

GUI Graphic User Interface

ICIS Integrated Compliance Information System

NPDES National Pollutant Discharge Elimination System

OECA Office of Enforcement & Compliance Assurance

PCS Permit Compliance System

RNC Reportable Non-Compliance

XML Extensible Markup Language

34ICIS Batch – DMR and Schedule Event Violation, Version 1.2


Recommended