**CONTENTS**

[10.0 compliance Determination 10-1](#compliance-determination)

[10.1 Total Coliform Rule Positive Sample Validation
10-2](#total-coliform-rule-positive-sample-validation)

[10.1.1 Total Coliform Rule Positive Sample Analytical Result Validation
List
10-2](#total-coliform-rule-positive-sample-analytical-result-validation-list)

[10.1.2 Repeat Schedule Creation 10-5](#repeat-schedule-creation)

[10.1.3 TCR Preliminary Acute Violation Creation Advisory
10-6](#tcr-preliminary-acute-violation-creation-advisory)

[10.2 TCR Compliance Report 10-7](#tcr-compliance-report)

[10.2.1 Overview 10-7](#overview)

[10.2.2 Model Changes for the TCR Compliance Report
10-7](#model-changes-for-the-tcr-compliance-report)

[10.2.3 TCR Compliance Report Page Flow
10-8](#tcr-compliance-report-page-flow)

[10.2.4 TCR Processing Design Requirements
10-16](#tcr-processing-design-requirements)

[10.2.5 Report (Output) Requirements 10-18](#report-output-requirements)

[10.3 Results Alert Report 10-19](#results-alert-report)

[10.3.1 Overview 10-19](#overview-1)

[10.3.2 Model Changes for the Results Alert Report
10-19](#model-changes-for-the-results-alert-report)

[10.3.3 Results Alert Report Page Flow
10-19](#results-alert-report-page-flow)

[10.3.4 Processing Design Requirements for the Results Alert Report
10-26](#processing-design-requirements-for-the-results-alert-report)

[10.4 Chemical/Radionuclide/State M&R Compliance Report
10-33](#chemicalradionuclidestate-mr-compliance-report)

[10.4.1 Overview 10-33](#overview-2)

[10.4.2 Model Change for Chemical/Radionuclide/State M&R Compliance
Check
10-34](#model-change-for-chemicalradionuclidestate-mr-compliance-check)

[10.4.3 Chemical/Radionuclide/State M&R Compliance Check
10-34](#chemicalradionuclidestate-mr-compliance-check)

[10.4.4 Processing Design Requirements
10-39](#processing-design-requirements)

[10.4.5 Report (Output) Requirements
10-45](#report-output-requirements-2)

[10.5 Lead and Copper Rule Compliance Report
10-46](#lead-and-copper-rule-compliance-report)

[10.5.1 Overview 10-46](#overview-3)

[10.5.2 Model Changes for Lead and Copper Rule Compliance Report
10-46](#model-changes-for-lead-and-copper-rule-compliance-report)

[10.5.3 Lead and Copper Rule Compliance Report Page Flow
10-47](#lead-and-copper-rule-compliance-report-page-flow)

[10.5.4 Processing Design Requirements
10-51](#processing-design-requirements-1)

[10.6 Water Treatment Compliance Report
10-62](#water-treatment-compliance-report)

[10.6.1 Model Changes for Water Treatment Compliance Report.
10-62](#model-changes-for-water-treatment-compliance-report.)

[10.6.2 Water Treatment Compliance Report Page Flow
10-74](#water-treatment-compliance-report-page-flow)

[10.6.3 Processing Design Requirements
10-81](#processing-design-requirements-2)

[10.7 Disinfectant/Disinfection By-Products Compliance Report
10-87](#disinfectantdisinfection-by-products-compliance-report)

[10.7.1 Model Changes for Disinfectant/Disinfection By-Products
Compliance Report
10-87](#model-changes-for-disinfectantdisinfection-by-products-compliance-report)

[10.7.2 D/DBP Compliance Report Page Flow
10-89](#ddbp-compliance-report-page-flow)

[10.7.3 Processing Design Requirements
10-95](#processing-design-requirements-3)

[10.7.4 DBP Precursors Compliance Report
10-96](#dbp-precursors-compliance-report)

[10.7.5 Bromate/Bromide Compliance Report
10-96](#bromatebromide-compliance-report)

[10.7.6 Chlorine/Chloramine Compliance MRDL Report
10-97](#chlorinechloramine-compliance-mrdl-report)

[10.7.7 Chlorine Dioxide (CLO2) /Chlorite (CLO3) Entry Point Compliance
Report
10-97](#chlorine-dioxide-clo2-chlorite-clo3-entry-point-compliance-report)

[10.7.8 Chlorine Dioxide/Chlorite Distribution Compliance Report
10-98](#chlorine-dioxidechlorite-distribution-compliance-report)

[10.7.9 Stage 1 TTHM/HAA5 M&R Compliance Report
10-99](#stage-1-tthmhaa5-mr-compliance-report)

[10.7.10 Stage 2 M&R Compliance Check Process
10-99](#__RefHeading___Toc168981204)

[10.7.11 Stage 2 ISDE Support Report Process
10-99](#__RefHeading___Toc168981205)

[10.7.12 Report (Output) Requirements
10-100](#__RefHeading___Toc168981206)

[10.8 User-Defined Summary Compliance Report
10-101](#user-defined-summary-compliance-report)

[10.8.1 Model Changes for User-Defined Summary Compliance Report
10-102](#model-changes-for-user-defined-summary-compliance-report)

[10.8.2 Page Flow 10-102](#page-flow)

[10.8.3 Processing Design Requirements
10-106](#processing-design-requirements-4)

[10.8.4 Clear Candidate MDBP Violations
10-106](#clear-candidate-mdbp-violations-1)

[10.8.5 User-Defined Summary Compliance Check
10-106](#user-defined-summary-compliance-check)

[10.9 Public Notification Compliance Report
10-107](#public-notification-compliance-report)

[10.9.1 Model Changes 10-107](#model-changes)

[10.9.2 Public Notification Compliance Report Page Flow
10-108](#public-notification-compliance-report-page-flow)

[10.9.3 Processing Design Requirements
10-111](#processing-design-requirements-5)

[10.9.4 Report (Output) Requirements
10-113](#report-output-requirements-4)

[10.10 Schedule Activity Compliance Report
10-114](#schedule-activity-compliance-report)

[10.10.1 Model Changes 10-114](#model-changes-1)

[10.10.2 Schedule Activity Compliance Report Page Flow
10-119](#schedule-activity-compliance-report-page-flow)

[10.10.3 Processing Design Requirements
10-124](#processing-design-requirements-6)

[10.10.4 Report (Output) Requirements
10-125](#report-output-requirements-5)

[10.11 Site Visit Compliance Report
10-126](#site-visit-compliance-report)

[10.11.1 Model Changes 10-126](#model-changes-2)

[10.11.2 Site Visit Compliance Report Page Flow
10-126](#site-visit-compliance-report-page-flow)

[10.11.3 Processing Design Requirements
10-130](#processing-design-requirements-7)

[10.11.4 Report (Output) Requirements
10-131](#report-output-requirements-6)

[10.12 Sample Collection Interval Support Report
10-132](#__RefHeading___Toc168981228)

[10.12.1 Processing Design Requirements
10-138](#__RefHeading___Toc168981229)

[10.12.2 Report (Output) Requirements
10-140](#__RefHeading___Toc168981230)

[10.13 Increased Monitoring Assessment Report
10-140](#increased-monitoring-assessment-report)

[10.13.1 Model Changes 10-141](#model-changes-3)

[10.13.2 Increased Monitoring Assessment Report Page Flow
10-141](#increased-monitoring-assessment-report-page-flow)

[10.13.3 Process Design Requirements
10-144](#process-design-requirements)

[10.14 Decreased Monitoring Assessment Report
10-145](#decreased-monitoring-assessment-report)

[10.15 Migrate CDS Candidate Violations to SDWIS/STATE Violation Table
10-146](#migrate-cds-candidate-violations-to-sdwisstate-violation-table)

[10.15.1 CDS Candidate Violation Search
10-147](#cds-candidate-violation-search)

[10.15.2 CDS Candidate Violation Migration List
10-152](#cds-candidate-violation-migration-list)

[10.15.3 Issuing Agency Selection 10-156](#issuing-agency-selection)

[10.15.4 Report (Output) Requirements
10-160](#report-output-requirements-8)

[10.16 CDS Reports Log (R0101:A.10.15.4.a)
10-160](#cds-reports-log-r0101a.10.15.4.a)

[10.16.1 Model Changes 10-160](#model-changes-5)

[10.16.2 CDS Report Log Maintenance Page Flow
10-162](#cds-report-log-maintenance-page-flow)

[10.17 View CDS Setup Advisory Report
10-179](#__RefHeading___Toc168981244)

**EXHIBITS**

[**Exhibit 10-1.** SDWIS/STATE Home Page with Compliance Determination
Menu 10-2](#__RefHeading___Toc168981245)

[**Exhibit 10-1a.** Positive Sample Analytical Result Validation List
10-4](#__RefHeading___Toc168981246)

[**Exhibit 10-2.** Repeat Schedule Creation
10-1](#__RefHeading___Toc168981247)

[**Exhibit 10-3.** Water System Selection List
10-5](#__RefHeading___Toc168981248)

[**Exhibit 10-4.** TCR Sample Schedule Maintenance List
10-6](#__RefHeading___Toc168981249)

[**Exhibit 10-5.** Preliminary Acute Violation Creation Advisory
10-7](#__RefHeading___Toc168981250)

[**Exhibit 10-6.** TCR Compliance Report
10-9](#__RefHeading___Toc168981251)

[**Exhibit 10-6a.** Regulating Agency/Water System Group Selection List
10-13](#__RefHeading___Toc168981252)

[**Exhibit 10-7.** Preliminary Sample Result Verification
10-15](#__RefHeading___Toc168981253)

[**Exhibit 10-8.** Results Alert Report
10-20](#__RefHeading___Toc168981254)

[**Exhibit 10-9.** Threshold Level to Alerts Report Process Matrix
10-26](#__RefHeading___Toc168981255)

[**Exhibit 10-10.** Conversion Table
10-28](#__RefHeading___Toc168981256)

[**Exhibit 10-11.** Understanding Applicable Periods
10-35](#__RefHeading___Toc168981257)

[**Exhibit 10-12.** Chemical/Radionuclide/State M&R Compliance Report
Selection 10-37](#__RefHeading___Toc168981258)

[**Exhibit 10-13.** Lead & Copper Rule Compliance Report Selection
10-48](#__RefHeading___Toc168981259)

[**Exhibit 10-14.** Daily Value Calculation Chart
10-57](#__RefHeading___Toc168981260)

[**Exhibit 10-15.** Water Treatment Compliance Report
10-76](#__RefHeading___Toc168981261)

[**Exhibit 10-16.** Water Treatment Compliance
10-83](#__RefHeading___Toc168981262)

[**Exhibit 10-18.** User Defined Summary Compliance Report
10-103](#__RefHeading___Toc168981263)

[**Exhibit 10-19.** Public Notification Compliance Report
10-108](#__RefHeading___Toc168981264)

[**Exhibit 10-20.** Schedule Activity Compliance Report
10-120](#__RefHeading___Toc168981265)

[**Exhibit 10-21.** Site Visit Compliance Report
10-127](#__RefHeading___Toc168981266)

[**Exhibit 10-22.** Sample Collection Interval Support Report
10-133](#__RefHeading___Toc168981267)

[**Exhibit 10-24.** Decreased Monitoring Assessment Report
10-145](#__RefHeading___Toc168981268)

[**Exhibit 10-25.** CDS Candidate Violation Search
10-147](#__RefHeading___Toc168981269)

[**Exhibit 10-26.** CDS Candidate Violation Migration List
10-153](#__RefHeading___Toc168981270)

[**Exhibit 10-27.** Future Violation Dates Advisory
10-156](#__RefHeading___Toc168981271)

[**Exhibit 10-28.** Issuing Agency Selection
10-157](#__RefHeading___Toc168981272)

[**Exhibit 10-29.** CDS Candidate Violation Migration Complete
10-159](#__RefHeading___Toc168981273)

[**Exhibit 10-30.** CDS Report Log Search
10-163](#__RefHeading___Toc168981274)

[**Exhibit 10-31.** CDS Report Log Maintenance List
10-165](#__RefHeading___Toc168981275)

[**Exhibit 10-32.** Report Log Details -- Results Alert Report
10-169](#__RefHeading___Toc168981276)

[**Exhibit 10-33.** Report Log Details -- MCL Compliance Check by CDS
Setup 10-169](#__RefHeading___Toc168981277)

[**Exhibit 10-34.** Report Log Details -- Chlorite/Chlorine Dioxide
Exceedence Check 10-170](#__RefHeading___Toc168981278)

[**Exhibit 10-35.** Report Log Details -- Chem/Rad/State M&R Compliance
Report 10-170](#__RefHeading___Toc168981279)

[**Exhibit 10-36.** Report Log Details -- Public Notification Compliance
Report 10-171](#__RefHeading___Toc168981280)

[**Exhibit 10-37.** Report Log Details -- Schedule Activity Compliance
Report 10-172](#__RefHeading___Toc168981281)

[**Exhibit 10-38.** Report Log Details --Increased Monitoring Assessment
Report 10-173](#__RefHeading___Toc168981282)

[**Exhibit 10-39.** Report Log Details-Sample Collection Interval Report
(R0101) 10-174](#__RefHeading___Toc168981283)

[**Exhibit 10-40.** Report Log Details --Decreased Monitoring Assessment
Report 10-175](#__RefHeading___Toc168981284)

[**Exhibit 10-41.** Report Log Details -- Lead & Copper Rule Compliance
Report 10-175](#__RefHeading___Toc168981285)

[**Exhibit 10-42.** Report Log Details -- Surface Water Treatment
Compliance Report 10-176](#__RefHeading___Toc168981286)

[**Exhibit 10-44.** Report Log Details -- User Defined Summary
Compliance Report 10-177](#__RefHeading___Toc168981287)

[**Exhibit 10-45.** Report Log Details -- TCR Compliance Report
including Water System Group 10-178](#__RefHeading___Toc168981288)

[**Exhibit 10-46.** Report Log Details -- Site Visit Compliance Report
10-179](#__RefHeading___Toc168981289)

[**Exhibit 10-47.** CDS Setup Advisory Report List
10-180](#__RefHeading___Toc168981290)

#  {#section .unnumbered}

# compliance Determination

#  {#section-1 .unnumbered}

*Compliance Determination* is the component of SDWIS/STATE that enables
users to evaluate the degree to which water systems comply with federal
or state drinking water rules/regulations. *Compliance Determination*
processes generate candidate violations which users use to remind water
system owners about activities they need to accomplish, to verify data
and, in the end, migrate into SDWIS/STATE as actual violations.
Compliance determination support encompasses the following rules and
requirements:

-   Total Coliform Rule

-   Lead and Copper Rule

-   Phase 2/5 Chemical and State Required Monitoring

-   Original and Revised Radionuclide Rule

-   Filter Backwash Recycling Rule

-   Surface Water Treatment Rules (SWTR) (Original SWTR, Interim
    Enhanced SWTR, Enhanced Long Term 1 SWTR, and Enhanced Long Term 2
    SWTR) (R2000)

-   Stage 1 and Stage 2 Disinfectant/Disinfectant Byproduct Rule (R3000)

-   Groundwater Rule (R4000)

-   State Monitoring and MCL Requirements

-   Public Notification

-   Site Visit

-   Consumer Confidence Reports

-   Compliance Schedules

Invoke *Compliance Determination* from the *SDWIS/STATE Home Page*
(Exhibit 10-1). The submenu items are (R0101:A.10.0.a):

-   TCR Compliance Determination

-   Compliance Decision Support

-   Post-Compliance Decision Support Processing

  ---------------------------------------------------- ----------------------------------------------------
  ![](media/image1.png){width="1.5986111111111112in"   ![](media/image2.png){width="4.723611111111111in"
  height="4.25625in"}                                  height="3.047222222222222in"}

  ---------------------------------------------------- ----------------------------------------------------

[]{#__RefHeading___Toc168981245 .anchor}**Exhibit 10-1.** SDWIS/STATE
Home Page with Compliance Determination Menu

## Total Coliform Rule Positive Sample Validation

To initiate this report, the user selects **Compliance Determination/TCR
Compliance Determination/TCR Positive Sample Validation** from the
*SDWIS/STATE Home Page*. The Positive Sample Analytical Result
Validation List (Exhibit 10-1a) will be displayed (R0101:A.10.1.a) to
allow the user to initiate a process that validates positive sample
analytical results; assesses the need for repeat, temporary routine, and
return to normal routine TCR sample schedules; and assesses potential
Acute MCL violations for water systems with positive total or fecal
coliform and E.coli sample results.

TCR compliance determination will create candidate TCR violations in the
same manner as occurs with other types of candidate violations. The
exception to this statement is for TCR Acute Violations (type 21). This
type of TCR violation is created as an actual preliminary TCR violation,
which the user must then validate.

### Total Coliform Rule Positive Sample Analytical Result Validation List

The fields in this list will be: Sample Type, Water System No., WSF
State Asgn ID, Sampling Point, Collection Date, Lab Sample No., Mon.
Per. Name, Result (P/A) (which maps to MICROBIAL_ANALYTICAL_RESULT
Presence Indicator Code--stack with Result on top and \[P/A\]
underneath), Result QA (which maps to SAMPLE_ANALYTICAL_RESULT Data
Quality Code-- stack Result on top and QA underneath), Analyte Code, Lab
State ID, Lab Name, Water System Name, Analyte Name (with width reduced
so that it is just wide enough for "COLIFORM, TOTAL \[TCR\])."

**Edit**

> *Validate* Will perform logic as described in Subsection 10.1.1.
>
> *Reject* Will mark the sample analytical result as rejected.
>
> *Validate*
>
> *Only* Selecting **Edit/Validate Only** will enable users to process
> historic, positive total coliform results without any impact on TCR
> Sample Schedules or any violation creation. When a user selects this
> function, the software will take only the following actions:
>
> Change the Data Quality Code for the selected result(s) from "A"
> (accepted) to "V" (validated).
>
> Remove highlighted result(s) from the list.

![](media/image3.png){width="6.493055555555555in" height="4.45in"}

[]{#__RefHeading___Toc168981246 .anchor}**Exhibit 10-1a.** Positive
Sample Analytical Result Validation List

> Retain the same sort order and filter previously selected and "dash"
> the lines around the next not-yet-validated result. The software,
> under this menu item, should not invoke the existing warning message:
> **All the SARs selected do not have the same Collection Date. Do you
> wish to continue?** This warning is not appropriate when a user has
> selected "Validate Only."

**View**

*Sort* For **View/Sort**, the existing "sorted by" function (that only
gives the PWS ID, Collection Date) should be replaced by the standard
Sort dialog box. Sorting will be allowed by Water System No. (replaces
PWS ID), Collection Date, Monitoring Period Name, Water System Name,
Sample Type, Analyte Name, and Analyte Code.

*Filter by* Selecting **View/Filter by** will allow the user to filter
by Sample Type, Collection Date, Lab Sample No., Monitoring Period Name,
Water System Name, Water System No., Lab State ID, Lab Name, Analyte
Code, and Analyte Name. List these alphabetically.

*Refresh* Selecting **View/Refresh** will retrieve the unfiltered list
(original search criteria).

> *Select All* For **View/Select All**, no change to existing
> functionality. Shown here to indicate position of new menu items.

*Deselect All* For **View/Deselect All**, will remove highlighting on
all highlighted rows.

[Protected Fields]{.underline}:

*WS Group/*

*Regulating Agency*

*Used* This protected field will show the Water System Group Name or
Regulating Agency used in the search criteria. The software will
dynamically change the prompt, depending on whether Water System Group
Name or Regulating Agency is current. The prompt will be "WS Group Used"
if the user's current Water System Group is valued, otherwise the prompt
will be "Regulating Agency Used."

*Number of rows resulting*

*From search criteria*

*Used* The number of positive TCR Sample Analytical results present in
the database.

*Number of rows*

*Displayed* The number of positive TCR Sample Analytical results
presented in the list box.

*Number of rows*

*Selected* The number of rows highlighted in the list.

### Repeat Schedule Creation

When the user highlights one or more results and selects
**Edit/Validate**, the software will invoke the Repeat Schedule Creation
dialog box (Exhibit 10-2) with the statement at the top of the page:

> **Do you want to create a Repeat TCR Schedule for this (each of these)
> sample(s) with a positive result?**

**If so:**

-   **enter the desired repeat requirement for the schedule;**

-   **enter the desired Begin and End Dates for the schedule;**

-   **indicate whether TCR Compliance Determination should determine
    compliance with the upstream, downstream, and original repeat
    sampling requirements or not; and**

-   **Click on Yes.**

> ![](media/image4.png){width="6.135416666666667in"
> height="5.604166666666667in"}

[]{#__RefHeading___Toc168981247 .anchor}**Exhibit 10-2.** Repeat
Schedule Creation

[Protected Fields]{.underline}:

Repeat Monitoring Requirement Group Box:

The prompt for this group box will be blue with an asterisk (\*) to
indicate that the repeat monitoring requirement is mandatory information
(if the user wants to create repeat schedules).

The software will default to the repeat monitoring requirement currently
determined by the software. Clicking the **Go To** button will display
the Monitoring Requirement Maintenance List to allow the selection of a
different repeat monitoring requirement.

*\[Sample Count\]* This field will display the Sample Count of the
selected repeat monitoring requirement.

*\[Sample Type\]* This field will display the Sample Type of the
selected repeat monitoring requirement.

*\[Sample Unit Count\]* This field will display the Sample Unit Count of
the selected repeat monitoring requirement.

*\[Periodicity\]* This field will display the Sample Count Unit Code
(i.e., periodicity) of the selected repeat monitoring requirement.

[Entry Fields:]{.underline}

*Begin Date* Enterable date field that maps to BEGIN_DATE in
SAMPLE_SCHEDULE. Default it to the earliest Sample Date of the results
being validated plus 1 day. An external calendar function will allow the
user to more easily enter dates for this field.

*End Date* Enterable date field that maps to END_DATE in
SAMPLE_SCHEDULE. Default this to the earliest Sample Date of the result
being validated plus 15 days. An external calendar function will allow
the user to more easily enter dates for this field.

*Do you want TCR Compliance Determination*

*to determine compliance*

*with the upstream,*

*downstream, and original*

*repeat sampling*

*requirements for*

*this schedule(s)?* This field is mandatory. A dropdown list shows the
permitted values of Yes and No. The default value is No.

[Buttons]{.underline}:

Monitoring

Requirement **Go To** Allow the user to pick a different Repeat
Monitoring Requirement for 3100 by clicking on the **Go To** button. If
the user clicks the **Go To** button, use the Monitoring Requirement
Maintenance List page to display only these repeat monitoring
requirements (Sample Type is RP, St_Code = HQ), allowing the user to
select one.

**Yes** If the user selects **Yes**, the software will use the
user-specified data to create a repeat TCR schedule.

> If a repeat monitoring requirement has not been selected, invoke exit
> state error message: **A repeat monitoring requirement must be
> specified.**
>
> If Begin Date is not valued, invoke exit state error message: **The
> Effective Period Begin Date must be specified for the Schedule.**
>
> If End Date is not valued, invoke exit state error message: **The End
> Date must be specified for the Schedule.**
>
> If the End Date is before the Begin Date, invoke exit state error
> message: **Begin Date cannot be after End Date.**
>
> Pressing this button will cause the software to do everything it
> currently does when validating a positive TCR result, including
> creating a repeat schedule, regardless of the validated result's
> sample type.
>
> The software will change the results Data Quality to V, create a
> repeat schedule, and determine whether the just-validated result
> constitutes an acute preliminary (type 21) violation. If a violation
> already exists for the water system and monitoring period, do not
> create another. If any are found or created, display the advisory
> dialog box for each violation found or created. If the sample result
> being validated is routine, it determines if a new temporary routine
> (TR) schedule and a new routine schedule (return to routine) are
> required (this process to be modified slightly as indicated in bold -
> when determining whether a temporary routine schedule is already in
> effect for the following monitoring period, it looks for a schedule
> whose monitoring requirement sample type is TR and whose Effective
> Begin Date is equal to **or less than** the Begin Date of the next
> monitoring period and whose Effective End Date is equal to **or less
> than** End Date of the next monitoring period or is null). Upon
> completion of the Yes process, the software returns user to the
> Positive Sample Result Selection List which now shows the newly
> validated results removed from the list while retaining the original
> sort order.

**No** Pressing this button will cause the software to do everything it
currently does when validating a positive TCR result except create
Repeat schedule(s) for the selected result(s).

> The software will change the results Data Quality to V and determine
> whether the just-validated result constitutes an acute preliminary
> (type 21) violation. If a violation already exists for the water
> system and monitoring period, do not create another. If any are found
> or created, display the advisory dialog box for each violation found
> or created. If the sample result being validated is routine, it
> determines if a new temporary routine (TR) schedule and a new routine
> schedule (return to routine) are required. Upon completion of the No
> process, the software returns user to the Positive Sample Result
> Selection List, which now shows the newly validated results removed
> from the list while retaining the original sort order.

**Review**

**TCR Schedules** Pressing this button will display all the TCR Sample
Schedules for the water system (view set to all schedules, sorted by
Begin Date descending) using the TCR Sample Schedule Maintenance List
page with only the **File/Exit** menu item and the three toolbar buttons
enabled (Exhibit 10-4).

> If the user has selected results from more than one water system, the
> software will first display the existing Water System Selection List
> (Exhibit 10-3), showing only water systems associated to the sample
> results selected for validation.

-   If the user selects **File/Exit**, the software will return to the
    Repeat Schedule Creation dialog box.

-   If the user selects **Edit/Select**, the software will invoke the
    TCR Sample Schedule Maintenance List, displaying all the TCR Sample
    Schedules for the selected water system.

> -- If the user selects **File/Exit** on the TCR Sample Schedule
> Maintenance List, the software will return to the previous dialog box
> (either the Repeat Schedule Creation dialog box or the Water System
> Selection List, depending on whether the results selected for
> validation belong to one or more than one water system, respectively).

**Cancel** When the user presses this button, the software will return
to the Positive Sample Analytical Result Validation List with previously
selected settings (e.g., all previously highlighted rows still
highlighted, the sort order the same, the filter the same).

**Help** Pressing this button will invoke online Help for this page.

[Example]{.underline}:

For example, a user has selected four positive routine samples,
belonging to three different water systems (ND0000002, ND0100476, and
ND3100101) to validate. When the Repeat Schedule Creation dialog box is
displayed and the user clicks **Review TCR Schedules**, the Water System
Selection List with records as shown in Exhibit 10-3 should be
displayed.

![](media/image5.wmf)

[]{#__RefHeading___Toc168981248 .anchor}**Exhibit 10-3.** Water System
Selection List

If the user highlights the bottom row and selects **Edit/Select**, the
following should be displayed (i.e., all TCR sample schedules for
Hastings RV Park \[Exhibit 10-4\]):

![](media/image6.png){width="6.493055555555555in" height="4.45in"}

[]{#__RefHeading___Toc168981249 .anchor}**Exhibit 10-4.** TCR Sample
Schedule Maintenance List

### TCR Preliminary Acute Violation Creation Advisory 

The validation of a positive TCR repeat sample may result in the
immediate creation of a Preliminary Type 21 (MCL--TCR, Acute) violation.
To better communicate that a violation has been created, the Preliminary
Acute Violation Creation Advisory dialog box (Exhibit 10-5) will be
presented. The advisory will contain protected information about any
newly created Preliminary Type 21 violations. If the process determines
an acute violation but also finds an existing violation in preliminary
or validated status, a duplicate violation will not be created and the
advisory will not presented.

![](media/image7.png){width="6.497222222222222in" height="3.625in"}

[]{#__RefHeading___Toc168981250 .anchor}**Exhibit 10-5.** Preliminary
Acute Violation Creation Advisory

## TCR Compliance Report

This section contains the design to implement the requirement to replace
the TCR pre-compliance and the non-compliance rerun processes in
determining TCR compliance with a process that creates Candidate
Violations, a concept already in use by other CDS compliance processes.

### Overview

TCR Non-compliance includes the following:

-   A Regulating Agency or Water System Group maybe selected to run the
    compliance check

-   Users may run the compliance check for any past and present
    monitoring periods.

-   The compliance check will only count a total coliform sample for
    compliance if the sample is associated to a distribution system
    facility.

-   The report will display source water samples when a repeat violation
    is incurred as the Groundwater Rule allows Triggered Source Water
    Samples to satisfy a repeat TCR schedule.

### Model Changes for the TCR Compliance Report

> Changes to CDS Report Log (TCDSRLOG):

-   Add field TCR_MR_RPT_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the TCR Compliance Report, wanted
    the compliance report to run the Repeat M&R Compliance Check
    process. (B.10.2.2.a)

-   Change field TCR_MR_COMP_IND to be TCR_MR_RT_IND. Description:
    Indicates whether the user, when launching the TCR Compliance
    Report, wanted the compliance report to run the Routine M&R
    Compliance Check Process. (B.10.2.2.e)

-   Add field TCR_SWSAR_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the TCR Compliance Report, wanted
    the compliance report to run the Source Water Sample Results
    process. (B.10.2.2.b)

-   Add field TCR_TRIG_SCH_IND (text, 1, optional). Description:
    Indicates whether the user, when launching the TCR Compliance
    Report, wanted the compliance report to run the Triggered Source
    Water Sample Schedule process. (B.10.2.2.c)

Changes to Permitted Values (TINPVALS)

-   Add Permitted values to TINPVALS (with Code Name = WSFINDTYP)
    (B.10.2.2.d)\
    \-- Sequence number set to next sequential number\
    \-- Numeric_value set to 0.\
    \-- Date_value set to 0001/01/01.\
    \-- Ref_indicator set to spaces.\
    \-- Ownership_code set to \"HQ\"\
    \-- D_Userid_code set to \"SS2.0\"\
    \-- D_last_update_timestamp set to \"2007-01-01\"\
    \-- Text Values and Descriptions as below.\
    \
    Text Value Description\
    CSGW-Combined GWR Source Monitoring Location\
    NSGW-GWR Source Monitoring Not Required

SMGW-GWR Source Monitoring Required Location

### TCR Compliance Report Page Flow

To initiate this report, the user will select **Compliance
Determination/TCR Compliance Determination/TCR Compliance Report** from
the *SDWIS/STATE Home Page.* (R0101:A.10.2.3.a) The TCR Compliance
Report page (Exhibit 10-6) will be displayed to allow the user to select
process(es) to be run.

The TCR Compliance Determination Report page will provide the user to
select

-   either a Regulating Agency or Water System Group to define the scope
    of water systems that will be included in the report

-   One or more type of compliance checks or reports:

    -   Non-acute MCL compliance check

    -   Routine M&R compliance check

    -   Repeat M&R Compliance Check

    -   Include Source Water Sample Results with Repeat Violation

    -   Triggered Source Water Sample Schedule Check

-   A single monitoring period or a monitoring period end date range.
    Choosing an end date range option enables a user to check compliance
    for multiple monitoring periods that may be of different
    periodicities as long as their end dates are within the date range
    specified.

In early releases of SDWIS/STATE, selection is limited to monitoring
periods for which compliance has not yet been determined for at least
one water system (i.e., whose corresponding RULE_WS_MP_ASGMT
Compliance_Run_Indicator_Code \<\> 'Y'). Beginning in SSWr1, this check
will not be performed so that all applicable current and most recent
monitoring periods will be displayed and users may run or rerun the
compliance process at their discretion. However, this field will still
be set during compliance determination for a water system and monitoring
period pair to indicate that compliance has in fact already been run at
least once.

  -----------------------------------------------------------------------
  ![](media/image8.png){width="5.993055555555555in"
  height="4.161111111111111in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981251 .anchor}**Exhibit 10-6.** TCR Compliance
Report

[Entry Fields:]{.underline}

*Non-acute MCL*

*Compliance Check*

*checkbox* Selecting this checkbox will perform TCR compliance
processing that potentially generates Type 22 candidate violations. When
creating the report log, the CDS_REPORT_LOG TCR_Non_Acute_MCL_Ind is set
to 'Y.' Default for this checkbox will be N (not checked). (B.10.2.3.a)

*Routine* *M&R Compliance*

*Check checkbox* Selecting this checkbox will perform TCR M&R compliance
processing that potentially generates Type 23 and 24 candidate
violations. When creating the report log, the CDS_REPORT_LOG
TCR_MR_Comp_Ind is set to 'Y.' The default for this checkbox will be
N(not checked). (B.10.2.3.b)

*Repeat M&R Compliance*

*Check checkbox* Selecting this checkbox will perform TCR M&R compliance
processing that potentially generates Type 25 and 26 candidate
violations. When creating the report log, the CDS_REPORT_LOG.
TCR_MR_RPT_IND is set to "Y". Default for this checkbox will be N (not
checked). (B.10.2.3.c)

*Display Source* *Water* *Samples*

*with* *Repeat Violations*

*Checkbox* Selecting this checkbox will initiate the display of Source
Water Sample Results with a candidate repeat violation (type 25 or 26).
This checkbox will be disables unless the Repeat M&R Compliance Check
Checkbox is valued "Y". When creating the report log, the
CDS_REPORT_LOG. TCR_SWSAR_IND is set to "Y". Default for this checkbox
will be N (not checked). (B.10.2.3.d)

*Triggered Source* *Water*

*Sample* *Schedules*

*Checkbox* Selecting this checkbox will create a report listing for
Positive TCR Sample Results for which there is not corresponding non-TCR
Source Water Sample Schedule for each active non-emergency source. When
creating the report log, the CDS_REPORT_LOG. TCR_TRIG_SCH_IND is set to
"Y". Default for this checkbox will be N (not checked). (B.10.2.3.e)

*Regulating Agency/*

*Water System Group* This field is used to select the group of water
systems the user wants to run compliance against (and will either map to
table TINLGENT column Name or to table TINWSG column Group_Name). Its
value will default to the regulating agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value defaults to the name of
the first regulating agency, in alphabetical order, to which the user is
linked. The user may click the **Go To** button to invoke the Regulating
Agency/Water System Group Selection list or may enter a value directly
into Regulating Agency/Water System Group. When creating the report log,
if a Regulating Agency was specified, the CDS_REPORT_LOG
Govag_Tinlgent_IS_Number, Govag_Tinlgent_St_Code, and Govag_Name will be
set. Otherwise, the CDS_REPORT_LOG Wsgrp_Tinwsg_IS_Number,
Wsgrp_Tinwsg_St_Code, and Wsgrp_Group_Name will be set.

Regulating Agencies are government agencies with their Regulating Agency
Indicator set to 'Y'.

*Monitoring Period*

*End Date Range*

*radio button* Selecting this option will perform TCR compliance
processing for monitoring periods with end dates falling within the
specified date range. When creating the report log, the CDS_REPORT_LOG,
Data Entry Begin Date, and Data Entry End Date are set.

*Monitoring Period*

*radio button* Selecting this option will perform TCR compliance
processing only for the monitoring period specified. When creating the
report log, the CDS_REPORT_LOG MP Monitoring Period Name, MP Monitoring
Period Type Code, MP Monitoring Period Begin Date, and MP Monitoring
Period End Date are set.

*\[Begin Date\]* If the Monitoring Period radio button is selected and
the \[Begin Date\] and either \[End Date\] or Duration are valued,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. Only monitoring periods of types (WK,
MN, QT, 6M, YR) will be evaluated.

> If no monitoring period exists that matches the criteria, invoke the
> Monitoring Period Selection List. The software will not process
> anything if only Begin Date is valued.

*\[End Date\]* If the Monitoring Period radio button is selected and the
\[End Date\] and either \[Begin Date\] or Duration are valued, retrieve
the monitoring period that matches the criteria and display it in all
monitoring period fields. Only monitoring periods of types (WK, MN, QT,
6M, YR) will be evaluated.

> If no monitoring period exists that matches the criteria, invoke the
> Monitoring Period Selection List. The software will not process
> anything if only Begin Date is valued.

*Monitoring Period*

*Name* This field will be disabled if Monitoring Period End Date Range
radio button is selected. If the Monitoring Period radio button is
selected and the user enters a valid monitoring period name, retrieve
the monitoring period that matches the criteria and display it in all
monitoring period fields. If the user enters a partial string or an
invalid monitoring period name, invoke the Monitoring Period Selection
List. Pressing the Monitoring Period **Go To** button will invoke the
Monitoring Period Selection List. Only monitoring periods of types (WK,
MN, QT, 6M, YR) will be evaluated.

*Duration* This field will be disabled if Monitoring Period End Date
Range radio button is selected. If the Monitoring Period radio button is
selected, Duration and either \[Begin Date\] or \[End Date\] are valued,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. If no monitoring period exists that
matches the criteria, invoke the Monitoring Period Selection List. The
software will not process anything if only Duration is valued. Only
monitoring periods of types (WK, MN, QT, 6M, YR) will be evaluated.

[Tab Sequence]{.underline}:

Non-acute MCL Compliance Check checkbox, M&R Compliance Check checkbox,
*Repeat M&R Compliance Check checkbox, Display Source Water Samples with
Repeat Violations Checkbox, Triggered Source Water Sample Schedules
Checkbox,* Regulating Agency/Water System Group, Regulating Agency/Water
System Group **Go To** button, Monitoring Period End Date Range radio
button, \[Begin Date\], \[End Date\], Monitoring Period Name, Monitoring
Period **Go To** button, Duration, **OK** button, **Cancel** button,
**Help** button. (B.10.2.3.f)

[Buttons]{.underline}:

Regulating Agency/

Water System Group

**Go To** The user may use the **Go To** button to display the
Regulating Agency/Water System Group Selection List (Exhibit 10-6a). The
list will be displayed sorted by Regulating Agency Name/Water System
Group Name, in descending order.

> Regulating Agencies displayed for selection must be associated to the
> TCR Rule via the RULE_GOVERNMENT_AGENCY_ASGMT and to which the
> logged-on user is assigned. Regulating Agencies are Government
> Agencies with their Regulating Agency Indicator set to 'Y'. Water
> System Group displayed for selection will be limited to those where
> the creator of the Water System Group is the logged-on user.

![](media/image9.png){width="4.916666666666667in" height="4.375in"}

[]{#__RefHeading___Toc168981252 .anchor}**Exhibit 10-6a.** Regulating
Agency/Water System Group Selection List

**Monitoring Period**

**Go To** The user may use the **Go To** button to display the 100 most
recent monitoring periods on the Monitoring Period Selection List. This
list will include current, weekly (Type = WK) monthly (Type = MN),
quarterly (Type = QT), bi-annual (Type = 6M) and yearly (Type = YR)
monitoring periods. The monitoring periods will be displayed sorted by
End Date, in descending order, then Begin Date in ascending order (thus
the annual period would be displayed first, the quarter second and then
the three months for a given quarter next).

**OK** The **OK** button will have the following edits:

-   If no checkboxes are set to "Y", invoke exit state error message:
    **Please select** **one of the checkboxes.** (B.10.2.3.g)

-   If Regulating Agency/Water System Group field is left blank, invoke
    exit state error message: **Please select regulating agency or water
    system group.**

1.  If Monitoring Period End Date Range radio button is selected and if
    \[Begin Date\] and \[End Date\] are not valued, invoke existing exit
    state error message: **Date range is required.**

2.  If both dates are valued but the \[End Date\] is earlier than the
    \[Begin Date\], invoke existing exit state error message: **Date
    range specified is invalid.**

3.  If Monitoring Period radio button is selected and no valid
    monitoring period has been retrieved, invoke existing exit state
    error message: **No Monitoring Period was selected.**

4.  If the monitoring period end date range radio button is selected and
    the end date specified is past the current date or monitoring period
    radio button is selected and end date specified is past the current
    date, the following advisory will be presented. **"You selected a
    future monitoring period. Please confirm you want to run compliance
    for it by clicking OK. Otherwise, select Cancel."** The cancel
    button will have focus.

Clicking this button proceeds with specified TCR compliance check(s)
and/or reports. Every potential violation that is determined will be
created in the Candidate Violations table. When the OK button is
clicked, the following steps are taken:

-   Checks if there were any unvalidated positive TCR Sample Analytical
    Results (TCR SAR) taken for the Water Systems satisfying the
    criteria and Monitoring Period selected. If one or more unvalidated
    positive TCR SAR is found, a dialog box (Exhibit 10-7) will pop-up
    giving the user a warning and the option to proceed (corresponds to
    ***Process: Check for Unvalidated SARs*** described in detail in
    Appendix E).

> ![](media/image10.png){width="4.302083333333333in"
> height="3.1458333333333335in"}

[]{#__RefHeading___Toc168981253 .anchor}**Exhibit 10-7.** Preliminary
Sample Result Verification

-   Deletes Candidate Violations that may have been assessed in previous
    runs of this report for Water Systems satisfying the criteria and
    Monitoring Period selected (corresponds to ***Process: Clear
    Previous TCR Candidate Violations*** described in detail in Appendix
    E).

-   Retrieves applicable routine or temporary routine TCR schedules for
    Water Systems satisfying the criteria and Monitoring Period selected
    and performs compliance determination (corresponds to ***Process:
    Assess Candidate TCR Violation*** described in detail in Appendix
    E).

-   Displays Report with details of Candidate Violations created and the
    data that supported the determination.

Detailed processing is further described in Appendix E TCR Compliance
Report Processing.

**Cancel** Clicking this button will disregard any data selected and
return the user to the previous page. (R0101:A.10.2.3.b)

**Help** Clicking this button will invoke online help for this page.

Once all edit checks have successfully passed, processing will begin.
Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report (in this case, TCR
Compliance Report). As described for *CDS Setup*, the processing gauge
will show users the overall percentage of the TCR Compliance Report
processes that have completed; the smaller gauge will show the
percentage of completion for each individual process (e.g., *Clear
Previous TCR Candidate Violations, Assess Candidate TCR Violation*).

### TCR Processing Design Requirements

The TCR Compliance Report function will involve distinct processes:

1.  *Check for Unvalidated SARs* - This process checks if there are any
    unvalidated (Data Quality Code = P or A), positive TCR sample
    results for any of the water systems that are either regulated by
    the regulating agency or part of the water system group selected by
    the user in the TCR Compliance Determination Report page. If one or
    more unvalidated, positive results are found, a dialog box is
    displayed, warning the user of this fact and giving the option to
    cancel compliance determination or proceed with processing. If no
    unvalidated, positive results are found, compliance determination
    proceeds without interruption.

```{=html}
<!-- -->
```
1.  *Clear Previous TCR Candidate Violations* -- Removes old and
    possibly no longer valid TCR Candidate Violations when the report is
    rerun due to the presence of changed information in the database
    (e.g., by the time the TCR Compliance Report is rerun, more TCR
    results may have been entered, thus alleviating an original TCR
    Candidate M/R or MCL violation). The process deletes TCR Candidate
    Violations that were determined by a previous run of one of the TCR
    Compliance Report for the same water systems, monitoring period(s),
    and compliance checks selected in the current run.

2.  *Assess Candidate TCR Violation* -- This process calls the selected
    check(s) described below based on the checks selected by the user as
    well as performing actions common to all the compliance check
    processes.

```{=html}
<!-- -->
```
1.  *Assign Future Monitoring Periods to Water System for TCR
    Compliance* -- This process assigns applicable monitoring periods
    already existing in the database to the water system by creating
    records in WATER_SYSTEM_MON_PER_ASGMT (TMNWSMPA) and
    RULE_WS_MP_ASGMT (TMNRWSMA).

2.  *Routine TCR Schedule Compliance Check* -- This process checks TCR
    M/R compliance for a retrieved routine or temporary routine TCR
    schedule. This includes counting the total number of routine samples
    collected that count towards satisfying the monitoring requirement,
    counting the number of results positive for Total Coliform, and when
    a result is found to be positive, checking that speciation has been
    performed and assessing an M/R violation, if any has occurred. If
    this check encounters a positive routine that does not have a repeat
    schedule, it will advise the user in the resulting report with a
    message in the Errors/Advisories portion of the report.

> *Note*: If candidate TCR violation (type 24 or 26) is due to a
> positive result with missing speciation, the software will not log the
> total number of samples collected. This is because it is possible that
> the point this candidate violation is detected, the software may have
> only identified the samples sufficient to determine this violation
> which may not be the actual total number of samples. The TCDSVIOL
> Comments field will contain the text "Missing speciation".
>
> If candidate TCR violation (type 23, 24, 25, or 26) is due to either
> no samples collected or insufficient samples collected, then the
> software will log the total number of samples collected in the
> TCDSVIOL.vio.mnr.num.rslts field. For major TCR violations, the total
> number of samples collected will always be set to zero.

3.  *Repeat TCR Schedule Compliance Check* -- This process checks TCR
    M/R compliance for repeat TCR schedules for a water system that was
    found to have a routine result that was positive for Total Coliform.
    This includes counting the total number of repeat samples collected
    that can count towards satisfying the repeat monitoring requirement,
    counting the number of repeat results positive for Total Coliform,
    and when a result is found to be positive, checking that speciation
    has been performed, checking for streamness, and assessing an M/R
    violation, if any has occurred. (B.10.2.4.a)

> **Note:** If candidate TCR violation (type 24 or 26) is due to a
> positive result with missing speciation, the software will not log the
> total number of samples collected. This is because it is possible that
> the point this candidate violation is detected, the software may have
> only identified the samples sufficient to determine this violation
> which may not be the actual total number of samples. The
> TCDSVIOL.comments field will contain the text "Missing speciation".
>
> If candidate TCR violation (type 23, 24, 25, or 26) is due to either
> no samples collected or insufficient samples collected, then the
> software will log the total number of samples collected in the
> TCDSVIOL.vio.mnr.num.rslts field. For major TCR violations, the total
> number of samples collected will always be set to zero.

4.  *Non-acute TCR MCL Check* -- This process checks TCR non-acute MCL
    compliance based on the number (if less than 40 total were
    collected) or the percentage (if 40 or more were collected) of
    positive results (routine and repeat) to the total number of
    collected samples (routine and repeat). A TCR violation type 22
    (Non-acute MCL) is assessed if the number of samples collected is
    less than 40 and at least 2 samples were found to be positive, or if
    the number of samples collected where positives is greater than 5.0%
    of the total samples collected.

5.  *Include Source Water Sample Results with Repeat Violations*-This
    process will display all TC-Coliform type sample results from
    active, non-emergency WSFs of type WL-Well, WH-Wellhead, SP-Spring,
    CH-Common Header or SS-Sampling Station with water type
    GW-Groundwater if a candidate type 24 or 25 violation is created.
    Selected results will be collected between the date the positive
    sample associated to the repeat schedule was collected and thirty
    days thereafter. (B.10.2.4.b).

6.  *Triggered Source Water Sample Schedule Check --*This process will
    check for non-TCR sample schedule for source water monitoring
    triggered by a positive TCR sample. For all water systems with a
    Total Coliform positive distribution system sample, the process will
    find all active, non-emergency WSF without an E. coli sample
    schedule beginning on the day after collection of the "triggering"
    distribution sample. (B.10.2.4.c)

7.  *Create Candidate Violation* -- For each potential violation
    determined by a compliance check process, this process checks to see
    if an equivalent violation already exists in SDWIS/STATE that is
    validated, potential or rejected (that is in the main violation
    table with a status of V, P or R). If a matching violation already
    exists, this process will not create a candidate violation, thus
    saving the user the effort of re-evaluating a situation that has
    already been assessed. If a matching violation does exist but has
    been deleted, in addition to creating a candidate violation as
    described below, the process will include the advisory, "A violation
    matching this candidate violation exists in the main violation table
    but is marked as deleted" in the candidate violation record. If a
    violation does not already exist in SDWIS/STATE, this process will
    create a Candidate Violation and depending on the type of violation
    assessed, it will also create copies of data used to determine the
    candidate violation. For a TCR M/R violation, the data used to
    determine the violation is the schedule violated (of which a copy
    will be made and stored in the CDS Schedule table). For TCR MCL
    violations, the data used to determine the violation includes the
    TCR routine (or temporary routine) schedule in effect (a copy of
    which will be created in the CDS Schedule table) and the results
    used (a copy of which will be created in the CDS Sample Result
    table). The supporting data will be related to the candidate
    violation they support. The state violation period for the candidate
    violation will be valued with the begin and end dates of the
    monitoring period. The federal violation period will be valued using
    the rules defined for the violation type and in some cases violation
    type/analyte combination as recorded in table VIOLATION_PERIOD_RULE
    (TMNVPRDR). Appendix E (Create Candidate Violation Process) provides
    the detailed design logic of this process.

Appendix E (TCR Compliance Report Processes) provides the detailed
design logic for these processes.

### Report (Output) Requirements

At the conclusion of the TCR Compliance Report, a report will be invoked
and displayed. (R10101:A.10.2.5.a)

The reports will include a sub-report that will display records created
in entity CDS_REPORT_EXECUTION_ERRORS during the run. If no records are
created in this entity, the sub-report will say that as well.

## Results Alert Report

### Overview

The Results Alert Report (Exhibit 10-8) will automatically identify
results (individual results and/or lead and copper summary results) that
exceed one or more selected threshold levels (e.g., MCL, ACL, URTH,
Facility Control, MRDL, MRDLG). The user will designate the analyte or
analyte group of interest, the group of water systems by the agency that
regulates them or a single water system, the threshold levels of
interest, and the period of time to check. For period of time, users can
choose the period of time during which results were entered, or a period
of time during which samples were collected, or a monitoring period
during which samples were collected. Note that the Result Alert Report
will not check results stored as MDBP Summaries or as Field Results
(which are stored in the MICROBIOLOGICAL_SAMPLE entity) against
threshold levels. (MDBP Summaries are excluded because the new D/DBP
Rule Compliance Report checks these.)

Each result that exceeds a selected threshold level will be included in
the report that is generated at the end of the process. In addition to
presenting information about the result that exceeded the threshold
level (e.g., water system, the WSF, the sampling point, the sample, and
the result) the report also will include the threshold level that was
exceeded. The report can be run as often as desired.

The requirements for the Results Alert Report, as discussed during the
October 1999 JRP, also incorporated the previously separate requirement
for a Facility Water Quality Control Parameter (WQCP) Range Exceedence
Check. This meant that this component could also be used to identify
results that exceed a Facility Analyte Level, such as WQCP for a WSF
(established under the Lead and Copper Rule), a maximum permissible
limit for a WSF (established under the Lead and Copper Rule), or other
maximum or minimum levels that apply to a single WSF.

*Note: the Facility Water Quality Control Parameter (WQCP) Range
Exceedence Check that is part of the Results Alert Report is different
from the Lead and Copper Water Quality Parameter Compliance Report.*

The Results Alert Report page will continue to initiate the *Threshold
Level Exceedence Check*, *Action Level Exceedence Check*, and *Facility
Level Exceedence Check*.

### Model Changes for the Results Alert Report

No model changes planned for this release.

### Results Alert Report Page Flow

To initiate this report, the user will select **Compliance**
**Determination/Compliance Decision Support/Results Alert Report** from
the *SDWIS/STATE Home Page* (R0101:A.10.3.3.a).

  -----------------------------------------------------------------------
  ![](media/image11.png){width="5.9944444444444445in"
  height="6.052083333333333in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981254 .anchor}**Exhibit 10-8.** Results Alert
Report

The following fields are shown on the Results Alert Report page as
selection criteria for the Results Alert Report.

Analyte/Analyte Group Group Box:

*Analyte Code* The user may click the **Go To** button to invoke the
Analyte Selection List or may enter a value directly into Analyte Code.
The default sort for Analyte Selection List will be Analyte Code, in
ascending alphabetical order. *The Analyte Selection List must not
contain Analytes 3100, 3013, or 3014.* If the user enters a value in
Analyte Code, on tabbing off the field accept the specified analyte if
it is an exact match. If the value entered is not an exact match, invoke
the Analyte Selection List sorted by ascending Analyte Code, from which
the user may select an analyte. If the user specifies a partial string
in this field, display the closest matching analyte code at the top of
the list. (Closest matching means a match with the Analyte Code, sorted
alphabetically, that starts with the same text string as supplied.) If
no match is possible, the software will display the entire list of
analytes. If Analyte Code is valued, Analyte Group will be set to
spaces. If the user enters analyte code 3100, 3013, or 3014, the
following error message will be invoked: **TCR Analytes 3100, 3013, or
3014 may not be selected for this report.**

*Analyte Group*

*Code* The user may click the **Go To** button to invoke the Analyte
Group Selection List or may enter a value directly into Analyte Group
Code. The default sort for Analyte Group Selection List is Analyte Group
Code, in ascending alphabetical order. If the user enters a value in
Analyte Group Code, on tabbing off the field accept the specified
analyte if it is an exact match. If the value entered is not an exact
match, invoke the Analyte Group Selection List page, sorted by ascending
Analyte Group Code, from which the user may select an analyte group. If
the user specifies a partial string in this field, display the closest
matching analyte code at the top of the list. (Closest matching means a
match with the Analyte Group Code, sorted alphabetically, that starts
with the same text string as supplied.) If no match is possible, display
the entire list of analytes groups. If Analyte Group Code is valued,
Analyte Code will be set to spaces.

Threshold Levels Group Box:

*Threshold Levels* The user may select one or more of the threshold
levels by checking one or more of the following checkboxes:

> Action Level (ACL).
>
> Maximum Contaminant Level (MCL).
>
> Maximum Contaminant Level Goal (MCLG).
>
> Unreasonable Risk to Health (URTH).
>
> Trigger Level (TRL).
>
> Maximum Residual Disinfectant Level (MRDL).
>
> Water System Facility Maximum Level (WSF Max).
>
> Water System Facility Minimum Level (WSF Min).
>
> Regulatory Minimum Detection Level (RMDL).
>
> Practical Quantitative Level (PQL).
>
> Performance Level Requirement (PLR).
>
> Maximum Residual Disinfectant Level Goal (MRDLG).

Regulating Agency/Water System Group Box:

The prompt for the Regulating Agency/Water System group will be blue
with an asterisk (R0101:A.10.3.3.b) to indicate that the user must
select one or the other of these two fields. Only one can be selected.

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the regulating agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
regulating agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
If a Water System has been selected, this field is protected.

> The user may click the **Go To** button to invoke the Regulating
> Agency Selection List or may enter a value directly into the
> Regulating Agency field.

-   The Regulating Agency Selection List will display only those
    regulating agencies to which the user is associated.

```{=html}
<!-- -->
```
-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met,
    retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from where the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name, sorted
> alphabetically, that starts with the same text string as supplied.)
>
> \- If the user specifies a valid government agency but is not
> associated to that agency (through
> *INDIVIDUAL_GOVERNMENT_AGENCY_ASGT*), the existing exit state error
> message will be invoked to indicate that the selected
> government/regulating agency is not valid for the current user. (The
> SDWIS/STATE Administrator would need to link the user to that agency).

*Water System* *No.* A standard nine-character Public Water System No.
may be entered or left blank. The field will be presented in two
components. The first state-code component will be prepopulated with the
d_state_identification_code value from the TINPRT table where the
where_installed_indicator = '1'. The second component is the numeric
portion of the Water System No. The **Go To** button may be pressed to
select a water system from a list. Once a valid water system is entered
or picked from a list, the water system name will be displayed on the
page.

> If a Regulating Agency has been selected, this field is protected.

Period of Time Group Box:

The user can choose from one of three checkboxes: Data Entry Date Range,
Sample Collection Date Range, and Monitoring Period.

*Data Entry Date*

*Range* The Period of Time option "Data Entry Date Range" will look at
the following date fields for all processes executed for this report:

-   If the user selects Analyte Code PB90 or CU90: CDS Sample Summary
    Result Last Update Timestamp.

```{=html}
<!-- -->
```
-   If the user selects any other analyte: CDS Sample Analytical Result
    Last Update Timestamp.

*Sample Collection*

*Date Range* The Period of Time option "Sample Collection Date Range"
will look at the following date fields for all processes executed for
this report:

-   If the user selects Analyte Code PB90 or CU90, this option will be
    disabled.

```{=html}
<!-- -->
```
-   If the user selects any other analyte: Sample Collection End Date.

*Monitoring Period* The Period of Time option "Monitoring Period" will
look at the following date fields:

-   If the user selects Analyte Code PB90 or CU90: Sample Summary
    Results associated with the specified monitoring period.

```{=html}
<!-- -->
```
-   If the user selects any other analyte: Sample Collection End Date
    against the period defined by the Monitoring Period Begin and End
    Dates.

*\[Begin Date\]* This prompt will be implied. If \[Begin Date\] and
either \[End Date\] or Duration are valued, retrieve the monitoring
period that matches the criteria and display it in all monitoring period
fields. If no monitoring period exists that matches the criteria, invoke
the Monitoring Period Selection List. The software will not process
anything if only Begin Date is valued.

*\[End Date\]* This prompt will be implied. If \[End Date\] and either
\[Begin Date\] or Duration are valued, retrieve the monitoring period
that matches the criteria and display it in all monitoring period
fields. If no monitoring period exists that matches the criteria, invoke
the Monitoring Period Selection List. Do not process anything if only
End Date is valued.

*Monitoring*

*Period Name* If the user enters a valid monitoring period name,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. If the user enters a partial string or
an invalid monitoring period name, invoke the Monitoring Period
Selection List. Pressing the Monitoring Period **Go To** button will
invoke the Monitoring Period Selection List.

*Duration* If Duration and either \[Begin Date\] or \[End Date\] are
valued, retrieve the monitoring period that matches the criteria and
display it in all monitoring period fields. If no monitoring period
exists that matches the criteria, invoke the Monitoring Period Selection
List. Do not process anything if only Duration is valued.

[Tab Sequence:]{.underline}

Analyte Code, Analyte Code **Go To** button, Analyte Group Code, Analyte
Group Code **Go To** button, ACL checkbox, MCL checkbox, MCLG checkbox,
URTH checkbox, Trigger Level checkbox, MRDL checkbox, WSF Max checkbox,
WSF Min checkbox, RMDL checkbox, PQL checkbox, PLR checkbox, MRDLG
checkbox, Regulating Agency, Regulating Agency **Go To** button, Data
Entry Date Range checkbox, Sample Collection Date Range checkbox,
Monitoring Period checkbox, \[Begin Date\], \[End Date\], Monitoring
Period Name, Monitoring Period **Go To** button, Duration, **OK**
button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

**Clear** Pressing this button will clear data from the Regulating
Agency and Water System No. fields only. All fields that may have been
protected will be enabled.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If neither an Analyte Code nor an Analyte Group is selected, the
    following error message will be invoked: **Either an Analyte or
    Analyte Group must be entered.**

```{=html}
<!-- -->
```
-   If the Regulating Agency and Water System fields are both left
    blank, the following error message will be invoked: **Either
    Regulating Agency or Water System must be selected.**

```{=html}
<!-- -->
```
-   If none of the 12 possible threshold levels in the Threshold Levels
    group box is selected, the following error message will be invoked:
    **Result Alert Report requires selection of a threshold type.**

```{=html}
<!-- -->
```
-   If none of the checkboxes (Data Entry Date Range, Sample Collection
    Date Range, or Monitoring Period) is selected, the following error
    message will be invoked: **Result Alert Report requires selection of
    a period of time.**

```{=html}
<!-- -->
```
-   If Data Entry Range checkbox or Sample Collection Date Range
    checkbox is selected

-   If \[Begin Date\] and \[End Date\] are not valued, the following
    error message will be invoked: **Date range is required.**

```{=html}
<!-- -->
```
-   If Monitoring Period checkbox is selected, and no valid monitoring
    period has been retrieved, the following error message will be
    invoked: **No Monitoring Period was selected.**

Once all edits checks have successfully passed, processing will begin.
The first process, *Clear Previous CDS Exceedence Records*, will run for
every Alert Results Report. The three exceedence check processes will
run according to the user's selections (Exhibit 10-9).

  ----------------------------- -----------------------------------------
  **Threshold Level**           **Process**

  MCL, MCLG, TRL, URTH, PLR,    Threshold Level Exceedence Check.
  PQL, RMDL, MRDL, and MRDLG    

  ACL                           Action Level Exceedence Check.

  Maximum WSF Analyte Level or  Facility Analyte Level Exceedence Check.
  Minimum WSF Analyte Level     
  ----------------------------- -----------------------------------------

[]{#__RefHeading___Toc168981255 .anchor}**Exhibit 10-9.** Threshold
Level to Alerts Report Process Matrix

The last process, Create Candidate Exceedence, will execute each time
the Results Alert Report runs. Process Aggregate Lead and Copper 90^th^
Percentile Data, originally conceived as one of the Alert Report
processes, will be necessary for the accurate execution of this report;
however, it will run as part of *CDS Setup* (generally at least once per
day).

Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report (in this case,
Results Alert Report). As described for *CDS Setup*, the processing
gauge will show users the overall percentage of Results Alert Report
processes that have completed; the smaller gauge will show the
percentage of completion for each individual process (e.g., *Threshold
Level Exceedence Check*).

### Processing Design Requirements for the Results Alert Report

Five distinct processes will directly support the Result Alert Report:

-   *Clear Previous CDS Exceedence Records* will clear records from the
    Oracle reporting entities created during a previous run of the
    Results Alert Report when the selection criteria of the current run
    selects a result already included in the candidate entities.

```{=html}
<!-- -->
```
-   *Threshold Level Exceedence Check* will check
    SAMPLE_ANALYTICAL_RESULT records (stored in table TSASAR) against
    THRESHOLD or MEASURE_LEVEL records stored in the
    ANALYTE_LEVEL_RULE_ASSIGNMENT entity (table TMNALRA).

```{=html}
<!-- -->
```
-   *Action Level Exceedence Check* will check SAMPLE_SUMMARY_RESULT
    records (stored in table TSASSR) for PB90 and CU90 results against
    their action levels stored in the ANALYTE_LEVEL_RULE_ASSIGNMENT
    (table TMNALRA).

```{=html}
<!-- -->
```
-   *Facility Level Exceedence Check* will check
    SAMPLE_ANALYTICAL_RESULT records (stored in table TSASAR) against
    designated levels (either maximum or minimum) stored in the new
    entity, FACILITY_ANALYTE_LEVEL.

```{=html}
<!-- -->
```
-   *Create Candidate Exceedence* will create records in
    CDS_CANDIDATE_EXCEEDENCE and either CDS_RESULT or
    CDS_SAMPLE_SUMMARY_RESULT that satisfy the selection criteria
    entered by the user.

The following sections summarize the five processes that will directly
support the Results Alert Report.

#### Clear Previous Candidate Exceedence Records

As mentioned above, the output of the Results Alert Report will be the
creation of candidate exceedence in the three new *CDS* report entities.
To avoid creation of duplicate exceedence records in these reporting
entities, the processes that run as part of the Result Alert Report will
include a step that deletes previously created exceedence records if
they reference a CDS Sample Analytical Result or CDS Sample Summary
Result that will be reevaluated by the current run. It will do this by
identifying and deleting a CDS result that has the same internal system
number and state code as one selected for evaluation. This process will
also ensure the removal of an exceedence that previously met exceedence
criteria but that, due to changing some parameters, no longer meets the
criteria.

#### Threshold Level Exceedence Check

The *Threshold Level Exceedence Check* process runs if the user selects
any one of the following Threshold Levels:

Maximum Contaminant Level (MCL).

Maximum Contaminant Level Goal (MCLG).

Unreasonable Risk to Health (URTH).

Trigger Level (TRL).

Maximum Residual Disinfectant Level (MRDL).

Regulatory Minimum Detection Level (RMDL).

Practical Quantitative Level (PQL).

Performance Level Requirement (PLR).

Maximum Residual Disinfectant Level Goal (MRDLG).

It will first check to see if each combination of Analyte and Threshold
Level selected by the user exists as an Analyte Level. If a combination
does not exist[^1], it will create a record in the CDS_REPORT_LOG_ERROR
entity that will state the analyte (code and name) and threshold level
(code) pairing does not exist. These non-existent pairings will then be
included in the report that appears at the end. So, for example, if a
user selects an analyte group that contains all the inorganic chemicals
and selects URTH as the threshold level and one or more of the inorganic
chemicals in the group does not have an URTH level, the report will make
the user aware of this.

Next, this process will select results (stored in entity
SAMPLE_ANALYTICAL_RESULTS (table TSASAR) that are for the selected water
systems, analytes, and period of time, and will determine whether
candidate exceedence records have already been created for them or not.
If they have, it will delete the candidate exceedence record and its
related CDS Reporting data.

Finally, it will compare the selected results against threshold levels
stored in entity ANALYTE_LEVEL_RULE_ASSIGNMENT (table TMNALRA); if a
result exceeds a selected Threshold Level, it will pass data to the
*Create Candidate Exceedence* process. If the unit of measure for a
result is different than the unit of measure for the threshold level and
the result is not less than detect (i.e., the Less Than Indicator is not
equal to "Y." If the Less Than Indicator is equal to "Y," no conversion
will be necessary---use zero as the value), the process will first
convert the result to the same unit of measure as the threshold level
using the conversion table in Exhibit 10-10:

  ---------------------- ------------------- -----------------------------
  **From UOM**           **To UOM**          **Multiplier**

  MG/L                   UG/L                1000

  MG/L                   NG/L                1000000

  UG/L                   MG/L                0.001

  UG/L                   NG/L                1000

  NG/L                   MG/L                0.000001

  NG/L                   UG/L                0.001
  ---------------------- ------------------- -----------------------------

[]{#__RefHeading___Toc168981256 .anchor}**Exhibit 10-10.** Conversion
Table

If the unit of measure for a result is not equal to any of the unit of
measures in column two, then the process will not be able to compare the
result to the threshold level. Instead, it will send an error message to
the CDS Report Error Log identifying the result that could not be
converted and stating that its unit of measure could not be converted.

This process will not address TCR results. Those results will be handled
by the TCR Compliance Determination process. Other design requirements
for this process follow. The detailed design specification for this
process is contained in Appendix E (Results Alert Report Processes).

-   The process will only consider accepted or validated results that
    reference a selected analyte and whose parent sample's Rejection
    Reason Code is blank.

```{=html}
<!-- -->
```
-   The process will consider results from samples regardless of whether
    they are for compliance or not and regardless of the Sample Type and
    regardless of the activity status of the sampling point, WSF, or
    water system associated to the sample and regardless of the Federal
    PWS Type of the water system.

```{=html}
<!-- -->
```
-   For composite samples, each sample used to make the composite will
    be included in the report.

```{=html}
<!-- -->
```
-   Results will be compared against threshold levels that are *in
    effect*. "In effect" means that the date the report is run is
    between the effective begin and end dates for the threshold level.

```{=html}
<!-- -->
```
-   The report will display each result that exceeds a selected
    threshold level for a selected analyte. The result will be displayed
    along with the threshold level.

See Appendix E (Results Alert Report Processes) for the detailed
specification.

#### Action Level Exceedence Check

The *Action Level Exceedence Check* process will compare results in the
SAMPLE_ANALYTICAL_RESULT entity or the SAMPLE_SUMMARY_RESULT entity
against action levels. The process will determine whether to check
Sample Analytical Results or Sample Summary Results based on the
Analyte(s) picked for running the report.

-   For analyte codes PB90 and CU90, the process will use the
    SAMPLE_ANALYTICAL_RESULT entity.

```{=html}
<!-- -->
```
-   For Lead or Copper individual analytes (analyte codes 1030 and 1022
    respectively), it will use the SAMPLE_SUMMARY_RESULT entity.

```{=html}
<!-- -->
```
-   For all other analytes, it will use the SAMPLE_ANALYTICAL_RESULT
    entity. (Note that the following analytes will not be included in
    any of the exceedence checks: total coliform, fecal coliform, *E
    .coli,* and analytes with a Type Code of Group Contaminant (GC),
    Other (OT), or Rule (RL).)

The first action of this process will be to identify when a selected
analyte does not have an action level. When it finds that is the case,
it will create a record in the CDS_REPORT_LOG_ERROR entity that will
state the analyte (code and name) and threshold level (code) pairing
that does not exist. These non-existent pairings will then be included
in the report that appears at the end.

Next, this process will select results (either stored in
SAMPLE_ANALYTICAL_RESULTS entity (table TSASAR) or
SAMPLE_SUMMARY_RESULT, depending on which analytes were selected) that
are for the selected water systems, analytes, and period of time and
determines whether candidate exceedence records have already been
created for them or not. If they have, it will delete the candidate
exceedence record and its related CDS Reporting data.

Finally, it will compare the values for the selected results against the
action level for the respective analyte. If a result exceeds an action
level, it will pass the data to the *Create Candidate Exceedence*
process described below. If the unit of measure for a result that is not
less than detect (i.e., the Less Than Indicator is not equal to "Y") is
different than the unit of measure for the threshold level, the process
will first convert the result to the same unit of measure as the
threshold level using the conversion table used in the Threshold Level
Exceedence Check.

If, for a result that is not less than detect (i.e., the Less Than
Indicator is not equal to "Y"), the unit of measure for a result is not
equal to any of the unit of measures in column two, then the process
will not be able to compare the result to the threshold level. Instead,
it will send an error message to the CDS Report Error Log identifying
the result that could not be converted and stating that its unit of
measure could not be converted. If the Less Than Indicator is equal to
"Y," no conversion will be necessary. The process will use zero as the
value for that result.

Other design requirements for this process follow. The detailed design
specification for this process is contained in Appendix E (Results Alert
Report Processes).

-   When checking Sample Analytical Results or Sample Summary Results,
    only accepted or validated results will be considered.

```{=html}
<!-- -->
```
-   When checking Sample Analytical Results, the process will consider
    results from samples regardless of whether they are for compliance
    or not and regardless of the Sample Type and regardless of the
    activity status of the sampling point, WSF, or water system
    associated to the sample and regardless of the Federal PWS Type of
    the water system.

```{=html}
<!-- -->
```
-   For composite samples, each sample used to make the composite will
    be included in the report.

```{=html}
<!-- -->
```
-   Sample Summaries will be considered whether they are related to a
    WSF or not, whether they are for compliance or not, and regardless
    of the activity status of the sampling point, WSF, or water system
    associated to it.

```{=html}
<!-- -->
```
-   Results will be compared against action levels that are *in effect*.
    "In effect" means that the date the report is run is between the
    effective begin and end dates for the action level.

```{=html}
<!-- -->
```
-   The report will display each result or sample summary result that
    exceeds the action level for a selected analyte. The result will be
    displayed along with the action level.

#### Facility Level Exceedence Check

The *Facility Level Exceedence Check* will run if the user selects
either one of the following Threshold Levels (a user may select both):

-   Water System Facility Minimum Level (WSF Min).

```{=html}
<!-- -->
```
-   Water System Facility Maximum Level (WSF Max).

The initial action of this process will be to select results (stored in
entity SAMPLE_ANALYTICAL_RESULTS (table TSASAR) that are for the
selected water systems, analytes, and period of time and determine
whether candidate exceedence records have already been created for them
or not. If they have, it will delete the candidate exceedence record and
its related CDS Reporting data.

Having completed the task of clearing previous candidate records, the
process will then compare the selected results against WSF maximum
and/or minimum levels (depending on which were selected by the user)
stored in entity FACILITY_ANALYTE_LEVEL (table TSAFANL).
(FACILITY_ANALYTE_LEVEL stores facility levels such as water quality
control levels and maximum permissible source water levels (both from
the Lead and Copper Rule), or special turbidity levels). If a result
exceeds a WSF maximum level or is less than a WSF minimum level, it will
pass the data to the *Create Candidate Exceedence* process.

If the unit of measure for a result that is not less than detect (i.e.,
the Less Than Indicator is not equal to "Y") is different than the unit
of measure for the threshold level, the process will first convert the
result to the same unit of measure as the threshold level using the
conversion table as the Threshold Level Exceedence Check. If, for a
result that is not less than detect (i.e., the Less Than Indicator is
not equal to "Y"), the unit of measure for a result is not equal to any
of the units of measure in column two, then the process will not be able
to compare the result to the threshold level. Instead, it will send an
error message to the CDS Report Error Log identifying the result that
could not be converted and stating that its unit of measure could not be
converted. If the Less Than Indicator is equal to "Y," no conversion
will be necessary. The process will use zero as the value for that
result.

Other design requirements for this process follow. The detailed design
specification for this process is contained in Appendix E (Results Alert
Report Processes).

-   This process will not address TCR results.

```{=html}
<!-- -->
```
-   The process will only consider accepted or validated results.

```{=html}
<!-- -->
```
-   The process will consider results from samples regardless of whether
    they are for compliance or not, regardless of the Sample Type, and
    regardless of the Activity Status of the sampling point, WSF, or
    water system associated to the sample and regardless of the Federal
    PWS Type of the water system.

```{=html}
<!-- -->
```
-   For composite samples, each sample used to make the composite will
    be included in the report.

```{=html}
<!-- -->
```
-   Results will be compared against WSF levels that are *in effect*.
    "In effect" means that the date the report is run is between the
    effective begin and end dates for the level.

```{=html}
<!-- -->
```
-   The report will display each result that exceeds a selected
    threshold level for a selected analyte. The result will be displayed
    along with the threshold level.

##### Create Candidate Exceedence

The *Create Candidate Exceedence* process will create records in five
*CDS* report entities:

> CDS_CANDIDATE_EXCEEDENCE.
>
> CDS_SAMPLE_RESULT.
>
> CDS_SAMPLE_SUMMARY_RESULT.
>
> CDS_REPORT_LOG.
>
> CDS_REPORT_EXECUTION_ERRORS.

When the Results Alert Report identifies an exceedence, the *Create
Candidate Exceedence* process will be invoked to populate the exceedence
information in the above tables. A record will be created in the Report
Log table every time the Results Alert Report is executed. This Report
Log record will contain information about the parameters that were
chosen to execute the report. Any candidate exceedence that is created
by the report process will be associated to this Report Log. Also,
whenever errors are encountered during the execution of the report, a
record will be created in entity CDS_REPORT_EXECUTION_ERRORS and
associated to the Report Log record corresponding to that execution.

For every exceedence that is determined, one record will be created in
entity CDS_CANDIDATE_EXCEEDENCE. This entity will contain information
related to the threshold level that was exceeded, the inventory
information related to the result that caused the exceedence, and the
analyte information. If the user selected analyte PB90/CU90, a
corresponding CDS Sample Summary Result will be created and associated
to the CDS_CANDIDATE_EXCEEDENCE record. If analytes other than PB90 or
CU90 are selected, a record will be created in entity CDS_SAMPLE_RESULT
that corresponds to the exceedence that was determined. The
CDS_SAMPLE_SUMMARY_RESULT, and CDS_SAMPLE_RESULT entities will each
contain denormalized information about the result that caused the
exceedence.

Appendix E (Results Alert Report Processes) contains the detailed
specifications for this process.

#### Report (Output) Requirements

At the conclusion of the Results Alert Report, a report will be invoked
and displayed. (R10101:A.10.3.5.a)

Since there are three possible combinations of data that can be invoked
in the report at the end of this process, three separate reports will be
developed. The three combinations that require three separate reports
are as follows:

-   Exceedence that involve only Sample Analytical Results (user did not
    select Analyte Code PB90 or CU90).

```{=html}
<!-- -->
```
-   Exceedence that involve only Sample Summary Results (user selected
    Analyte Code PB90 and/or CU90).

```{=html}
<!-- -->
```
-   Exceedences involving both Sample Analytical Results, Sample Summary
    Results, and MDBP Summaries (user selected PB90 and/or CU90 and any
    other analyte). (These are individual reports that each launch at
    the conclusion of the Result Alerts Report.)

This report, as with other CDS reports, will create a CDS Report
Execution Log record each time it is run. All three reports will include
a sub-report that will display records created in entity
CDS_REPORT_EXECUTION_ERRORS during the run. If no records are created in
this entity, the sub-report will say that as well.

## Chemical/Radionuclide/State M&R Compliance Report

### Overview

Users need to periodically determine which water systems have collected
the required number of samples and obtained valid results during a
required period of time. The Chemical/Radionuclide/State Monitoring and
Reporting (M&R) Compliance Report satisfies this requirement for
chemical sample schedules under the Phase I/II/IIb/V rules and
radionuclide sample schedules under the Radiological Rule. More
specifically, this report checks M&R compliance for any schedule that
references Violation Types 03 and 04 or references a
primacy-agency-defined (non-headquarters) Violation Type. Therefore,
though the name implies that this only runs for "Chemical" and
"Radionuclide" analytes, this report will also check compliance for
other classifications of analytes[^2] so long as the schedule references
one of these Violation Types.

For each M&R violation identified, the application will see if a
matching violation has already been recorded in SDWIS/STATE (in the
Violation table). If a matching violation is found, the process will
further check the status of the violation. If the existing violation has
been deleted, the process will create a candidate violation in the
CDS_CANDIDATE_VIOLATION entity that will include a comment about the
existence of the violation. If the existing violation is a preliminary,
validated, or rejected violation, the process will not create a
candidate violation. The user will then be able to review the candidate
violations to determine whether to create potential violations in the
SDWIS/STATE database, reject the candidate violations, or take other
action (e.g., send a reminder letter, check with the laboratory). The
functions of creating potential violations and rejecting candidate
violations are described elsewhere.

The number and type of required samples, the frequency of collecting
those samples, and the specific period(s) during which they should be
collected are established by regulation. These requirements are recorded
in the SDWIS/STATE database as follows:

-   The analyte for which to test, the number of samples, the type of
    samples, and the frequency of sampling are recorded in the
    Monitoring Requirements Maintenance page.

```{=html}
<!-- -->
```
-   The WSF to which a given monitoring requirement applies will be
    captured in the non-TCR schedule that can be viewed in the Non-TCR
    Sample Schedule Maintenance page.

```{=html}
<!-- -->
```
-   The specific period of time during which a set of samples must be
    collected in order to satisfy the monitoring requirement will be
    maintained as a monitoring period.

As discussed in the *CDS Setup* section, the associative entity
SAMPLE_SCHEDULE_MONITORING_PERIOD_ASSIGNMENT (abbreviated SSMPA) will be
critical for determining routine M&R compliance. In order for
SDWIS/STATE to assist the compliance officer, it will determine the WSF
and monitoring period to which each incoming sample and result belongs.
Then, when the compliance officer activates the
*Chemical/Radionuclide/State M&R Compliance Check* (by selecting the
analyte(s) and monitoring period of interest), the application can
identify all the sample schedules for the selected analyte(s) that call
for samples to be collected during the selected monitoring period. The
application will then compare the requirements of each schedule (number
of samples, type of samples, and periodicity) against the specific
samples and results obtained from the WSF during the selected monitoring
period.

Instead of making all these determinations during the compliance check,
*CDS Setup* makes the correct associations between results and sample
schedules. Therefore, the M&R compliance check simply compares results
already linked to a given monitoring period (through the SSMPA and
possibly to a Sampling Point Sub-SSMPA) against the requirements called
out in the associated sample schedule. If a sample is not collected
during the seasonal collection period specified in a schedule, its
results will not be associated to the SSMPA and that sample will not
count towards compliance. If the user manually associates the sample
results to the monitoring period, it will now count towards compliance.

### Model Change for Chemical/Radionuclide/State M&R Compliance Check

No model changes planned for this release.

### Chemical/Radionuclide/State M&R Compliance Check

The Chemical/Radionuclide/State M&R Compliance Report Selection page
(Exhibit 10-12) will be used to initiate the Chemical/Radionuclide/State
M&R Compliance Check. To initiate this report, the user will select
**Compliance** **Determination/Compliance Decision
Support/Chem/Rad/State M&R Compliance Report** from the *SDWIS/STATE
Home Page* (R0101:A.10.4.3.a). This will invoke the
Chemical/Radionuclide/State M&R Compliance Reports Selection page
(Exhibit 10-12).

This page has four inputs:

-   Analyte or Analyte Group.

```{=html}
<!-- -->
```
-   Regulating Agency.

```{=html}
<!-- -->
```
-   Applicable Period End Date Range.

```{=html}
<!-- -->
```
-   Check Compliance with Confirmation Schedules (a checkbox).

To initiate the Chemical/Radionuclide/State M&R Compliance Check, the
user selects the analyte or analyte group of interest, the regulating
agency appropriate for the user and the applicable period end date range
of interest. The selected regulating agency will limit the check to
those public water systems that are regulated by the government agency
selected. So, for instance, if a user selected a county as the
regulating agency, only sample schedules for those systems associated to
that county government agency will be assessed.

The applicable period during which a monitoring requirement applies to
WSF depends on the juxtaposition of three periods: the Sample Schedule's
Effective Period, the Sample Schedule's Seasonal Collection Period and
the Monitoring Period as indicated in Exhibit 10-11.

![](media/image12.png){width="3.6354166666666665in"
height="2.602777777777778in"}

[]{#__RefHeading___Toc168981257 .anchor}**Exhibit 10-11.** Understanding
Applicable Periods

The user can additionally indicate that the M&R compliance check should
evaluate confirmation sample schedules. If the user selects the latter,
the compliance check will evaluate all confirmation sample schedules for
the analyte(s) selected that have an effective end date that is between
the applicable period end date range's begin date and the current date.
The selection of the Check Compliance with Confirmation Schedules
checkbox is the trigger that informs the software to execute the
Chemical/Radionuclide/State Confirmation M&R Compliance Check.

This page can produce two possible permutations of an M&R report:

-   *Chemical/Radionuclide/State Routine M&R Compliance Check*
    only---Either Analyte/Analyte Group is valued but the Check
    Compliance with Confirmation Schedules checkbox is not valued.

```{=html}
<!-- -->
```
-   *Chemical/Radionuclide/State Routine M&R Compliance Check* and
    *Chemical/Radionuclide/State Confirmation M&R Compliance
    Check*---Either Analyte/Analyte Group is valued and the Check
    Compliance with Confirmation Schedules checkbox is valued.

Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report. The processing
gauge will show users the overall percentage of M&R report processes
that have completed; the smaller gauge will show the percentage of
completion for each individual process. Each time the report is
launched, it will be logged in the CDS Report Log table (for this
report, the RTN_CMPL_CHEK_IND will be populated with a "Y").

[Entry Fields:]{.underline}

*Analyte Code* The user may click the **Go To** button to invoke the
Analyte Selection List or may enter a value directly into Analyte Code.
The default sort for Analyte Selection List will be Analyte Code, in
ascending alphabetical order. *The Analyte Selection List must not
contain Analyte 3100.* If the user enters a value in Analyte Code, on
tabbing off the field the software will accept the specified analyte if
it is an exact match. If the value entered is not an exact match, invoke
the Analyte Selection List sorted by ascending Analyte Code, from which
the user may select an analyte. If the user specifies a partial string
in this field, display the closest matching analyte code at the top of
the list. (Closest matching means a match with the Analyte Code, sorted
alphabetically, that starts with the same text string as supplied.) If
no match is possible, display the entire list of analytes. If Analyte
Code is valued, Analyte Group will be set to spaces. If the user enters
analyte code 3100, the following error message will be invoked: **TCR
Analyte 3100 may not be selected for this report.**

  -----------------------------------------------------------------------
  ![](media/image13.png){width="5.991666666666666in" height="3.81875in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981258 .anchor}**Exhibit 10-12.**
Chemical/Radionuclide/State M&R Compliance Report Selection

*Analyte Group*

*Code* The user may click the **Go To** button to invoke the Analyte
Group Selection List or may enter a value directly into the Analyte
Group Code field. The default sort for Analyte Group Selection List will
be Analyte Group Code in ascending alphabetical order. If the user
enters a value in Analyte Group Code, on tabbing off the field, accept
the specified analyte if it is an exact match. If the value entered is
not an exact match, invoke the Analyte Group Selection List, sorted by
ascending Analyte Group Code, from which the user may select an analyte
group. If the user specifies a partial string in this field, display the
closest matching analyte code at the top of the list. (Closest matching
means a match with the Analyte Group Code, sorted alphabetically, that
starts with the same text string as supplied.) If no match is possible,
display the entire list of analytes groups. If Analyte Group Code is
valued, Analyte Code will be set to spaces. Analytes 3013 or 3014 may be
included in a selected Analyte Group.

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

```{=html}
<!-- -->
```
-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, it
    will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from which the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name sorted
> alphabetically that starts with the same text string as supplied.)
>
> Regulating Agency will be a required field.

Applicable Period End Date Range Group Box:

*Begin Date* This field will specify the begin date of the Applicable
Period End Date range. A calendar function will allow the user to more
easily enter dates for this field.

*End Date* This field will specify the end date of the Applicable Period
End Date range. A calendar function will allow the user to more easily
enter dates for this field.

The prompt for the Applicable Period End Date Range group box will be
blue with an asterisk (R0101:A.10.4.3.b) to indicate that both Begin
Date and End Date fields must be specified. The graphic depicted in
Exhibit 10-11 is helpful in understanding how the software treats the
dates entered in these two fields.

*Check*

*Compliance with*

*Confirmation*

*Schedules* This checkbox will be enabled only after the user has tabbed
off either the Analyte or Analyte Group field, and a valid analyte or
analyte group has been retrieved. (This requirement reflects the
understanding that the *Chemical/Radionuclide/State Confirmation M&R
Compliance Check* cannot be executed without also executing the
*Chemical/Radionuclide/State Routine M&R Compliance Check---*which
requires valuing Analyte or Analyte Group.) Conversely, if the user
blanks out the Analyte or Analyte Group field, deselect the Check
Compliance with Confirmation Schedules checkbox and disable it.

[Tab Sequence:]{.underline}

Analyte Code, Analyte Group Code, Regulating Agency, Applicable Period
End Date Range---Begin Date, Applicable Period End Date Range---End
Date, Check Compliance with Confirmation Schedules checkbox, **OK**
button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If neither an Analyte Code nor an Analyte Group is selected, the
    following error message will be invoked: **Either an Analyte or
    Analyte Group must be entered.**

-   If an Analyte Group is selected, analyte 3100 cannot be a part of
    that analyte group. If 3100 is a member of the analyte group, the
    error message will be **Analyte Group containing TCR analyte 3100
    may not be selected for this report.**

```{=html}
<!-- -->
```
-   If the Regulating Agency field is left blank, the following error
    message will be invoked: **Regulating Agency is a required field.**

```{=html}
<!-- -->
```
-   If either a Begin Date or an End Date in the Applicable Period End
    Date Range Group Box is left blank, the following error message will
    be invoked: **Date range is required.**

```{=html}
<!-- -->
```
-   If both dates are valued but the End Date is earlier than Begin Date
    in the Applicable Period End Date Range Group Box, the following
    error message will be invoked: **Date range specified is invalid.**

### Processing Design Requirements

Processing for this function will involve four distinct processes:

-   Clear Previous Chemical/Radionuclide/State M&R Candidate Violations.

```{=html}
<!-- -->
```
-   Chemical/Radionuclide/State Routine M&R Compliance Check.

```{=html}
<!-- -->
```
-   Chemical/Radionuclide/State Confirmation M&R Compliance Check.

```{=html}
<!-- -->
```
-   Create Candidate Violations.

These processes are described in Subsection 10.4.4.1 to Subsection
10.4.4. Appendix E (Chemical/Radionuclide/State M&R Compliance
Determination Check) provides the detailed design logic for these
processes.

#### Clear Previous Chemical/Radionuclide/State M&R Candidate Violations

The Clear Previous Chemical/Radionuclide/State Candidate Violations
process will identify those CDS Candidate Violations that satisfy the
criteria entered by the user for the current run and remove them. This
step will prevent the creation of duplicate CDS Candidate Violations.
This step also will remove a candidate CDS violation when the
information in the *CDS* entities has changed such that there is no
longer a candidate violation (e.g., by the time the M&R compliance check
is run a second time, results for a schedule have been entered, thus
alleviating the original candidate violation).

This process will first identify all the water systems that are
associated to the selected Regulating Agency (i.e., from table TINWSYS
associated to TINLGENT via TINRAA). Then, using these water systems, it
will delete candidate violations based on whether the user only selected
compliance for routine schedules or for routine and confirmation
schedules.

If the user wants to only check compliance for routine schedules, this
process will delete candidate violations that were determined by
previous runs of the Chemical/Radionuclide/State M&R Compliance Report
(i.e., Report Type is equal to "MR") that are not confirmation
violations (i.e., Candidate Violation linked to CDS Schedule with Sample
Type Code of "RT") that have either an Analyte Code that matches the
selected Analyte or Analyte Group or an Analyte Group Code that matches
or is wholly contained in the selected Analyte Group and an Applicable
Period End Date that is in the selected Applicable Period End Date
Range.

If the user also selects the Check Compliance with Confirmation
Schedules checkbox, this process will also delete candidate violations
linked to CDS Schedule with Sample Type Code of "CO" that have an
Analyte Code that matches the selected Analyte or Analyte Group and an
Applicable Period End Date that is between the Begin Date of the
selected Applicable Period End Date Range and the current date (note
that the SSMPA Applicable Period End Date column in TCDSVIOL table will
contain the Sample Schedule's Effective End Date for confirmation
candidate violation).

When data in the CDS reporting entities match the criteria, this process
will delete the data, including CDS Candidate Violation records as well
as related data in the CDS Sample Schedule entities.

The detailed specifications for the confirmation sample schedule M&R
compliance can be found in Appendix E (Chemical Radionuclide State M&R
Compliance Determination Check).

#### Chemical/Radionuclide/State Routine M&R Compliance Check

As previously described, most of the "setup" work for determining
routine M&R compliance will be done by the *CDS Setup* process each day.
By the time the Chemical/Radionuclide/State Routine M&R Compliance Check
is run, *CDS Setup* will have already:

-   Determined which Sample Schedules correlate to the monitoring period
    selected for the check and created an SSMPA record to link them; and

```{=html}
<!-- -->
```
-   Determined which results satisfy a given Sample Schedule for the
    selected monitoring period and related them to their corresponding
    SSMPA.

All that will be left for the routine M&R compliance check will be to
check each Sample Schedule Monitoring Period Assignment (SSMPA) that
references one of the user-selected analyte(s) (through its associated
Sample Schedule and Monitoring Requirement) and that references a
Violation Type (through its associated Sample Schedule and Monitoring
Requirement) but does not reference Violation Type 04, 27, 29, 31, 36,
37, 38, 51, 52, 53, or 56 and that references a Monitoring Requirement
of periodicity equal to or longer than Monthly and has an Applicable End
Date within the user-selected applicable period end date range.

First it will check to see if the SSMPA has a user-maintained Monitoring
Period Average (MPAvg) associated to it. If it does, it will check to
see what Violation Type is associated to the selected Sample Schedule.
If it is not Violation Type "03," then, if the number of result recorded
in the MPAvg is less than the number of samples called for in the
schedule, it will create a candidate violation using the Violation Type
associated to the Sample Schedule and populate the MNR_NUMBER_OF_SAMPLES
column in the CDS_CANDIDATE_VIOLATION table with the number of result
recorded in the MPAvg. Otherwise, it will move on to the next SSMPA. If
the Violation Type is "03," then, if the number of results recorded in
the MPAvg is zero, it will create a candidate routine major M&R
violation (Type 03, Severity MJ) and populate the MNR_NUMBER_OF_SAMPLES
column in the CDS_CANDIDATE_VIOLATION table with the number of result
recorded in the MPAvg and moves on. If, however, the number of results
recorded in the MPAvg is greater than zero but less than the number of
samples called for schedule, it creates a candidate routine minor M&R
violation (Type 03, Severity MN) and populates the MNR_NUMBER_OF_SAMPLES
column in the CDS_CANDIDATE_VIOLATION table with the number of result
recorded in the MPAvg and moves on. If neither condition exists, that
Sample Schedule has not been violated and it moves on to the next SSMPA.

If the SSMPA does not have a user-maintained Monitoring Period Average
(MPAvg) associated to it, it will check compliance both at the Sampling
Point Sub-Schedule level (if any sub-schedules exist for the schedule)
as well as the Sample Schedule level.

If the Violation Type associated to the selected Sample Schedule is
"03," the process will check to see if any Sampling Point Sub-Schedules
have been violated (number of results credited to the Sampling Point are
less than the number of samples called for in the Sub-Schedule). If one
or more Sampling Point Sub-Schedules have been violated, it will next
determine whether the candidate violation is a major or minor violation
by comparing the number of results credited to the SSMPA against the
number of samples called for in the Schedule. If the number of results
credited to the SSMPA is zero, it will create a candidate routine major
M&R violation (Type 03, Severity MJ) and populate the
MNR_NUMBER_OF_SAMPLES column in the CDS_CANDIDATE_VIOLATION table with
the count of the results associated with the SSMPA corresponding to the
Schedule being checked (which would be zero in this case). If the number
of results credited to the SSMPA is greater than zero but the total
number of samples called for by the Schedule and the total number of
samples called for by the Sampling Point Sub-Schedules are equal and
there are no results associated to any of the Sampling Point
Sub-Schedule Monitoring Period Assignments, it will create a candidate
routine major M&R violation (Type 03, Severity MJ) and populate the
MNR_NUMBER_OF_SAMPLES column in the CDS_CANDIDATE_VIOLATION table with
the count of the results associated with the SSMPA corresponding to the
Schedule being checked (even though this may be confusing to the user at
first, it will be a good way to indicate that, although none of the
specific sampling points were satisfied, the PWS did do some sampling).
Otherwise it will create a candidate routine minor M&R violation (Type
03, Severity MN) and populate the MNR_NUMBER_OF_SAMPLES column in the
CDS_CANDIDATE_VIOLATION table with the count of the results associated
with the SSMPA corresponding to the Schedule being checked. If none of
the Sampling Point Sub-Schedules have been violated or there are no
Sampling Point Sub-Schedules, then, if the number of results credited to
the SSMPA is zero, it will create a candidate routine major M&R
violation (Type 03, Severity MJ) and populate the MNR_NUMBER_OF_SAMPLES
column in the CDS_CANDIDATE_VIOLATION table with the count of the
results associated with the SSMPA corresponding to the Schedule being
checked (which would be zero in this case). If the number of results
credited to the SSMPA is greater than zero but is less than the number
of samples called for in the Sample Schedule, it will create a candidate
routine minor M&R violation (Type 03, Severity MN) and populate the
MNR_NUMBER_OF_SAMPLES column in the CDS_CANDIDATE_VIOLATION table with
the count of the results associated with the SSMPA corresponding to the
Schedule being checked.

If the Violation Type associated to the selected Sample Schedule is not
"03" (note that Violation Types 04, 27, 29, 31, 36, 37, 38, 51, 52, 53,
and 56 have already been excluded), the process will check to see if any
Sampling Point Sub-Schedules have been violated (number of results
credited to the Sampling Point are less than the number of samples
called for in the Sub-Schedule). If any have been violated, it will
create a candidate violation using the Violation Type associated to the
Sample Schedule and populate the MNR_NUMBER_OF_SAMPLES column in the
CDS_CANDIDATE_VIOLATION table with the count of the results associated
with the SSMPA corresponding to the Schedule being checked. If none of
the Sampling Point Sub-Schedules have been violated or there are no
Sampling Point Sub-Schedules, then, if the number of results credited to
the SSMPA is less than the number of samples called for in the Sample
Schedule, it will create a candidate violation using the Violation Type
referenced by the Sample Schedule and populates the
MNR_NUMBER_OF_SAMPLES column in the CDS_CANDIDATE_VIOLATION table with
the count of the results associated with the SSMPA corresponding to the
Schedule being checked.

However, the above logic is complicated by the fact that:

-   A user can pick an Analyte Group when initiating a compliance check.

-   Sample Schedules can be by Analyte Group or by single Analyte.

```{=html}
<!-- -->
```
-   The Analyte Group picked for the compliance check and the Analyte
    Groups used to create Sample Schedules may overlap.

```{=html}
<!-- -->
```
-   A candidate violation will be created for analyte group when the
    same candidate violation is determined for every analyte in the
    group.

Assume, for example, a user selects an analyte group named "Regulated
Organic Chemicals" and this group contains all the regulated VOCs as
well as all the regulated synthetic organic chemicals (SOC). Also assume
that there are Sample Schedules in the database for this same Analyte
Group but there are also some Sample Schedules for an Analyte Group
consisting of all the regulated and unregulated VOCs (called "All
VOCs"), some Sample Schedules for an Analyte Group consisting of all the
SOCs included in Analytical Method 525 (called "525 SOCs"), and finally
some Sample Schedules referencing one of the VOC or SOC analytes
(because of a detect, for example).

If the compliance check determines that a Sample Schedule referencing
the "All VOCs" analyte group had not been satisfied, the compliance
check will create candidate *individual* violations for each of the
analytes included in both the "Regulated Organic Chemicals" and the "All
VOCs" analyte groups rather than a candidate violation for the "All
VOCs" group, since this latter group references some analytes not
included in the group picked by the user. Because of this, users will
probably want to be careful to correlate analyte groups they use for the
M&R compliance check and those they use for Sample Schedules (e.g., if a
user intends to check compliance for all *regulated* organic chemicals,
then only include regulated organic chemicals in the analyte groups used
for schedules, not regulated and unregulated organic chemicals).

This process and the next two processes will always run as part of the
Chemical/Radionuclide/State M&R Compliance Report. When a candidate
violation is determined, it will pass the violation data to the Create
Candidate Violations action block. Appendix E (Create Candidate
Violation Process) provides the detailed design logic of this process.

Populate the CDS_CANDIDATE_VIOLATION table MNR_NUMBER_OF_SAMPLES column
with the count of the samples associated with the SSMPA corresponding to
the Schedule being checked.

#### Chemical/Radionuclide/State Confirmation M&R Compliance Check

Determining M&R compliance for confirmation sample schedules requires a
different approach than described above for routine sample schedules.
Determining compliance for a confirmation schedule is really independent
of the monitoring period for its associated routine sample. That is to
say, a confirmation schedule has a distinct monitoring period from that
of the routine sample result that triggered it. However, because
compliance with confirmation schedules is in many instances less
important than compliance with routine schedules (most times, the Public
Water System owner has the *option* of collecting a confirmation sample
but is not required to do so), and because the frequency of confirmation
schedules is much less than the frequency of routine schedules, it is
not desirable to make the user invoke the confirmation compliance check
separately from the routine compliance check. Therefore, the
confirmation compliance check will run at the same time as the routine
check. However, the confirmation compliance check will run only if the
user indicates that he wants it to run (some users have indicated that
they rarely, if ever, want to determine compliance with confirmation
schedules).

If a user indicates that he wants to check compliance for confirmation
schedules, then the Chemical/Radionuclide/State will identify all
confirmation schedules that have ended sometime within the start of the
specified applicable period end date range and the current date. One of
two things will prevent the process from determining a candidate M&R
violation for a confirmation schedule, either:

-   An appropriate number of confirmation samples have been collected in
    the time frame specified by the sample schedule, or

-   The user has indicated that the confirmation sample schedule has
    already been addressed.

See Appendix E (Chemical Radionuclide State M&R Compliance Determination
Check) for the detailed specifications for the confirmation sample
schedule M&R compliance process.

#### Create Candidate Violations

This process will take the information passed to it by either the
*Chemical/Radionuclide/State Routine M&R Compliance Check* or the
*Chemical/Radionuclide/State Confirmation M&R Compliance Check*
processes and create a candidate violation and copies of supporting data
in the CDS tables as shown in Appendix E (Chemical Radionuclide State
M&R Compliance Determination Check) unless a matching preliminary,
validated or rejected violation already exists (i.e., in the Violation
table). If one does exist, a candidate violation will not be created. A
matching violation is one that has the same water system, water system
facility, analyte, violation type and state violation period begin date
as the one determined by the check except that, if a violation exists
that does not reference a water system facility and matches on the other
criteria, it will also be considered a match. If a matching violation
exists but has been deleted, this process will create the candidate
violation (and copies of supporting data in the CDS tables) and include
the advisory: **A violation matching this candidate violation exists in
the main violation table but is marked as deleted.**

Appendix E (Create Candidate Violation Process) provides the detailed
design logic of this process.

### Report (Output) Requirements

At the conclusion of the *Chemical/Radionuclide/State M&R Compliance
Report*, a report will be invoked and displayed. (R10101:A.10.4.5.a)

For every CDS candidate M&R violation, there will be a child record in
CDS Candidate Schedule that is a copy of the Sample Schedule that was
not fully satisfied.

Since two possible combinations of processes can run from this page, two
separate reports will be developed. The two combinations that require
separate reports are:

-   *Chemical/Radionuclide/State Routine M&R Compliance Check* will be
    the only process that runs (either Analyte/Analyte Group is valued
    but the Check Compliance with Confirmation Schedules checkbox is not
    valued).

```{=html}
<!-- -->
```
-   *Chemical/Radionuclide/State Routine M&R Compliance Check* and
    *Chemical/Radionuclide/State Confirmation M&R Compliance Check*
    processes will run (either Analyte/Analyte Group is valued and the
    Check Compliance with Confirmation Schedules checkbox is valued).

Both reports will include detailed information about the candidate
violation, including any comments created by the process, as well as
information about the sample schedule involved in the check. A
sub-report that will display records created in the CDS Report Error Log
entity during the run. If no records are created in this entity, the
sub-report will say that as well.

This function also will create a *CDS Report* Execution log record each
time it is run.

## Lead and Copper Rule Compliance Report

### Overview

Users need to periodically determine which water systems have collected
the required number of samples (and reported valid results) during a
required period of time and which water systems have had a result
outside a prescribed limit. The Lead & Copper Rule Compliance Report
satisfies this requirement for all the Lead & Copper Rule monitoring
requirements (i.e., lead and copper tap, WQP tap, WQP entry point and
source water monitoring) and for two of its treatment technique
requirements (i.e., WQP entry point, tap limits, and source water
limits). In addition, it will enable compliance officers to identify
action level exceedence by incorporating a pre-set, Results Alert
Report. The following are the compliance checks performed by this
report:

-   The existing *Lead & Copper Rule (LCR) Tap M&R Compliance Check*
    process;

```{=html}
<!-- -->
```
-   The existing *LCR Source Water M&R Compliance Check* process;

```{=html}
<!-- -->
```
-   The existing *LCR Action Level Compliance Check* process (actually
    this is the Result Alert Report preset to identify any L&C Sample
    Summaries that exceed an action level);

```{=html}
<!-- -->
```
-   The new *WQP Entry Point and Tap M&R Compliance Check* process; and

```{=html}
<!-- -->
```
-   The new *WQP Entry Point and Tap Treatment Technique Compliance
    Check* process

For each candidate violation identified, this function will see if a
matching violation has already been recorded in SDWIS/STATE (in the
Violation table). If a matching violation is found, the process will
further check the status of the violation. If the existing violation has
been deleted, the process will create a candidate violation in the
CDS_CANDIDATE_VIOLATION entity that will include a comment about the
existence of the violation. If the existing violation is a preliminary,
validated, or rejected violation, the process will not create a
candidate violation. For each action level exceedence identified, it
will create a candidate exceedence in the CDS_CANDIDATE_EXCEEDENCE
entity. The user can then review these candidate violations and
exceedence and determine the appropriate course of action. Appropriate
courses of action might include checking with the laboratory or the
water system owner about a missing sample, sending a reminder letter to
the owner, issuing a violation notice, rejecting the candidate
violation, creating a violation in the SDWIS/STATE database, putting the
system on a compliance schedule to satisfy the treatment steps under
LCR, etc.

### Model Changes for Lead and Copper Rule Compliance Report

Changes to CDS_CANDIDATE_EXCEEDENCE (TCDSCAEX):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.5.2.a)

Changes to CDS_SAMPLE_RESULT (TCDSSAR):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.5.2.b)

-   Rename attribute lab_state_assigned_id_number to lab_id_number.
    (R0059:A.10.5.2.c)

-   Rename attribute lab_federal_id_number to lab_cert_agency.
    (R0059:A.10.5.2.h)

Changes to CDS_SAMPLE_SUMMARY_RESULT (TCDSMPSM):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.5.2.d)

-   Rename attribute lab_state_assigned_id_number to lab_id_number.
    (R0059:A.10.5.2.e)

-   Rename attribute lab_federal_id_number to lab_cert_agency.
    (R0059:A.10.5.2.i)

Changes to CDS_SCHEDULE (TCDSASCH):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.5.2.f)

Changes to CDS_CANDIDATE_VIOLATION (TCDSVIOL):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.5.2.g)

-   WSF_ACTIV_STAT_CD (text, 1, optional) Description: This attribute
    records the activity status for the water system facility
    corresponding to this Candidate Violation. This attribute will be
    populated with the ACTIVITY_STATUS_CD column from the water system
    facility that is associated to the Candidate Violation that was used
    in the compliance check. (B.10.5.2.a)

### Lead and Copper Rule Compliance Report Page Flow

The *Lead and Copper Rule Compliance Report Selection* page (Exhibit
10-13) will be used to initiate the Lead and Copper Rule (LCR)
Compliance Report. To initiate this report, the user will select
**Compliance** **Determination/Compliance Decision Support/Lead & Copper
Rule Compliance Report** from the *SDWIS/STATE Home Page*
(R0101:A.10.5.3.a). Then the user will select those compliance checks
desired. All four will be checked when the page is initially displayed.
In addition, the user will select the desired Regulating Agency and
Applicable Period End Date Range.

To initiate the Lead & Copper Rule Compliance Report, the user will
select the regulating agency appropriate for the user and the applicable
period end date range of interest. The selected regulating agency will
limit the check to those public water systems that are regulated by the
government agency selected. So, for instance, if a user selected a
county as the regulating agency, only water systems associated to that
county government agency will be assessed.

Once processing has started, the CDS Status page will pop up with its
title bar reflecting the name of the selected report. The processing
gauge shows users the overall percentage of Lead & Copper Rule
Compliance Report processes that have completed; the smaller gauge will
show the percentage of completion for each individual process.

  -----------------------------------------------------------------------
  ![](media/image14.png){width="5.998611111111111in"
  height="4.302777777777778in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981259 .anchor}**Exhibit 10-13.** Lead & Copper
Rule Compliance Report Selection

This report process will produce a report (R10101:A.10.5.3.b) that will
consists of up to six sub-reports: one for each unique type of candidate
failure, i.e., action level exceedence, lead & copper tap monitoring
failure, WQP treatment technique failure, WQP monitoring failure, source
water treatment technique failure or source water monitoring failure.
The user will specify three levels of sorting that will be used within
each sub-report using any combination of these fields:

-   Water System No. (ascending only),

```{=html}
<!-- -->
```
-   Water System Name (ascending only),

```{=html}
<!-- -->
```
-   Violation Type (ascending or descending), and

```{=html}
<!-- -->
```
-   Monitoring Period (ascending or descending based on the monitoring
    period begin date).

For the sub-report of action level exceedence, the "violation type" will
be applied to the type of action level exceedence (i.e., PB90 or CU90)
since there is not a violation type associated with these.

[Entry Fields:]{.underline}

The user should select at least one group box:

User may specify one or more reports to run.

*Action Level*

*Compliance Check* Selecting this checkbox will cause the Action Level
Compliance Check report processes to run as described in Subsection
10.5.3.2.

*Tap M&R*

*Compliance Check* Selecting this checkbox will cause the Tap M&R
Compliance Check report processes to run as described in Subsection
10.5.3.3.

*WQP TT and M&R*

*Compliance Check* Selecting this checkbox will cause the WQP Treatment
Technique and M&R Compliance Check processes to run as described in
Subsection 10.5.3.4.

*Source Water TT and*

*M&R Compliance*

*Check* Selecting this checkbox will cause the Source Water Treatment
Technique and M&R Compliance Check processes to run as described in
Subsection 10.5.3.5.

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will defaults to the regulating agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value defaults to the first
regulating agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

> The Regulating Agency Selection List will display only those
> regulating agencies to which the user is associated.

Applicable Period End Date Range Group Box:

*\[Lower Date\]* This field will specify the begin date of the
Applicable Period End Date range. A calendar function will allow the
user to more easily enter dates for this field.

*\[Upper Date\]* This field will specify the end date of the Applicable
Period End Date range. A calendar function will allow the user to more
easily enter dates for this field.

> The Applicable Period End Date Range Group Box will be blue with an
> asterisk (R0101:A.10.5.3.c)to indicate that both Begin Date and End
> Date fields must be specified. Exhibit 10-11 is helpful in
> understanding how the software treats the dates entered in these two
> fields.

[Tab Sequence:]{.underline}

Action Level Compliance Check checkbox, Tap M&R Compliance Check
checkbox, WQP TT and M&R Compliance Check checkbox, Source Water TT and
M&R Compliance Check checkbox, Regulating Agency, Regulating Agency **Go
To** button, Applicable Period End Date Range \[Lower Date\], Applicable
Period End Date Range \[Upper Date\], **OK** button, **Cancel** button,
**Help** button.

[Buttons:]{.underline}

Regulating

Agency **Go To** The user may use the **Go To** button to display the
Regulating Agency Selection List. Return the cursor to the \[Lower
Date\] field.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If Regulating Agency field is left blank, the following error
    message will be invoked: **Regulating Agency is a required field.**

```{=html}
<!-- -->
```
-   If either a Begin Date or an End Date in the Applicable Period End
    Date Range Group Box is left blank, the following error message will
    be invoked: **Date range is required.** Return the cursor to \[Lower
    Date\].

```{=html}
<!-- -->
```
-   If both dates are valued but the date in \[Lower Date\] is after
    date in \[Upper Date\], the following error message will be invoked:
    **Date range specified is invalid.** Return the cursor to \[Lower
    Date\].

```{=html}
<!-- -->
```
-   If at least one of the compliance checkboxes is not checked, the
    following error message will be invoked: **Must specify type of
    Compliance Check to run this report.**

```{=html}
<!-- -->
```
-   If *WQP TT and M&R Compliance Check* is Y and the range between date
    in \[Upper Date\] minus the date in \[Lower Date\] does not include
    a valid 6-month monitoring period End Date (e.g. 6/30/XX or
    12/31/XX), the following error message will be invoked: **Date range
    must include at least one valid 6-month Mon.Per. End Date.**

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the. previous page.
(R0101:A.10.5.3.d)

**Help** Will invoke online Help for this page.

### Processing Design Requirements 

The Processing Design Requirements function will involve nine distinct
processes:

-   *Clear Previous LCR Candidate Violations and Exceedence*.

```{=html}
<!-- -->
```
-   *LCR Action Level Exceedence Compliance Check*.

```{=html}
<!-- -->
```
-   *LCR Tap M&R Compliance Check*.

```{=html}
<!-- -->
```
-   *LCR WQP TT and M&R(Distribution System) Compliance Check*.

```{=html}
<!-- -->
```
-   *LCR WQP M&R Biweekly Schedule Compliance Check*.

```{=html}
<!-- -->
```
-   *LCR WQP Treatment Technique Level Check*.

```{=html}
<!-- -->
```
-   *LCR Source Water Monitoring Check*.

```{=html}
<!-- -->
```
-   *LCR MPL Source Water TT and M&R Check*.

```{=html}
<!-- -->
```
-   *Create Candidate Violations*.

The first process, which will clear previously created candidate records
that fall into the period and are associated with water systems that are
regulated by the user-specified Regulating Agency, may be incorporated
as a sub-process within each of the other eight processes if this proves
to be a more efficient way of accomplishing this task. The general
requirements for it will be presented in Subsection 10.5.3.1.

#### Clear Previous LCR Candidate Violations and Exceedence.

The *Clear Previous LCR Candidate Violations and Exceedence* process
identifies those CDS candidate violations that satisfy the criteria
entered by the user for the current run and removes them prior to
executing the report using the same criteria. This process serves two
purposes:

-   Prevents the creation of duplicate *CDS* candidate violations and
    exceedence.

```{=html}
<!-- -->
```
-   Removes old and possibly no longer valid *CDS* candidate violations
    and exceedence in the event that they are not recreated when the
    report is rerun due to the presence of changed information in the
    database (e.g., by the time the M&R compliance check is run a second
    time, results for a schedule have been entered, thus alleviating an
    original *CDS* candidate M&R violation).

To accomplish the above, this process will first identify all the water
systems in the *CDS* entities that are associated to the selected
Regulating Agency. Then, using these water systems and based on the
compliance checks selected, it will identify corresponding lead and
copper candidate violations and exceedence as follows:

-   If the *Lead & Copper Action Level Exceedence Check* has been
    selected, it will identify and remove CDS Candidate Exceedence for
    PB90 and CU90.

```{=html}
<!-- -->
```
-   If the *LCR Tap M&R Compliance Check* is selected, it will identify
    and remove candidate type 51 and 52 violations.

```{=html}
<!-- -->
```
-   If the *LCR WQP TT and M&R Compliance Check* is selected, it will
    identify and remove candidate type 53 and 59 violations.

```{=html}
<!-- -->
```
-   If the *LCR Source Water TT and M&R Compliance Check* is selected,
    it will identify and remove candidate type 56 and 63 violations.

The detailed specifications for this process can be found in Appendix E
(Lead & Copper Compliance Report Processes).

#### LCR Action Level Exceedence Compliance Check

The *LCR Action Level Exceedence Check* process compares results in the
SAMPLE_SUMMARY_RESULT entity against the action levels for lead and
copper. Namely, it will check Sample Summary Results for Analytes PB90,
1030, CU90, and 1022 for 90^th^ percentile records (i.e., Type Code in
Sample Summary Result is equal to "90"). Beginning with SDWIS/STATE 8.0,
lead and copper 90^th^ percentile sample summaries will be migrated in
using only analyte codes PB90 and CU90; however, this process will be
designed to check for all four analyte codes to accommodate any
historical data. This process will borrow significantly from the Results
Alert Report process called *Action Level Exceedence Check* but will be
different in that it will hard-code some of the criteria that, in the
Results Alert Report are user-selected.

In particular, this process will check those Sample Summaries that are
associated to a Water System that is regulated by the user-selected
Regulating Agency and that are for a Monitoring Period that falls in the
user-selected period (actually it uses the Applicable Period End Date
recorded in the SSMPA) where the Sample Summary is marked as "for
compliance" and references either analyte code PB90, CU90, 1030, and
1022 and where the referenced Sample Summary Result is a 90^th^
percentile result (TYPE_CODE = "90") with a data quality of "accepted"
or "validated."

The process will then check the Sample Summary Result of each selected
Sample Summary against the Action Levels stored in Analyte Level for
lead (1030) and copper (1022), first converting the result to the same
UOM as the Action Level (though lead and copper 90^th^ percentiles
calculated by CDS Setup and entered online will have mg/l as their UOM,
those migrated in using *Migration to SDWIS/STATE* may not). If the UOM
for a summary result cannot be converted (e.g., pCi/l cannot be
converted to mg/l), the process will send an error message to the CDS
Report Error Log identifying the summary result that could not be
converted and stating that its unit of measure could not be converted.

For each summary result that exceeds an action level, the process will
pass the data to the *Create Candidate Exceedence* process described in
the Results Alert Report section.

The detailed design specification for this process is contained in
Appendix E (Lead & Copper Compliance Report Processes).

#### LCR Tap M&R Compliance Check

The process that determines candidate tap M&R violations (violation
types 51 and 52) is conceptually the same as the *Chemical/Radionuclide
Routine M&R Compliance Check* but with the following differences:

-   Instead of checking schedules against sample analytical results
    (which are stored in Sample Analytical Results (table TSASAR)), this
    process will check against results in the Sample Summary Result
    (table TSASSR) and will be limited to 90^th^ percentile summary
    results for analytes PB90, CU90, 1030, and 1022.

```{=html}
<!-- -->
```
-   For states that only enter lead and copper results as individual
    sample analytical results, this process will dependent on the Lead
    and Copper 90^th^ Percentile Aggregation. For states that enter PB90
    and CU90 results as Sample Summary/Summary Results, this compliance
    check will not be dependent on the aggregation process.

```{=html}
<!-- -->
```
-   This process will compare 90^th^ percentile summary results that are
    linked to a WSF against Sample Schedules that are linked to the same
    WSF for Analyte Codes 1022 and 1030, comparing 90^th^ percentile
    summary results for CU90 or 1022 against the first and those for
    PB90 or 1030 against the second.

This process will run only when the user selects the \[LCR\] Tap M&R
Compliance Check checkbox on the Lead & Copper Rule Compliance Report
Selection page. This process will create the following *CDS* candidate
violations in the following circumstances:

-   An Initial PB/CU Tap M&R violation (Type = 51) for Analyte Code 5000
    when there is either no Sample Summary associated to the SSMPA for a
    Initial PB/CU Tap Sample Schedule (Violation Type associated to the
    Sample Schedule = 51 and Analyte Code equals 1030 or 1022) or the
    Sample Summary Result Sample Count for Sample Summary associated to
    the SSMPA is less than the number of samples required by an Initial
    PB/CU Tap Monitoring schedule or the collection period for the
    Sample Summary falls outside of the specified Seasonal Period for
    the Sample Schedule and an existing, matching validated, preliminary
    or rejected violation does not already exist (if an existing,
    matching, deleted violation already exists, the process will create
    a candidate violation and will include the advisory, "A violation
    matching this candidate violation exists in the main violation table
    but is marked as deleted.").

```{=html}
<!-- -->
```
-   A Follow-up or Routine Tap M&R violation (Type = 52) for Analyte
    Code 5000 when there is either no Sample Summary associated to the
    SSMPA for a Follow-up or Routine Tap Sample Schedule (Violation Type
    associated to the Sample Schedule = 52 and Analyte Code equals 1030
    or 1022) or the Sample Summary Result Sample Count for Sample
    Summary associated to the SSMPA is less than the number of samples
    required by a Follow-up or Routine Tap Sample Schedule or the
    collection period for the Sample Summary falls outside of the
    specified Seasonal Period for the Sample Schedule and an existing,
    matching validated, preliminary or rejected violation does not
    already exist (if an existing, matching, deleted violation already
    exists, the process will create a candidate violation and will
    include the advisory, "A violation matching this candidate violation
    exists in the main violation table but is marked as deleted.").

This process will only create one candidate violation if the schedule
violated references an Analyte Group that only has lead and copper in
it. The candidate violation will have "5000" as its analyte code.

However, if the user enters Sample Schedules for lead and copper tap
water sampling without using an Analyte Group and these Sample Schedules
are for the same WSF, the same Monitoring Period, the same Violation
Type, and the Public Water System owner fails to satisfy either Sample
Schedule, then this process will create two *CDS* candidate violations
for the same Monitoring Period and WSF with the same violation type---an
undesirable outcome. Of course, if the user chooses to migrate both into
SDWIS/STATE, only one violation will actually be created. The second
will be considered a duplicate and will not be created in TMNVIOL.

In addition to the data already passed to the Create Candidate Violation
Process, the following information will be passed:

-   From the WSF associated to the Sample Summary---pass the data in
    STATE_ASGN_IDENTIFICATION_CODE, NAME, TINWSF_IS_NUMBER, and
    WSF_TINWSF_ST_CODE attributes in Water System Facility to the
    WSF_STATE_ASGN_ID, WSF_NAME, WSF_TINWSF_IS_NUMBER, and
    WSF_TINWSF_ST_CODE attributes in CDS_SAMPLE_SUMMARY_RESULT entity.

> *(Developer's Note: A Sample Summary is not always involved, in which
> case these would not be valued).*

-   From Sample Summary---Summary Received Date to CDS Sample Summary
    Result---SSM_DATE_RECEIVED.

In addition, the state_period_begin_date and state_period_end_date will
be valued with the begin and end date of the associated monitoring
period. The federal_period_begin_date and federal_period_end_date (i.e.,
the dates that will be used for federal reporting) will be populated
using rules defined for the violation type as recorded in table
VIOLATION_PERIOD_RULE (TMNVPRDR). As an example of what will result, for
a typical candidate, type 52 violation, the state violation period will
be the full Monitoring Period (e.g., 1/1/CCYY - 12/31/CCYY), but the
Federal Violation Period Begin Date will be 10/1/CCYY, reflecting the
first day after the end of the time period during which the monitoring
was to be completed.

Appendix E (Create Candidate Violation Process) provides the detailed
design logic of this process.

#### LCR WQP TT and M&R Compliance Check

The LCR WQP TT and M&R Compliance Check is the most complex of the
compliance checks in the LCR Compliance Report. It determines compliance
in accordance with the Lead & Copper Rule Minor Revisions (LCRMR). The
following well defines the method for determining compliance with the
optimal water quality control parameter requirements. It is taken from
EPA's *Compliance with OWQPs as Revised by LCRMR*, dated February 2001.

-   **Compliance determinations are always based on a 6-month period**,
    regardless of the system's monitoring schedule (e.g., daily,
    biweekly, semi-annually, annually, triennially) or whether the WQP
    results are from an entry point or the distribution system \[see
    §141.82(g)\]. The start of the first 6-month period begins on the
    day the State has designated Optimal Water Quality Parameters
    (OWQP), however, to make tracking easier, the start of the first 6-
    month compliance period can be either January first or July first.

```{=html}
<!-- -->
```
-   **Systems cannot be outside the OWQP ranges or below the OWQP
    minimum for more than a total of 9 days** at a specific sampling
    point or combination of sampling points, or for a specific WQP or
    combination of WQPs during a 6-month period. The 9 days can occur
    anytime during the 6-month period and do not have to be consecutive.
    Nine days was selected because this number represents five percent
    of the total number of days in a 6-month period. Thus, a system must
    meet its OWQP specifications at least 95 percent of the time. The 9
    days also allow systems to make necessary repairs that may be
    causing the system to not meet its OWQP specifications \[see
    §141.82(g)\].

```{=html}
<!-- -->
```
-   **Confirmation samples are no longer used**. The results of all WQP
    samples collected during the 6-month period at a sampling location
    that is used for OWQP compliance must be reported to the State by
    the system and used in determining compliance. However, States have
    discretion to delete results of obvious sampling errors from this
    calculation \[see §141.87(f)\].

The LCRMR introduces two new terms, "daily value" and "excursion" with
which States and water systems need to become familiar to fully
understand the new compliance procedure.

##### Daily Value

A "daily value" will be calculated for each WQP at each sampling point.
The procedure for determining the daily value is based on the sampling
frequency for that WQP and sampling point.

It is quite possible for a water system to collect several samples a day
for a given WQP at one sampling point and to conduct annual monitoring
at another. Although the term "daily values" contains the word "daily";
in many instances, the daily value represents a measurement that was
collected more or less frequently than once per day. The table (Exhibit
10-14) explains how to calculate the daily value based on the sampling
frequency for a given WQP.

*Note: A daily value is calculated for each sampling point and for each
parameter, even if no monitoring occurred at a sampling point during the
6-month period being evaluated. This occurs when a system is on an
annual or triennial WQP tap monitoring schedule (see example below).*

+---------------------+------------------------------------------------+
| **Daily Value       |                                                |
| Calculation Based   |                                                |
| on Monitoring       |                                                |
| Frequency**         |                                                |
+---------------------+------------------------------------------------+
| ***If a system is   | ***Then the daily value is:***                 |
| monitoring for a    |                                                |
| specific WQP at a   |                                                |
| sampling site:***   |                                                |
+---------------------+------------------------------------------------+
| More frequently     | Calculated by averaging all the results        |
| than daily          | measured at the sampling location for that WQP |
|                     | during the day. If both continuous monitoring  |
|                     | results and grab samples are collected on the  |
|                     | same day, both must be included in the         |
|                     | calculation of the daily value. States can     |
|                     | specify the frequency with which continuous    |
|                     | monitoring results should be recorded. A State |
|                     | can also require systems to determine the      |
|                     | "daily value" using another formula when they  |
|                     | monitor more frequently than daily at the same |
|                     | sampling location. If a State elects to use a  |
|                     | different calculation than that specified in   |
|                     | the federal rule, it must describe the         |
|                     | procedure in its revised primacy package \[see |
|                     | §141.82(g)(1) and §142.16(d)(1)(ii)\]. Systems |
|                     | should check with their States regarding the   |
|                     | frequency of recording values and procedures   |
|                     | for aggregating results.                       |
+---------------------+------------------------------------------------+
| Daily               | Results of each daily sample for that WQP at   |
|                     | that location.                                 |
+---------------------+------------------------------------------------+
| Biweekly            | Results of each sample collected during the    |
|                     | 2-week period for that WQP at that location.   |
+---------------------+------------------------------------------------+
| Semi-annually       | Results of each sample collected during the    |
|                     | 6-month period for that WQP at that location.  |
+---------------------+------------------------------------------------+
| Annually or         | The most recent measurement(s) taken, even if  |
| Triennially         | the measurement(s) was (were) collected during |
|                     | a previous monitoring period.                  |
|                     |                                                |
|                     | **Example:** A system is on annual WQP tap     |
|                     | monitoring during January -December 2000. It   |
|                     | measures pH at the tap on January 10, 2000 (pH |
|                     | = 7.5) and June 20, 2000 (pH = 7.8). For the   |
|                     | 6-month period of January to June 2000, there  |
|                     | are two daily values because both measurements |
|                     | were collected during the 6-month period being |
|                     | evaluated. For the 6-month period of July to   |
|                     | December 2000, only the most recent value of   |
|                     | 7.8 is used.                                   |
+---------------------+------------------------------------------------+

[]{#__RefHeading___Toc168981260 .anchor}**Exhibit 10-14.** Daily Value
Calculation Chart

##### Excursion

The second new term is an "excursion." An excursion is any "daily value"
for a WQP that is below the minimum value or outside the range of OWQPs
set by the State. The duration of an excursion is the number of days
that elapse starting with the day the excursion first occurs, until the
day the daily value is within the OWQP range or above the OWQP minimum
for that WQP. These dates are based on the date the system *collected*
the sample, not the date the system received the sample results. To
determine the duration of the excursion:

-   *Count the first day that the sample is outside the OWQP range or
    below the minimum.* Use the date that the sample was collected and
    not the day the system or State received the results.

```{=html}
<!-- -->
```
-   *Stop counting days when a sample result from the same location and
    for the same parameter meets the OWQP range, or is at or above the
    minimum value.* Do not count the day the sample falls within the
    OWQP range, or is at or above the minimum value in the calculation.

> For example, assume a water system measures entry point pH on a Monday
> and the results are below the State-set minimum. If the system again
> measures pH at the same entry point on the next day and the Tuesday
> daily value is within the State-set limits, the system will have had a
> one-day excursion. If, on the other hand, the system waits until
> Friday to measure pH as the same entry point and this Friday
> measurement is within the State-set limits, the system will have an
> excursion with a duration of 4 days (i.e., the system was outside the
> pH range for Monday, Tuesday, Wednesday, and Thursday).

-   *Repeat this procedure any time a measurement does not meet the OWQP
    specifications during the 6-month period being evaluated.*

> To determine if a system is in compliance, count the total number of
> days that a system had an excursion for each sampling location and for
> each WQP. Multiple excursions occurring on the same day are counted
> only once. For example, if the system had an excursion for pH and
> alkalinity on the same day, this will count as only one excursion. To
> remain in compliance, a system cannot have excursions on more than 9
> different days at a specific sampling point or combination of sampling
> points, or for a specific WQP or combination of WQPs during a 6-month
> period \[see §141.82(g)\].

The 9 days can occur anytime during the 6-month period and do not have
to be consecutive. Thus, a system that had excursions for pH at sampling
point 1 for 4 days and excursions for pH at sampling point 2 on 6
different days would be out of compliance.

##### Other Points to Keep in Mind

As implementers of the Lead and Copper Rule know, it is necessary to
keep several other points in mind.

*Unresolved Excursions from a Previous Monitoring Period*

Although compliance is determined in discrete 6-month periods, an
unresolved excursion from a previous monitoring period may count in the
next 6-month monitoring period. This is because an excursion continues
until:

-   The system collects a sample at the same sampling location and for
    the same WQP that again is within the OWQP range, or is at or above
    the OWQP minimum, or

```{=html}
<!-- -->
```
-   The system is at or below both action levels and is no longer
    required to collect WQPs. Small and medium-size systems (i.e., ones
    that serve 50,000 or fewer people) that no longer exceed the lead or
    copper action level, and systems that meet the criteria under
    §141.81(b)(3) are not required to collect WQP samples.

To illustrate these points, one can assume a water system that is below
the OWQP pH minimum of 7.0 at its one tap sampling point on June 25,
2001. This excursion continues until the water system again monitors pH
at its tap sampling point and the result is at or above the minimum of
7.0. Assume that the system does not collect another pH sample that is
above the pH minimum until July 3, 2001. How should this excursion be
counted?

During the January to June 2001 compliance period, the system had a
6-day excursion. The excursion began on June 25th and continued to the
end of the 6-month monitoring period of June 30th, for a total of 6
days. During the July to December 2001 compliance period, the system had
a 2-day excursion. The excursion will be counted from the beginning of
the July to December compliance period (i.e., July 1st) and will end
when the system again is above the pH minimum at the tap sampling point
(or July 3rd in this example). The day that the system is above the
minimum will not count. Therefore, the system will have an excursion on
both July 1st and July 2nd.

A slight variation on the above scenario can be assumed. The water
system is below the OWQP pH minimum of 7.0 at its one tap sampling point
on June 25, 2001. However, the system conducts lead and copper tap
monitoring on July 3 and is below both action levels. The system serves
50,000 or fewer people and is not required to conduct WQP monitoring
during July through December 2001. How should this excursion be counted?

For the compliance period of January to June 2001, the system has a
6-day excursion. For the compliance period of July through December
2001, the system has 2 days with excursions. On July 3, the requirement
to conduct WQP monitoring will no longer apply (unless the State
requires the system to continue); therefore, the system will incur no
additional excursions.

**Note**: The LCRMR contains a provision that allows states to require
continued WQP monitoring even after a small or medium-size system is at
or below both action levels, should the state believe this monitoring is
needed to insure adequate process control. If the system did not collect
its lead and copper tap sample until July 10th or later, it would be out
of compliance with its OWQPs because it would have more than 9 days with
excursions. If in the future, the system again exceeds the lead or
copper action level and is required to collect WQP monitoring, the
unresolved excursion will not be considered. An unresolved excursion
from a previous monitoring period is not considered for a small or
medium-size system if the 6-month period being evaluated was preceded by
a 6-month OWQP compliance period in which the system was not required to
conduct WQP monitoring because the system was at or below the lead and
copper action levels. *This is the only instance in which an unresolved
excursion from a previous monitoring period will not be considered.*

*Seasonal Systems*

For NTNCWSs that are closed for a portion of the year, the months that
the system is not open/not providing water should not be counted when
counting the number of days with excursions.

*Systems with Multiple Treatment Plants*

If a system has multiple treatment plants with different OWQP
specifications and the plants are not interconnected, the plants should
be treated as separate systems for the purpose of assessing compliance
with OWQPs. One can assume that a system has two treatment plants.
Excursions existing at Treatment Plant 1 would be considered separately
from any excursions that occur at Treatment Plant 2. Thus, if the system
had 4 days during a 6-month period with excursions at Treatment Plant 1
and 4 days with excursions at Treatment Plant 2 during the same 6-month
period, the system would be in compliance because it would not have
exceeded the 9-day excursion limit.

This process will support compliance determination for the WQP
requirements in two ways. For those who want enter summaries of
monitoring conducted for a given six-month monitoring period can do so.
This process will then use the summary to determine compliance. On the
other hand, those who wish to enter individual results of WQP monitoring
can likewise rely on this compliance check.

##### LCR WQP TT and M&R Compliance 

To determine compliance for LCR WQP TT and M&R, the software will do the
following:

-   First, it identifies every water system that is regulated by the
    Regulating Agency selected. It will then identify the calendar
    6-month period(s) that fall in the Applicable Period End Date Range
    selected (so, for example, if a user picked an Applicable Period End
    Date Range of 10/1/2002 - 12/31/2002, the process would determine
    compliance for the 6-month period that runs from July 1, 2002 to
    December 31, 2002).

```{=html}
<!-- -->
```
-   The process will next evaluate compliance with the WQP monitoring
    requirements and then evaluate compliance with the WQP treatment
    technique requirements. It will know which systems to check for M&R
    compliance by virtue of the existence of a Sample Schedule that
    references Violation Type 53 (note that the process is not currently
    designed to work with violation types 54 and 55). For treatment
    technique compliance, the process will assess those water system
    facilities that have a Facility Analyte Level record associated to a
    "Level" Violation Type equal to 59 (note that the process is not
    currently designed to work with violation type 60).

> If at any point during the compliance check for M&R compliance the
> process identifies a candidate violation, it will cease evaluating
> that WS and MP for M&R compliance and move to evaluating the same WS
> and MP relative to treatment technique compliance. The process will
> then assess M&R compliance in the following order:
>
> \- It will assess compliance with WQP monitoring requirements in the
> **distribution system**. If no candidate M&R violations are found,
>
> \- It will assess compliance with the WQP monitoring requirements for
> entry points, **one** **entry point at a time**. If no candidate M&R
> violations are found while assessing the schedule for a given entry
> point, it will Go To the next entry point or ends if there are no more
> entry point schedules.

In other words, it will not look to see if the system failed to do any
other WQP monitoring. So, if a water system failed to properly monitor
its distribution system and entry points for OWQP, the software would
only identify one of the failures. The design could be written to
identify every failure, however, the user would then need to properly
package violations so that only one of each type would be reported to
SDWIS/FED for a given Water System and Monitoring Period.

When the check determines a candidate violation, before creating it, the
process will see if an existing, matching validated, preliminary or
rejected violation already exists. If one does, it will not create the
candidate violation. If an existing, matching, deleted violation already
exists, the process will create a candidate violation and will include
the advisory, "A violation matching this candidate violation exists in
the main violation table but is marked as deleted."

If a candidate violation is created, the state_period_begin_date and
state_period_end_date will be valued with the begin and end date of the
associated monitoring period. The federal_period_begin_date and
federal_period_end_date (i.e., the dates that will be used for federal
reporting) will be populated using rules defined for the violation type
as recorded in table VIOLATION_PERIOD_RULE (TMNVPRDR).

The detailed design specification for this process is contained in
Appendix E (Lead & Copper Compliance Report Processes).

#### LCR Source Water TT and M&R Compliance Check

The process that determines candidate source water monitoring violations
(violation type 56) will use the same logic as the
*Chemical/Radionuclide Routine M&R Compliance Check* except it will look
for Sample Schedules that reference violation type 56.

The process that determines candidate maximum permissible level
violations (i.e., violation type 63) will use the same logic as the
Assess Chemical/Radionuclide MCL Compliance but, instead of comparing
the MCL Value against an Analyte Level, it will compare it against the
Facility Analyte Level for the contaminant that references violation
type 63. When creating the candidate violation, in addition to
populating the Compliance Period with the monitoring period referenced
by the SSMPA, it will also value the Violation Period Begin Date with
the current date. (EPA guidance says, "The violation begin date is the
day you determine an MPL exceedence occurred.")

In both cases, the create candidate violations process will be revised
in two ways. First, it will include a check to make sure an existing,
matching, validated, preliminary or rejected violation does not already
exist before creating the candidate violation. Second, if a candidate
violation is created, the way the violation periods are populated will
be changed. Both are described in more detail in other parts of this
document

## Water Treatment Compliance Report

The Water Treatment (WT) Compliance Report page (Exhibit 10-15) lets
users check compliance for a water system's Water Treatment M&R and
level requirements for the Surface Water Treatment Rules, Ground Water
Rule and Disinfectant/Disinfection By-Products Rules. Level compliance
involves exceedence of a level that includes both the creation of
candidate treatment technique violations as well as advisories to
compliance officers when compliance calculations cannot be completed.
The information in this section assumes that the user has read and has a
good understanding of how SDWIS/STATE proposes to maintain MDBP
summaries in support of the Surface Water Treatment Rule.

In former release when Compliance Determination was client based, the
compliance checks on this page were presented on two windows, Surface
Water Treatment Compliance Report and D/DBP Compliance Report. This
section discusses compliance checks and reports for microbial rule
listed on the right-hand side of the page. Section 7 discusses
compliance checks and reports for disinfection rules on the left-hand
side of the page.

### Model Changes for Water Treatment Compliance Report.

Changes to CDS Report Log (TCDSRLOG): (R2002:A.10.6.1.a)

-   Add field LT2_MR_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the WT Compliance Report, wanted
    the compliance report to run the Long Term 2 Source Water Monitoring
    and Reporting process.

-   Add field LT2_BIN_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the WT Compliance Report, wanted
    the compliance report to run the Long Term 2 BIN Determination
    Support Report Process.

-   Add field GWR_MR_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the WT Compliance Report, wanted
    the compliance report to run the Ground Water Rule Source Water
    Monitoring and Reporting Process (B.10.6.1.au)

Changes to CDS_SAMPLE_RESULT (TCDSSAR):

-   Add field MAR_COUNT_QTY (number, 10,optional). Description: The
    number of organisms counted or estimated in a microbiological
    sample. Usually expressed as \"# of colonies per 100 milliliter
    sample\". (B.10.6.1.ap)

-   Add field MAR_COUNT_TYPE (text, 10, optional). Description: Type of
    microgiological unit that is being counted per specified count unit.
    Count type varies with the microbiological organism where count has
    been recorded. (B.10.6.1.aq)

-   Add field MAR_COUNT_UOM_CODE (text, 9, optional). Description: The
    units of measure associated with the microbial analytical result
    count. (B.10.6.1.ar)

-   Add field MAR_PRESENCE_IND_CODE (text, 1,optional). Description:
    Indicates whether results of an analysis were positive (P-Presence)
    or negative (A-Absence). Indication of presence or absence creates
    an analytical result for a specific analyte. (B.10.6.1.as)

-   Add field ANALYTE_TYPE_CODE (text, 3, optional) Description: The
    analyte type code of the analyte associated to the sample analytical
    result. (B.10.6.1.at)

> Changes to CDS_MDBP_SUMMARY (TCDMDBPS):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.6.1.b)

> Changes to CDS_FACILITY_ANALYTE_LEVEL (TCDFANL):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.6.1.c)

Add table **CDS_Monitoring Period_Average (TCDMPA)** Description:
Records a copy of information about the averages stored in Monitoring
Period Average that either is the basis for a candidate violation or is
identified as part of DBP Precursor Ratio or BIN determination. The
information is denormalized. (R2004:A.10.6.1.d)

*Relationships*

To CDS Candidate Violation

-   A CDS MP Average sometimes (75%) is the basis for one CDS Candidate
    Violation (non-transferable, 75%, reference, cascade delete)

-   A CDS Candidate Violation sometimes is based on one CDS MP Average
    (non-transferable, 5%, reference, disassociate)

> To CDS Sample Result (B.10.6.1.ae)

-   A CDS Monitoring Period Average sometimes (50%) is a calculated from
    one or more CDS Sample Result. (On delete cascade.)

-   A CDS Sample Result sometimes (25%) is used to calculate one and
    only one CDS Monitoring Period Average. (On delete disassociate)

> To CDS MCL Value (B.10.6.1.af)

-   A CDS Monitoring Period Average sometimes (99%) results in one and
    only one CDS MCL Value. (On delete disassociate.)

-   A CDS MCL Value sometimes (50%) results in one or more CDS
    Monitoring Period Average. (On delete cascade.)

-   

-   

(B.10.6.1.w) (B.10.6.1.x)

*Attributes:*

-   PWS_TINWSYS_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSYS_ST_CODE is a virtual foreign key to the Water system
    entity. This attribute can be used by users to link to the water
    system record corresponding to this average if they need to look up
    any attribute of the water system that is not de-normalized in this
    table. This attribute will be populated with the TINWSYS_IS_NUMBER
    column from the water system that is associated to the Average that
    was involved in the compliance check.

-   PWS_TINWSYS_ST_CODE (text, 2, mandatory). Description: This
    attribute in conjunction with the PWS_TINWSYS_IS_NUMBER is a virtual
    foreign key to the Water system entity. This attribute can be used
    by users to link to the water system record corresponding to this
    average if they need to look up any attribute of the water system
    that is not de-normalized in this table. This attribute will be
    populated with the TINWSYS_ST_CODE column from the water system that
    is associated to the Average that was involved in the compliance
    check.

-   PWS_NUMBER (text, 12, mandatory). Description: This attribute will
    be populated with the NUMBER attribute from the water system that is
    associated to the Average that was involved in the compliance check.

-   PWS_NAME (text, 40, mandatory). Description: This attribute will be
    populated with the NAME from the water system that is associated to
    the Average that was involved in the compliance check. (B.10.6.1.a)

-   PWS_FED_PRIMARY_SOURCE_CODE (Text, 3, Optional) Description: The
    water system's federal primary source code. (B.10.6.1.ak)

-   PWS_FEDERAL_TYPE_CODE (Text, 4, optional) Description: The water
    system's federal type code. (B.10.6.1.al)

-   PWS_POPULATION_COUNT (numeric, 10, optional) Description: The water
    system's population count. (B.10.6.1.am)

-   PWS_ACTIVITY_DATE (date, optional) Description: The water system's
    activity date. (B.10.6.1.an)

-   PWS_ACTIVITY_STATUS_CODE (text, 1, optional) Description: The water
    system's status code. (B.10.6.1.ao)

-   WSF_TINWSF_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSF_ST_CODE is a virtual foreign key to the Water system
    facility entity. This attribute can be used by users to link to the
    water system facility record corresponding to this average if they
    need to look up any attribute of the water system facility that is
    not de-normalized in this table. This attribute will be populated
    with the TINWSF_IS_NUMBER column from the water system facility that
    is associated to the Average that was involved in the compliance
    check.

-   WSF_TINWSF_ST_CODE (text, 2, mandatory). Description: This attribute
    in conjunction with the PWS_TINWSF_IS_NUMBER is a virtual foreign
    key to the Water system facility entity. This attribute can be used
    by the users to link to the water system facility record
    corresponding to this average if they need to look up any attribute
    of the water system that is not de-normalized in this table. This
    attribute will be populated with the TINWSF_ST_CODE column from the
    water system facility that is associated to the Average that was
    involved in the compliance check.

-   WSF_STATE_ASGN_ID (text, 12, mandatory). Description: This attribute
    records the state assigned identifier for the water system facility
    corresponding to this average. This attribute will be populated with
    the ST_ASGN_IDENT_CD column from the water system facility that is
    associated to the average that was involved in the compliance check.

-   WSF_NAME (text, 40, mandatory). Description: This attribute records
    the name for the water system facility corresponding to this
    average. This attribute will be populated with the NAME column from
    the water system facility that is associated to the average that was
    involved in the compliance check.

-   WSF_TYPE_CODE (text, 2, mandatory). Description: This attribute
    records the type code for the water system facility corresponding to
    this average. This attribute will be populated with the TYPE_CODE
    column from the water system facility that is associated to the
    average that was involved in the compliance check.

-   WSF_AVAILABILITY_CODE (text, 1, optional). Description: This
    attribute records the availability code for the water system
    facility corresponding to this average. This attribute will be
    populated with the AVAILABILITY_CODE column from the water system
    facility that is associated to the average that was involved in the
    compliance check.

-   WSF_EXTERNAL_SYSTEM_NUMBER (text, 18, mandatory). Description: This
    attribute records the external system number (which is used for
    reporting to EPA) for the water system facility corresponding to
    this average. This attribute will be populated with the
    EXTERNAL_SYS_NUM column from the water system facility that is
    associated to the average that was involved in the compliance check.

-   (B.10.6.1.b)

-   MPAVG_APP_PERIOD_BEGIN_DATE (date, 8, optional). Description: This
    attribute records the applicable period begin date for the average.
    This attribute will be populated with the APPLICABLE_BEG_DAT column
    from the average that was involved in the compliance check.

-   MPAVG_APP_PERIOD_END_DATE (date, 8, optional). Description: This
    attribute records the applicable period end date for the average.
    This attribute will be populated with the APPLICABLE_END_DAT column
    from the average that was involved in the compliance check.

-   MPAVG_MP_MEASURE (numeric, 15, optional). Description: This
    attribute records the measure for the average. This attribute will
    be populated with the MEASURE column from the average that was
    involved in the compliance check.

-   MPAVG_MP_MEASURE_TEXT (text, 16, optional). Description: This
    attribute records the measure represented as text for the average.
    This attribute will be populated with the MEASURE_TEXT column from
    the average that was involved in the compliance check.

-   MPAVG_MP_UOM_CODE (text, 9, optional). Description: This attribute
    records the unit of measure corresponding to the measure for the
    average. This attribute will be populated with the UOM_CODE column
    from the average that was involved in the compliance check.

-   MPAVG_NUMBER_OF_RESULTS_USED (numeric, 5, optional). Description:
    This attribute records the number of sample results used in
    calculating this average. This attribute will be populated with the
    NUMB_RESULTS_USED column from the average that was involved in the
    compliance check.

-   MPAVG_PRC_ACH_RMVL_RA_NO (numeric, 5, optional). Description: This
    attribute records the precursor achieved removal ration for the
    average. This attribute will be populated with the
    PRC_ACH_RMVL_RA_NO column from the average that was involved in the
    compliance check. (B.10.6.1.c)

-   MPAVG_PRC_ACH_RMVL_RA_TX (text, 7, optional). Description: This
    attribute records the precursor achieved removal ration as text for
    the average. This attribute will be populated with the
    PRC_ACH_RMVL_RA_TX column from the average that was involved in the
    compliance check. (B.10.6.1.d)

-   SSMPA_MPRD_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    SSMPA_MPRD_ST_CD, SSMPA_SASCH_IS_NO, and SSMPA_SASCH_ST_CD is a
    virtual foreign key to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity
    associated to this average. This attribute can be used by users to
    link to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT record corresponding to
    this average if they need to look up any attribute associated to the
    record that is not de-normalized in this table. This attribute will
    be populated with the SSMPA_MPRD_IS_NO column from the Average that
    was involved in the compliance check. (B.10.6.1.u)

-   SSMPA_MPRD_ST_CODE (text, 2, optional). Description: This attribute
    in conjunction with the SSMPA_MPRD_IS_NO, SSMPA_SASCH_IS_NO, and
    SSMPA_SASCH_ST_CD is a virtual foreign key to the
    SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity associated to this average.
    This attribute can be used by users to link to the
    SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT record corresponding to this
    average if they need to look up any attribute associated to the
    record that is not de-normalized in this table. This attribute will
    be populated with the SSMPA_MPRD_ST_CD column from the Average that
    was involved in the compliance check. (B.10.6.1.r)

-   SSMPA_SASCH_IS_NUMBER (numeric, 7 with no decimals, optional).
    Description: This attribute in conjunction with the
    SSMPA_SASCH_ST_CODE, SSMPA_MPRD_IS_NO, and SSMPA_MPRD_ST_CD is a
    virtual foreign key to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity
    associated to this average. This attribute can be used by users to
    link to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT record corresponding to
    this average if they need to look up any attribute associated to the
    record that is not de-normalized in this table. This attribute will
    be populated with the SSMPA_SASCH_IS_NO column from the Average that
    was involved in the compliance check. (B.10.6.1.s)

-   SSMPA_SASCH_ST_CODE (text, 2, mandatory). Description: This
    attribute in conjunction with the SSMPA_SASCH_IS_NO,
    SSMPA_MPRD_IS_NO, and SSMPA_MPRD_ST_CD is a virtual foreign key to
    the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity associated to this
    average. This attribute can be used by users to link to the
    SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT record corresponding to this
    average if they need to look up any attribute associated to the
    record that is not de-normalized in this table. This attribute will
    be populated with the SSMPA_SASCH_ST_CD column from the Average that
    was involved in the compliance check. (B.10.6.1.t)

-   TCDMPAVG_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: The system-generated identifier for the TCDMPAVG table.
    (B.10.6.1.e)

-   TCDMPAVG_ST_CODE (text, 2, mandatory). Description: The state code
    for the TCDMPAVG table. (B.10.6.1.f)

-   MPAVG_TOTAL_DAYS (numeric, 5 with no decimals, optional).
    Description: Populated with the TOTAL DAYS from the MP AVG.
    (B.10.6.1.g)

-   MPAVG_MCL_COMPLIANCE_METHOD (text, 3, optional) Description:
    Populated with the MCL Compliance Method from the MP AVG.
    (B.10.6.1.h)

-   MPAVG_SEQUENCE_NUMBER (number, 4, optional) Description: Populated
    with the Sequence Number from the MP AVG. (B.10.6.1.v)

-   MP_MONITORING_PERIOD_NAME (text, 12, optional). Description:
    Representing the Monitoring Period association to MV AVG directly or
    via the SSMPA. (B.10.6.1.i)

-   MP_MONITORING_PERIOD_DURATION (text, 3, optional). Description:
    Representing the Monitoring Period association to MV AVG directly or
    via the SSMPA. (B.10.6.1.j)

-   ANALYTE_TSAANLYT_IS_NUMBER (numeric, 7 with no decimals, optional).
    Description: Representing the Analyte association to MV AVG.
    (B.10.6.1.k)

-   ANALYTE_TSAANLYT_ST_CODE (text, 2, optional). Description:
    Representing the Analyte association to MV AVG. (B.10.6.1.l)

-   ANALYTE_NAME (text,40, optional). Description: Representing the
    Analyte association to MV AVG. (B.10.6.1.m)

-   ANALYTE_CODE (text, 4, optional). Description: Representing the
    Analyte association to MV AVG. (B.10.6.1.n)

-   SP_TSASMPPT_IS_NUMBER (numeric, 7 with no decimals, optional).
    Description: Representing the Sampling Point association to MV AVG.
    (e.g. for LRAA) (B.10.6.1.o)

-   SP_TSASMPPT_ST_CODE (text, 2, optional). Description: Representing
    the Sampling Point association to MV AVG. (e.g. for LRAA)
    (B.10.6.1.p)

-   SP_IDENTIFICATION_CODE (text,12, optional). Description:
    Representing the Sampling Point association to MV AVG. (e.g. for
    LRAA) (B.10.6.1.q)

-   SP_DESCRIPTION (text, 40, optional). Description: Representing the
    Sampling Point association to MV AVG. (e.g. for LRAA) (B.10.6.1.ab)

-   SP_TYPE_CODE (text, 2, optional). Description: Representing the
    Sampling Point association to MV AVG. (e.g. for LRAA) (B.10.6.1.ac)

-   SP_SOURCE_TYPE_CODE (text, 2, optional). Description: Representing
    the Sampling Point association to MV AVG. (e.g. for LRAA)
    (B.10.6.1.ad)

*Identifier*

TCDMPAVG_IS_NUMBER and TCDMPAVG_ST_CODE

Add table **CDS\_ MCL_Value (TCDMCLV)** **D**escription: Records a copy
of information about the various averages stored in entity MCL_Value
that either is the basis for a candidate violation or is identified as
part of DBP Precursor Ratio or BIN determination. The information will
be denormalized. (R2004:A.10.6.1.e)

*Relationships*

To CDS Candidate Mntrng Assessment

-   A CDS MCL Value sometimes (75%) records averages for one and only
    one CDS_CANDIDATE_MNTRNG_ASSESSMENT. On delete disassociate.

-   A CDS_CANDIDATE_MNTRNG_ASSESSMENT sometimes (5%) involves one or
    more CDS MCL Value. On delete cascade.

> To CDS Sample Result

-   A CDS MCL Value sometimes (90%) is based on one or more CDS Sample
    Result. On delete cascade.

-   A CDS Sample Result sometimes (5%) is used to calculate one CDS MCL
    Value. On delete disassociate.

> To CDS Candidate Violation

-   A CDS MCL Value sometimes (75%) is the basis for one CDS Candidate
    Violation (non-transferable, 75%, reference, cascade delete)

-   A CDS Candidate Violation sometimes is based on one CDS MCL Value
    (non-transferable, 5%, reference, disassociate)

*Attributes:*

-   PWS_TINWSYS_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSYS_ST_CODE is a virtual foreign key to the Water system
    entity. This attribute can be used by users to link to the water
    system record corresponding to this MCL Value if they need to look
    up any attribute of the water system that is not de-normalized in
    this table. This attribute will be populated with the
    TINWSYS_IS_NUMBER column from the water system associated to the MCL
    Value that was used in the compliance check.

-   PWS_TINWSYS_ST_CD (text, 2, mandatory). Description: This attribute
    in conjunction with the PWS_TINWSYS_IS_NUMBER is a virtual foreign
    key to the Water system entity. This attribute can be used by users
    to link to the water system record corresponding to this MCL Value
    if they need to look up any attribute of the water system that is
    not de-normalized in this table. This attribute will be populated
    with the TINWSYS_ST_CODE column from the water system that is
    associated to the MCL Value that was used in the compliance check.

-   PWS_NUMBER (text, 12, mandatory). Description: This attribute will
    be populated with the NUMBER attribute from the water system that is
    associated to the MCL Value that was used in the compliance check.

-   PWS_NAME (text, 40, mandatory). Description: This attribute will be
    populated with the NAME from the water system that is associated to
    the MCL Value that was used in the compliance check.

-   MCLV_TMNCMCLV_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: This attribute is a virtual foreign key to the MCL
    Value entity. This attribute can be used by users to link to the
    Calculated MCL Value record corresponding to this candidate MCL
    Value if they need to look up any attribute of the MCL Value that is
    not de-normalized in this table. This attribute will be populated
    with the TMNCMCLV_IS_NUMBER from the MCL Value that was the basis
    for the compliance check, the BIN determination or IDSE check.

-   WSF_TINWSF_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSF_ST_CODE is a virtual foreign key to the Water system
    facility entity. This attribute can be used by users to link to the
    water system facility record corresponding to this MCL Value if they
    need to look up any attribute of the water system facility that is
    not de-normalized in this table. This attribute will be populated
    with the TINWSF_IS_NUMBER column from the water system facility that
    is associated to the MCL Value that was used in the compliance
    check.

-   WSF_TINWSF_ST_CODE (text, 2, mandatory). Description: This attribute
    in conjunction with the PWS_TINWSF_IS_NUMBER is a virtual foreign
    key to the Water system facility entity. This attribute can be used
    by users to link to the water system facility record corresponding
    to this MCL Value if they need to look up any attribute of the water
    system that is not de-normalized in this table. This attribute will
    be populated with the TINWSF_ST_CODE column from the water system
    facility that is associated to the MCL Value that was used in the
    compliance check.

-   WSF_ST_ASGN_ID (text, 12, mandatory). Description: This attribute
    records the state assigned identifier for the water system facility
    corresponding to this MCL Value. This attribute will be populated
    with the ST_ASGN_IDENT_CD column from the water system facility that
    is associated to the MCL Value that was used in the compliance
    check.

-   WSF_NAME (text, 40, mandatory). Description: This attribute records
    the name for the water system facility corresponding to this MCL
    Value. This attribute will be populated with the NAME column from
    the water system facility that is associated to the MCL Value that
    was used in the compliance check.

-   WSF_TYPE_CODE (text, 2, mandatory). Description: This attribute
    records the type code for the water system facility corresponding to
    this MCL Value. This attribute will be populated with the TYPE_CODE
    column from the water system facility that is associated to the MCL
    Value that was used in the compliance check.

-   WSF_AVAIL_CD (text, 1, optional). Description: This attribute
    records the availability code for the water system facility
    corresponding to this MCL Value. This attribute will be populated
    with the AVAILABILITY_CODE column from the water system facility
    that is associated to the MCL Value that was used in the compliance
    check.

-   WSF_EXTERN_SYS_NO (text, 18, optional). Description: This attribute
    records the external system number (which is used for reporting to
    EPA) for the water system facility corresponding to this MCL Value.
    This attribute will be populated with the EXTERNAL_SYS_NUM column
    from the water system facility that is associated to the MCL Value
    that was used in the compliance check. (B.10.6.1.y)

-   MPAVG_TMNMPAVG_IS_NUMBER (numeric, 7 with no decimals, mandatory).
    Description: This attribute is a virtual foreign key to the
    monitoring period MCL Value entity. This attribute can be used by
    users to link to the principal (principal, in this context, means
    the MP Average for the same Monitoring Period as the MCL Value) MP
    Average record corresponding to the MCL Value if they need to look
    up any attribute of the MP Average that is not de-normalized in this
    table. This attribute will be populated with the TMNMPAVG_IS_NUMBER
    column from the MP Average that is associated to the MCL Value that
    was used in the compliance check.

-   CMCLV_AVG_TYPE_CODE (text, 4, optional). Description: This attribute
    records the MCL Value Type Code for the MCL Value. This attribute
    will be populated with the AVERAGE_TYPE_CODE column from the MCL
    Value that was used in the compliance check.

-   CMCLV_AVG_NUM_MP (numeric, 2 with 0 decimals, optional).
    Description: This attribute records the number of monitoring periods
    used to calculate the MCL Value . This attribute will be populated
    with the AVERAGE_Number_Monitoring_Period attribute from the MCL
    Value that was used in the compliance check.

-   CMCLV_AVG_MP_TYPE (text,3, optional) . Description: This attribute
    records the Monitoring Period Type Code from the MCL Value. This
    attribute will be populated with the AVERAGE_DURATION_TYPE_CODE (or
    Average_Monitoring_Period_Type) from the MCL Value that was used in
    the compliance check.

-   CMCLV_BIN_NUMBER_TEXT (text, 1, optional). Description: This
    attribute records a copy of the BIN Number calculated by CDS Setup
    and stored in the MCL_Value record from attribute BIN_NUMBER_TEXT.

-   CMCLV_MCL_VALUE (numeric, 15, optional). Description: This attribute
    records the measure for the MCL Value. This attribute will be
    populated with the MEASURE column from the MCL Value that was used
    in the compliance check.

-   CMCLV_MCL_VALUE_TEXT (text, 16, optional). Description: This
    attribute records the measure represented as text for the MCL Value.
    This attribute will be populated with the MEASURE_TEXT column from
    the MCL Value that was used in the compliance check.

-   CMCLV_MCL_UOM_CD (text, 9, optional). Description: This attribute
    records the unit of measure corresponding to the measure for the MCL
    Value. This attribute will be populated with the UOM_CODE column
    from the MCL Value that was used in the compliance check.

-   CMCLV_NUMB_RESULTS_USED (numeric, 5, optional). Description: This
    attribute records the number of sample results used in calculating
    this MCL Value. This attribute will be populated with the
    NUMBER_OF_RESULTS_USED from the MCL Value that was used in the
    compliance check.

-   CMCLV_PRC_ACH_RMVL_RA_NO (numeric, 5, optional). Description: This
    attribute records the precursor achieved removal ratio for the MCL
    Value. This attribute will be populated with the PRC_ACH_RMVL_RA_NO
    column from the MCL Value that was used in the compliance check.
    (B.10.6.1.z)

-   CMCLV_PRC_ACH_RMVL_RA_TX (text, 7, optional). Description: This
    attribute records the precursor achieved removal ratio as text for
    the MCL Value. This attribute will be populated with the
    PRC_ACH_RMVL_RA_TX column from the MCL Value that was used in the
    compliance check. (B.10.6.1.aa)

-   SSMPA_MPRD_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    SSMPA_MPRD_ST_CD, SSMPA_SASCH_IS_NO, and SSMPA_SASCH_ST_CD is a
    virtual foreign key to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity
    associated to this MCL Value. This attribute can be used by the
    users to link to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT corresponding
    to this MCL Value if they need to look up any attribute associated
    to the record that is not de-normalized in this table. This
    attribute will be populated with the SSMPA_MPRD_IS_NO column from
    the MCL Value that was used in the compliance check.

-   SSMPA_MPRD_ST_CD (text, 2, mandatory). Description: This attribute
    in conjunction with the SSMPA_MPRD_IS_NO, SSMPA_SASCH_IS_NO, and
    SSMPA_SASCH_ST_CD is a virtual foreign key to the
    SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity associated to this MCL
    Value. This attribute can be used by users to link to the record
    corresponding to this MCL Value if they need to look up any
    attribute associated to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMTthat is
    not de-normalized in this table. This attribute will be populated
    with the SSMPA_MPRD_ST_CD column from the MCL Value that was used in
    the compliance check.

-   CMCLV_SSMPA_SASCH_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    CMCLV_SSMPA_SASCH_ST_CD, SSMPA_MPRD_IS_NO, and SSMPA_MPRD_ST_CD is a
    virtual foreign key to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity
    associated to this MCL Value. This attribute can be used by users to
    link to the record corresponding to this MCL Value if they need to
    look up any attribute associated to the
    SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT that is not de-normalized in this
    table. This attribute will be populated with the SSMPA_SASCH_IS_NO
    column from the MCL Value that was used in the compliance check.

-   CMCLV_SSMPA_SASCH_ST_CD (text, 2, mandatory). Description: This
    attribute in conjunction with the CMCLV_SSMPA_SASCH_IS_NO,
    SSMPA_MPRD_IS_NO, and SSMPA_MPRD_ST_CD is a virtual foreign key to
    the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT entity associated to this MCL
    Value. This attribute can be used by users to link to the record
    corresponding to this MCL Value if they need to look up any
    attribute associated to the SAMP_SCHEDULE_MNTRG_PERIOD_ASGMT that is
    not de-normalized in this table. This attribute will be populated
    with the SSMPA_SASCH_ST_CD column from the MCL Value that was used
    in the compliance check.

-   SP_TSASMPPT_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the SP
    TSASMPPT_ST_CD is a virtual foreign key to the Sampling_Point entity
    associated to this MCL Value. This attribute can be used by users to
    link to the sample point record corresponding to this MCL Value if
    they need to look up any attribute of the sample point that is not
    de-normalized in this table. This attribute will be populated with
    the TSASMPPT_IS_NO column from the MCL Value that was used in the
    compliance check. (e.g. for LRAA)

-   SP TSASMPPT_ST_CD (text, 2, mandatory). Description: This attribute
    in conjunction with the SP\_ TSASMPPT\_\_IS_ST is a virtual foreign
    key to the Sampling_Point entity associated to this MCL Value. This
    attribute can be used by users to link to the sample point record
    corresponding to this MCL Value if they need to look up any
    attribute of the sample point that is not de-normalized in this
    table. This attribute will be populated with the TSASMPPT_ST_CODE
    column from the MCL Value that was used in the compliance check.
    (e.g. for LRAA)

-   SP_IDENTIFICATION_CODE (text, 12, optional). Description:
    Representing the Sampling Point association to MV AVG. (B.10.6.1.ag)

-   SP_DESCRIPTION (text, 40, optional). Description: Representing the
    Sampling Point association to MV AVG. (B.10.6.1.ah)

-   SP_TYPE_CODE (text, 2, optional). Description: Representing the
    Sampling Point association to MV AVG. (B.10.6.1.ai)

-   SP_SOURCE_TYPE_CODE (text, 2, optional). Description: Representing
    the Sampling Point association to MV AVG. (B.10.6.1.aj)

-   CMCLV_TMNALRA_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    CMCLV_TMNALRA_ST_CD is a virtual foreign key to the
    ANALYTE_LEVEL_RULE_ASGMT entity associated to this MCL Value. This
    attribute can be used by users to link to the
    ANALYTE_LEVEL_RULE_ASGMT record corresponding to this MCL Value if
    they need to look up any attribute of the ANALYTE_LEVEL_RULE_ASGMT
    that is not de-normalized in this table. This attribute will be
    populated with the TMNALRA_IS_NO column from the MCL Value that was
    used in the compliance check.

-   CMCLV_TMNALRA_ST_CD (text, 2, mandatory). Description: This
    attribute in conjunction with the CMCLV_TMNALRA_IS_ST is a virtual
    foreign key to the ANALYTE_LEVEL_RULE_ASGMT entity associated to
    this MCL Value. This attribute can be used by users to link to the
    ANALYTE_LEVEL_RULE_ASGMT record corresponding to this MCL Value if
    they need to look up any attribute of the ANALYTE_LEVEL_RULE_ASGMT
    that is not de-normalized in this table. This attribute will be
    populated with the TMNALRA_ST_CD column from the MCL Value that was
    used in the compliance check.

*[Identifier]{.underline}*

TCDMCLV_IS_NUMBER and TCDMCLV_ST_CODE

Changes to CDS_SCHEDULE (TCDSASCH) (B.10.6.1.aj)

-   Add field SP_TMNSPLN_IS_NUMBER (numeric, 7, optional) The
    foreign-key to the Sampling Plan for this schedule.

-   Add field SP_TMNSPLN_STATE_CODE (numeric, 2, optional) The
    foreign-key to the Sampling Plan for this schedule.

### Water Treatment Compliance Report Page Flow

To initiate this report, the user will select **Compliance**
**Determination/Compliance Decision Support/Water Treatment Compliance
Report** from the *SDWIS/STATE Home Page* (R0101:A.10.6.2.a). On the
report selection page, the user will need to:

-   Specify the report(s) to process,

```{=html}
<!-- -->
```
-   Regulating Agency, and

```{=html}
<!-- -->
```
-   Monitoring Period End Date range.

This page (Exhibit 10-15) will list all reports available for
determining compliance for all Microbial/Disinfection By-Products rules
(Turbidity Rule, SWTR, IESWTR, LT1, LT2, GWR, Stage 1 and Stage2 D/DBP).
The Water Treatment Compliance Report page defaults to no reports being
selected:

-   
-   
-   
-   
-   
-   

```{=html}
<!-- -->
```
-   (R2002:A.10.6.2.b)

Users may choose to run one or more of these reports as well as one or
more of the other compliance determination report options listed on the
page. The compliance reports that appear on the page but do not default
as selected (the ones listed above) are generally associated with the
D/DBP rules and will be discussed in Subsection 10.7.3.

The Regulating Agency field is pre-populated with the primacy agency or
selected government agency, if applicable. Pressing **OK** will start
the compliance determination process. The process generates candidate
M&R and Level or Treatment Technique violations for water systems that
were not able to meet compliance requirements. Users will be able to
migrate these candidate CDS violations using the Migrate CDS Candidate
Violations function.

  -----------------------------------------------------------------------
  ![](media/image15.png){width="5.996527777777778in" height="5.76875in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981261 .anchor}**Exhibit 10-15.** Water
Treatment Compliance Report

[Entry Fields:]{.underline}

Select one or more reports to run Group Box:

The user may specify one or more reports to run.

*Entry Point RDC*

*\[Compliance*

*Check\] (Federal)* Checking this checkbox will cause the Entry Point
RDC Compliance Check (Federal) report processes to run as described in
Subsection 10.6.3.2.

*Entry Point RDC*

*\[Compliance*

*Check\] (State)* Checking this checkbox will cause the *Entry Point RDC
Compliance Check* (State) report processes to run as described in
Subsection 10.6.3.2.

*Distribution RDC*

*\[Compliance*

*Check\] (Federal)* Checking this checkbox will cause the *Distribution
RDC Compliance Check* (Federal) report processes to run as described in
Subsection 10.6.3.2.

*Distribution RDC*

*\[Compliance*

*Check\] (State)* Checking this checkbox will cause the *Distribution
RDC Compliance Check* (State) report processes to run as described in
Subsection 10.6.3.2.

*Turbidity*

*Compliance Check* Checking this checkbox will cause the *Turbidity
Compliance Check* report processes to run as described in Subsection
10.6.3.2 and 10.6.3.3.

*LT2 Source*

*Water M&R*

*\[Compliance Check\]* Checking this checkbox will cause the *LT2 Source
Water M&R Compliance Check* report processes to run as described in
Subsection 10.6.3.4. (R2000:A.10.6.2.c)

*LT2 BIN*

*\[Determination*

*Support\] Report* Checking this checkbox will cause the *LT2 BIN
Determination Support Report* processes to run as described in
Subsection 10.6.3.5. (R2000:A.10.6.2.d)

*GWR Source*

*Water M&R*

*\[Compliance Check\]* Checking this checkbox will cause the *GWR Source
Water M&R Compliance Check* report processes to run as described in
Subsection 10.6.3.5. (B.10.6.2.a)

*Stage 1 TTHM/HAA5 M&R*

*\[Compliance Check\]* Selection of this checkbox will cause the
*TTHM/HAA5 Compliance* Check report processes to run as described in
Subsection 10.7.9. (R3000:A.10.6.2.l)

*DBP Precursors*

*\[Compliance Check\]* Checking this checkbox will cause the *DBP
Precursors Compliance Check* report processes to run as described in
Subsection 10.7.4.

*Bromate/Bromide M&R*

*\[Compliance Check\]* Checking this checkbox will cause the
Bromate/Bromide M&R Compliance Check report processes to run as
described in Subsection 10.7.5.

*Chlorine/Chloramine*

*MRDL \[Compliance*

*Check\]* Checking this checkbox will cause the Chlorine/Chloramine MRDL
Compliance Check report processes to run as described in Subsection
10.7.6.

*\[Entry Point\] Chlorine*

*Dioxide/Chlorite*

*\[Compliance Check\]* Checking this checkbox will cause the Entry Point
Chlorine Dioxide/Chlorite Compliance Check report processes to run as
described in Subsection 10.7.7.

*\[Distribution)\]Chlorine*

*Dioxide/Chlorite*

*\[Compliance Check\]* Checking this checkbox will cause the
Distribution Chlorine Dioxide/Chlorite Compliance Check report processes
to run as described in Subsection 10.7.8.

*Stage 2 TTHM/HAA5 M&R*

*\[Compliance Check\]* Checking this checkbox will cause the *Stage 2
M&R Compliance Check* report processes to run as described in Subsection
10.7.10. (R3000:A.10.6.2.e)

*Stage 2 IDSE*

*\[Support\] Report* Checking this checkbox will cause the *Stage 2 IDSE
Support Report* processes to run as described in Subsection 10.7.11.
(R3000:A.10.6.2.f)

Regulating Agency/Water System Group Box:

The prompt for the Regulating Agency/Water System group will be blue
with an asterisk to indicate that the user must select one or the other
of these two fields. Only one can be selected. (R3000:A.10.6.2.g)

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the regulating agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
regulating agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
If a Water System has been selected, this field is protected.

> The user may click the **Go To** button to invoke the Regulating
> Agency Selection List or may enter a value directly into the
> Regulating Agency field.

-   The Regulating Agency Selection List will display only those
    regulating agencies to which the user is associated.

```{=html}
<!-- -->
```
-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met,
    retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from where the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name, sorted
> alphabetically, that starts with the same text string as supplied.)
>
> \- If the user specifies a valid government agency but is not
> associated to that agency (through
> *INDIVIDUAL_GOVERNMENT_AGENCY_ASGT*), the existing exit state error
> message will be invoked to indicate that the selected
> government/regulating agency is not valid for the current user. (The
> SDWIS/STATE Administrator would need to link the user to that agency).

*Water System* *No.* A standard nine-character Public Water System No.
may be entered or left blank. The field will be presented in two
components. The first state-code component will be prepopulated with the
d_state_identification_code value from the TINPRT table where the
where_installed_indicator = '1'. The second component is the numeric
portion of the Water System No. The **Go To** button may be pressed to
select a water system from a list. Once a valid water system is entered
or picked from a list, the water system name will be displayed on the
page.

> (R2000:A.10.6.2.h)

Monitoring Period End Date Group Range Box:

*Between \[Lower*

*Date\]* The user may specify in this field, which uses a calendar
function, the lower date of the range within which the Monitoring End
Date may fall.

*And \[Upper*

*Date\]* The user may specify in this field, which uses a calendar
function, the upper date of the range within which the Monitoring End
Date may fall.

The prompt for the Monitoring Period End Date Range group box is blue
with an asterisk (R0101:A.10.6.2.i) to indicate that a date range (that
is, both lower and upper date) must be specified.

[Tab Sequence:]{.underline}

Entry Point RDC (Federal), Entry Point RDC (State), Distribution RDC
(Federal), Distribution RDC (State), Turbidity, LT2 Source Water M&R,
LT2 BIN Report, GWR, Stage 1 TTHM/HAA5 M&R, DBP Precursors,
Bromate/Bromide, Chlorine/Chloramine MRDL, Chlorine Dioxide/Chlorite EP,
Chlorine Dioxide/Chlorite DS, Stage 2 TTHM/HAA5 M&R, Stage 2 IDSE
Report, Regulating Agency, **Go To** button, Water System, **Go To**
button, Monitoring Period End Date Range Between, Monitoring Period End
Date Range, **OK** button, **Cancel** button, **Help** button.
(R2000:A.10.6.2.j)

[Buttons:]{.underline}

Regulating Agency

**Go To** The user may press the **Go To** button to display the
Regulating Agency Selection List.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If at least one of the compliance checkboxes or the Create
    Chlorine/Chloramine MRDL Summary checkbox is not checked, the
    following error message will be invoked: **Must specify type of
    Compliance Check to run this report.**

```{=html}
<!-- -->
```
-   If Regulating Agency field is left blank, the following error
    message will be invoked: **Regulating Agency is a required field.**

```{=html}
<!-- -->
```
-   If either one or both dates in the Monitoring Period End Date Range
    is not valued, the following error message will be invoked: **Date
    range is required.**

```{=html}
<!-- -->
```
-   If both dates are valued but date in \[Lower Date\] is after date in
    \[Upper Date\], the following error message will be invoked: **Date
    range specified is invalid.**

> Once processing has begun, the CDS Status page will appear with its
> title bar reflecting the name of the selected report, in this case,
> Water Treatment Compliance Report. The processing gauge will show
> users the overall percentage of Water Treatment Compliance Report
> processes that have completed; the smaller gauge will show the
> percentage of completion for each individual process, for example,
> "Clear Previous Candidate Violations."

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page
(R0101:A.10.6.2.k).

**Help** Will invoke online Help for this page.

###  Processing Design Requirements 

Each of following processes will perform compliance processing against
MDBP Summaries for specific contaminants outlined in the Turbidity,
SWTR, IESWTR, LT1, LT2, and GWR rules, as long as the user creates the
appropriate Facility Analyte Level records. As noted above compliance
for the Stage 1 and Stage 2 DBP Rule will be discussed in Subsection
10.7.4. If users wish to calculate compliance for other analytes or in a
different way, the User-Defined Summary Compliance should be used as
discussed in Subsection 10.8.

For all the compliance processes discussed below, except those for LT2
and GWR Source Water, (R2000:A.10.6.3.c) the user must create Facility
Analyte Level records, set the MDBP Summaries flag to "Y," and indicate
the type of MDBP Summary noted for each process. All processes are
dependent upon M&R and Level Compliance Indicators which are set when
the MDBP Summary is created.

The Water Treatment Compliance Report will involve these distinct
processes, all described in detail in Appendix E (Water Treatment Rule
and D/DBP Compliance Processes).

-   *Clear Candidate MDBP Violations.*

```{=html}
<!-- -->
```
-   *Entry Point RDC Compliance Check (Federal).*

```{=html}
<!-- -->
```
-   *Entry Point RDC Compliance Check (State).*

```{=html}
<!-- -->
```
-   *Distribution RDC Compliance Check (Federal).*

```{=html}
<!-- -->
```
-   *Distribution RDC Compliance Check (State).*

```{=html}
<!-- -->
```
-   *Turbidity Compliance Check.*

```{=html}
<!-- -->
```
-   *LT2 Source Water M&R Compliance Check.*

```{=html}
<!-- -->
```
-   *LT2 BIN Determination Support Report. (R2000:A.10.6.3.a)*

-   *GWR Source Water M&R Compliance Check (R4000:B.10.6.3.a)*

```{=html}
<!-- -->
```
-   *Stage 1* *TTHM/HAA5 M&R Compliance Check.*

-   *DBP Precursors Compliance Check.*

```{=html}
<!-- -->
```
-   *Bromate/Bromide Compliance Check.*

```{=html}
<!-- -->
```
-   *Chlorine/Chloramine MRDL Compliance Check.*

```{=html}
<!-- -->
```
-   *Entry Point Chlorine Dioxide/Chlorite Compliance Check.*

```{=html}
<!-- -->
```
-   *Distribution Chlorine Dioxide/Chlorite Compliance Check.*

-   *Stage 2 TTHM/HAA5 M&R Compliance Check.*

-   *Stage 2 IDSE Support Report. (R3000:A.10.6.3.b)*

-   

The Clear Candidate MDBP Violations process, will remove candidate CDS
violations created during previous executions of the Water Treatment
Compliance Report. The next five processes relate primarily to SWTR and
are described in Subsection 10.6.3.2 to Subsection 10.6.3.3. The two
processes are related primarily to the LT2 rule and are described in
Subsection 10.6.3.4 to Subsection 10.6.3.5. The remaining processes
relate primarily to the D/DBP rules and are described in Subsection
10.7.4 to 10.7.11. Appendix E (Water Treatment Rule and D/DBP Compliance
Processes) provides the detailed design logic for all processes.

#### Clear Candidate MDBP Violations

The *Clear Previous MDBP Candidate Violations* process will identify
existing CDS Candidate Violations that satisfy the criteria entered by
the user for the current run and remove them. This step will prevent the
creation of duplicate CDS Candidate Violations. This step will also
remove a candidate CDS violation when the information in SDWIS/STATE has
changed such that there is no longer a candidate violation (e.g., by the
time the M&R compliance check is run a second time, results for a
schedule have been entered, thus alleviating the original candidate
violation).

This process will first identify all the water systems that are
associated to the selected Regulating Agency (i.e., from table TINWSYS
associated to TINLGENT via TINRAA). Then, for each selected water
system, delete candidate violations based on the user-specified
compliance check type(s) and Monitoring Period End Date range.

When CDS candidate violations match the user-specified criteria, this
process will then check for associated CDS FANLs, associated CDS MDBP
Summaries, CDS Candidate Exceedence, CDS Sample Results, and Sample
Schedules. If the about-to-be-deleted CDS candidate violation is the
only one associated to that CDS table record, the software will delete
the record, then delete the CDS candidate violation.

#### Compliance Processes

With the exception noted below for the Individual Filter Turbidity
Compliance Check, all the compliance reports will be processed in the
following manner:

-   The reports check for both M&R and level compliance for the summary
    type specified in Exhibit 10-16. The software will identify FANLs
    with the MDBP Summary Type of the specified type(s) in effect during
    the monthly monitoring periods with an end date within the specified
    range for water systems associated to the regulating agency and
    performs the following processes.

  ------------------------------------- ---------------------------------
  **Compliance Report**                 **MDBP Summary Type**

  Turbidity                             AVGT, MAXT, 95PT

  Entry Point RDC (Federal)             EPRD

  Entry Point RDC (State)               SERD

  Distribution RDC (Federal)            DSRD

  Distribution RDC (State)              SDRD
  ------------------------------------- ---------------------------------

[]{#__RefHeading___Toc168981262 .anchor}**Exhibit 10-16.** Water
Treatment Compliance

-   If an M&R violation type is specified in the FANL, and there is no
    MDBP summary of the specified type for the monitoring period and
    both the annual operating period for the water system facility and
    water system indicate the water system facility and water system,
    respectively, are open at least one day of the monitoring period, an
    M&R violation of the type specified will be created.

```{=html}
<!-- -->
```
-   If an M&R violation type is specified in the FANL, and an MDBP
    summary is found, and the M&R Compliance Indicator is set to "No
    Major,"

> \- An M&R violation of the type specified is created with a severity
> level of Major.
>
> \- If there is no severity associated with that type of violation in
> the violation table, a candidate CDS violation is created without the
> severity level.

-   If an M&R violation type is specified in the FANL, and an MDBP
    summary is found, and the M&R Compliance Indicator is set to "No
    Minor,"

> \- An M&R violation of the type specified is created with a severity
> level of Minor.

-   If there is no severity associated with that type of violation in
    the violation table create the violation without the severity level.

```{=html}
<!-- -->
```
-   If an MDBP summary is found and the Level Compliance Indicator is
    set to NO a level violation of the type specified in the FANL is
    created.

#### Individual Filter Turbidity Process 

The Individual Filter Turbidity report will create candidate M&R
violations and/or CDS MDBP Summaries. The IFT summary will contain the
response to seven questions, three concerning monitoring and four
concerning turbidity levels. (Chapter 5 describes the online Individual
Filter Turbidity Maintenance page.)

The MDBP Summary M&R Compliance Indicator will be set to No if any of
the three questions has an inappropriate answer. The M&R candidate
violation will be created as described above. In addition, the report
will list which of the three monitoring questions was answered
inappropriately. In particular, the report will provide the following
messages when the conditions described exist:

> \(1\) If TCDMDBPS.Q1_IFT is equal to \"N,\" create the following
> message in the CDSRPTS.mdb final report, "There was a failure to
> continuously monitor each individual filter during the monitoring
> period from MM/DD/YYYY to MM/DD/YYYY." Use the dates in MP_BEGIN_DATE
> and MP_END_DATE to value the dates.
>
> \(2\) If TCDMDBPS.Q2_IFT is equal to \"N,\" create the following
> message in the CDSRPTS.mdb final report, "There was a failure to
> record turbidity measurements every 15 minutes during the monitoring
> period from MM/DD/YYYY to MM/DD/YYYY." Use the dates in MP_BEGIN_DATE
> and MP_END_DATE to value the dates.
>
> \(3\) If TCDMDBPS.Q3_IFT is equal to \"Y,\" create the following
> message in the CDSRPTS.mdb final report, "There was a failure on the
> turbidity monitoring equipment during the monitoring period from
> MM/DD/YYYY to MM/DD/YYYY." Use the dates in MP_BEGIN_DATE and
> MP_END_DATE to value the dates.

The MDBP Summary Level Compliance indicator will be set to No if any of
the four questions concerning turbidity levels is answered \"Yes.\" If
turbidity levels at an individual filter are exceeded, a treatment
technique violation has not occurred. Instead the water supply must
prepare and submit a report on the condition of the filters to the
primacy agency. Therefore, the Turbidity Compliance process will not
create candidate treatment technique violations; however, the report
will list which of the four turbidity level questions was answered Yes.
Specifically,

> \(1\) If TCDMDBPS.Q4_IFT is equal to \"Y,\" create the following
> message in the CDSRPTS.mdb final report, "Individual filter turbidity
> had been greater than 1.0 NTU in two consecutive measurements during
> the monitoring period from MM/DD/YYYY to MM/DD/YYYY." Use the dates in
> MP_BEGIN_DATE and MP_END_DATE to value the dates.
>
> \(2\) If TCDMDBPS.Q5_IFT is equal to \"Y,\" create the following
> message in the CDSRPTS.mdb final report, "Individual Filter Turbidity
> had been greater than 0.5 NTU in two consecutive measurements after
> being on line for more than four hours during the monitoring period
> from MM/DD/YYYY to MM/DD/YYYY." [Use the dates in MP_BEGIN_DATE and
> MP_END_DATE to value the dates]{.mark}.
>
> \(3\) If TCDMDBPS.Q6_IFT is equal to \"Y,\" create the following
> message in the CDSRPTS.mdb final report, "Individual Filter Turbidity
> had been greater than 1.0 NTU in two consecutive measurements in three
> consecutive months ending MM/DD/YYYY." Use the dates in MP_BEGIN_DATE
> and MP_END_DATE to value the dates.
>
> \(4\) If TCDMDBPS.Q7_IFT is equal to \"Y,\" create the following
> message in the CDSRPTS.mdb final report, "Individual Filter Turbidity
> had been greater than 2.0 NTU in two consecutive measurements in two
> consecutive months ending MM/DD/YYYY." [Use the dates in MP_BEGIN_DATE
> and MP_END_DATE to value the dates]{.mark}.

The create candidate violations process will determine the presence of
existing violations in two ways. First, it will include a check to make
sure an existing, matching, validated, preliminary or rejected violation
does not already exist before creating the candidate violation. Second,
if a candidate violation is created, the way the violation periods are
populated will be changed. Both are described in more detail in other
parts of this document.

#### LT2 Source Water M&R Compliance Check Process 

This report will process the monitoring compliance for *E. coli* and
cryptosporidium in accordance with the Long Term 2 Enhanced Surface
Water Treatment Rule. This report will use the same processes as those
invoked by the Chemical/Radiological M&R Compliance Report to determine
candidate CDS monitoring violations. That is, the software will search
for SSMPAs whose associated monitoring period End Dates fall within the
user-specified date range. Sample schedules for analyte code 3014 or
3015 associated to violation type 32 for WSF water type equal to
SW-Surface Water or GU-Groundwater Under the Influence of Surface Water
will be compared to sample analytical results and, when necessary, CDS
candidate violations will be created. (R2000:A.10.6.3.4.a)

#### LT2 BIN Determination Support Report Process 

This report will provide information for the compliance officer to
review in determining the following:

-   Specific dates in sampling plan (R2003:A.10.6.3.5.a)

-   E. coli and Cryptosporidium means (R2004:A.10.6.3.5.b)

-   BIN Determination (R2005:A.10.6.3.5.c)

Candidate violations will not be created.

#### GWR Source Water M&R Compliance Check Process 

This report will process the monitoring compliance for indicator
organism in accordance with the Ground Water Treatment Rule. This report
will use the same processes as those invoked by the
Chemical/Radiological M&R Compliance Report to determine candidate CDS
monitoring violations. That is, the software will search for SSMPAs
whose associated monitoring period End Dates fall within the
user-specified date range. Sample schedules for analyte code 3002, 3014,
or XXXX associated to violation type 32 from WSF with water type
GW-Groundwater will be compared to sample analytical results and, when
necessary, CDS candidate violations will be created.
(R4000:B.10.6.3.6.a)

## Disinfectant/Disinfection By-Products Compliance Report

This section will discuss the Disinfectant/Disinfection By-Products
(D/DBP) Compliance Checks which are selected from the Water Treatment
Compliance Report page (Exhibit 10-15). These compliance checks will let
users check compliance for a water system's Disinfectant/Disinfection
By-Products (D/DBP) M&R and some level requirements. Level compliance
involves exceedence of a level which includes both creation of candidate
treatment technique violations as well as advisories to compliance
officers when compliance calculations cannot be completed. The
information in this subsection assumes that the user has read and has a
good understanding of how SDWIS/STATE proposes to maintain MDBP
summaries in support of the D/DBP Rule, as described in Chapter 5 of
this document.

In former releases when Compliance Determination was client based, the
compliance checks on this page were presented on two windows, Surface
Water Treatment Compliance Report and D/DBP Compliance Report. This
section discusses compliance checks and reports for disinfection rules
on the left-hand side of the page. This Section 6 discusses compliance
checks and reports for microbial rule listed on the right-hand side of
the page.

### Model Changes for Disinfectant/Disinfection By-Products Compliance Report

Changes to CDS Report Log (TCDSRLOG) (R2003:A.10.7.1.a)

-   Add field ST2_MR_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the DBP Compliance Report, wanted
    the compliance report to run the Stage 2 TTHM/HAA5 Monitoring and
    Reporting process.

-   Add field ST2_IDSE_IND (text, 1, optional). Description: Indicates
    whether the user, when launching the DBP Compliance Report, wanted
    the compliance report to run the Stage 2 Initial Distribution System
    Evaluation Report Process.

-   Mark CR8_MRDL_SUMMS_IND as obsolete. This process has been moved to
    CDS Setup, is no longer an on-demand process; therefore, indicator
    no longer needed.

-   Add field USER_REQUESTED_TOLERANCE (numeric, 5, optional)
    Description: The number of days tolerance set by the user before
    notifying of a variance of the interval between two sample
    collections. (B.10.7.1.a)

-   Add field SAM_COLL_BEG_DAT (date, optional) Description: The lower
    date selected by the user when initiating the report to set the
    period to begin including samples. (B.10.7.1.b)

-   Add field SAM_COL_END_DAT (date, optional) Description: The upper
    date selected by the user when initiating the report to set the
    period to discontinue including samples. (B.10.7.1.c)

-   Add field MNR_SAMPLE_COUNT (text, 4, optional) Description: The
    minimum number of times a sample must be drawn as specified in of
    the Monitoring Requirement selected when the report was run.
    (B.10.7.1.k)

-   Add field MNR_SAMPLE_TYPE_CODE (number, 4, optional) Description:
    The type of sample specified in of the Monitoring Requirement
    selected when the report was run. (B.10.7.1.l)

-   Add field MNR_SMPLNG_PRDCTY (text, 3, optional) Description: The
    frequency at which samples must be drawn as specified in of the
    Monitoring Requirement selected when the report was run.
    (B.10.7.1.m)

-   Add field MNR_VIOL_TYPE (text, 4, optional) Description: The type of
    violation including its severity level associated to the Monitoring
    Requirement (B.10.7.1.n)

-   Add field MNR_TMNVTYPE_IS_NUMBER (number, 7, optional) Description:
    A system-generated value, which along with the MNR_TMNVYTPE_ST_CODE,
    uniquely identifies the Violation Type selected when the report was
    run (B.10.7.1.o)

-   Add field MNR_TMNVTYPE_ST_CODE (text, 2, optional) Description: A
    system-generated value, which along with the MNR_TMNVTYPE_IS_NUMBER,
    uniquely identifies the Monitoring Requirement selected when the
    report was run. (B.10.7.1.p)

-   Add field MNR_CFR (text, 3, optional) Description: The number of the
    Code of Federal Regulation specified in of the Monitoring
    Requirement selected when the report was run. (B.10.7.1.q)

-   Add field MNR_TMNMNR_IS_NUMBER (number, 7, optional) Description: A
    system-generated value, which along with the MNR_TMNMNR_ST_CODE,
    uniquely identifies the Monitoring Requirement selected when the
    report was run. (B.10.7.1.r)

-   Add field MNR_TMNMNR_ST_CODE (text, 2, optional) Description: A
    system-generated value, which along with the MNR_TMNMNR_IS_NUMBER,
    uniquely identifies the Monitoring Requirement selected when the
    report was run. (B.10.7.1.s)

Changes to CDS Sample Results (TCDSSAR)

-   Add field COLLECTION_INTERVAL (numeric, 5, optional) Description:
    The actual number of days between the sample collection date of this
    result and the previous sample collection date. (B.10.7.1.d)

-   Add field SEED_INTERVAL (numeric, 5, optional) Description: The
    number of days between the earliest collected sample (seed date) and
    the sample collection date. (B.10.7.1.e)

-   Add field COLLECTION_INTERVAL_VARIANCE (numeric, 5, optional)
    Description: The number of days between the actual collection date
    and the expected collection date of this sample. (B.10.7.1.f)

-   Add field EXPECTED_COLLECTION_DATE (date, optional) Description: The
    collection date that was calculated for this sample based upon a
    specified seed date and the monitoring periodicity (B.10.7.1.g)

-   Add field EXPECTED_INTERVAL (numeric, 5, optional) Description: The
    expected period between collection of this sample and the earliest
    collected sample based upon the monitoring periodicity. (B.10.7.1.v)

-   Add field PLANNED COLLECTION_DATE (date, optional) Description: The
    collection date that was specified in the Sampling Plan.
    (B.10.7.1.t)

-   Add field SAMPLING PLAN TOLERANCE (numeric, 5, optional)
    Description: The number of days allowed between collection of sample
    and collection date specified for this monitoring period and
    sampling point in the sampling plan associated to the sample
    schedule. (B.10.7.1.i)

-   Add field SAMPLING_PLAN_VARIANCE (numeric, 5, optional) Description:
    The number of days between the actual collection date and the
    planned collection date of this sample. (B.10.7.1.u)

Changes to CDS Monitoring Assessment (TCDSMNAS):

-   Add field SAMPLE_COLLECTION_SEED_DATE (date, optional) Description:
    The date of the earliest collected sample in the date range
    specified by the user.  This date combined with the frequency of
    monitoring is used to calculate the EXPECTED_COLLECTION_DATE for CDS
    SAR records. (B.10.7.1.h)

-   Add field WSF_ACTIVITY_STATUS_CODE (text, 1, optional) Description:
    The water system facility activity status code. (B.10.7.1.j)

### D/DBP Compliance Report Page Flow

To initiate this report, the user will select **Compliance**
**Determination/Compliance Decision Support/Water Treatment Compliance
Report** from the *SDWIS/STATE Home Page* (R0101:A.10.7.2.a). The user
will be able to:

-   Specify the report(s) to process;

-   Regulating Agency; and

-   Monitoring Period End Date range;

The Water Treatment Compliance Report page (Exhibit 10-15) will list all
reports available for determining compliance for all
Microbial/Disinfection By-Products rules (Turbidity Rule, SWTR, IESWTR,
LT1, LT2, GWR, Stage 1, and Stage2 D/DBP). The D/DBP Compliance Report
page will (R3000:A.10.7.2.b) default to no reports being selected:
(R3000:A.10.7.2.c) and is discussed in Section 10.6

  -----------------------------------------------------------------------

  -----------------------------------------------------------------------

(R3000:A.10.7.2.i) (R3000:A.10.7.2.j) (R0101:A.10.7.2.k),
(R0101:A.10.7.2.m)

**Help** Will invoke online Help for this page.

### Processing Design Requirements 

Most of the following processes will perform compliance processing
against MDBP Summaries for specific contaminants outlined in the Stage 1
Disinfectant/Disinfection By-Products rule so long as the user creates
the appropriate FANL. Six of the processes, *Stage 1 and Stge 2 TTHM/HAA
M&R*, *Bromate/Bromide M&R*, *Chlorine Dioxide/Chlorite Distribution.
Stage 2 M&R, and Stage 2 IDSE Report* will not use MDBP Summaries, but
will use non-TCR sample schedules and sample analytical results. As
noted above, compliance for the Turbidity, SWTR and IESWTR rules will be
discussed in Subsection 10.6. If the user wishes to calculate compliance
for other contaminants or in a different way, the User-Defined Summary
Compliance may be used as discussed in Subsection 10.8.

-   

```{=html}
<!-- -->
```
-   

```{=html}
<!-- -->
```
-   
-   

```{=html}
<!-- -->
```
-   

```{=html}
<!-- -->
```
-   *(R2000:A.10.7.3.a)*

-   

-   

-   

-   

-   

-   

-   *(R3000:A.10.7.3.b)*

The *Clear Candidate MDBP Violations* process, discussed in Subsection
10.6.3.1, will remove candidate CDS violations created during previous
executions of the Water Treatment Compliance Report. The next five
processes relate primarily to the SWTR rules and are described in
Subsection 10.6.3.2 to Subsection 10.6.3.3. The two processes are
related primarily to the LT2 rule and are described in Subsection
10.6.3.4 and Subsection 10.6.3.5. The remaining processes relate
primarily to the D/DBP rules and will be described in Subsection 10.7.3
through Subsection 10.7.11. Appendix E (Water Treatment Rule and D/DBP
Compliance Processes) provides the detailed design logic for all the
processes.

In all cases, the create candidate violations process will be revised in
two ways. First, it will include a check to make sure an existing,
matching, validated, preliminary or rejected violation does not already
exist before creating the candidate violation. Second, if a candidate
violation is created, the way the violation periods are populated will
be changed. Both are described in more detail in other parts of this
document.

###  DBP Precursors Compliance Report

This process will calculate M&R and level compliance with the monitoring
required to determine removal of the DBP precursor total organic carbon
(TOC) and any other required TOC monitoring associated with the Stage 1
D/DBP rule. Compliance will be determined by comparing the sample
schedule's monitoring requirements with sample analytical results for
M&R compliance. That is, the software will search for SSMPAs whose
associated monitoring period End Dates fall within the user-specified
date range. For level compliance, the software will check the Precursor
Achieved Removal Ratio in the Running Annual Average (entity MCL_VALUE)
that is associated with the SSMPA.

The DBP Precursor Compliance Report will use the same processes as those
invoked by the Chemical/Radiological M&R Compliance Report to determine
candidate CDS monitoring violations. Sample schedules for total organic
carbon (2920) or alkalinity (1927 or 1067) associated to violation type
27 will be compared to sample analytical results and, when necessary,
candidate violations will be created.

*CDS Setup* will calculate both the monitoring period average (MPA) and
running annual average (RAA) of the removal achievement rations (RAR)
for each treatment plant. The level compliance process will create
candidate violations of type 46 if a running annual average of the RAR
associated to a chosen monitoring period for a water system (that is,
regulated by the specified agency) is less than 1.00.

### Bromate/Bromide Compliance Report

Bromate monitoring is only required of the very few systems that use
ozone as a disinfectant. The bromate MCL will be phased in with two
effective dates, January 1, 2002 for water systems serving a population
over 10,000 and January 1, 2004 for remaining water systems. There is no
federal MCL for bromide; only those systems wishing to reduce their
bromate monitoring frequency are required to monitor for bromide.

The Bromate/Bromide Compliance Report will use the same processes as
those invoked by the Chemical/Radiological M&R Compliance Report to
determine candidate CDS monitoring violations. Sample schedules for
analyte code 1004 or 1011 associated to violation type 27 will be
compared to sample analytical results and, when necessary, candidate
violations will be created. That is, the software will search for SSMPAs
whose associated monitoring period End Dates fall within the
user-specified date range.

Since so few supplies will monitor for bromate and primacy agencies may
wish MCL compliance determined for supplies with bromate schedules prior
to MCL being in effect, compliance will use a state-wide level set in
Analyte Level Rule Asgmt (table TMNALRA) instead of Facility Analyte
Levels (TMNFANL). Therefore, if the SDWIS/STATE Administrator has added
an MCL for bromate, bromate MCL compliance will be determined as part
*CDS Setup*. The D_POPULATION attribute from table TINWSYS will be added
to the *CDS Setup* Processing Report (for process *Assess
Chemical/Radionuclide MCL Compliance*) to assist compliance officers in
determining whether to migrate or delete CDS candidate MCL violations.

### Chlorine/Chloramine Compliance MRDL Report

All supplies that use chlorine and/or chloramine as a disinfectant must
monitor the distribution system at the same sampling points and
frequency as is required for monitoring under the Total Coliform Rule.
The summarized sample results, which will be stored as MDBP summaries of
type MRDL, may be added using online *Sampling* or created by CDS Setup
based on individual field results entered with total coliform samples.

M&R compliance for either the chlorine or chloramine MRDL is very
similar to the process described in Subsection 10.7.6 using summaries of
type MRDL. Once the Facility Analyte Level has been selected, it will be
necessary to check each TCR routine or temporary routine schedule whose
Effective Period End Dates are either open (null) or fall within the
user-specified date range. This may result in one TCR schedule or more
than one schedule. For each TCR schedule found, the software will select
monitoring period(s) that fall within the user-specified date range and
that match the periodicity specified by the TCR schedule. For each
monitoring period found, the software will check for the existence of a
MRDL summary.

When not found and both the annual operating period for the water system
facility and water system indicate the water system facility and water
system, respectively, are open at least one day of the monitoring
period, it will assess a violation of the type associated to the
Facility Analyte Level.

When found, both monitoring and level compliance determinations will be
made by evaluating the respective compliance indicators in the summary.
(How these compliance indicators will be set is described in Chapter 5.)

### Chlorine Dioxide (CLO2) /Chlorite (CLO3) Entry Point Compliance Report

Supplies that use chlorine dioxide as a disinfectant must monitor daily
for chlorine dioxide and chlorite at the entry point. The summarized
sample results, which will be stored as MDBP summaries of type CLO2 for
chlorine dioxide and CLO3 for chlorite, may be added using online
*Sampling*.

As with the MRDL M&R determination, Chlorine Dioxide/Chlorite Entry
Point Compliance Report processes follow those processes outlined in
Subsection 10.7.7 using MDBP summaries of type CLO2 and CLO3. Monitoring
compliance determinations will be made by evaluating the M&R compliance
indicator in the summary. The state violation period for CDS candidate
violations is the monitoring period of the summary or monthly monitoring
periods in effect during the period chosen for the compliance check.

For level compliance determination, the results of entry point samples
will not trigger a level violation; instead they will trigger additional
distribution monitoring. Therefore, level candidate violations will not
be created; however, as with Individual Filter Turbidity Compliance, if
the level compliance indicator is No, the report will list summary data
to assist the compliance officer in investigating and determining if the
additional distribution samples were collected and/or if levels were in
compliance. If it is determined that additional monitoring or level
violations should be issued, they may be added using the online
violation function.

### Chlorine Dioxide/Chlorite Distribution Compliance Report

Supplies that use chlorine dioxide as a disinfectant must collect a set
of three samples from the distribution system each month to be analyzed
for chlorite. In addition, a set of three distribution samples must be
taken if an entry point sample exceeds 0.8 for chlorine dioxide or 1.0
for chlorite. The average of each set of distribution samples will be
used to determine compliance with the MRDL or MCL. The Chlorine
Dioxide/Chlorite Distribution Compliance Report will calculate
monitoring compliance for the monthly chlorite samples and provide
sample data to assist the compliance officer to determine monitoring
compliance for chlorine dioxide and level compliance for both chemicals.

As with Bromate/Bromide M&R compliance, monitoring compliance for
monthly chlorite distribution samples will use the same processes as
those invoked by the Chemical/Radiological M&R Compliance Report to
determine candidate CDS monitoring violations. The software searches for
SSMPAs whose associated monitoring period End Dates fall within the
user-specified date range. Sample schedules for analyte code 1008 or
1009 associated to violation type 27 will be compared to sample
analytical results and, when necessary, CDS candidate violations of the
type associated with the schedule will be created.

For level compliance, the report will list sample analytical data to
assist the compliance officer in investigating and determining if the
additional distribution samples were collected and/or if levels were in
compliance. However, the software will not actually perform level
compliance for monthly chlorite distribution samples. If it is
determined that additional monitoring or level violations should be
issued, they may be added using the online violation function.

### Stage 1 TTHM/HAA5 M&R Compliance Report

This report will process the monitoring compliance for total
trihalomethanes and haloacetic acids in accordance with the Total
Trihalomethane Rule and the Stage 1 D/DBP Rule. This report will use the
same processes as those invoked by the Chemical/Radiological M&R
Compliance Report to determine candidate CDS monitoring violations. That
is, the software will search for SSMPAs whose associated monitoring
period End Dates fall within the user-specified date range. Sample
schedules for analyte code 2950 or 2456 associated to violation type 27
or 03 will be compared to sample analytical results and, when necessary,
CDS candidate violations will be created.

*CDS Setup* will determine compliance with the MCL by calculating
running annual averages and comparing the averages with the level in
Facility Analyte Level (table TMNFANL).

###  Stage 2 M&R Compliance Check Process 

This report will process the monitoring compliance for total
trihalomethanes and haloacetic acids in accordance with the Stage 2
D/DBP Rule, Subpart U, also known as the IDSE requirements. This report
will use the same processes as those invoked by the
Chemical/Radiological M&R Compliance Report to determine candidate CDS
monitoring violations. That is, the software will search for SSMPAs with
associated monitoring period End Dates that fall within the
user-specified date range. Sample schedules for analyte code 2950 or
2456 associated to violation type 30 will be compared to sample
analytical results and, when necessary, CDS candidate violations will be
created. (R3000:A.10.7.10.a)

###  Stage 2 ISDE Support Report Process 

This report will provide information for the compliance officer to
review in determining the compliance with the following rule
requirements:

-   frequency of sampling, e.g., 141.601(b), which is called Sample
    Collection Interval in this document (R3002, R3012:A.10.7.11.a)

-   dual sample set, e.g., 141.601(b) (R3014) and

-   review of Locational Running Annual Averages (LRAA) to determine
    Subpart V sampling points (R3013:A.10.7.11.b)

Candidate violations will not be created.

#### LRAA Support Check

This process will identify all TTHM and HAA5 schedules and the
monitoring periods associated to them that fall within the Monitoring
Period End Date Range selected by the user and, for each, makes a copy
of production records in the following CDS entities:

-   A copy of each Sample Schedule selected in the
    CDS_CANDIDATE_MNTRNG_ASSESSMENT and CDS_SCHEDULE entitites

-   A copy of each LRAA record from MCL Value selected in the CDS MCL
    Value entity

-   A copy of each Sample and Result selected in the CDS Sample Result
    entity

The requirement to review dual sample compliance will be accomplished by
a review of the LRAA report, which will show TTHM and HAA5 sample dates
near one another.

#### Sample Collection Interval Check

This process will utilize the same logic as the Sample Collection
Interval Check. When invoked from here, the following information will
be passed to the Sample Collection Interval Check:

-   the user selected Regulating Agency or Water System

-   the longest Monitoring Period selected by the LRAA process, using
    its begin and end dates as the Sample Collection Date Range

-   Monitoring Requirements that reference either Analyte Code 2950 or
    2456 and that references violation type 30 (i.e., IDSE Monitoring
    Requirements) and

-   zero as the Tolerance

Review list of all sample results used in calculating the LRAA
(R3021:A.10.7.11.c)

###  Report (Output) Requirements

At the conclusion of the *D/DBP Compliance Report*, a report will be
invoked and displayed. (R10101:A.10.7.12.a)

For every CDS candidate M&R violation, there may be a child record in:

-   CDS Candidate Schedule that is a copy of the Sample Schedule that
    was not fully satisfied;

-   CDS Candidate Facility Analyte Level (FANL) that is a copy of the
    FANL that set monitoring requirements and/or analyte levels;

-   CDS Candidate MDBP Summary that is a copy of the MDBP summary that
    with compliance indicators set to not in compliance; or

-   CDS Candidate Sample Exceedance that is a copy of a Sample and
    Result that exceeded a level

Since several possible combinations of processes can run from this page,
separate reports will be provided. This function also will create a *CDS
Report* Execution log record for each type of report each time it is
run, populating the following CDS Report Log attributes according the
user\'s specification and/or as shown below:

-   TCDSRLOG_IS_NUMBER - increment from table

```{=html}
<!-- -->
```
-   TCDSRLOG_ST_CODE - user\'s current state code

```{=html}
<!-- -->
```
-   REPORT_RUN_USERID - of user executing report

```{=html}
<!-- -->
```
-   REPORT_RUN_Timestamp \-- timestamp when report was run

```{=html}
<!-- -->
```
-   Report Type \-- set to DB

```{=html}
<!-- -->
```
-   GOVAG_TINLGENT_IS_NUMBER (GOV_TINLGENT_IS_NO)

```{=html}
<!-- -->
```
-   GOVAG_TINLGENT_ST_CODE (GOV_TINLGENT_ST_CO)

```{=html}
<!-- -->
```
-   GOVAG_NAME

-   PWS_TINWSYS_IS_NO

-   PWS_TINWSYS_ST_CD

-   PWS_NUMBER

-   PWS_NAME

-   Set the following indicators based upon user's selection

> \- TURBIDITY_IND

\- FED_RP_RDC_IND

> \- STATE_EP_RDC_IND
>
> \- DBP_PRECURSORS_IND
>
> \- BROMATE_BROMID_IND
>
> \- CL2_CHLORAMINE_IND
>
> \- CLO2_CHLOR_EP_IND
>
> \- CLO2_CHLOR_DS_IND
>
> \- TTHM_HAA5_MR_IND
>
> \- USER_DEF_SUMRY_TYP
>
> \- DATA_ENTRY_BEG_DAT
>
> \- DATA_ENTRY_END_DAT VB

The LRAA report will have the following format and contain the following
information plus an indicator if the LRAA exceeds the MCL, an indicator
if there is not TTHM and HAA5 sample collected on the same date, and the
number of days between samples.

+---------+---------+---------+---------+---------+------+---------+
| PWS:    |         |         |         |         |      |         |
| \[PWS   |         |         |         |         |      |         |
| ID and  |         |         |         |         |      |         |
| Name\]  |         |         |         |         |      |         |
+---------+---------+---------+---------+---------+------+---------+
| WSF:    |         |         |         |         |      |         |
| \[WSF   |         |         |         |         |      |         |
| State   |         |         |         |         |      |         |
| Asgn ID |         |         |         |         |      |         |
| and     |         |         |         |         |      |         |
| Name\]  |         |         |         |         |      |         |
+---------+---------+---------+---------+---------+------+---------+
| S       |         |         |         |         |      |         |
| ampling |         |         |         |         |      |         |
| Point:  |         |         |         |         |      |         |
| \[IDENT |         |         |         |         |      |         |
| IFICATI |         |         |         |         |      |         |
| ON_CODE |         |         |         |         |      |         |
| and     |         |         |         |         |      |         |
| DESC    |         |         |         |         |      |         |
| RIPTION |         |         |         |         |      |         |
| _TEXT\] |         |         |         |         |      |         |
+---------+---------+---------+---------+---------+------+---------+
| Mon     | TTHM    |         |         | HAA5    |      |         |
| itoring | Data    |         |         | Data    |      |         |
|         |         |         |         |         |      |         |
| Period  |         |         |         |         |      |         |
+---------+---------+---------+---------+---------+------+---------+
|         | Sample  |         | LRAA    | Sample  |      | LRAA    |
|         | Data    |         |         | Data    |      |         |
+---------+---------+---------+---------+---------+------+---------+
|         | Sample  | Result  |         | Sample  | Re   |         |
|         | Dt      |         |         | Dt      | sult |         |
+---------+---------+---------+---------+---------+------+---------+
| 2005-Q1 | 02/     | 35 ug/l | 0.028   | 02/     | 18   | 0.021   |
|         | 20/2005 |         | mg/l    | 20/2005 | ug/l | mg/l    |
+---------+---------+---------+---------+---------+------+---------+
| 2005-Q2 | 05/     | 0.031   | 0.026   | 05/     | 22   | 0.021   |
|         | 18/2005 | mg/l    | mg/l    | 11/2005 | ug/l | mg/l    |
+---------+---------+---------+---------+---------+------+---------+
| ...     |         |         |         |         |      |         |
+---------+---------+---------+---------+---------+------+---------+

## User-Defined Summary Compliance Report

The User-Defined Summary Compliance Report page (Exhibit 10-18) will let
users check a water system's M&R and level compliance using user-defined
summaries. SDWIS/STATE Administrators may create their own MDBP summary
types, which may then be used when creating Facility Analyte Levels as
well as MDBP summaries. If a user adds Facility Analyte Levels
associated to M&R and level violations, the User-Defined Summary
Compliance Report will create candidate violations. The information in
this section assumes that the user has read and has a good understanding
of how SDWIS/STATE proposes to maintain MDBP summaries.

### Model Changes for User-Defined Summary Compliance Report

No model changes planned for this release.

### Page Flow

To initiate a User-Defined Compliance Report, select *Compliance
Determination/User-Defined* from the SDWIS/STATE Home Page.
(R0101:A.10.8.2.a) The selections are:

-   Specify the type of summary;

```{=html}
<!-- -->
```
-   Regulating Agency; and

```{=html}
<!-- -->
```
-   Monitoring Period End Date Range.

The Regulating Agency field will be pre-populated with the primacy
agency or selected government agency if applicable. Pressing **OK** will
start the compliance determination process. The process will generate
candidate M&R and Level or Treatment Technique violations for water
systems that were not able to meet compliance requirements. Users will
be able to migrate these candidate CDS violations using the Migrate CDS
Candidate Violations function.

  -----------------------------------------------------------------------
  ![](media/image17.png){width="5.676388888888889in"
  height="3.4993055555555554in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981263 .anchor}**Exhibit 10-18.** User Defined
Summary Compliance Report

[Entry Fields:]{.underline}

*Summary Type* The user must specify type of summary to determine
compliance.

> Summary Type will be a required field. This field will map to
> Permitted Value attribute TEXT_VALUE, excluding summary types AVGT,
> MAXT, 95PT, IFT, EPRD, SERD, DSRD, SDRD, MRDL, CLO2, and CLO3.
>
> The user may enter a valid MDBP Summary Type or use the **Go To**
> button to display the MDBP Summary Selection List. As the user
> enters/changes a value and tabs off the Summary Type field, the
> software will check that the supplied Summary Type is valid, then
> populate the retrieved Summary Type's Name value in the protected
> \[Permitted Value Description\] field.
>
> If the user enters AVGT, MAXT, 95PT, IFT, EPRD, SERD, DSRD, SDRD,
> MRDL, CLO2, CLO3, or a Summary Type that does not exist in the
> database, the software will not supply a message but will directly
> invoke the MDBP Summary Selection List from where the user may select
> a valid MDBP Summary.
>
> (*Developer's Note: Pass into action block Validate Text Permitted
> Value the following value for entity CODE, attribute CODE_NAME:
> **TSAMDBPS1**. Only permitted values for this code value may be used
> in this list excluding AVGT, MAXT, 95PT, IFT, EPRD, SERD, DSRD, SDRD,
> MRDL, CLO2, and CLO3.)*

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the regulating agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
regulating agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

> The Regulating Agency Selection List will display only those
> regulating agencies to which the user is associated.

-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field the software will check both for an exact match and whether
    the current user is associated to the specified Agency. If both
    criteria are met, it will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, the software invokes
> the Regulating Agency Selection List, sorted by ascending Name, from
> where the user may select a regulating agency.
>
> \- If the user specifies a partial string in this field, the software
> will display the closest matching regulating agency at the top of the
> list. (Closest matching means a match with the Regulating Agency Name
> sorted alphabetically that starts with the same text string as
> supplied.)
>
> Regulating Agency will be a required field.

Monitoring Period End Date Range Group Box:

*Between \[Lower*

> *Date\]* The user may specify in this field, which uses a calendar
> function, the lower date of the range within which the Monitoring End
> Date may fall.

*And \[Upper*

*Date\]* The user may specify in this field, which uses a calendar
function, the upper date of the range within which the Monitoring End
Date may fall.

> The prompt for Monitoring Period End Date Range Group Box will be blue
> with an asterisk (R0101:A.10.8.2.b) to indicate that a date range
> (that is, both lower and upper date) must be specified.

[Tab Sequence:]{.underline}

Summary Type, **Go To** button, Regulating Agency, **Go To** button,
Monitoring Period End Date Range \[lower date\], Monitoring Period End
Date Range \[upper date\], **OK** button, **Cancel** button, **Help**
button.

[Buttons:]{.underline}

Summary Type

**Go To** The user may use the **Go To** button to display the MDBP
Summary Type Selection List. As the user selects a summary type, the
software will then populate the retrieved Summary Type's Name value in
the protected \[Permitted Value Description\] field.

> (*Developer's Note: Pass into action block Validate Text Permitted
> Value the following value for entity CODE, attribute CODE_NAME:*
> **TSAMDBPS1**. Only permitted values for this code value may be used
> in this list, excluding AVGT, MAXT, 95PT, IFT, EPRD, SERD, DSRD, SDRD,
> MRDL, CLO2 and CLO3.)

Regulating Agency

**Go To** The user may use the **Go To** button to display the
Regulating Agency Selection List.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If the Summary Type field is left blank, the following error message
    will be invoked: **Summary Type is a required field.**

```{=html}
<!-- -->
```
-   If the Regulating Agency field is left blank, the following error
    message will be invoked: **Regulating Agency is a required field.**

```{=html}
<!-- -->
```
-   If either a \[lower date\] or \[upper date\] in the Monitoring
    Period End Date Range is not valued, the following error message
    will be invoked: **Date range is required.**

```{=html}
<!-- -->
```
-   If both dates are valued but date in \[Lower Date\] is after date in
    \[Upper Date\], the following error message will be invoked: **Date
    range specified is invalid.**

> Once processing has begun, the CDS Status page will appear with its
> title bar reflecting the name of the selected report, in this case,
> the User Defined Summary Compliance Report. The processing gauge will
> show users the overall percentage of User Defined Summary Compliance
> Report processes that have completed; the smaller gauge will show the
> percentage of completion for each individual process, for example,
> "Clear Previous Candidate Violations."

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.8.2.c)

**Help** Will invoke online Help for this page.

### Processing Design Requirements 

For the compliance process discussed below, the user must create a FANL,
set the MDBP Summary's flag to "Y," and indicate the type of MDBP
Summary noted for each process. All processes depend on M&R and Level
Compliance Indicators being set by the user when the MDBP Summary is
entered.

Processing for this function will involve two distinct processes:

-   *Clear Candidate MDBP Violations*.

```{=html}
<!-- -->
```
-   *User-Defined Summary Compliance Check*.

The processes are described below. Appendix E (User Defined Summary
Compliance Process) provides the detailed design logic for these
processes.

### Clear Candidate MDBP Violations

The *Clear Candidate MDBP Violations* process will remove candidate CDS
violations created during previous executions of the User-Defined
Summary Compliance Report for the summary type specified.

### User-Defined Summary Compliance Check

The *User-Defined Summary Compliance Check* will check for both M&R and
level compliance for the summary type specified. The software will
identify FANLs of the user-specified MDBP Summary Type that are in
effect during the monthly monitoring periods whose end date falls within
the specified range and that are associated to WSFs for water systems
associated to the user-specified Regulating Agency. It will then do the
following:

-   If an M&R violation type is specified in the FANL, and there is no
    MDBP summary of the specified type for the monitoring period and
    both the annual operating period for the water system facility and
    water system indicate the water system facility and water system,
    respectively, are open at least one day of the monitoring period, an
    M&R violation of the type specified (in the FANL) will be created.

```{=html}
<!-- -->
```
-   If an M&R violation type is specified in the FANL, and an MDBP
    summary is found, and the M&R Compliance Indicator is set to "No
    Major,"

> -- An M&R violation of the type specified is created with a severity
> level of Major.
>
> -- If there is no severity associated with that type of violation in
> the violation table, a candidate CDS violation is created without the
> severity level.

-   If an M&R violation type is specified in the FANL, and an MDBP
    summary is found, and the M&R Compliance Indicator is set to "No
    Minor,"

> -- An M&R violation of the type specified is created with a severity
> level of Minor.
>
> -- If there is no severity associated with that type of violation in
> the violation table create the violation without the severity level.

If an MDBP summary is found and the Level Compliance Indicator is set to
NO a level violation of the type specified in the FANL is created.

In all cases, the create candidate violations process will be revised in
two ways. First, it will include a check to make sure an existing,
matching, validated, preliminary or rejected violation does not already
exist before creating the candidate violation. Second, if a candidate
violation is created, the way the violation periods are populated will
be changed. Both are described in more detail in other parts of this
document.

## Public Notification Compliance Report

This process will generate potential violations for water systems which
did not comply with their Public Notification schedules. It will
consider PN Activities which are overdue, i.e., those with have the PN
Required Date or the Proof of PN Due Date valued and are prior to the
current date.

### Model Changes

No model changes planned for this release.

### Public Notification Compliance Report Page Flow

The Public Notification Compliance Report page (Exhibit 10-19) will be
used to assess potential violations for water systems which did not
comply with their Public Notification schedules. To initiate this report
the user will select **Compliance Determination/Compliance Decision
Support/Public Notification** from the *SDWIS/STATE Home page.*
(R0101:A.10.9.2.a). On the Public Notification Compliance Report page,
the user may specify which PN activities will be included in the
compliance check by specifying date ranges between which the PN Required
Dates and Proof of PN Required dates should fall. The Regulating Agency
field will be pre-populated with the primacy agency if one has been
designated.

  -----------------------------------------------------------------------
  ![](media/image18.png){width="5.655555555555556in"
  height="3.8534722222222224in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981264 .anchor}**Exhibit 10-19.** Public
Notification Compliance Report

[Entry Fields:]{.underline}

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

```{=html}
<!-- -->
```
-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, it
    will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from which the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name sorted
> alphabetically that starts with the same text string as supplied.)
>
> Regulating Agency will be a required field.

Specify date range Group Box:

*PN Required Date*

*Range \[Lower Date\]* This field will specify the first date of the
range for the PN Required Date Range. A calendar function will allow the
user to more easily enter dates for this field.

*PN Required Date*

*Range \[Upper Date\]* This field will specify the second date of the
range for the PN Required Date Range. A calendar function will allow the
user to more easily enter dates for this field.

Proof of PN Required Date Range Group Box:

*Proof of PN*

*Required Date*

*Range \[Lower Date\]* This field will specify the first date of the
range for the Proof of PN Required Date Range. A calendar function will
allow the user to more easily enter dates for this field.

*Proof of PN*

*Required Date Range*

*\[Upper Date\]* This field will specify the second date of the range
for the Proof of PN Required Date Range. A calendar function will allow
the user to more easily enter dates for this field.

[Tab Sequence:]{.underline}

Regulating Agency, Regulating Agency **Go To** button, PN Required Date
Range \[Lower Date\], PN Required Date Range \[Upper Date\], Proof of PN
Required Date Range \[Lower Date\], Proof of PN Required Date Range
\[Upper Date\], **OK** button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

Regulating Agency

**Go To** The user may press the **Go To** button to display the
Regulating Agency Selection List. Return the cursor to the summary type
field.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If the Regulating Agency field is left blank, the following error
    message will be invoked: **Regulating Agency is a required field.**
    Return cursor to Regulating Agency.

```{=html}
<!-- -->
```
-   If the user has entered no date in either the PN Required Date Range
    nor the Proof of PN Required Date Range group boxes, the following
    error message will be invoked: **To run this report, you must
    specify a date**. Return the cursor to the PN Required Date Range
    \[Lower Date\].

```{=html}
<!-- -->
```
-   If the user has entered dates in both the PN Required Date Range
    group box and the Proof of PN Required Date Range group box, the
    following error message will be invoked: **Specify either PN
    Required or Proof of PN Required Date Range.** Return the cursor to
    the PN Required Date Range \[Lower Date\].

```{=html}
<!-- -->
```
-   If both the PN Required dates are valued but the date in \[Lower
    Date\] is after the date in \[Upper Date\], the following error
    message will be invoked: **Date range specified is invalid.** Return
    the cursor to PN Required \[Lower Date\].

```{=html}
<!-- -->
```
-   If both Proof of PN Required dates are valued but date in \[Lower
    Date\] is after date in \[Upper Date\], the following error message
    will be invoked: **Date range specified is invalid.** Return the
    cursor to the Proof of PN Required \[Lower Date\].

```{=html}
<!-- -->
```
-   Once processing has started, the CDS Status page will appear with
    its title bar reflecting the name of the selected report. The
    processing gauge will show users the overall percentage of the PN
    Compliance Report process that has completed. The smaller gauge will
    show the percentage of completion for each of the three individual
    processes that execute for this report.

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.9.2.b)

**Help** Will invoke online Help for this page.

Once all edits checks have successfully passed, processing will begin.
Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report (in this case,
Public Notification Compliance Report). As described for *CDS Setup*,
the processing gauge will show users the overall percentage of the
Public Notification Compliance Report processes that have completed; the
smaller gauge will show the percentage of completion for each individual
process (e.g., *Clear Previous CDS Candidate Violations, Assess
Candidate CDS PN Violation, Create Candidate Violations* ).

### Processing Design Requirements

Processing for this function will involve three distinct processes:

-   *Clear Previous CDS Candidate Violations of Type PN* (Vio Type of 75
    or 76).

```{=html}
<!-- -->
```
-   *Assess Candidate CDS PN Violation*.

```{=html}
<!-- -->
```
-   *Create Candidate Violations*.

Appendix E (Public Notification Compliance Report Process) provides the
detailed design logic for these processes.

#### Clear Previous PN CDS Candidate Violations

This process is driven by PN Schedules not already associated to a
violation whose PN Due Date or Proof of PN Due Date is valued with a
date prior to the current date. The software will then find the mirror
CDS PN Activity (based on same IS Number) and delete it and its parent
CDS Candidate PN Violation (which will be a violation of type 75 or 76)
and the associated CDS Original Violation record(s).

#### Assess Candidate CDS PN Violation

This process will assess PN activities associated to a water system
associated to the regulating agency in the following steps:

Consider all activities where the chosen date, either PN required or
Proof of PN required, is within the chosen date range.

If the PN performed date is null, create a candidate violation where the
federal violation period begin date is the day after the PN due date and
the state violation period dates are equal to the state violation period
dates of the original violation. The CDS candidate violation state
violation period begin date will be the earliest (min) original
violation state period begin date after the group view (contains all the
retrieved original violations) is looped through, and CDS candidate
violation state violation period end date will be the latest date of the
original violation state period end dates. If all the state violation
period end dates of original violations are null, make the candidate
violation an open end date as well. If there is not an original
violation, set the state violation period dates to the same as the
federal violation period dates.

If the PN performed date is greater than the PN required date, create a
candidate violation where the federal violation period begin date will
be the day after the PN due date, the federal violation period end date
will be the PN performed date, and the state violation period dates are
equal to the state violation period dates of the original violation. The
CDS candidate violation state violation period begin date will be the
earliest (min) original violation state period begin date after the
group view (contains all the retrieved original violations) is looped
through, and CDS candidate violation state violation period end date
will be the latest date of the original violation state period end
dates. If all the state violation period end dates of original
violations are null, make the candidate violation an open end date as
well. If there is not an original violation, set the state violation
period dates to the same as the federal violation period dates.

If the PN performed date is not null and is not greater than the PN
required date and the Proof of PN received date is null, the federal
violation period begin date will be the day after the Proof of PN due
date and the state violation period dates are equal to the state
violation period dates of the original violation. The CDS candidate
violation state violation period begin date will be the earliest (min)
original violation state period begin date after the group view
(contains all the retrieved original violations) is looped through, and
CDS candidate violation state violation period end date will be the
latest date of the original violation state period end dates. If all the
state violation period end dates of original violations are null, make
the candidate violation an open end date as well. If there is not an
original violation, set the state violation period dates to the same as
the federal violation period dates.

If the PN performed date is not null and is not greater than the PN
required date and the Proof of PN received date is greater than the
Proof of PN due date, the federal violation period begin date will be
the day after the Proof of PN due date, the federal violation period end
date will be the Proof of PN due date, and the state violation period
dates will be equal to the state violation period dates of the original
violation. The CDS candidate violation state violation period begin date
will be the earliest (min) original violation state period begin date
after the group view (contains all the retrieved original violations) is
looped through, and CDS candidate violation state violation period end
date will be the latest date of the original violation state period end
dates. If all the state violation period end dates of original
violations are null, make the candidate violation an open end date as
well. If there is not an original violation, set the state violation
period dates to the same as the federal violation period dates.

In add cases, before creating a candidate violation, the process will
first determine whether a matching preliminary, validated or rejected
violation already exists (i.e., in the Violation table). If one does
exist, a candidate violation will not be created. A matching violation
is one that has the same water system, water system facility, analyte,
violation type and state violation period begin date as the one
determined by the check except that, if a violation exists that does not
reference a water system facility and matches on the other criteria, it
will also be considered a match. If a matching violation exists but has
been deleted, this process will create the candidate violation (and
copies of supporting data in the CDS tables) and include the advisory,
"A violation matching this candidate violation exists in the main
violation table but is marked as deleted."

#### Create Candidate Violations

Create Candidate Violations will operate as described in previous
subsections except that the software will be creating Candidate CDS
Violations of type 75 or 76 as well as CDS PN Activities and CDS
Original Violation(s). All PN activities are associated to an
enforcement action of type SIE or EIE. If the SIE or EIE is not
associated to a violation or is associated to a violation that is not a
federal violation, a type 76 candidate violation will be created.

Violations of type 75 will be created when the SIE or EIE associated to
the PN activity is associated with a federal violation. The violation(s)
associated to the SIE or EIE will be referred to as the originating
violation(s). The candidate type 75 violation will be associated to this
originating violation(s). If the SIE or EIE is associated to more than
one violation, all violations associated will be associated to the type
75 violation.

When the candidate violation is migrated as validated or preliminary, if
the violation period end date is valued, an SOX/EOX will be created for
the violation using the violation period end date as the taken date.

Appendix E (Create Candidate Violation Process) provides the detailed
design logic of this process.

### Report (Output) Requirements

At the conclusion of the Public Notification Compliance Report, a report
will be invoked and displayed. (R10101:A.10.9.4.a)

The report at the end of this process will be the Public Notification
Compliance Report. This report, as with other CDS reports, will create a
CDS Report Log record each time it is run, populating the following CDS
Report Log attributes according the user\'s specification and/or as
shown below:

-   TCDSRLOG_IS_NUMBER - increment from table

```{=html}
<!-- -->
```
-   TCDSRLOG_ST_CODE - user\'s current state code

```{=html}
<!-- -->
```
-   REPORT_RUN_USERID - of user executing report

```{=html}
<!-- -->
```
-   REPORT_RUN_Timestamp - timestamp when report was run

```{=html}
<!-- -->
```
-   Report Type - set to PN

```{=html}
<!-- -->
```
-   GOVAG_TINLGENT_IS_NUMBER (GOV_TINLGENT_IS_NO)

```{=html}
<!-- -->
```
-   GOVAG_TINLGENT_ST_CODE (GOV_TINLGENT_ST_CO)

```{=html}
<!-- -->
```
-   GOVAG_NAME

```{=html}
<!-- -->
```
-   Required Date Range Begin Date (PN_RQD_DT_RNG_BGN)

```{=html}
<!-- -->
```
-   Required Date Range End Date (PN_RQD_DT_RNG_END)

```{=html}
<!-- -->
```
-   Proof of PN Required Date Range Begin Date (PPN_RQD_DT_RNG_BGN

```{=html}
<!-- -->
```
-   Proof of PN Required Date Range End Date (PPN_RQD_DT_RNG_END)

## Schedule Activity Compliance Report

This process will generate violations for water systems that did not
comply with their compliance schedule activities. The Compliance
Schedule function has been part of the SDWIS/STATE application for some
time and has been used to track compliance with a number of requirements
including: administrative order requirements (and other formal
enforcement order requirements), LCR Public Education requirements, LCR
Treatment Steps requirements, and Consumer Confidence Report
requirements. Beginning in SDWIS/STATE Web Release 1.0 this function
creates candidate violations when a PWS fails to satisfy an activity
prescribed in a compliance schedule so long as the activity is
associated to a violation type. This function will work very much like
the Public Notification Compliance Report.

### Model Changes

Add table **CDS\_ DEFICIENCY (TCDDEFCY)** **D**escription: Records a
copy of information about a deficiency associated to a compliance
schedule activity as part of Schedule Activity Compliance Check. The
information will be denormalized. (B.10.10.1.a)

*Relationships*

To CDS Compliance Schedule Activity

-   A CDS Deficiency sometimes (75%) records deficiency information for
    one and only one CDS\_ COMPLIANCE_SCHEDULE_ACTIVITY. On delete
    disassociate.

-   A CDS_CANDIDATE_MNTRNG_ASSESSMENT sometimes (5%) involves one or
    more CDS Deficiency. On delete cascade.

*Attributes:*

-   TCDDEFCY_IS_NO

-   TCDDEFCY_ST_CODE

-   PWS_TINWSYS_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSYS_ST_CODE is a virtual foreign key to the Water system
    entity. This attribute can be used by users to link to the water
    system record corresponding to this Deficiency if they need to look
    up any attribute of the water system that is not de-normalized in
    this table. This attribute will be populated with the
    TINWSYS_IS_NUMBER column from the water system associated to the
    Deficiency that was used in the compliance check.

-   PWS_TINWSYS_ST_CD (text, 2, mandatory). Description: This attribute
    in conjunction with the PWS_TINWSYS_IS_NUMBER is a virtual foreign
    key to the Water system entity. This attribute can be used by users
    to link to the water system record corresponding to this Deficiency
    if they need to look up any attribute of the water system that is
    not de-normalized in this table. This attribute will be populated
    with the TINWSYS_ST_CODE column from the water system that is
    associated to the Deficiency that was used in the compliance check.

-   PWS_NUMBER (text, 12, mandatory). Description: This attribute will
    be populated with the NUMBER attribute from the water system that is
    associated to the Deficiency that was used in the compliance check.

-   PWS_NAME (text, 40, mandatory). Description: This attribute will be
    populated with the NAME from the water system that is associated to
    the Deficiency that was used in the compliance check.

-   PWS_FED_PRIMARY_SOURCE_CODE (Text, 3, Optional) Description: The
    water system's federal primary source code from the water system
    that is associated to the Deficiency that was used in the compliance
    check.

-   PWS_FEDERAL_TYPE_CODE (Text, 4, optional) Description: The water
    system's federal type code from the water system that is associated
    to the Deficiency that was used in the compliance check.

-   PWS_POPULATION_COUNT (numeric, 10, optional) Description: The water
    system's population count from the water system that is associated
    to the Deficiency that was used in the compliance check.

-   PWS_ACTIVITY_DATE (date, optional) Description: The water system's
    activity date from the water system that is associated to the
    Deficiency that was used in the compliance check.

-   PWS_ACTIVITY_STATUS_CODE (text, 1, optional) Description: The water
    system's status code from the water system that is associated to the
    Deficiency that was used in the compliance check.

-   WSF_TINWSF_IS_NO (numeric, 7 with no decimals, mandatory).
    Description: This attribute in conjunction with the
    PWS_TINWSF_ST_CODE is a virtual foreign key to the Water system
    facility entity. This attribute can be used by users to link to the
    water system facility record corresponding to this Deficiency if
    they need to look up any attribute of the water system facility that
    is not de-normalized in this table. This attribute will be populated
    with the TINWSF_IS_NUMBER column from the water system facility that
    is associated to the Deficiency that was used in the compliance
    check.

-   WSF_TINWSF_ST_CODE (text, 2, mandatory). Description: This attribute
    in conjunction with the PWS_TINWSF_IS_NUMBER is a virtual foreign
    key to the Water system facility entity. This attribute can be used
    by users to link to the water system facility record corresponding
    to this Deficiency if they need to look up any attribute of the
    water system that is not de-normalized in this table. This attribute
    will be populated with the TINWSF_ST_CODE column from the water
    system facility that is associated to the Deficiency that was used
    in the compliance check.

-   WSF_ST_ASGN_ID (text, 12, mandatory). Description: This attribute
    records the state assigned identifier for the water system facility
    corresponding to this Deficiency. This attribute will be populated
    with the ST_ASGN_IDENT_CD column from the water system facility that
    is associated to the Deficiency that was used in the compliance
    check.

-   WSF_NAME (text, 40, mandatory). Description: This attribute records
    the name for the water system facility corresponding to this
    Deficiency. This attribute will be populated with the NAME column
    from the water system facility that is associated to the Deficiency
    that was used in the compliance check.

-   WSF_TYPE_CODE (text, 2, mandatory). Description: This attribute
    records the type code for the water system facility corresponding to
    this Deficiency. This attribute will be populated with the TYPE_CODE
    column from the water system facility that is associated to the
    Deficiency that was used in the compliance check.

-   WSF_AVAIL_CD (text, 1, optional). Description: This attribute
    records the availability code for the water system facility
    corresponding to this Deficiency. This attribute will be populated
    with the AVAILABILITY_CODE column from the water system facility
    that is associated to the Deficiency that was used in the compliance
    check.

-   WSF_ACTIV_STAT_CD (text, 1, optional) Description: This attribute
    records the activity status for the water system facility
    corresponding to this Deficiency. This attribute will be populated
    with the ACTIVITY_STATUS_CD column from the water system facility
    that is associated to the Deficiency that was used in the compliance
    check.

-   WSF_ACTIVITY_DAT (date, optional) (text, 1, optional) Description:
    This attribute records the activity status date for the water system
    facility corresponding to this Deficiency. This attribute will be
    populated with the ACTIVITY_DATE column from the water system
    facility that is associated to the Deficiency that was used in the
    compliance check.

-   WSF_WATER_TYPE_CODE (text, 2, optional) Description: This attribute
    records the water tyep for the water system facility corresponding
    to this Deficiency. This attribute will be populated with the
    WATER_TYPE_CODE column from the water system facility that is
    associated to the Deficiency that was used in the compliance check.

-   WSF_EXTERN_SYS_NO (text, 18, optional). Description: This attribute
    records the external system number (which is used for reporting to
    EPA) for the water system facility corresponding to this Deficiency.
    This attribute will be populated with the EXTERNAL_SYS_NUM column
    from the water system facility that is associated to the Deficiency
    that was used in the compliance check.

-   DEF_SEVERITY (text, 3, optional). Description: This attribute
    records the severity for the deficiency. This attribute will be
    populated with SEVERITY from the Deficiency that was used in the
    compliance check.

-   DEF_SANITARY_SRVEY_CAT (text, 2, optional). Description: This
    attribute records the sanitary survey category code for the
    deficiency. This attribute will be populated with SANITARY_SRVEY_CAT
    from the Deficiency that was used in the compliance check.

-   DEF_DETER_DATE (date, optional). Description: This attribute records
    the date the deficiency was determined. This attribute will be
    populated with DETERMINATION_DATE from the Deficiency that was used
    in the compliance check.

-   DEF_WATER_SYS_NOTIF_DT (date, optional). Description: This attribute
    records the date the public water system was notified about the
    deficiency. This attribute will be populated with WATER_SYS_NOTIF_DT
    from the Deficiency that was used in the compliance check.

-   DEF_DESCRIP_CODE (text, 4, optional). Description: This attribute
    records the code for the deficiency selected from TEXT_VALUE in the
    Permitted Values table where CODE_NAME equals TINDEFCY1. This
    attribute will be populated with DESCRIPTION_CV from the Deficiency
    that was used in the compliance check.

-   DEF_CODE_NAME (text, 40, optional). Description: This attribute
    records the description of the description from the Permitted Values
    table for the deficiency. This attribute will be populated with
    DESCRIPTION from the Permitted Values table for the Deficiency that
    was used in the compliance check.

-   DEF_DESCRIPTION_TXT (text, 50, optional). Description: This
    attribute records the description for the deficiency. This attribute
    will be populated with DESCRIPTION_TXT from the Deficiency that was
    used in the compliance check.

-   DEF_RESOLVED_DATE (date, optional). Description: This attribute
    records the date the deficiency was resolved. This attribute will be
    populated with RESOLVED_DATE from the Deficiency that was used in
    the compliance check.

-   DEF_COMMENTS (memo, optional). Description: This attribute records
    the comments about the deficiency. This attribute will be populated
    with COMMENTS from the Deficiency that was used in the compliance
    check.

```{=html}
<!-- -->
```
-   Changes for CODE (TINCODE): (B.10.10.1.b)

Add a new row to CODE table with the following values:

> Code Name: SV_PRIMRSN
>
> Code Characteristics: T (text)
>
> Value Length: 4
>
> Decimal Length: 0
>
> Delete Flag: A
>
> Ownership Code: HQ
>
> Referenced Attribute Name: TCDSRLOG. SV_PRIMARY_REASON
>
> Description: This code field controls the permitted values for
> Sanitary Survey Primary Reason in the Report Log table. This field is
> used to record the name of the Primary Reason for the Site Visit
> checked for compliance in preparing the reports.

-   Add Permitted values to TINPVALS (with Code Name = SV_PRIMRSN)
    (B.10.10.1.c)\
    \-- Sequence number set to next sequential number\
    \-- Numeric_value set to 0.\
    \-- Date_value set to 0001/01/01.\
    \-- Ref_indicator set to spaces.\
    \-- Ownership_code set to \"HQ\"\
    \-- D_Userid_code set to \"SS2.0\"\
    \-- D_last_update_timestamp set to \"2007-01-01\"\
    \-- Text Values and Descriptions as below.\
    \
    Text Value Description

  -------------------------------------------------------------------------
  Text Value    
  Description   
  ------------- -----------------------------------------------------------
  **Code**      **Sanitary Survey Primary Reason**

  CAPD          Capacity Development Assessment

  CMPA          Compliance Assistance

  CNST          Construction Inspection

  CPEV          Comprehensive Performance Evaluation (CPE)

  EMRG          Emergency assistance

  ENGR          Engineering determination/advice/plan review

  FENF          Formal Enforcement

  FUFE          Follow-up to Formal Enforcement

  IENF          Informal Enforcement

  INFI          Informal System Inspection

  INVG          Investigation (complaint/violation/etc.)

  LABC          Laboratory Certification

  LABI          Laboratory Inspection

  LOCD          Locational Data Collection

  NEED          Needs Survey

  OM            Operation and Maintenance

  OTHR          Other

  PRMT          Permit (qualification/review/compliance)

  PUBH          Public Hearing

  RCDR          Record Review

  RSCH          Regularly Scheduled

  SHAZ          Sanitary Hazards Investigation.

  SITE          Site Inspection

  SMPL          Sample Collection

  SNSV          Sanitary Survey

  SRCE          Source Water Inspection

  SRF           State Revolving Fund

  SSVF          Sanitary Survey Follow-Up

  TECH          Technical Assistance (Non-Specific)

  TRNG          Training

  TRTP          Water Treatment Plant Site Visit

  VAEX          Variance/Exemption Related

  WHPP          Wellhead Protection Program

  WSHD          Watershed Evaluation

  XCON          Cross Connection Inspection/Investigation
  -------------------------------------------------------------------------

### Schedule Activity Compliance Report Page Flow

To initiate this report, the user will select **Compliance
Determination/Compliance Decision Support/Schedule Activity Compliance
Report** from the *SDWIS/STATE Home Page* (R0101:A.10.10.2.a). The
Schedule Activity Compliance Report page (Exhibit 10-20) will be used to
assess potential violations for water systems that did not comply with
their Compliance Schedule Activities.

  -----------------------------------------------------------------------
  ![](media/image19.png){width="5.874305555555556in"
  height="4.572222222222222in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981265 .anchor}**Exhibit 10-20.** Schedule
Activity Compliance Report

[Entry Fields:]{.underline}

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

-   If the user enters a value in Regulating Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, it
    will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from which the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name sorted
> alphabetically that starts with the same text string as supplied.)
>
> The Regulating Agency field is blue with an asterisk
> (R0101:A.10.10.2.b) to indicate that this field must be specified.

*Schedule Type* This field is optional. If specified, all Compliance
Schedule Activities that will be assessed are for a compliance schedule
with the specified Schedule Type. If not specified, all Compliance
Schedule Activities will be assessed regardless of Schedule Type. The
permitted values available from the dropdown list will be retrieved from
the TINPVALS table where code_name = 'TENSCHD1'.

*Compliance Officer* This field is optional. If specified, all
Compliance Schedule Activities that will be assessed are ones that are
administered by the specified Compliance Officer. If not specified, all
Compliance Schedule Activities will be assessed regardless of the
Compliance Officer assigned. The user may click the **Go To** button to
invoke the Compliance Officer Selection List or may enter a value
directly into Compliance Officer.

*Activity Name* This field is optional. If specified, all Compliance
Schedule Activities that will be assessed are that of the specified
Activity Type Name. If not specified, all Compliance Schedule Activities
that reference a violation type will be assessed regardless of the
Schedule Activity Type.

Activity Due Date Range Group Box:

*Activity Due Date*

*Range \[Lower Date\]* This field will specify the first date of the
range for the Schedule Activity Due Date Range. A calendar function will
allow the user to more easily enter dates for this field.

*Activity Due Date*

*Range \[Upper Date\]* This field will specify the second date of the
range for the Schedule Activity Due Date Range. A calendar function will
allow the user to more easily enter dates for this field.

*Check Compliance with*

*Projected Date* This is an optional field. When checked, the Projected
Date, in addition to the Due Date, will be used to check and assess
compliance.

[Tab Sequence:]{.underline}

Regulating Agency, Regulating Agency **Go To** button, Schedule Type,
Compliance Officer, Compliance Officer **Go To** button, Activity Name,
Activity Name **Go To** button, Activity Due Date Range \[Lower Date\],
Activity Due Date Range \[Upper Date\], Check Compliance with Projected
Date checkbox, **OK** button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

Regulating Agency

**Go To** The user may press the **Go To** button to display the
Regulating Agency Selection List. Return the cursor to the summary type
field.

Compliance Officer

**Go To** The user may press the **Go To** button to display a list of
individuals who available for selection on a selection page, from which
the user can select a desired type by either double clicking on the
desired type or highlighting it and selecting Edit/Select. Only
individuals that are assigned to one or more government agencies (table
TINIGAA) will be displayed and these will be sorted by last name
ascending and then first name ascending. An individual will be listed
only one time even though a given individual may be associated to more
than one government agency. If a Compliance Officer is selected, the
software will return to the Schedule Activity Compliance Report with the
cursor in the Activity Type field.

Activity Name

**Go To** The user may press the **Go To** button to display the
Activity Type Selection List.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If Regulating Agency is left blank, provide the following existing
    exit state error message: **Regulating Agency is a required field.**
    Return cursor to Regulating Agency.

-   If the user has not entered a date in both the Activity Due Date
    Range date fields, invoke exit state error message: **To run this
    report, you must specify a date**. Return the cursor to the Activity
    Due Date Range \[First Date field\].

-   If both the Activity Due Date fields are valued but the date in the
    first \[Between\] is after the date in the second invoke exit state
    error message: **Date range specified is invalid.** Return the
    cursor to the first field for the Activity Due Date Range.

-   If both the Activity Due Date fields are valued but the first is a
    future date, invoke exit state error message: **Date range specified
    is invalid.** Return the cursor to the first field for the Activity
    Due Date Range.

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.10.2.c)

**Help** Pressing this button will invoke online Help for this page.

Once all edit checks have successfully passed, processing will begin.
Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report (in this case,
Schedule Activity Compliance Report). As described for *CDS Setup*, the
processing gauge will show users the overall percentage of the Schedule
Activity Compliance Report processes that have completed; the smaller
gauge will show the percentage of completion for each individual process
(e.g., *Clear Previous Compliance Schedule CDS Candidate Violations,
Assess Candidate CDS Compliance Schedule Violation*).

### Processing Design Requirements

Processing for this function will involve three distinct processes:

-   *Clear Previous Schedule Activity Candidate Violations* -- Removes
    old and possibly no longer valid Candidate Violations when the
    report is rerun due to the presence of changed information in the
    database (e.g., by the time the Compliance Report is rerun, Due
    Dates may have been entered or changed, thus alleviating an original
    Candidate violation). The process deletes Compliance Schedule
    Candidate Violations that were determined by a previous run of the
    Compliance Schedule Compliance Report for the same water systems and
    period of time selected in the current run.

-   *Compliance Schedule Compliance Check* -- This process checks
    compliance with the activities recorded in Compliance Schedules if
    the compliance schedule is for a water system within the selected
    regulating agency and if the activity was due in the period selected
    and has a violation type associated to it by comparing the Achieved
    Date to the Due Date. If the Projected Date checkbox is checked, it
    additionally includes any activities with a projected date in the
    period selected and has a violation type associated. For any
    activity that does have a projected date, the compliance check only
    compares the Projected Date to the Achieved Date (i.e., it overrides
    the Due Date in terms of compliance determination).

-   *Create Candidate Violation* -- For each potential violation
    determined by the compliance check process, this process checks to
    see if an equivalent violation already exists in SDWIS/STATE that is
    validated, potential or rejected (that is in the main violation
    table with a status of V, P or R). If a matching violation already
    exists, this process will not create a candidate violation, thus
    saving the user the effort of re-evaluating a situation that has
    already been assessed. If a violation does not already exist in
    SDWIS/STATE, this process will create a Candidate Violation and
    depending on the type of violation assessed, it will also create
    copies of data used to determine the candidate violation. The
    supporting data will be related to the candidate violation they
    support. Appendix E (Create Candidate Violation Process) provides
    the detailed design logic of this process.

Appendix E (Schedule Activity Compliance Report Process) provides the
detailed design logic for these processes.

### Report (Output) Requirements

At the conclusion of the Schedule Activity Compliance Report, a report
will be invoked and displayed. (R10101:A.10.10.4.a)

The report at the end of this process will be the Schedule Activity
Compliance Report. This report, as with other CDS reports, will create a
CDS Report Log record each time it is run, populating the following CDS
Report Log attributes according the user\'s specification and/or as
shown below:

-   TCDSRLOG_IS_NUMBER -- increment from table.

-   TCDSRLOG_ST_CODE -- user\'s current state code.

-   REPORT_RUN_USERID -- of user executing report.

-   REPORT_RUN_Timestamp -- timestamp when report was run.

-   REPORT_TYPE -- set to SA.

-   GOVAG_TINLGENT_IS_NUMBER -- set to Regulating Agency's IS Number.

-   GOVAG_TINLGENT_ST_CODE -- set to Regulating Agency's State Code.

-   GOVAG_NAME -- set to Regulating Agency Name.

-   SCHEDULE_TYPE -- set to Schedule Type's Permitted Value.

-   COMPLIANCE_OFFICER_NAME -- set to the name of the legal entity
    selected as the compliance officer when the report was initiated.

-   CMPOFR TINLGENT_IS_NUMBER IS Number.

-   CMPOFR TINLGENT_ST_CODE -- set to Compliance Officer's State Code.

-   CS_ACTIVITY_TYPE -- set to the name of the activity type selected
    when the report was initiated.

-   CS_TENACTIV_IS_NUMBER -- set to Activity IS Number.

-   CS_TENACTIV_ST_CODE -- set to Activity State Code.

-   DATA_ENTRY_BEGIN_DATE -- set to Activity Due Date (lower date).

-   DATA_ENTRY_END_DATE -- set to Activity Due Date (upper date).

-   COMP_WITH_PROJ_DATE_IND -- set to Check with Projected Date checkbox
    value (Y/N).

## Site Visit Compliance Report

This process will generate violations for water systems that do not
comply with the requirement to conduct sanitary surveys on a regular
basis. The requirement against which this report will check will be
recorded as part of the Site Visit record. In particular, it will be
recorded in the "Next Due Date" combined with an association between the
Site Visit and the violation type to be used when creating a candidate
violation. This report could also be used to check compliance with the
Next Due Date for other types of site visits (e.g., comprehensive
performance evaluations, needs surveys).

### Model Changes

No model changes planned for this release.

### Site Visit Compliance Report Page Flow

To initiate this report, the user will select **Compliance
Determination/Compliance Decision Support/Site Visit Compliance Report**
from the *SDWIS/STATE Home Page* (R0101:A.10.11.2.a). The Site Visit
Compliance Report page (Exhibit 10-21) will be used to assess potential
violations for water systems that did not comply with requirement to
conduct a sanitary survey or other site visit by the date indicated in
the next due date of a previous site visit.

  -----------------------------------------------------------------------
  ![](media/image20.png){width="5.811805555555556in"
  height="5.186805555555556in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981266 .anchor}**Exhibit 10-21.** Site Visit
Compliance Report

[Entry Fields:]{.underline}

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

-   If the user enters a value in Regulating Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, it
    will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from which the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name sorted
> alphabetically that starts with the same text string as supplied.)
>
> The Regulating Agency field is blue with an asterisk (R0101:A.11.2.b)
> to indicate that this field must be specified.

*Primary Reason* This field is optional. If specified, Site Visits with
a Primary Reason matching the one selected will be considered in the
compliance check. If not specified, Site Visits of all types will be
assessed. The selection from the dropdown list will be those available
in the TINPVALS table with Code name="SV_PRIMRSN. The code and
description will be displayed. (B.10.11.2.a)

Next Due Date Range Group Box:

*Next Due Date*

*Range \[Lower Date\]* This field will specify the first date of the
range for the Next Due Date for Site Visits that will be checked for
compliance. A calendar function will allow the user to more easily enter
dates for this field.

*Next Due Date*

*Range \[Upper Date\]* This field will specify the second date of the
range for the Next Due Date for Site Visits that will be checked for
compliance. A calendar function will allow the user to more easily enter
dates for this field.

*Check Compliance with*

*[E]{.underline}ight Basic Elements of*

*a Sanitary Survey* This is an optional field. When checked, in addition
to determining if a site visit was performed at all, the compliance
report will determine whether each of the eight elements basic to
sanitary surveys was evaluated in any Site Visits that were performed on
or before the Next Due Date.

*Check Compliance with*

*Security Category* This is an optional field. When checked, in addition
to determining if a site visit was performed at all, the compliance
report will determine whether the Security area was evaluated in any
Site Visits that were performed on or before the Next Due Date.

*Check Compliance with*

*Financial Category* This is an optional field. When checked, in
addition to determining if a site visit was performed at all, the
compliance report will determine whether the Financial capabilities of
the water system was evaluated in any Site Visits that were performed on
or before the Next Due Date.

*Check Compliance with*

*Other Category* This is an optional field. When checked, in addition to
determining if a site visit was performed at all, the compliance report
will determine whether the category representing other elements was
evaluated in any Site Visits that were performed on or before the Next
Due Date.

[Tab Sequence:]{.underline}

Regulating Agency, Regulating Agency **Go To** button, Primary Reason,
Next Due Date Range \[Lower Date\], Next Due Date Range \[Upper Date\],
[E]{.underline}ight Basic Elements of a Sanitary Survey checkbox, Check
Compliance with Security Category, Check Compliance with Financial
Category, Check Compliance with Other Category, **OK** button,
**Cancel** button, **Help** button.

[Buttons:]{.underline}

Regulating Agency

**Go To** The user may press the **Go To** button to display the
Regulating Agency Selection List. Return the cursor to the summary type
field.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If Regulating Agency is left blank, provide the following existing
    exit state error message: **Regulating Agency is a required field.**
    Return cursor to Regulating Agency.

-   If the user has not entered a date in both the Next Due Date Range
    date fields, invoke exit state error message: **To run this report,
    you must specify a date range**. Return the cursor to the Next Due
    Date Range \[First Date field\].

-   If both the Next Due Date fields are valued but the date in the
    first \[Between\] is after the date in the second invoke exit state
    error message: **Date range specified is invalid.** Return the
    cursor to the first field for the Next Due Date Range.

-   If both the Next Due Date fields are valued but the first is a
    future date, invoke exit state error message: **Date range specified
    is invalid.** Return the cursor to the first field for the Next Due
    Date Range.

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.11.2.c)

**Help** Pressing this button will invoke online Help for this page.

Once all edit checks have successfully passed, processing will begin.
Once processing has started, the CDS Status dialog box will appear with
its title bar reflecting the name of the selected report (in this case,
Site Visit Compliance Report). As described for *CDS Setup*, the
processing gauge will show users the overall percentage of the Site
Visit Compliance Report processes that have completed; the smaller gauge
will show the percentage of completion for each individual process
(e.g., *Clear Previous Site Visit CDS Candidate Violations, Site Visit
Compliance Check*).

### Processing Design Requirements

Processing for this function will involve three distinct processes:

-   *Clear Previous Site Visit Candidate Violations* -- The process
    deletes Site Visit Candidate Violations that were determined by a
    previous run of the Site Visit Compliance Report for the same water
    systems, period of time selected in the current run, and Primary
    Reason.

-   *Site Visit Compliance Check* -- This process checks compliance with
    the Next Due Date recorded in Site Visits for a water system within
    the selected regulating agency if the Site Visit has a violation
    type associated to it and has the Primary Reason selected by the
    user when initiating launching the report. For each Site Visit that
    satisfies the above criteria (called originating Site Visit in what
    follows), this process looks for Site Visits completed between the
    date of the originating Site Visit and the Next Due Date recorded in
    the originating Site Visit for the same water system and with the
    same Primary Reason (except that either Sanitary Survey -- SNSV or
    Sanitary Survey Follow-up -- SSVF will satisfy an originating
    Sanitary Survey Site Visit). If one is not found, the process passes
    the information for a candidate violation to the next process, using
    the violation type associated to the Site Visit and move on to the
    next originating Site Visit. If one is found (called satisfying Site
    Visit in what follows), and none of the category checkboxes
    selected, the process will move on to the next originating Site
    Visit. If, however, one or more of the category checkboxes were
    selected, the process will check each selected Summary Category for
    the satisfying Site Visit to see if it was evaluated (category is
    set to spaces or to "X-Not Evaluated"). If one or more was not
    evaluated, the process will look for another satisfying Site Visit
    to see if a category not evaluated in the first was evaluated in a
    second Site Visit. If at the end of checking each satisfying Site
    Visit, one or more selected categories were not evaluated, the
    process passes the information for a candidate violation to the next
    process, using the violation type associated to the Site Visit and
    move on to the next originating Site Visit.

-   *Create Candidate Violation* -- For each potential violation
    determined by the compliance check process, this process checks to
    see if an equivalent violation already exists in SDWIS/STATE that is
    validated, potential or rejected (that is in the main violation
    table with a status of V, P or R). If a matching violation already
    exists, this process will not create a candidate violation, thus
    saving the user the effort of re-evaluating a situation that has
    already been assessed. If a violation does not already exist in
    SDWIS/STATE, this process will create a Candidate Violation and
    depending on the type of violation assessed, it will also create
    copies of data used to determine the candidate violation. The
    supporting data will be related to the candidate violation they
    support.

Appendix E (Site Visit Compliance Report Process) provides the detailed
design logic for these processes.

### Report (Output) Requirements

At the conclusion of the Site Visit Compliance Report, a report will be
invoked and displayed. (R10101:A.10.11.4.a)

The report at the end of this process will be the Site Visit Compliance
Report. This report, as with other CDS reports, will create a CDS Report
Log record each time it is run, populating the following CDS Report Log
attributes according the user\'s specification and/or as shown below:

-   TCDSRLOG_IS_NUMBER -- increment from table

-   TCDSRLOG_ST_CODE -- user\'s current state code

-   REPORT_RUN_USERID -- of user executing report

-   REPORT_RUN_Timestamp -- timestamp when report was run

-   REPORT_TYPE -- set to SV

-   GOVAG_TINLGENT_IS_NUMBER -- set to Regulating Agency's IS Number

-   GOVAG_TINLGENT_ST_CODE -- set to Regulating Agency's State Code

-   GOVAG_NAME -- set to Regulating Agency Name

-   SV_PRIMARY_REASON -- set to the primary reason code selected by the
    user when initiating the report.

-   NEXT_DUE_DATE_RANGE_BEGIN_DATE -- set to the lower date selected by
    the user when initiating the report.

-   NEXT_DUE_DATE_RANGE_END_DATE -- set to the upper date selected by
    the user when initiating the report.

-   SS_REQ_CATERGORY_SELECTED_IND -- set to the value indicated by the
    checkbox for the equivalent field on the selection page (Y if
    checked, N if not checked).

-   SECURITY_CATERGORY_SELECTED_IND -- set to the value indicated by the
    checkbox for the equivalent field on the selection page (Y if
    checked, N if not checked).

-   FINANCIAL_CAPABILITIES_CATERGORY_SELECTED_IND -- set to the value
    indicated by the checkbox for the equivalent field on the selection
    page (Y if checked, N if not checked).

-   OTHER_CATERGORY_SELECTED_IND -- set to the value indicated by the
    checkbox for the equivalent field on the selection page (Y if
    checked, N if not checked).

## Sample Collection Interval Support Report

To initiate this report, the user will select **Compliance
Determination/Compliance Decision Support/Sample Collection Interval
Support Report** from the *SDWIS/STATE Home Page*. This will invoke the
Sample Collection Interval Reports Selection page (Exhibit 10-22).

This page has four inputs:

-   Regulating Agency or Water System

-   Monitoring Requirement

-   Tolerance (in days)

```{=html}
<!-- -->
```
-   Sample Collection Date Range

To initiate the Sample Collection Interval Support Report, the user
selects the regulating agency appropriate for the user, the monitoring
requirement desired, the tolerance and the sample collection date range
of interest. The selected regulating agency will limit the check to
those public water systems that are regulated by the government agency
selected. So, for instance, if a user selected a county as the
regulating agency, only sample schedules for those systems associated to
that county government agency will be assessed. (R3012:A.10.12.2.a)

+-----------------------------------------------------------------------+
|   ------------------------------------------------------------------  |
|   ![](media/image21.png){width="5.996527777777778in"                  |
|   height="5.302083333333333in"}                                       |
|                                                                       |
|   ------------------------------------------------------------------  |
+-----------------------------------------------------------------------+

**Exhibit 10-22.** Sample Collection Interval Support Report

[Entry Fields:]{.underline}

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

-   The default sort for Regulating Agency Selection List will be Name,
    in ascending alphabetical order.

-   If the user enters a value in Regulating Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, it
    will retrieve the specified regulating agency.

> \- If the value entered is not an exact match, invoke the Regulating
> Agency Selection List, sorted by ascending Name, from which the user
> may select a regulating agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching regulating agency at the top of the list. (Closest
> matching means a match with the Regulating Agency Name sorted
> alphabetically that starts with the same text string as supplied.)
>
> The Regulating Agency field is blue with an asterisk to indicate that
> this field must be specified.

*Analyte Code* The user may click the **Go To** button to invoke the
Analyte Selection List or may enter a value directly into Analyte Code.
The default sort for Analyte Selection List will be Analyte Code, in
ascending alphabetical order. If the user enters a value in Analyte
Code, upon tabbing off the field, the software will accept the specified
analyte if it is an exact match. If the value entered is not an exact
match, invoke the Analyte Selection List sorted by ascending Analyte
Code, from which the user may select an analyte. If the user specifies a
partial string in this field, display the closest matching analyte code
at the top of the list. (Closest matching means a match with the Analyte
Code, sorted alphabetically, that starts with the same text string as
supplied.) If no match is possible, display the entire list of analytes.
If Analyte Code is valued, Analyte Group will be set to spaces.

*Analyte Group*

*Code* The user may click the **Go To** button to invoke the Analyte
Group Selection List or may enter a value directly into the Analyte
Group Code field. The default sort for Analyte Group Selection List will
be Analyte Group Code in ascending alphabetical order. If the user
enters a value in Analyte Group Code, upon tabbing off the field, accept
the specified analyte if it is an exact match. If the value entered is
not an exact match, invoke the Analyte Group Selection List, sorted by
ascending Analyte Group Code, from which the user may select an analyte
group. If the user specifies a partial string in this field, display the
closest matching analyte code at the top of the list. (Closest matching
means a match with the Analyte Group Code, sorted alphabetically, that
starts with the same text string as supplied.) If no match is possible,
display the entire list of analytes groups. If Analyte Group Code is
valued, Analyte Code will be set to spaces. Analytes 3013 or 3014 may be
included in a selected Analyte Group.

*Tolerance* Number of days the interval between sample collection dates
may differ from frequency length.

*Sample Collection*

*Date Range* The "Sample Collection Date Range" will be used to look for
samples collected within the following date fields for all processes
executed for this report:

*\[Begin Date\]* The software will not process anything if only Begin
Date is valued. A calendar function will allow the user to more easily
enter dates for this field.

*\[End Date\]* Do not process anything if only End Date is valued. A
calendar function will allow the user to more easily enter dates for
this field. Date must be greater than or equal to Begin Date.

[Tab Sequence:]{.underline}

Regulating Agency, Regulating Agency **Go To** button, Analyte Code,
Analyte Code **Go To** button, Analyte Group, Analyte Group GoTo Button,
Monitoring Requirement **Go To** button, Tolerance, Sample Collection
Begin Date, Sample Collection Begin Date Calendar button, Sample
Collection End Date, Sample Collection End Date Calendar button, **OK**
button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

Regulating Agency

**Go To** The user may press the **Go To** button to display the
Regulating Agency Selection List. Return the cursor to the summary type
field.

Analyte **Go To** See the specification given above for the Analyte Code
entry field.

Analyte Group

**Go To** See the specification given above for the Analyte Group Code
entry field.

\[Monitoring Requirement\]

Samples Required

**Go To** Clicking on the **Go To** button will display the Monitoring
Requirement Maintenance List to allow the selection of a monitoring
requirement. The Monitoring Requirement Maintenance List will list all
the monitoring requirements for the Analyte or Analyte Group previously
selected. If the user selected 3100, it will only display those
monitoring requirements that do not have an association to the TCR Rule
(Rule.abbreviation_text not equal to 'TCR'.)

> This button is disabled until the user has selected either an Analyte
> or Analyte Group. User must be able to clear a previously selected
> Analyte or Analyte Group in the event that the user\'s initial
> selection was not what the user really wanted (either by adding a
> Clear button or by insuring that when a user swipes and deletes the
> value in the Analyte Code or Analyte Group Code fields that this
> button is again disabled awaiting the selections of a different
> Analyte or Analyte Group.

**OK** Error messages that may be displayed upon clicking the **OK**
button:

-   If Regulating Agency is left blank, provide the following existing
    exit state error message: **Regulating Agency is a required field.**
    Return cursor to Regulating Agency.

-   If neither an Analyte Code nor an Analyte Group is selected, the
    following error message will be invoked: **Either an Analyte or
    Analyte Group must be entered.**

-   If Tolerance is not valued, the following error message will be
    invoked: **Either an Tolerance must be entered.**

```{=html}
<!-- -->
```
-   If either a Begin Date or an End Date in the Sample Collection Date
    Date Range Group Box is left blank, the following error message will
    be invoked: **Date range is required.**

```{=html}
<!-- -->
```
-   If both dates are valued but the End Date is earlier than Begin Date
    in the Sample Collection Date Range Group Box, the following error
    message will be invoked: **Date range specified is invalid.**

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.

**Help** Pressing this button will invoke online Help for this page.

Once all edit checks have successfully passed, processing will begin.
Once processing has started, the CDS Status page will appear with its
title bar reflecting the name of the selected report (in this case,
Sample Collection Interval Report). As described for *CDS Setup*, the
processing gauge will show users the overall percentage of the Sample
Collection Interval Report processes that have completed; the smaller
gauge will show the percentage of completion for each individual process
(e.g., *Sample Collection Interval Calculation*).

### Processing Design Requirements

Processing for this function will involve three distinct processes:
(R3012:A.10.12.3.a)

Prior to running these processes, a CDS Report Log record will be
created, populating the following CDS Report Log attributes as follows:

-   TCDSRLOG_IS_NUMBER -- increment from table

-   TCDSRLOG_ST_CODE -- primacy agency\'s state code

-   REPORT_RUN_USERID -- User ID of the user executing report

-   REPORT_RUN_Timestamp -- timestamp when report was run

-   REPORT_TYPE -- set to SCI

-   If a Regulating Agency was selected:

```{=html}
<!-- -->
```
-   GOVAG_TINLGENT_IS_NUMBER -- set to Regulating Agency's IS Number

-   GOVAG_TINLGENT_ST_CODE -- set to Regulating Agency's State Code

-   GOVAG_NAME -- set to Regulating Agency Name

```{=html}
<!-- -->
```
-   If a Water System was selected:

```{=html}
<!-- -->
```
-   PWS_TINWSYS_IS_NUMBER

-   PWS_TINWSYS_ST_CODE

-   PWS_NUMBER

-   PWS_NAME

```{=html}
<!-- -->
```
-   TOLERANCE -- set to the tolerance selected by the user when
    initiating the report.

-   SAM_COLL_BEG_DAT -- set to the lower date selected by the user when
    initiating the report.

-   SAM_COL_END_DAT -- set to the upper date selected by the user when
    initiating the report.

*Clear Previous* *CDS_CANDIDATE_MNTRNG_ASSESSMENT* *records*

The process deletes CDS_CANDIDATE_MNTRNG_ASSESSMENT records that were
determined by a previous run of the Sample Collection Interval Support
Report for the same water systems, monitoring requirement and period of
time selected in the current run.

*Sample Collection Interval Check*

This check will identify Sample Schedules for which samples have been
collected outside of the tolerance specified by the user on the Sample
Collection Interval Support Report page. For each Sample Schedule
identified, the report will include all the samples for that schedule in
the report, not just those collected outside the tolerance.

The earliest sample date that falls inside the Sample Collection Date
Range specified is used as the \"seed\" date. Subsequent expected sample
dates are then calculated using the seed date plus periodicity indicated
in the schedule\'s monitoring requirement. Once the set of expected
sample dates is calculated by the process, the next step is to order the
samples associated to the schedule (via the SSMPA) and that fall within
specified Sample Collection Date Range in ascending order and then
compare them to the expected samples dates. If an actual sample date is
earlier than or later than the expected sample date plus the number of
tolerance days plus or minus, the schedule and all of the sample dates
that fit inside the selected range are reported.

So, for example, assume the check is processing a schedule calling for
quarterly monitoring and the Sample Collection Date Range specified was
1/1/2005 to 12/31/2005 and that the following Samples are associated to
the Sample Schedule: 7/10/2004, 10/20/2004, 2/2/2005, 5/7/2005,
8/10/2005, 11/5/2005, and 2/12/2006. Since the user specified a date
range of 1/1/2005 to 123/31/2005, the process will identify the 202/2005
as the seed date and will calculate the expected samples dates to be as
follows:

5/2/2005, 8/2/2005 and 11/2/2005 (note that a precise number of days is
not used, instead, the expected sample dates are determined by adding
the months indicated by the periodicity, e.g., 3 for QT).

Also assume that the user entered 5 as the tolerance. With this
information, the process will check to see if the second sample was
collected between 4/27 and 5/7/2005. Since the second sample was
collected on 5/7/2005, it was collected within the user\'s specified
tolerance and so this second sample would not trigger the creation of
CDS records. The process then would proceed to check the third sample.
The process would expect it to be collected between 7/28 and 8/7/2005.
Because the sample was collected on 8/10, it would trigger the creation
of CDS records and the process would end checking that schedule and
begin passing information to the next sub-process to create the
necessary CDS records to support a report. The process would pass
information from the following records to the next process:

-   The Sample Schedule being reviewed (if the sample that triggered the
    creation of CDS records is associated to a hidden schedule, the
    process will pass information for the Sample_Schedule_Group)

-   Each of the Results associated to the Sample Schedule that fall
    within the Date Range selected. Note that if the user selected a
    Monitoring Requirement that references an Analyte Group, there could
    be many result records passed).

*Create Candidate_Mntrng_Assessment and supporting records*

For the first sample/result that triggers CDS records, this process will
create:

-   A CDS_CANDIDATE_MNTRNG_ASSESSMENT that references the CDS_REPORT_LOG
    and contains a copy of information about the PWS, Water System
    Facility, and Sample Schedule assessed

-   A CDS_SCHEDULE record that references the
    CDS_CANDIDATE_MNTRNG_ASSESSMENT record and contains more information
    about the Sample Schedule.

-   A CDS_SAMPLE_RESULT for each result associated to the Sample
    Schedule and that falls within Date Range specified. Note that there
    could be many of these records especially if the schedule being
    assessed is for an Analyte Group with many regulated analytes in the
    group. More typically, the schedule will reference an analyte group
    with TTHM and HAA5 and so two records per sample will be created.

> Each CDS_SAMPLE_RESULT will reference the previously created
> CDS_CANDIDATE_MNTRNG_ASSESSMENT record. In addition to making a copy
> of values pertinent to the Sample and Result, the process will also
> value the Collection_Interval based on the difference between the
> Sample\'s Collection End Date and the Expected Sample Date (determined
> as described earlier).

Appendix E (Sample Collection Interval Report Process) provides the
detailed design logic for these processes.

###  Report (Output) Requirements

At the conclusion of the Sample Collection Interval Report, a report
will be invoked and displayed. The report will be grouped by Water
System, Water System Facility, and Sample Schedule. For each Sample
Schedule, it will provide information about each sample collected and
the Collection Interval calculated for it. CDS_Sample_Result records
will be grouped so that only a single record will show for each sample
that has results with the same Collection_Interval values.

The report at the end of this process will be the Sample Collection
Interval Support Report.

## Increased Monitoring Assessment Report

By regulation, a public water system owner must monitor more frequently
for a contaminant that is detected above a specified "trigger" level.
The Increased Monitoring Assessment Report will identify when a sampling
point (typically an entry point to the distribution system) or water
system at large (i.e., for lead and copper tap water sampling) is a
candidate for increased monitoring for a given contaminant because it
has been detected above its trigger level (either the initial monitoring
trigger level or the trigger level associated with a determination that
the site is reliably and consistently below the MCL), and the system is
not currently monitoring for the contaminant on a quarterly basis
(semi-annual for lead and copper).

Users will be able to maintain the initial monitoring trigger levels in
the *System Administration* component and the reliable and consistently
below the MCL trigger levels in the Facility Analyte Level function. The
initial monitoring trigger levels will be pre-populate in the
SDWIS/STATE database with those trigger levels specified in EPA's NPDWR.

### Model Changes

Model change for CDS_CANDIDATE_MNTRNG_ASSESSMENT (TCDSMNAS):

-   Resize wsf_external_system_number from 5 to 18. (R0072:A.10.13.1.a)

### Increased Monitoring Assessment Report Page Flow

The Possible Increased Monitoring Assessment Report page (Exhibit 10-23)
will be used to initiate the assessment of candidate schedules for
increased monitoring. To initiate this report, the user will select
**Compliance/Compliance Decision Support/ Increased Monitoring
Assessment Report** from the *SDWIS/STATE Home Page*
(R0101:A.10.13.2.a). The user will be able to specify the report
parameters based on Analyte/Analyte Group and Regulating Agency. The
same page will support the Decreased Monitoring Assessment Report; only
the title bar on the page will dynamically change.

  -----------------------------------------------------------------------
  ![](media/image22.png){width="5.999305555555556in"
  height="2.7569444444444446in"}

  -----------------------------------------------------------------------

**Exhibit 10-23.** Increased Monitoring Assessment Report

Entry Fields:

*Analyte Code* The user may click the **Go To** button to invoke the
Analyte Selection List or may enter a value directly into Analyte Code.
The default sort for Analyte Selection List will be Analyte Code, in
ascending alphabetical order. *The Analyte Selection List must not
contain Analyte 3100.* If the user enters a value in Analyte Code, on
tabbing off the field, accept the specified analyte if it is an exact
match. If the value entered is not an exact match, invoke the Analyte
Selection List, sorted by ascending Analyte Code, from which the user
may select an analyte. If the user specifies a partial string in this
field, display the closest matching analyte code at the top of the list.
(Closest matching means a match with the Analyte Code, sorted
alphabetically, that starts with the same text string as supplied.) If
no match is possible, display the entire list of analytes. If Analyte
Code is valued, Analyte Group will be set to spaces. If the user enters
analyte code 3100, 3013, or 3014, the following error message will be
invoked: **TCR Analyte 3100 may not be selected for this report.**

*Analyte Group*

*Code* The user may click the **Go To** button to invoke the Analyte
Group Selection List or may enter a value directly into Analyte Group
Code. The default sort for Analyte Group Selection List will be Analyte
Group Code, in ascending alphabetical order. If the user enters a value
in Analyte Group Code, on tabbing off the field accept the specified
analyte if it is an exact match. If the value entered is not an exact
match, invoke the Analyte Group Selection List, sorted by ascending
Analyte Group Code, from which the user may select an analyte group. If
the user specifies a partial string in this field, display the closest
matching analyte code at the top of the list. (Closest matching means a
match with the Analyte Group Code, sorted alphabetically, that starts
with the same text string as supplied.) If no match is possible, display
the entire list of analytes groups. If Analyte Group Code is valued,
Analyte Code will be set to spaces.

*Regulating Agency* This field will map to table TINLGENT column NAME.
Its value will default to the government agency that is marked as the
primacy agency as long as the user is linked to that agency. If the user
is not linked to the primacy agency, its value will default to the first
government agency name, in alphabetic order, to which the user is linked
(also the first one available on the Regulating Agency Selection List).
The user may click the **Go To** button to invoke the Regulating Agency
Selection List or may enter a value directly into Regulating Agency.

-   The Regulating Agency Selection List will display only those
    government agencies to which the user is associated.

```{=html}
<!-- -->
```
-   The default sort for Regulating Agency Selection List is Name, in
    ascending alphabetical order.

```{=html}
<!-- -->
```
-   If the user enters a value in Regulating Agency, on tabbing off the
    field check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met,
    retrieve the specified regulating agency.

-   If the value entered is not an exact match, invoke the Regulating
    Agency Selection List, sorted by ascending Name, from which the user
    may select a regulating agency.

-   If the user specifies a partial string in this field, display the
    closest matching regulating agency at the top of the list. (Closest
    matching means a match with the Regulating Agency Name sorted
    alphabetically, that starts with the same text string as supplied.)

-   If the user specifies a valid government agency but is not
    associated to that agency (through
    *INDIVIDUAL_GOVERNMENT_AGENCY_ASGT*), the following error message
    will be invoked: **The selected Government/Issuing Agency is not
    valid for the current user.** (The SDWIS/STATE Administrator would
    need to link the user to that agency).

> Regulating Agency will be a required field.

A date range is not necessary because this assessment report will look
only for sample schedules that are currently candidates for increased
monitoring; that is to say, Sample Schedules that are still in effect.

[Tab Sequence:]{.underline}

Analyte Code, **Go To** button, Analyte Group Code, **Go To** button,
Regulating Agency, **Go To** button, **OK** button, **Cancel** button,
**Help** button.

[Buttons:]{.underline}

**OK** Error messages that may be displayed upon clicking the **OK**
button:

> If neither an Analyte Code nor an Analyte Group is selected, the
> following error message will be invoked: **Either an Analyte or
> Analyte Group must be entered.**
>
> If the Analyte Group specified contains analyte 3100 as a member, the
> error message will be **Analyte Group containing TCR analyte 3100 may
> not be selected for this report.**
>
> If the Regulating Agency field is left blank, the following error
> message will be invoked: **Regulating Agency is a required field.**
>
> Once processing has begun, the **Cancel** button should be disabled
> (so it is clear that canceling is not an option after processing has
> begun). At this point, the CDS Status page will appear with its title
> bar reflecting the name of the selected report; in this case,
> Increased Monitoring Assessment Report. As described for *CDS Setup,*
> the processing gauge will show users the overall percentage of the
> report processes that have completed; the smaller gauge shows the
> percentage of completion for each individual process, for example,
> "Clear Previous Candidates for Increased Monitoring" or "Identify
> Candidates for Increased Monitoring."

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.13.2.b)

**Help** Will invoke online Help for this page.

###  Process Design Requirements

Processing for this function will involve three distinct processes:

-   Clear Previous Candidates for Increased Monitoring.

```{=html}
<!-- -->
```
-   Identify Candidates for Increased Monitoring.

```{=html}
<!-- -->
```
-   Create Candidate Monitoring Assessment Record and Related Data.

Most of the work necessary to identify candidates for increased
monitoring is done in CDS Setup. Each schedule that is a candidate for
increased monitoring is marked as such. This process only finds those
schedules that are marked as candidates for increased monitoring and
reports them to the user. The increased monitoring specifications in the
new Radionuclide Rule will be incorporated in the CDS Setup process and
have been documented in that section of the design.

See Appendix E (Identify Candidate Sample Schedules for Increased
Monitoring) for detailed design information on these processes.

## Decreased Monitoring Assessment Report

Periodically, compliance officers need to identify those Samples
Schedules that need to be decreased in accordance with the monitoring
requirements of the regulations they enforce. The Decreased Monitoring
Assessment Report is intended to assist compliance officers in this
effort by presenting pertinent information, such as recent results and
the history of Sample Schedules for those Sampling Points that may need
a change in their Sample Schedule(s) (in their sub-sample schedules).
Three different sections of this report will be provided as follows:
Possible Reduced Quarterly Schedules, Possible Reduced Semi-Annual
Schedules, and Possible Reduced Annual Schedules.

#### Model Changes

This report will use the same entities as described for the Increased
Monitoring Assessment Report.

#### Decreased Monitoring Assessment Report Page Flow

As previously mentioned, the same page used for the Increased Monitoring
Assessment Report will be used for the Possible Decreased Monitoring
Assessment Report. Selecting **Compliance Determination/Compliance
Decision Support/Decreased Monitoring Assessment Report** from the
*SDWIS/STATE Home Page* (R0101:A.10.14.2.a) will display the Possible
Decreased Monitoring Assessment Report page (Exhibit 10-24). All edit
checks previously discussed for this page will apply here.

  -----------------------------------------------------------------------
  ![](media/image23.png){width="5.99375in" height="2.7159722222222222in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981268 .anchor}**Exhibit 10-24.** Decreased
Monitoring Assessment Report

#### Processing Design Requirements

Processing for this function will involve three distinct processes:

-   Clear Previous Candidates for Decreased Monitoring.

```{=html}
<!-- -->
```
-   Identify Candidates for Decreased Monitoring.

```{=html}
<!-- -->
```
-   Create Candidate Monitoring Assessment Record and Related Data.

Most of the work necessary to identify candidates for decreased
monitoring is done in CDS Setup. Each schedule that is a candidate for
decreased monitoring is marked as such. This process only finds those
schedules that are marked as candidates for decreased monitoring and
reports them to the user. The decreased monitoring specifications in the
new Radionuclide Rule will be incorporated in the CDS Setup process and
have been documented in that section of the design.

See Appendix E (Identify Candidate Sample Schedules for Decreased
Monitoring) for detailed design information on these processes.

## Migrate CDS Candidate Violations to SDWIS/STATE Violation Table

Once CDS Candidate Violations have been generated, either as a result of
running *CDS Setup* or one of the CDS reports, the *Migrate CDS
Candidate Violations* function will give users a way to easily migrate
selected *CDS* candidate violations into the SDWIS/STATE Violation
entity (table TMNVIOL) or to delete them from the CDS Candidate
Violation table.

Users will continue to access this function by selecting (from the
*SDWIS/STATE Home Page*) menu item **Compliance
Determination/Post-Compliance Decision Support Processing/Migrate CDS
Candidate Violations** (R0101:A.10.15.a). Selecting this menu item will
invoke the CDS Candidate Violation Search dialog box (Exhibit 10-25).

  -----------------------------------------------------------------------
  ![](media/image24.png){width="5.996527777777778in"
  height="6.016666666666667in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981269 .anchor}**Exhibit 10-25.** CDS Candidate
Violation Search

### CDS Candidate Violation Search

Clicking the **Search** button will display the CDS Candidate Violation
Migration List with those CDS candidate violations that meet the
specified search criteria.

[Entry Fields:]{.underline}

*Issuing Agency* This prompt for this field will be blue with an
asterisk (R0101:A.10.15.1.a) to indicate the field is mandatory. This
field will map to the TINLGENT column NAME. Its value will default to
the government agency that is marked as the primacy agency as long as
the user is linked to that agency. If the user is not linked to the
primacy agency, its value will default to the first government agency
name, in alphabetic order, to which the user is linked (also the first
one available on the Issuing Agency Selection List). The user may click
the **Go To** button which will invoke the Issuing Agency Selection
List, or may enter a value directly into the Issuing Agency field. This
will limit the search to those candidate violations for water systems
for which the user has jurisdiction.

-   The Issuing Agency Selection List will display only those government
    agencies to which the user is associated.

-   The default sort for Issuing Agency Selection List will be Name, in
    ascending alphabetical order.

-   If the user enters a value in Issuing Agency, on tabbing off the
    field, check both for an exact match and whether the current user is
    associated to the specified Agency. If both criteria are met, the
    software will retrieve the specified Issuing Agency.

> \- If the value entered is not an exact match, invoke the Issuing
> Agency Selection List, sorted by ascending Name, from where the user
> may select an Issuing agency.
>
> \- If the user specifies a partial string in this field, display the
> closest matching Issuing agency at the top of the list. (Closest
> matching means a match with the Issuing Agency Name, sorted
> alphabetically, that starts with the same text string as supplied.)
>
> \- If the user specifies a valid government agency but is not
> associated to that agency (through Individual Government Agency Asgt),
> present existing exit state error message to indicate that the
> selected government/issuing agency is not valid for the current user.
> (The SDWIS Administrator will need to link the user to that agency).

*Violation Type* This field will map to table TMNVTYPE column TYPE_CODE.
The user may click the **Go To** button to invoke the Violation Type
Maintenance List in single-select mode or may enter a value directly
into Violation Type. Violation Type will be an optional field.
(R0128:A.10.15.1.b)

When an invalid value is provided the Violation Type Maintenance List
will be presented in single-select mode where a selection can be made
and returned to this page. The Violation Type Name will not be displayed
since the same Violation Type may have several entries in TMNVTYPE and
the search will use the actual Type Code (not IS-Number and ST-Code).
The intention here is to enable users to search for candidate violations
with a specific violation type regardless of severity.
(R0128:A.10.15.1.c )

*Analyte Code* This field will map to table TSAANLYT column CODE. As the
user enters data and tabs off this field, the Analyte Group Code field
on the dialog box will be protected. Conversely, clearing this field of
data (backspacing or deleting from the field), will enable/unprotect the
Analyte Group Code field on this dialog box. This field may be entered,
selected from a list by clicking the **Go To** button, or left blank. If
the user specifies a complete Analyte Code, attempt an exact match. If
an exact match is found, accept the entered value. If an exact match is
not found or the user specifies a partial string in this field, display
the closest matching analyte code at the top of the Analyte Selection
List. (Closest matching means a match with the Analyte Code, sorted
alphabetically, that starts with the same text string as supplied.) If
no match is possible, the entire list of analytes will be displayed. The
default sort for this search will be Analyte Code, in ascending
alphabetical order. Clicking the **Go To** button will display the
Analyte Selection List with the same default sort.

*Analyte Group*

*Code* This field will map to table TSAANGRP column CODE. As the user
enters data and tabs off this field, the Analyte Code field on this
dialog box will be protected. Conversely, clearing this field of data
(that is, backspacing or deleting from the field) enables/unprotects the
Analyte Code field on this dialog box. This field may be entered,
selected from a list by clicking the **Go To** button, or left blank. If
the user specifies a complete Analyte Group Code, attempt an exact
match. If an exact match is found, retrieve the analyte group and
populate the protected Analyte Group Name field. If an exact match is
not found or the user specifies a partial string in this field, display
the closest matching analyte group code at the top of the Analyte Group
Selection List. (Closest matching means a match with the Analyte Group
Code, sorted alphabetically, that starts with the same text string as
supplied.) If no match is possible, display the entire list of analyte
groups. The default sort for this search will be Analyte Group Code in
ascending alphabetical order. Clicking the **Go To** button will display
the Analyte Group Selection List with the same default sort.

Monitoring Period Group Box:

*\[Monitoring Period\]*

*Begin Date* If Begin Date and either End Date or Duration are valued,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. If no monitoring period exists that
matches the criteria, invoke the Monitoring Period Selection List. Since
this data is not mandatory, if the user enters data that does not result
in the retrieval of a valid monitoring period, the search will be
performed based on the other criteria selected. For example, if the user
enters Begin Date, End Date, and Duration, but there is no monitoring
period that matches those criteria, the software will not inform the
user that no valid monitoring period exists matching the specified
criteria. When the user presses **Search**, the software will perform
the search as if the user had not entered any Monitoring Period
criteria.

*\[Monitoring Period\]*

*End Date* If End Date and either Begin Date or Duration are valued,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. If no monitoring period exists that
matches the criteria, invoke the Monitoring Period Selection List.

*\[Monitoring Period\]*

*Duration* If Duration and either Begin Date or End Date are valued,
retrieve the monitoring period that matches the criteria and display it
in all monitoring period fields. If no monitoring period exists that
matches the criteria, invoke the Monitoring Period Selection List.

*Mon. Period*

*\[Name\]* If the user enters a valid monitoring period name, retrieve
the monitoring period that matches the criteria and display it in all
monitoring period fields. If the user enters a partial string or an
invalid monitoring period name, invoke the Monitoring Period Selection
List. The **Go To** button will invoke the Monitoring Period Selection
List.

> *Fed Reportable*
>
> *Cont. Code* The user may or may not enter this field. If this field
> is valued, then the search will be limited to candidate violations
> that match the entered fed reportable cont. code. (R0128:A.10.15.1.d )

[Tab Sequence:]{.underline}

Issuing Agency, Issuing Agency **Go To** button, Violation Type,
Violation Type **Go To** button, Analyte Code, Analyte Code **Go To**
button, Analyte Group Code, Analyte Group Code **Go To** button,
\[Monitoring Period\] Begin Date, \[Monitoring Period\] Duration,
\[Monitoring Period\] End Date, Mon. Period \[Name\], Monitoring Period
**Go To** button, Fed Reportable Cont. Code, **Search** button,
**Clear** button, **Cancel** button, **Help** button.
(R0128:A.10.15.1.e)

[Buttons:]{.underline}

\[Violation Type\]

**Go To** Will present the Violation Type Maintenance List in
single-select mode. (R0128:A.10.15.1.f )

**Search** The software will perform a search based on the criteria
entered on the CDS Candidate Violation Search dialog box and retrieve
records based on the following logic:

-   Select each Candidate Violation associated to each Water System,
    where Water System's Regulating Agency is assigned to selected
    Issuing Agency (note that this part of the search is against the
    TINWSYS using TINRAA and TINLGENT).

-   If a Violation Type has been valued, additionally limit selection of
    Candidate Violations to those associated to Violation Type =
    (user-specified Violation Type). The actual Violation Type Code will
    be used in the search. (R0128:A.10.15.1.g )

-   If an Analyte Code or Analyte Group Code has been valued,
    additionally limit selection of Candidate Violations to those
    associated to Analyte Code/Analyte Group Code = (user-specified
    Analyte Code/Analyte Group Code). (Note: If the user specifies an
    Analyte Group, **Search** will look both for candidate violations
    with the same Analyte Group Code as well as for candidate violations
    with an Analyte Code that is part of the Analyte Group selected. In
    order to do the latter, **Search** needs to use TSAANGRP, TSAAGA,
    and TSAANLYT.).

-   If a Fed Reportable Cont. Code has been valued, additionally limit
    selection of Candidate Violations to those with Fed Reportable Cont.
    Code = (user-specified Fed Reportable Cont. Code).
    (R0128:A.10.15.1.h)

> If a valid Monitoring Period has been valued, additionally limit
> selection of Candidate Violations to those associated to Monitoring
> Period = (user specified monitoring period). If no valid Monitoring
> Period can be retrieved, the search will be performed as if no
> Monitoring Period has been selected.
>
> Populate the CDS Candidate Violation Maintenance List.

**Clear** Pressing this button will clear out data from all fields on
the search dialog box and enable all fields that may have been
protected.

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page.
(R0101:A.10.15.1.i)

**Help** Pressing this button will invoke online Help for this page.

*CDS* candidate violations retrieved from the search will appear on the
CDS Candidate Violation Migration List (Exhibit 10-26).

### CDS Candidate Violation Migration List

The CDS Candidate Violation Migration List*,* which displays up to 1,000
records at a time, will list *CDS* candidate violations that meet the
search criteria specified on the CDS Candidate Violation Search dialog
box. This list will provide the user with the capability to select one,
several, or all violations to migrate into SDWIS/STATE as violations, or
to delete them. *CDS* candidate violations will be migrated into
SDWIS/STATE as rejected, preliminary, or validated violations.

  -----------------------------------------------------------------------
  ![](media/image25.png){width="5.992361111111111in"
  height="4.225694444444445in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981270 .anchor}**Exhibit 10-26.** CDS Candidate
Violation Migration List

[Columns:]{.underline}

Water System No.\[label double stacked\], WSF State Asgn ID \[label
double stacked\], Violation Type (Type and Severity Level concatenated),
Analyte Code/, Analyte Group Code, State Violation Period Begin Date,
State Violation Period End Date, Federal Violation Period Begin Date
\[label triple stacked\], Federal Violation Period End Date \[label
triple stacked\], Violation Type Name, Result
(VIOLATION_ANALYSIS_RESULT_TEXT concatenated to
VIOLATION_ANALYSIS_RESULT_UOM), No. of Results
(VIOL_MCL_VALUE_NUM_OF_RESULTS or VIOL_MNR_VALUE_NUM_OF_RESULTS,
whichever has the value), FED Reportable Cont. Code (a new attribute in
CDS Candidate Violation\], Analyte Name/Analyte Group Name concatenated
\[label double stacked\], Water System Name, Facility Name, Vio. Year,
Facility Type. (R0128:A.10.15.2.a)

[Menu:]{.underline}

**File**

*Exit* Selecting **File/Exi**t will return the user to the previous
page. (R0101:A.10.15.2.b)

**Edit**

*Delete* Selecting **Edit/Delete** will delete all violations that are
selected from the CDS Candidate Violation table. No delete confirmation
dialog box will be necessary. Deleting a CDS Candidate Violation will
delete it from the list and from the CDS table as well as all related
child records (e.g., CDS Results, CDS Sample Schedule, CDS FANL). There
will be no further record of that candidate violation.

*Deselect* Selecting **Edit/Deselect** will remove all highlighting from
any Candidate Violation previously selected in the list.

*Migrate* *as*

*Preliminary* Selecting **Edit/Migrate as Preliminary** will invoke the
Issuing Agency Selection dialog box from where the user can change or
revalidate the Issuing Agency and fiscal year, then migrate all
violations that are selected into the SDWIS/STATE Violation table
(TMNVIOL) as Preliminary violations. See Note below.

*Migrate as*

> *Rejected* Selecting **Edit/Migrate as Rejected** will invoke the
> Issuing Agency Selection dialog box from where user can indicate the
> reason for rejecting the candidate violation(s) and change or
> revalidate the Issuing Agency and fiscal year. The software will then
> migrate all violations that are selected into the SDWIS/STATE
> Violation table (TMNVIOL) as rejected violations. See Note below.
>
> Enabling users to create "rejected" violations will make this
> capability consistent with the ability to do this using Violation
> Maintenance.

*Migrate* *as*

> *Validated* Selecting **Edit/Migrate as Validated** will invoke the
> Issuing Agency Selection dialog box from where user can change or
> revalidate the Issuing Agency and fiscal year, then migrate all
> violations that are selected into the SDWIS/STATE Violation table
> (TMNVIOL) as validated violations. See Note below.

*Select All* Selecting **Edit/Select All** will select all violations on
the list. If the list is filtered, only applied to the filtered list.
(R0128:A.10.15.2.c)

**View**

> *Detail* **View/Detail** will be enabled only if one record is
> selected. Selecting **View/Detail** will invoke the Candidate
> Violation Detail page.

*Filter by* Selecting **View/Filter** by will allow the user to filter
by Violation Type, Analyte Code, Analyte Group Code, Water System No.

*Refresh* Selecting View/Refresh will retrieve the unfiltered list
(original search criteria).

> *Search* Selecting **View/Search** will invoke CDS Candidate Violation
> Search. Prior search criteria used for issuing agency will be present.
>
> *Sort* Selecting View/Sort will invoke the standard Sort page.

[Protected Fields:]{.underline}

*Number of rows*

*resulting*

*from search* Will show the total number of rows that met the search
criteria.

*Number of rows*

*displayed* Will show the total number of rows that are displayed in the
list, which may be less than the number of rows that met the search
criteria.

*Number of rows*

*selected* Will show the number of rows that are selected in the list.

**Note:** When any of the three Migration menu items under Edit are
selected, the following check is done.

> If the violation type category code (for one or more of the selected
> candidate violations) is one of the following:

-   Equal to "MON" and the State Period End Date is valued and is
    future.

-   Equal to "PN" or "RPT" and the Federal Violation Period Begin Date
    is valued and is future.

-   Equal to "MCL" or "TT" and the State Period Begin Date is valued and
    is future.

> Exhibit 10-27 depicts the Future Violation Dates Advisory.
>
> ![](media/image26.png){width="5.995833333333334in"
> height="2.2930555555555556in"}

[]{#__RefHeading___Toc168981271 .anchor}**Exhibit 10-27.** Future
Violation Dates Advisory

[Buttons]{.underline}

> **Proceed** Will proceed to the presentation of the Issuing Agency
> Selection dialog box.
>
> **Cancel** Will return to the CDS Candidate Violation Maintenance
> List.

###  Issuing Agency Selection

When a user selects any of the three functions to migrate a candidate
violation, the Issuing Agency Selection page (Exhibit 10-28) will be
invoked. This page allows the user to specify both the Issuing Agency,
the Year to use when creating violations. If a violation is created, the
software deletes the candidate violation and all of the candidate
supporting data for the violation. If a violation is not created because
it is identified as a duplicate, the software will not delete the
candidate violation and supporting candidate data. When the software
returns to the CDS Candidate Violation List all the candidate violations
for which violations were created will be removed and all those for
which violations were not created will be highlighted (after advising
the user about the number of violations that were migrated).

  -----------------------------------------------------------------------
  ![](media/image27.png){width="6.020833333333333in"
  height="4.541666666666667in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981272 .anchor}**Exhibit 10-28.** Issuing
Agency Selection

*The selected violation(s)*

*will be migrated with a*

*status of* This protected field will be valued with either Validated,
Preliminary, or Rejected depending on which was selected by the user.

[Entry Fields:]{.underline}

*Issuing Agency* This prompt for this field will be blue with an
asterisk (R0101:A.10.15.3.a) to indicate it is mandatory. The software
will carry forward the Issuing Agency that the user picked on the CDS
Candidate Violation Search dialog box. If the user changes the value, it
will apply the same specifications to this field as exist for the
Issuing Agency field on the CDS Candidate Violation Search dialog box.

*Violations to be*

*Migrated*

*with Year* This field will be optional. This will be a four-digit
number field variable, which will allow the user to enter the four-digit
year that will be assigned to any violations that the migration process
creates. The default value for \[Year\] will be the *current* federal
fiscal year. (The federal fiscal year runs from October 1 through
September 30; October 1, 2001 is in fiscal year 2002). Therefore, the
software will set the default in this way: If the month of current date
is 1--9, the last two digits will default to current YY; if the month of
current date is 10--12, the last two digits will default to current YY +
1.

*Status Reason* A user-defined code of why a violation has the status
indicated. The permitted values available from the dropdown list will be
retrieved from the PERMITTED_VALUE table with code_name of VIOSTATRSN.
This field will be optional. (R0123:A.10.15.3.b)

*Comments* The user may optionally enter any desired comments (e.g., if
rejecting the violation, the reason for rejecting it). This field can
contain up to 2000 characters.

[Buttons:]{.underline}

\[Issuing Agency\]

**Go To** This button will operate in the same way as the Issuing Agency
**Go To** button operates on the CDS Candidate Violation Search dialog
box.

**Cancel** When the user presses this button, the software will
disregard data entered and return the user to the CDS Candidate
Violation List with all previously selected records still highlighted.

**OK** Pressing this button will trigger the following actions:

-   Check that the Issuing Agency has been selected/retrieved. If this
    field is blank, stop processing and present the existing exit state
    error message: **Issuing Agency must not be blank.**

> The software will then set FISCAL_YEAR of each migrated violation to
> the user-specified year.

-   Start the migration of the selected *CDS* candidate violations to
    the SDWIS/STATE Violation table as rejected, preliminary, or
    validated, depending on which option the user selects. In-depth
    processing details can be found in Appendix C.

```{=html}
<!-- -->
```
-   Invoke the CDS Candidate Violation Migration Complete dialog box
    (Exhibit 10-29) when all selected candidate violations have been
    processed. The dialog box will have the following text as a literal:
    **Migration of CDS Candidate Violations is complete. CDS Candidate
    Violations selected: \[ \] Violations created: \[ \].** This dialog
    box will have an **OK** button (which will close the dialog box and
    return to CDS Candidate Violation List with the recently migrated
    candidates removed), **View Post Candidate Violation Migration
    Report** button, which will be enabled only if the migration created
    a report and the **Violation Maintenance List** button, which will
    be enabled only if the migration created violation(s). When the
    **View Post Candidate Violation Migration Report** button is
    enabled, pressing it will invoke the Post Candidate Violation
    Migration Report described in Appendix C. When the **Violation
    Maintenance List** button is enabled, pressing it will invoke the
    Violation Maintenance List in maintenance mode listing all the
    violations that the user just migrated (violations with the same
    initial userid as the user and initial timestamp greater than or
    equal to the initial timestamp of the first violation migrated by
    this user for this migration run). The Violation Maintenance List is
    described in detail in Section 7. (R0128:A.10.15.3.c)

![](media/image28.png){width="5.995833333333334in"
height="3.5208333333333335in"}

[]{#__RefHeading___Toc168981273 .anchor}**Exhibit 10-29.** CDS Candidate
Violation Migration Complete

### Report (Output) Requirements

The expectation is that the number of *CDS* candidate violations
selected for migration and the number of violations created in the
TMNVIOL table will normally be the same. The only reason that these two
numbers may not match is when the software encounters a duplicate
violation. The Post Candidate Violation Migration Report will provide
two types of information:

-   Candidate Violations that could not be migrated because a duplicate
    existed. It will show individual *CDS* candidate violations and
    violation groups that could not be migrated. Where a violation group
    cannot be created (because one or more of its hidden *CDS* candidate
    violations already exists), the report will also list all of the
    hidden violations (in the violation group that cannot be created)
    with enough information to identify the existing
    violations/violation groups using the online Violation Search page.

-   The creation of an SOX/EOX enforcement action that was linked to the
    migrated violation.

## CDS Reports Log (R0101:A.10.15.4.a)

The CDS Report Log will enable users to review when they last ran a
particular type of CDS report, view and print the results of previous
CDS reports, and delete CDS Report Log records (and the CDS reporting
entity records associated with them) when it is no longer useful to keep
them. It will keep a record of each time the user runs a CDS report or
CDS Setup will determine an exceedence (chlorite or chlorine dioxide) or
candidate MCL violation. The CDS Report Log will store the options users
selected when the report was executed and let users look at the errors
associated with any given report.

### Model Changes

The model changes required for the *CDS Reports Log* component are
documented in the sections describing the new reports LT2 Source M&R
Compliance Report, LT2 BIN Determination Support Report, GWR Source M&R
Compliance Report, Stage 2 M&R Compliance Report, Stage 2 IDSE Support
Report, and Sample Collection Interval Report.

-   Changes for CODE (TINPARAM):

Add a new row to PARAMETERS table with the following values:
(B.10.16.1.a)

> CFG_ID: REPORT
>
> Code Name: EXPORT_TYP
>
> Parameter Value: PDF
>
> Last Update timestamp: 1/1/2007
>
> Initial timestamp: 1/1/2007
>
> Initial User: SS2.0
>
> UserID Code: SS2.0
>
> Description: A code field that controls the permitted values for
> exporting reports.

        Changes for CONFIGURATION (TINCFG):

Add a new row to CONFIGURATION table with the following values:
(B.10.16.1.c)

CFG_ID: REPORT

CFG_DESC: Report

-   Changes for CODE (TINCODE):

Add a new row to CODE table with the following values: (B.10.16.1.b)

> Code Name: REPORTNAME
>
> Code Characteristics: T (text)
>
> Value Length: 3
>
> Decimal Length: 0
>
> Delete Flag: A
>
> Ownership Code: HQ
>
> Referenced Attribute Name: TCDSRLOG.REPORT_TYPE
>
> Description: A code field that controls the permitted values for field
> REPORT_TYPE in the Report Log table. This field in Report Log is used
> to record the name of the Report for use in preparing the reports.
>
> Add Permitted values to TINPVALS (with Code Name = REPORTNAME)
> (B.10.16.1.d)\
> \-- Sequence number set to next sequential number\
> \-- Numeric_value set to 0.\
> \-- Date_value set to 0001/01/01.\
> \-- Ref_indicator set to spaces.\
> \-- Ownership_code set to \"HQ\"\
> \-- D_Userid_code set to \"SS2.0\"\
> \-- D_last_update_timestamp set to \"2007-01-01\"\
> \-- Text Values and Descriptions as below.\
> \
> Text Value Description

  ---------------------------------------------------------------------------
  Text Value    
  Description   
  ------------- -------------------------------------------------------------
  **Code**      **Report Name**

  TCR           TCR Compliance

  AR            Results Alert

  MCL           MCL Compliance Check

  CD            Chlorite/Chlorine Dioxide Exceedence Check

  MR            Chem/Rad/State M&R Compliance

  LC            Lead & Copper Rule Compliance

  SW            Water Treatment Compliance

  DD            Water Treatment Compliance

  UD            User Defined Summary Compliance

  PN            Public Notification Compliance

  SA            Schedule Activity Compliance

  IM            Increased Monitoring Assessment

  DM            Decreased Monitoring Assessment

  SCI           Sample Collection Interval Support

  SV            Site Visit Compliance
  ---------------------------------------------------------------------------

### CDS Report Log Maintenance Page Flow

From the *SDWIS/STATE Home Page,* the user will select **Compliance
Determination/Post Compliance Decision Support Processing**/**Review
Reports Log and Reports** (R0101:A.10.16.2.a) to invoke the CDS Report
Log Maintenance List page (Exhibit 10-31) where all reports will be
listed. Selecting View/Search will present the CDS Report Log Search
page (Exhibit 10-30). Clicking the **Search** button will display the
CDS Report Log Maintenance List with those CDS Report Log records
meeting the specified search criteria.

  -----------------------------------------------------------------------
  ![](media/image29.png){width="5.447222222222222in"
  height="3.145138888888889in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981274 .anchor}**Exhibit 10-30.** CDS Report
Log Search

[Entry Fields:]{.underline}

*Report Type* The Report Type field selection from a dropdown list will
be those available in the TINPVALS table with Code name="REPORTNAME".
The code and description will be displayed. (B.10.16.2.a)

The user may select one of these values or may leave this field blank.
If this field is blank, the search result will include all types of
report logs.

*Analyte Code* The user may click the **Go To** button to invoke the
Analyte Selection List or may enter a value directly into Analyte Code.
The default sort for Analyte Selection List will be Analyte Code, in
ascending alphabetical order. If the user enters a value in Analyte
Code, on tabbing off the field, accept the specified analyte if it is an
exact match. If the value entered is not an exact match, invoke the
Analyte Selection List, sorted by ascending Analyte Code, from which the
user may select an analyte. If the user specifies a partial string in
this field, display the closest matching analyte code at the top of the
list. (Closest matching means a match with the Analyte Code, sorted
alphabetically, that starts with the same text string as supplied.) If
no match is possible, display the entire list of analytes. If Analyte
Code is valued, Analyte Group will be set to spaces.

*Analyte Group*

*Code* The user may click the **Go To** button to invoke the Analyte
Group Selection List or may enter a value directly into Analyte Group
Code. The default sort for Analyte Group Selection List will be Analyte
Group Code, in ascending alphabetical order. If the user enters a value
in Analyte Group Code, on tabbing off the field, accept the specified
analyte if it is an exact match. If the value entered is not an exact
match, invoke the Analyte Group Selection List page, sorted by ascending
Analyte Group Code, from which the user may select an analyte group. If
the user specifies a partial string in this field, display the closest
matching analyte code at the top of the list. (Closest matching means a
match with the Analyte Group Code, sorted alphabetically, that starts
with the same text string as supplied.) If no match is possible, display
the entire list of analytes groups. If Analyte Group Code is valued,
Analyte Code will be set to spaces.

*User ID* The user may or may not enter this field. If this field is
valued, then the search will be limited to report logs generated by the
selected user; if it is blank, all the report logs will be returned in
this list. In order to see report logs created by *CDS Setup* for MCL
Compliance Reports, the user must either enter "CDSSETUP" or leave the
field blank.

[Tab Sequence:]{.underline}

Report Type, Analyte Code, Analyte Code **Go To** button, Analyte Group
Code, Analyte Group Code **Go To** button, User ID, **Search** button,
**Clear** button, **Cancel** button, **Help** button.

[Buttons:]{.underline}

**Search** Performs search based on the criteria entered on the CDS
Report Log Search dialog box and retrieves records based on the
following logic:

> Select all CDS Report Log records where Report type = \[user specified
> Report Type\] and (Analyte Code = \[user specified Analyte Code\] or
> Analyte Group Code = \[user specified Analyte Group Code\]) and Report
> Run User ID = \[user specified User ID\].
>
> If none of the fields is entered, the search will return all the
> records in the database.

**Clear** Pressing this button will clear data from all fields on the
search dialog box. It will also enable all fields that may have been
protected.

**Cancel** When the user presses this button, the software will
disregard any data entered and return the user to the previous page
(R0101:A.10.16.2.c).

**Help** Pressing this button will invoke online Help for this page.

CDS Report Log records retrieved from the search will appear on the CDS
Report Log Maintenance List (Exhibit 10-31).

  -----------------------------------------------------------------------
  ![](media/image30.png){width="5.991666666666666in"
  height="4.0152777777777775in"}

  -----------------------------------------------------------------------

[]{#__RefHeading___Toc168981275 .anchor}**Exhibit 10-31.** CDS Report
Log Maintenance List

[Columns:]{.underline}

Report Type (40 characters wide), User ID, Analyte, Analyte Group, Run
Date (in format mm/dd/yyyy hh:mm:ss), Regulating Agency, Water System
Group, Water System No., Date Range/Period (values Data Entry Date
Range, Collection Date Range, Monitoring Period, or Next Due Date
Range), Begin Date, End Date, Confirmation Schedule Indicator (Values Y
or N), Primary Reason, a listing of each of the possible Threshold Types
selected (TCR MCL, TCR RT MR, TCR RPT MR, TCR Source, TCR Trig Sch. ACL,
MCL, MCLG, URTH, TRL, MRDL, WSF Max, WSF Min, RMDL, PQL, PLR and MRDLG,
Turbidity, Fed EP RDC, State EP RDC, Fed DS RDC, State DS RDC, LT2 MR,
LT2 BIN, GWR MR, Precursors, Br MR, CL2MRDL, CLO2/CLO3 EP, CLO2/CLO3 DS,
Stage 1TTHM/HAA MR, Stage 2 TTHM/HAA MR, IDSE Rpt,AL, LCR Tap, WQP,
SOWT. (R0082:A.10.16.2.d) (B.10.16.2.b)

The CDS Report Log Maintenance List*,* which will display up to 1,000
records at a time, will list CDS Report Logs that meet the search
criteria specified on the CDS Report Log Search dialog box. This list
will provide the user with the capability to select a report Log and
either view the details of the Report Log, or view the report
corresponding to this Report Log, or view the errors generated by the
execution corresponding to this Report Log, or Clear one or more of the
Report logs and their underlying reporting data.

[Default Sort Order:]{.underline}

The list will be sorted Report Type ascending and Run Date descending.
(R0082:A.10.16.2.e)

[Menu:]{.underline}

**File**

*Exit* Selecting **File/Exit** will return the user to the previous
page. (R0101:A.10.16.2.e)

**Edit**

*Detail* Selecting **Edit/Detail** will invoke the CDS Report Log Detail
dialog box corresponding to the report type (Exhibits 10-32 through
10-46) and display the detailed information of the Report Log selected.
(If more than one row is selected, the first row selected will be
displayed in the Detail dialog box.)

*Report* Selecting **Edit/Report** will invoke the report
(R10101:A.10.16.2.f) that corresponds to the report type selected from
the Report Log. (If more than one row is selected, the report
corresponding to the first row selected will be displayed.) It is
important to note that if a given Report Type has been run more than
once with the same or overlapping criteria, the older report may not
return exactly the same records it did when it was first run because
only the most recent candidate records will be retained in the CDS
candidate entities. For example, on April 10, a user ran the Chem/Rad
M&R compliance for all water systems in the state for nitrate for the
first quarter of the year. On April 11, five more nitrate results for
the first quarter were entered into SDWIS/STATE. Then, on April 15, the
user re-ran this same report. When the user views the log records, there
will be two for the first quarter of the year. If the user selects the
older log record for viewing, five M&R violations, originally reported
during that run, would no longer be included in the report.

*Errors* Selecting **Edit/Errors** will invoke the CDS Execution Errors
Report if it exists, which corresponds to the selected Report Log. (If
more than one row is selected, the report corresponding to the first row
selected will be displayed.)

*Delete* Selecting **Edit/Delete** will delete all selected Report Logs
as well as any CDS report entity records (e.g.,
CDS_CANDIDATE_EXCEEDENCES, CDS_CANDIDATE_VIOLATIONS,
CDS_CANDIDATE_MNTRG_ASSESSMENTS) that may be associated with the
record(s) in the Report Log. No delete confirmation dialog box will be
necessary.

> *Select All* Selecting **Edit/Select All** will select all Report Logs
> on the list.

**View**

> *Search* Selecting **View/Search** will invoke CDS Report Log Search.

*Filter by* Selecting **View/Filter by** will allow the user to filter
by Report Type, User ID, Analyte, Analyte Group, Regulating Agency.

*Sort* Selecting **View/Sort** will invoke the standard Sort dialog box.

*Refresh* Selecting **View/Sort** will retrieve the unfiltered list
(original search criteria).

[Protected Fields:]{.underline}

*Number of rows*

*resulting*

*from search* Will show the total number of rows that met the search
criteria.

*Number of rows*

*displayed* Will show the total number of rows that are displayed in the
list, which may be less than the number of rows that met the search
criteria.

*Number of rows*

*selected* Will show the number of rows that are selected in the list.

The various CDS Report Log Detail pages (Exhibits 10-32 through 10-46)
will display the options that the user selected prior to executing the
report. The run date (Report executed on) will be in format mm/dd/yyyy
hh:mm:ss. (R0082:A.10.16.2.g)

![](media/image31.png){width="5.995138888888889in"
height="5.4534722222222225in"}

[]{#__RefHeading___Toc168981276 .anchor}**Exhibit 10-32.** Report Log
Details -- Results Alert Report

.

![](media/image32.png){width="5.916666666666667in" height="1.875in"}

[]{#__RefHeading___Toc168981277 .anchor}**Exhibit 10-33.** Report Log
Details -- MCL Compliance Check by CDS Setup

![](media/image33.png){width="5.916666666666667in" height="1.875in"}

[]{#__RefHeading___Toc168981278 .anchor}**Exhibit 10-34.** Report Log
Details -- Chlorite/Chlorine Dioxide Exceedence Check

![](media/image34.png){width="5.995138888888889in"
height="3.6527777777777777in"}

[]{#__RefHeading___Toc168981279 .anchor}**Exhibit 10-35.** Report Log
Details -- Chem/Rad/State M&R Compliance Report

![](media/image35.png){width="5.9944444444444445in"
height="4.389583333333333in"}

[]{#__RefHeading___Toc168981280 .anchor}**Exhibit 10-36.** Report Log
Details -- Public Notification Compliance Report

![](media/image36.png){width="5.9944444444444445in"
height="5.031944444444444in"}

[]{#__RefHeading___Toc168981281 .anchor}**Exhibit 10-37.** Report Log
Details -- Schedule Activity Compliance Report

![](media/image37.png){width="5.995138888888889in"
height="3.0409722222222224in"}

[]{#__RefHeading___Toc168981282 .anchor}**Exhibit 10-38.** Report Log
Details --Increased Monitoring Assessment Report

![](media/image38.png){width="5.995833333333334in"
height="5.186805555555556in"}

[]{#__RefHeading___Toc168981283 .anchor}**Exhibit 10-39.** Report Log
Details-Sample Collection Interval Report (R0101)

![](media/image39.png){width="5.995138888888889in"
height="3.0409722222222224in"}

[]{#__RefHeading___Toc168981284 .anchor}**Exhibit 10-40.** Report Log
Details --Decreased Monitoring Assessment Report

![](media/image40.png){width="5.9944444444444445in"
height="4.886805555555555in"}

[]{#__RefHeading___Toc168981285 .anchor}**Exhibit 10-41.** Report Log
Details -- Lead & Copper Rule Compliance Report

![](media/image41.png){width="5.995138888888889in"
height="5.928472222222222in"}

[]{#__RefHeading___Toc168981286 .anchor}**Exhibit 10-42.** Report Log
Details --Water Treatment Compliance Report

![](media/image42.png){width="5.96875in" height="3.8958333333333335in"}

[]{#__RefHeading___Toc168981287 .anchor}**Exhibit 10-44.** Report Log
Details -- User Defined Summary Compliance Report

![](media/image43.png){width="5.995138888888889in"
height="5.023611111111111in"}

[]{#__RefHeading___Toc168981288 .anchor}**Exhibit 10-45.** Report Log
Details -- TCR Compliance Report including Water System Group

![](media/image44.png){width="5.9944444444444445in"
height="5.238888888888889in"}

[]{#__RefHeading___Toc168981289 .anchor}**Exhibit 10-46.** Report Log
Details -- Site Visit Compliance Report

All of the fields in the various detail pages will be mapped from the
CDS_REPORT_LOG entity.

[Buttons:]{.underline}

**OK** Pressing this button will close this protected page and return
the user to the CDS Report Log Maintenance List.

**Help** Pressing this button will invoke online Help for this page.

## View CDS Setup Advisory Report

The CDS Setup Advisory Reports may be viewed by selecting From the
*SDWIS/STATE Home Page,* the user will select **Compliance
Determination/Post Compliance Decision Support Processing**/**View CDS**
**Advisory** **Reports** (R0101:A.10.17.a) or **CDS Setup/Edit/View CDS
Advisory Reports** to invoke the CDS Setup Advisory Report Log List page
(Exhibit 10-47) where all reports will be listed.

  -----------------------------------------------------------------------
  ![](media/image45.png){width="5.995138888888889in"
  height="6.647222222222222in"}

  -----------------------------------------------------------------------

**Exhibit 10-47.** CDS Setup Advisory Report List

[Default Sort Order:]{.underline}

The list will be sorted CDS_process_id ascending.

[Menu:]{.underline}

**File**

*Exit* Selecting **File/Exit** will return the user to the previous
page.

**View**

*Detail*

*Report* Selecting **View/Detail** **Report** will invoke the CDS Setup
Advisory Detail Report and display the detailed information of the
selected CDS Setup Advisory with each attribute listed.

*Specific*

> *Report* Selecting **View/Specific** **Report** will invoke the CDS
> Setup Advisory Specific Report and display the specific information of
> the selected CDS Setup Advisory with only the attributes relevant to
> the specific advisory message type listed.

[^1]: These are stored in the Analyte Level Rule Assignment entity and
    are maintained by the SDWIS/STATE Administrator.

[^2]: The only analyte explicitly excluded is total coliform (3100).
    This process will evaluate a schedule for fecal coliform or *E.
    coli* if associated to one of the violation types mentioned.
    (B.10.4.1.b)