Skip to main content

ICIS-NPDES DMR Summary and Data Element Dictionary

The Enforcement and Compliance History Online (ECHO) system incorporates Discharge Monitoring Report (DMR) data submitted by NPDES permit holders to the states or directly to EPA via the US EPA Central Data Exchange (CDX). This compendium of DMR data identifies the permit conditions or limits for each water discharge location, the actual values, identified by the permittee, for each monitored pollutant that was discharged, and whether the amounts discharged exceeded the permit limits. DMR data are stored in the EPA Office of Enforcement Compliance Assurance, Integrated Compliance Information System (ICIS), where it is extracted by ECHO.


 DMR Description

The download data comprises comma-separated value files, one for each fiscal year since 2009, available in individual zip files. Each zip file is named npdes_dmrs_fyxxxx.zip and each CSV is named npdes_dmr_fyxxxx.csv, where xxxx is the fiscal year (e.g., npdes_dmrs_fy2014.zip).

The data contained in the download file is comprised of selected data columns from the following ICIS tables:

Schema Table
IDEA_ICIS ICIS_DMR
IDEA_ICIS ICIS_DMR_EVENT
IDEA_ICIS ICIS_DMR_FORM
IDEA_ICIS ICIS_DMR_FORM_PARAMETER
IDEA_ICIS ICIS_DMR_FORM_VALUE
IDEA_ICIS ICIS_DMR_VALUE
IDEA_ICIS ICIS_LIMIT
IDEA_ICIS ICIS_LIMIT_SET
IDEA_ICIS ICIS_LIMIT_SET_SCHEDULE
IDEA_ICIS ICIS_LIMIT_SET_STATUS
IDEA_ICIS ICIS_LIMIT_VALUE
IDEA_ICIS ICIS_PERMIT
IDEA_ICIS ICIS_PERM_FEATURE
IDEA_ICIS ICIS_DMR_PARAMETER

Top of Page


 ICIS-NPDES Data Elements

 NPDES DMR (NPDES_DMR_FYxxxx.csv)

Element Name Data Type Length
ACTIVITY_ID Number 22
EXTERNAL_PERMIT_NMBR VarChar2 9
VERSION_NMBR Number 22
PERM_FEATURE_ID Number 22
PERM_FEATURE_NMBR VarChar2 30
PERM_FEATURE_TYPE_CODE VarChar2 3
LIMIT_SET_ID Number 22
LIMIT_SET_DESIGNATOR VarChar2 2
LIMIT_SET_SCHEDULE_ID Number 22
LIMIT_ID Number 22
LIMIT_BEGIN_DATE Date 7
LIMIT_END_DATE Date 7
NMBR_OF_SUBMISSION Number 22
NMBR_OF_REPORT Number 22
PARAMETER_CODE VarChar2 5
PARAMETER_DESC VarChar2 100
MONITORING_LOCATION_CODE VarChar2 3
STAY_TYPE_CODE VarChar2 1
LIMIT_VALUE_ID Number 22
LIMIT_VALUE_TYPE_CODE VarChar2 3
LIMIT_VALUE_NMBR Number 22
LIMIT_UNIT_CODE VarChar2 2
LIMIT_UNIT_DESC VarChar2 13
STANDARD_UNIT_CODE VarChar2 2
STANDARD_UNIT_DESC VarChar2 13
LIMIT_VALUE_STANDARD_UNITS Number 22
STATISTICAL_BASE_CODE VarChar2 3
STATISTICAL_BASE_TYPE_CODE VarChar2 3
LIMIT_VALUE_QUALIFIER_CODE VarChar2 3
OPTIONAL_MONITORING_FLAG Char 1
STAY_VALUE_NMBR Number 22
DMR_EVENT_ID Number 22
MONITORING_PERIOD_END_DATE Date 7
DMR_FORM_VALUE_ID Number 22
VALUE_TYPE_CODE VarChar2 3
DMR_VALUE_ID Number 22
DMR_VALUE_NMBR Number 22
DMR_UNIT_CODE VarChar2 2
DMR_UNIT_DESC VarChar2 13
DMR_VALUE_STANDARD_UNITS Number 22
DMR_VALUE_QUALIFIER_CODE VarChar2 3
VALUE_RECEIVED_DATE Date 7
DAYS_LATE Number 22
NODI_CODE VarChar2 3
EXCEEDANCE_PCT Number 22
NPDES_VIOLATION_ID Number 22
VIOLATION_CODE VarChar2 5
RNC_DETECTION_CODE VarChar2 3
RNC_DETECTION_DATE Date 7
RNC_RESOLUTION_CODE VarChar2 3
LIMIT_SAMPLE_TYPE_CODE VarChar2 2
LIMIT_FREQ_OF_ANALYSIS_CODE VarChar2 5
DMR_SAMPLE_TYPE_CODE VarChar2 2
DMR_FREQ_OF_ANALYSIS_CODE VarChar2 5
REPORTED_EXCURSION_NMBR Number 22

Top of Page


 DMR Data Element Definitions

The following is a list of the data elements and ICIS-derived elements that appear in the NPDES DMR download.

ACTIVITY_ID - The unique identifier for an activity performed at or related to a particular site. It can be used to uniquely identify a version of a permit in ICIS. 

DAYS_LATE - The system-generated number of days the DMR value is late. This value is calculated as follows: Value Received Date - DMR Due Date. For example, if a DMR with a monitoring period end date of June 30, 2018 has a DMR Due Date of August 31, 2018, and the value was received on October 1, 2018, then the days late would be equal to 31 (= 10/1/2018 - 8/31/2018).

DMR_EVENT_ID - The unique ID identifying the DMR Event. A DMR Event is a DMR submission with a DMR period end date and DMR due date. 

DMR_FORM_VALUE_ID - The sequence ID identifying the DMR Form Value.

DMR_FREQ_OF_ANALYSIS_CODE - The code identifying the frequency measure used for sampling the data; this is the Frequency of Analysis reported for a DMR parameter on the DMR form. For a list of all codes and descriptions, download the Frequency of Analysis Reference Table (CSV) (4.8 K).

DMR_SAMPLE_TYPE_CODE - The sampling method used to provide the values for the DMR parameter on the DMR form. For a list of all codes and descriptions, download the Sample Type Reference Table (CSV) (1.7 K).

DMR_UNIT_CODE - The code representing the unit of measure applicable to quantity or concentration measurements (DMR_VALUE_NMBR), as entered by the user.

DMR_UNIT_DESC - The short description of the unit of measure applicable to the quantity or concentration measurement (DMR_VALUE_NMBR).

DMR_VALUE_ID - The system-generated unique identifier for the DMR value.

DMR_VALUE_NMBR - The DMR value number reported on the DMR form.

DMR_VALUE_QUALIFIER_CODE - The unique code identifying the DMR value operator (e.g., <, T, >, E, =). For more information on qualifier code definitions see table below.

CODE DescRIPTION
< Less Than
<= Less Than or Equal To
> Greater Than
>= Greater Than or Equal To
= Equals
T Too Numerous to Count
E Estimated

DMR_VALUE_STANDARD_UNITS - The DMR value expressed in standard units, as calculated by the system. Corresponding units are provided in STANDARD_UNIT_CODE/STANDARD_UNIT_DESC.

EXCEEDENCE_PCT - The system-generated percent by which the DMR value (or Adjusted Value) exceeded its Limit (or stay) value.

EXTERNAL_PERMIT_NMBR - The unique identifier for a permit.

LIMIT_BEGIN_DATE - The date on which a limit starts being in effect for a particular parameter in a limit set.

LIMIT_END_DATE - The date on which a limit stops being in effect for a particular parameter in a limit set.

LIMIT_ID - The unique identifier for a limit parameter record.

LIMIT_FREQ_OF_ANALYSIS_CODE - The frequency with which the permittee must analyze the sampled data. The general format is XX/YY, where XX=number of times sampled and YY=Period of time sampled. For a list of all codes and descriptions, download the Frequency of Analysis Reference Table (CSV) (4.8 K).

Note: When opening the file in Excel, values may display as dates due to the formatting (E.g., "01/30" describes monthly frequency sampling, but may display in Excel as "30-Jan".). Values should display correctly when opening as a text file. 

LIMIT_SAMPLE_TYPE_CODE - The sampling method required by the permit to be used to provide values on the DMR for the limit. For a list of all codes and descriptions, download the Sample Type Reference Table (CSV) (1.7 K).

LIMIT_SET_DESIGNATOR - The alphanumeric field that is used to designate a particular grouping of parameters within a limit set. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).

LIMIT_SET_ID - The system-generated unique identifier for a limit set. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).

LIMIT_SET_SCHEDULE_ID - The system-generated unique identifier of the Limit Set Schedule. For more information on limit sets download the Limit Sets Technical Specification (DOC) (61 pp, 3.1 MB).

LIMIT_UNIT_CODE - The code representing the unit of measure applicable to quantity or concentration limits (LIMIT_VALUE_NMBR).

LIMIT_UNIT_DESC - The short description of the unit of measure applicable to limit value (LIMIT_VALUE_NMBR).

LIMIT_VALUE_ID - The system-generated unique identifier for the Limit Value.

LIMIT_VALUE_NMBR - The actual limit value number from the Permit or Enforcement Action Final Order.

LIMIT_VALUE_QUALIFIER_CODE - The unique code identifying the limit value operator (e.g., <, T, >, E, =). For more information on qualifier code definitions see table below.

Code Description
< Less Than
<= Less Than or Equal To
> Greater Than
>= Greater Than or Equal To
= Equals
T Too Numerous to Count
E Estimated

LIMIT_VALUE_STANDARD_UNITS - The limit value expressed in standard units, as calculated by the system. Corresponding units are provided in STANDARD_UNIT_CODE/STANDARD_UNIT_DESC.

LIMIT_VALUE_TYPE_CODE - The indication of the limit value type (e.g., Quantity 1, Concentration 2).

 MONITORING_LOCATION_CODE - The code that the monitoring location at which the monitoring requirement (and effluent limit if limited) applies. One parameter may have several monitoring location requirements pertaining to the same permitted feature. Valid code values are:

Code Description
0 Intake
1 Effluent Gross
2 Effluent Net
3 Intake Public Water
4 Pretreatment, Process Complete
5 Upstream Monitoring
6 Downstream Monitoring
7 Intake from Stream
8 Other Treatment, Process Complete
9 Phosphate Removal, Process Complete
A Disinfection, Process Complete
AP Alternate Process
B Prior to Disinfection
C Nitrogen, Removal Complete
D Tertiary/Advanced Process Complete
E Secondary/Biological Process Complete
EG Effluent Gross
F Primary/Preliminary Process Complete
G Raw Sewage Influent
H During Manufacturing
I Intake from Well
IN Allowed Increase
J Intermediate Treatment, Process Complete
K Percent Removal
L Digestor
N In Aeration Unit
O See Comments
P See Comments
Q See Comments
R See Comments
RS Beneficial Reuse
RW Receiving Water
S See Comments
SC See Comments
SL Sludge
T See Comments
U See Comments
V See Comments
W See Comments
X End of Chlorine Contact Chamber
Z Instream Monitoring
Y Effluent Gross (Supplementary)
GW Groundwater
II Industrial Influent
IM Internal Monitoring Point
PI Prior to Irrigation
PR Prior to Reuse
LA Land Application Soil

 MONITORING_PERIOD_END_DATE - The date that the monitoring period for the values covered by this DMR form ends.

NMBR_OF_SUBMISSION - The attribute stores the number of months for submitting the DMRs for the limit set (e.g., monthly = 1, semi-annually = 6, quarterly = 3); this data element will be blank for Unscheduled Limit Sets. Must be greater than or equal to NMBR_OF_REPORT and be divisible by NMBR_OF_REPORT.

NMBR_OF_REPORT - The number of months in the monitoring period covered by the DMR (e.g., monthly = 1, quarterly = 3, semi-annually = 6).

NODI_CODE - The no data indicator (NODI) code indicates the reason that data for an expected DMR value were not submitted by the permittee for a Monitoring Period End Date.

Code Description
1 Wrong Flow
2 Operation Shutdown
3 Special Report Attached
4 Discharge to Lagoon/Groundwater
5 Frozen Conditions
7 No Influent
8 Other (See Comments)
9 Conditional Monitoring - Not Required This Period
A General Permit Exemption
B Below Detection Limit/No Detection
C No Discharge
D Lost Sample/Data Not Available
E Analysis Not Conducted/No Sample
F Insufficient Flow for Sampling
G Sampling Equipment Failure
H Invalid Test
I Land Applied
J Recycled - Water-Closed System
K Natural Disaster
L DMR Received but not Entered
M Laboratory Error
N Not Constructed
Q Not Quantifiable
R Administratively Resolved
S Fire Conditions
V Weather Related
W Dry Lysimeter/Well
X Parameter/Value Not Reported
Z COVID-19

NPDES_VIOLATION_ID - The system-generated unique identifier for the NPDES Violation.

OPTIONAL_MONITORING_FLAG - The flag allowing users to indicate that monitoring is optional but not required (i.e., effluent violation generation will be suppressed for optional columns).

PARAMETER_CODE - The unique code identifying the parameter being limited and/or monitored.

PARAMETER_DESC - The description of the parameter code. Download the Parameter Reference Table (CSV) (218 K) for the complete list of parameter codes and descriptions and corresponding pollutant codes. Additional fields in this table include:

  • SNC_FLAG - The flag indicating whether the parameter is within significant noncompliance (SNC) group 1 or 2 or blank for purposes of calculating RNC.
  • PERCENT_REMOVAL_FLAG - The flag indicating whether the parameter is a percent removal parameter for determining the formula to use for calculating the percent exceedance for the parameter.
  • PERCENT_EXCEEDENCE_FLAG - The flag indicating whether percent exceedance can be calculated for the parameter.

PERM_FEATURE_ID - The unique system identifier of a permitted feature.

PERM_FEATURE_NMBR - The identifier assigned for each location at which permit conditions are being applied.

PERM_FEATURE_TYPE_CODE - The code indicating the type of permitted feature (e.g., External Outfall, Sum). Valid code values are:

Code Description
ARW Receiving Water (Ambient)
CDS Co-disposal Site
DOF Discharge to Offsite Facility
EXO External Outfall
INC Incinerator
INF Influent Structure
INO Internal Outfall
INS Intake Structure
LAS Land Application Site
MOD Mobile Offshore Drilling Unit (MODU)
OTR Other
PLA Platform
SDS Surface Disposal Site
SUB Subsea
SUM Sum
WEL Monitoring Well

REPORTED_EXCURSION_NMBR - The number of times a limit was exceeded, as reported on the DMR form.

RNC_DETECTION_CODE - The code indicating the reportable noncompliance (RNC) detected for a violation. Valid code values are:

Code Description
A Enforcement Order
B Manual 2A4 - Pass-Through
C Chronic Violation
D Manual Other
E Manual 2F - Permit Narrative
F Manual 2G - Violation of Concern
G Manual 2A1 - Effluent Violation
H Chronic Violation, Non-Monthly Average
I Manual 2A2 - Unauthorized Bypass
J Manual 2A3 - Unpermitted Discharge
K Non-receipt Violation, Non-Monthly Average
N Non-Receipt of DMR/Schedule Report
P Enforcement Order, Non-Monthly Average
Q Manual 2B - Pretreatment
R TRC Limitations Exceeded, Non-Monthly Average
S Schedule Violation
T TRC Limitations Exceeded
U Other Violation with TRC Non-Monthly Average
V Other Violation with TRC
W Manual 2E - Deficient Report
X Manual Other Violation with TRC
Y Manual TRC
Z Manual Chronic

RNC_DETECTION_DATE - The date that RNC was detected. It can be detected automatically or entered manually. In cases in which RNC is detected by ICIS-NPDES, the detection date will vary according to the type of violation detected.

RNC_RESOLUTION_CODE - The code indicating the resolution of noncompliance (RNC) for a violation. Valid code values are:

Code Description
1 NC - Unresolved RNC
A NC - Manual Unresolved RNC
0 RE - Automated Administratively Resolved (DMR Non-Receipt Violations)
2 RE - Back into Compliance
5 RE - Resolved RP by NPDES Closure of Enforcement Action Final Order with Compliance Schedule
6 RE - Manual Resolution by Enforcement Action
9 RE - Manual by Back into Compliance
B RE - Manual by EPA/State/Tribal Action
3 RP - Due to Formal Enforcement Action Final Order with Compliance Schedule
4 RP - In Compliance with Formal Enforcement Action Final Order Requirement
7 RP - Manual RP - In Compliance with Formal Enforcement Action Order Requirement
8 RP - Manual Due to Formal Enforcement Action Formal Order

RNC_RESOLUTION_DATE - The date RNC was marked to its current resolution status. It can be entered manually or automatically.

STANDARD_UNIT_CODE - The code representing the standard unit of measure applicable to quantity or concentration limits and DMR measurements. For more information on units displayed, see the STANDARD_UNIT_DESC field. 

 STANDARD_UNIT_DESC - The short description of the standard unit of measure applicable to limit or DMR values.

STATISTICAL_BASE_CODE - The code representing the unit of measure applicable to the limit and DMR values (e.g., 30-day average, daily maximum). For a list of all codes and descriptions, download the Statistical Base Code Reference Table (CSV).

STATISTICAL_BASE_TYPE_CODE - The code indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value. For a list of all codes and descriptions, download the Statistical Base Code Reference Table (CSV).

STAY_TYPE_CODE - The unique identifier of the type of stay applied to a limit (e.g., X, Y, Z), which indicates whether the limits do not appear on the DMR at all, are treated as monitor only, or have a stay value in effect during the period of the stay. States and Regions use this when a facility is subject to interim limits due to being under the terms of a compliance schedule. The temporary interim limit is entered in STAY_VALUE_NMBR.

Code Description
X Suppress Effluent Violations
Y Suppress DMR Non-Receipt Violations
Z Use Stay Value

STAY_VALUE_NMBR - The numeric limit value imposed during the period of the stay for the limit; if entered, during the stay period, the system will use this limit value for calculating compliance rather than the actual permit limit value.

VALUE_TYPE_CODE - The indication of the limit value type (e.g., Quantity 1, Concentration 2). Valid code values can be found on the ICIS-NPDES Download Summary.

VALUE_RECEIVED_DATE - The date the DMR value was received by the regulatory authority.

Note that there may be a delay between the monitoring period associated with the DMR and the date that the regulatory authority receives the DMR. For the end date of the monitoring period associated with the DMR values, please see Monitoring_Period_End_Date .

VERSION_NMBR - The version of the permit when a modification or re-issuance is applied to the permit. The current permit is VERSION_NMBR = 0. The oldest permit version is VERSION_NMBR = 1 (VERSION_NMBR = 2 is the next oldest, etc.). 

VIOLATION_CODE - The code identifying which type of violation has occurred (D80 = Required Monitoring DMR Value Non-Receipt, D90 = Limited Value Overdue Non-Receipt, E90 = Effluent Violation).

Top of Page