**CONTENTS**

[9.0 CDS Setup Processes 9-1](#cds-setup-processes)

[9.1 CDS Model Changes 9-1](#cds-model-changes)

[9.2 CDS Setup Process Flow 9-8](#cds-setup-process-flow)

[9.2.1 Update Sample Schedules Due to Inventory Change
9-14](#update-sample-schedules-due-to-inventory-change)

[9.2.2 Associate Monitoring Periods to Sample Schedules
9-19](#associate-monitoring-periods-to-sample-schedules)

[9.2.3 Process MCL, ACL, TRL, RMDL, FANL Max, FANL RCB, and FANL SCR
Additions or Modifications
9-23](#process-mcl-acl-trl-rmdl-fanl-max-fanl-rcb-and-fanl-scr-additions-or-modifications)

[9.2.4 Disassociate Sample Analytical Results from Sample Schedule
Monitoring Period Assignments and [Sampling Point Sub-SSMPAs]{.mark}
9-24](#disassociate-sample-analytical-results-from-sample-schedule-monitoring-period-assignments-and-sampling-point-sub-ssmpas)

[9.2.5 Calculate Total Trihalomethane, Total Haloacetic Acid, Combined
Nitrate + Nitrite, Individual Nitrate, Individual Nitrite, Combined
Radium, and Gross Alpha Excluding Uranium Results
9-25](#calculate-total-trihalomethane-total-haloacetic-acid-combined-nitrate-nitrite-individual-nitrate-individual-nitrite-combined-radium-and-gross-alpha-excluding-uranium-results)

[9.2.6 Associate Sample Analytical Results to Sample Schedule Monitoring
Period Assignments and Sampling Point Sub-SSMPAs
9-27](#associate-sample-analytical-results-to-sample-schedule-monitoring-period-assignments-and-sampling-point-sub-ssmpas)

[9.2.7 Associate CDS Setup-Created Monitoring Periods to Sample
Schedules
9-40](#associate-cds-setup-created-monitoring-periods-to-sample-schedules)

[9.2.8 Aggregate Lead and Copper Data
9-40](#aggregate-lead-and-copper-data)

[9.2.9 Associate Sample Summaries to Sample Schedule Monitoring Period
Assignments
9-42](#associate-sample-summaries-to-sample-schedule-monitoring-period-assignments)

[9.2.10 Calculate Monitoring Period Averages
9-42](#calculate-monitoring-period-averages)

[9.2.11 Calculate MCL Values 9-46](#calculate-mcl-values)

[9.2.12 Reassess Chemical/Radionuclide MCL and Precursor Removal
Candidate Violations
9-54](#reassess-chemicalradionuclide-mcl-and-precursor-removal-candidate-violations)

[9.2.13 Assess Sample Schedule Monitoring
9-55](#assess-sample-schedule-monitoring)

[9.2.14 Identify High Chlorite and Chlorine Dioxide Results
9-64](#identify-high-chlorite-and-chlorine-dioxide-results)

[9.2.15 Create/Update Chlorine/Chloramine Summaries
9-68](#createupdate-chlorinechloramine-summaries)

[9.2.16 Update RAA for Chlorine/Chloramine MRDL Summaries Based on
Changed MRDL Summaries
9-77](#update-raa-for-chlorinechloramine-mrdl-summaries-based-on-changed-mrdl-summaries)

[9.3 CDS Setup Processing Report 9-78](#cds-setup-processing-report)

[9.4 CDS Setup Checkpoint and Restart
9-83](#cds-setup-checkpoint-and-restart)

**EXHIBITS**

[**Exhibit 9-1.** CDS Setup Processing Messages -- Schema Migrated
Records 9-2](#__RefHeading___Toc140485968)

[**Exhibit 9-2.** CDS Setup 9-9](#__RefHeading___Toc140485969)

[**Exhibit 9-3.** SDWIS/STATE CDS Status
9-10](#__RefHeading___Toc140485970)

[**Exhibit 9-4.** CDS History Date 9-11](#__RefHeading___Toc140485971)

[**Exhibit 9-5.** CDS Setup Auto Login
9-13](#__RefHeading___Toc140485972)

[**Exhibit 9-6.** Rule Code Logic 9-17](#__RefHeading___Toc140485973)

[**Exhibit 9-7.** Monitoring Period to Non-TCR Schedule Association
Criteria Matrix 9-21](#__RefHeading___Toc140485974)

[**Exhibit 9-8.** Sample Type Match Criteria
9-30](#__RefHeading___Toc140485975)

[**Exhibit 9-9.** Substitute Result Criteria
9-33](#__RefHeading___Toc140485976)

[**Exhibit 9-10.** Required TOC Removal in Percent
9-45](#__RefHeading___Toc140485977)

[**Exhibit 9-11.** Attributes Populated in CDS Report Log for a
Candidate MCL Violation 9-54](#__RefHeading___Toc140485978)

[**Exhibit 9-12.** Criteria for Non-TCR Sample Schedule Increased
Monitoring 9-58](#__RefHeading___Toc140485979)

[**Exhibit 9-13.** Criteria for Non-TCR Sample Schedule Decreased
Monitoring 9-61](#__RefHeading___Toc140485980)

[**Exhibit 9-14.** Conversion Table 9-67](#__RefHeading___Toc140485981)

[**Exhibit 9-15.** Specification for Populating MDBP Summary (TSAMDBPS)
9-70](#__RefHeading___Toc140485982)

[**Exhibit 9-16.** CDS Setup Processing Report
9-79](#__RefHeading___Toc140485983)

# CDS Setup Processes

Chapter 9 of the Design Document contains detailed descriptions of the
business processes executed when *CDS Setup* is selected from the *SDWIS
Compliance* component. These processes are located in the client
environment and are not deployed to the web. The changes to *CDS Setup*
are triggered primarily by the Radionuclide Rule as well as late
reporting changes to the Stage 1 Disinfection/Disinfectant By-Products
Rule. (The changes triggered by the Radionuclides Rule will also
eventually satisfy changes needed for the Proposed Groundwater Rule.)

For SSWr1, several tables are introduced to store Water System, Water
System Facility, Sampling Point, Schedule, Lab, Sample, Result, and
other relevant data about error or alert conditions that may be
encountered during *CDS Setup* runs. Users may now use the data more
conveniently, e.g., using MS Access, in the new tables, referred to as
the CDS Setup Process Log tables, to easily identify the specific
records that caused the error or alert condition so that these can be
corrected prior to the next *CDS Setup* run. The log tables will replace
the text-based CDS Setup Processing Report that is currently being
created during each run of *CDS Setup* (although a text file listing all
the start and end times of each process will continue to be generated).
To enable automated cleanup of these tables a retention days value can
be maintained by the System Administrator as a permitted value for Code
Table 'CDSRPTDAYS.' This value will be used on start up of *CDS Setup*
to purge all CDS Setup Process Log rows where the
CDSsetup_start_timestamp is prior to the current_date minus the
specified retention days.

## CDS Model Changes 

Changes to MCL Value (TMNCMCLV): (R2005, R3013:A.9.1.a)

Add the following attribute:

-   Average_Type_Code (text, 4, optional) to record the type of average
    in the current record. Permitted Values are: MPA, RAA, SAM, LRAA

-   Average_Number_Monitoring_Period (numeric, 2 with 0 decimals,
    optional) to record the number of monitoring periods covered by the
    average in support of the LT2 BIN determination for cryptosporidium.
    This value combined with the Average_Monitoring_Period_Type and
    Number_of_Results_Used tells the compliance officer whether the BIN
    recorded with this record is a BIN that can be used for final
    compliance (long enough period and enough samples
    collected).\[R2005\]

-   Average_Duration_Type_Code (text, 3, optional) to record the
    duration of the monitoring period associated to the average. The
    permitted values are the same as the permitted values for
    Monitoring_Period.Type_Code.

-   Bin_Number_Text (text, 1, optional) to record the BIN for the period
    of time covered by the average. It is a text field because that is
    the easiest way to display a space if no number has been entered

> Add the following relationship:

-   Each MCL_VALUE sometimes (5%) is an average for one SAMPLING_POINT.
    Upon delete of a MCL_VALUE disassociate from SAMPLING_POINT

-   Each SAMPLING_POINT sometimes (5%) has an average in One or More
    MCL_VALUE. Upon delete of a SAMPLING_POINT cascade delete all
    associated MCL_VALUE

Changes to Monitoring Period Average (TMNMPAVG):

Add the following relationship:

-   Each MONITORING_PERIOD_AVERAGE sometimes (5%) is an average for one
    SAMPLING_POINT. Upon delete of a MONITORING_PERIOD_AVERAGE
    disassociate from SAMPLING_POINT

-   Each SAMPLING_POINT sometimes (5%) has an average in One or More
    MONITORING_PERIOD_AVERAGE. Upon delete of a SAMPLING_POINT cascade
    delete all associated MONITORING_PERIOD_AVERAGE.

-   

**Note:** If it makes processing more efficient, a new attribute could
be added to distinguish between MPA for a WSF versus MPA for a Sampling
Point. This can also be ascertained by whether or not there is a
relationship to Sampling Point.

The following rows in the CDSSETUP_PROCESSING_MESSAGE (TCDSPMSG) table
(Exhibit 9-1) are used to create messages in the CDS Setup Processing
report. Note that existing messages are in black revisions to them are
indicated by redline. New messages are also in red. All changes will be
schema migrated into the TCDSPMSG table.

  ------------------------------------------------------------------------------------------------
  []{#__RefHeading___Toc140485968   
  .anchor}**Exhibit 9-1.** CDS      
  Setup Processing Messages --      
  Schema Migrated Records           
  --------------------------------- --------------------------------------------------------------
  **Message Number**                **Message Text**

  1                                 The following active water system was added. It is suggested
                                    that you verify that appropriate sample schedules have also
                                    been entered.

  2                                 The classification of the following water system has changed
                                    from public to non-public. *CDS Setup* has closed all current
                                    and deleted all future, non-TCR Sample Schedules for this
                                    water system.

  3                                 The classification of the following water system has changed.
                                    Please verify that all appropriate sample schedules have been
                                    entered for it.

  4                                 The following water system was deleted. *CDS Setup* has closed
                                    all current and deleted all future, non-TCR Sample Schedules
                                    for this water system.

  5                                 The following water system was inactivated. *CDS Setup* has
                                    closed all current and deleted all future, non-TCR Sample
                                    Schedules for this water system.

  6                                 The following Water system was changed to active. Please
                                    verify that all appropriate sample schedules have been entered
                                    for it and check the status of its violations.

  7                                 The following active water system facility was added. It is
                                    suggested that you verify that appropriate sample schedules
                                    have also been entered.

  8                                 The following Water system Facility was inactivated. *CDS
                                    Setup* has closed all current and deleted all future, non-TCR
                                    Sample Schedules for this facility.

  9                                 The following Water system Facility was changed to active.
                                    Verify that all appropriate sample schedules have been entered
                                    for it and check the status of its violations.

  10                                The following active water system facility was added. It is
                                    suggested that you verify that appropriate schedules for this
                                    Sampling Point have also been entered.

  11                                The following Sampling Point was inactivated. *CDS Setup* has
                                    closed all current and future, non-TCR Sample Schedules for
                                    this Sample Point.

  12                                The following Sampling Point was changed to active. It is
                                    suggested that you verify that appropriate sample schedules
                                    also exist.

  13                                Initial Monitoring Period Begin Date not valued for non-TCR
                                    Sample Schedule. Use Sample Schedule Maintenance to populate
                                    this field in order to be considered for CDS processing.

  14                                Could not calculate a needed result for the sample because the
                                    process encountered an improper unit of measure for the result
                                    identified. You should check the result and correct it as
                                    necessary.

  15                                Could not complete lead 90^th^ percentile calculation because
                                    the unit of measure for the following sample result could not
                                    be converted to mg/l. Correct the unit of measure for the lead
                                    result associated to the identified sample.

  16                                Could not complete copper 90^th^ percentile calculation
                                    because the unit of measure for the following sample result
                                    could not be converted to mg/l. Correct the unit of measure
                                    for the copper result associated to the identified sample.

  17                                Precursor Achieved Removal Ratio cannot be calculated because
                                    software could not convert measure value to the UOM mg/L.
                                    Change the measure value and UOM code to be either of ug/L or
                                    ng/L or mg/L.

  18                                Cannot calculate a precursor achieved removal ratio because
                                    there is no raw TOCs associated with the finished TOC.

  19                                Cannot calculate a precursor achieved removal ratio because
                                    there is not a raw alkalinity schedule associated with the
                                    finished TOC schedule.

  20                                *CDS Setup* could not calculate an accurate MCL Value because
                                    of inconsistent unit of measurement. Convert the MPA record to
                                    the same UOM as the rest of the MPAs

  21                                A CDS Candidate Violation was deleted because its MCL level
                                    (stored as a FANL) no longer exists.

  22                                A CDS Candidate Violation was deleted because its MCL level
                                    stored in the Analyte Level Rule Assignment table no longer
                                    exists.

  23                                The following CDS Candidate Violation was deleted because its
                                    MCL Value no longer exceeds its MCL.

  24                                The following CDS Candidate Violation was deleted because its
                                    MCL Value no longer exists.

  25                                The following CDS Candidate MCL Violation was created. Use the
                                    Migrate Candidate Violations component to process the
                                    violation.

  26                                There is not a current MRDL for chlorine dioxide in the
                                    Analyte Level Rule Assignment table and so *CDS Setup* cannot
                                    check whether the following result for chlorine dioxide
                                    exceeds its MRDL.

  27                                Could not check or compare a result for chlorine dioxide
                                    against its MRDL for the sample because encountered improper
                                    unit of measure for the result. Correct the unit of measure
                                    for one or more of the results associated to the identified
                                    sample.

  28                                A CDS Exceedence was created. (Chlorine Dioxide)

  29                                There is not a current MCL for chlorite in the Analyte Level
                                    Rule Assignment table and so *CDS Setup* cannot check whether
                                    the following result for chlorite exceeds its MCL.

  30                                Could not check or compare a result for chlorite against its
                                    MCL for the sample because encountered improper unit of
                                    measure for the result. Correct the unit of measure for one or
                                    more of the results associated to the identified sample.

  31                                A CDS Exceedence was created (Chlorite).

  32                                The population for the referenced public water system was
                                    changed as indicated. This population change is significant
                                    enough to put the public water system in a different category
                                    according to the rule(s) listed. You should check schedule(s)
                                    and FANLs for this water system that are based on the rule(s).

  33                                The federal primary source type for the following water system
                                    was changed as indicated. You may want to check the schedules
                                    for this water system facility.

  34                                The availability of the following water system facility, which
                                    is part of the water system indicated, was changed as
                                    indicated. You may want to check the schedules and violations
                                    for this water system facility.

  35                                The water type of the following water system facility, which
                                    is part of the indicated water system, was changed as
                                    indicated. You may want to check the schedules for this water
                                    system facility.

  36                                The following sampling point was inactivated and is associated
                                    to the sample schedule listed. If this was a proper
                                    inactivation, this sample schedule should be closed with a
                                    date that correlates to the sampling point's inactivation
                                    date.

  37                                The following sampling point was inactivated and is associated
                                    to the sample plan listed. If this was a proper inactivation
                                    and there are schedule dates associated to this sample plan
                                    and sampling point, you may need to adjust them.

  38                                A level violation type was not associated to the FANL listed
                                    below, therefore a candidate MCL violation was not created for
                                    the monitoring period even though the MCL value exceeded the
                                    FANL level.

  39                                There is not a matching Monitoring Period for the Initial
                                    Monitoring Period Begin Date and frequency for the following
                                    sample schedule. You should either change the Initial
                                    Monitoring Period Begin Date to match an existing Monitoring
                                    Period or add a Monitoring Period that matches this date.

  40                                A unit of measure was not recorded for the following sample
                                    result and is needed for SDWIS/STATE to determine whether this
                                    result satisfies a sample schedule. Please supply a unit of
                                    measure for the result.

  41                                The unit of measure recorded for the following result does not
                                    appear to be correct. Please correct the unit of measure for
                                    the result.

  42                                The monitoring requirement referenced by the following sample
                                    schedule indicates that averages should be calculated using
                                    the analyte's MCL recorded in the Analyte Level Maintenance
                                    function but there is not an MCL for the analyte that is in
                                    effect on the first day of the monitoring period being
                                    processed. To correct this, you must either (a) enter an MCL
                                    for the analyte that is in effect on the begin date of the
                                    monitoring period or (b) change the monitoring requirement to
                                    designate something other than ALRA (e.g., FANL if there is a
                                    FANL or the actual UOM if there is no maximum level for the
                                    analyte or "do not calculate averages").

  43                                The monitoring requirement referenced by the following sample
                                    schedule indicates that averages should be calculated using
                                    the facility analyte level maximum (FANL) set for the analyte
                                    but there is not a FANL for the analyte and water system
                                    facility that is in effect on the first day of the monitoring
                                    period being processed. To correct this, you must either (a)
                                    enter a FANL for the analyte and water system facility that is
                                    in effect on the begin date of the monitoring period or (b)
                                    change the monitoring requirement to designate something other
                                    than FANL (e.g., ALRA if there is an MCL for the analyte or
                                    the actual UOM if there is no maximum level for the analyte or
                                    "do not calculate averages").

  44                                The following sample schedule does not reference a M&R
                                    violation type. As a consequence, SDWIS/STATE will not
                                    determine candidate M&R violations for the schedule. If you
                                    want SDWIS/STATE to determine candidate M&R violations, you
                                    must associate the monitoring requirement used by the schedule
                                    to a M&R violation type using the Monitoring Requirement
                                    Maintenance function.

  45                                A new or changed result may be sufficient to rescind the
                                    following violation. You may want to check.

  46                                The listed facility analyte maximum level does not reference a
                                    level violation type. As a result, MCL compliance cannot be
                                    determined for it. To resolve this, modify the FANL by
                                    associating it to a level violation type (e.g., 02, 46).

  47                                The listed Candidate Violation was created. Use the Migrate
                                    Candidate Violations component to process the violation.

  48                                The listed result would satisfy a schedule except that it is
                                    associated to a monitoring period that does not match the
                                    schedule's frequency and/or sequence. You should determine if
                                    the monitoring period for result should be changed or the
                                    schedule.

  49                                The following current, active PWS has a minimum residual
                                    disinfection level set (a DSRD or SDRD or both) but does not
                                    have a maximum residual disinfectant level (MRDL) set. You
                                    should check the Facility Analyte (FANL) records for this
                                    system.

  50                                The following current, active Subpart H PWS does not have a
                                    minimum residual disinfectant level (a DSRD or SDRD or both)
                                    set. You should check the Facility Analyte (FANL) records for
                                    this system.

  51                                The following current, active Subpart H PWS does not have a
                                    maximum residual disinfectant level (MRDL) set. You should
                                    check the Facility Analyte (FANL) records for this system.

  52                                The following water system is not a current, active PWS but
                                    does have a DSRD, SDRD, or MRDL in effect. It appears that
                                    these should be closed. To close these, use the Facility
                                    Analyte Level function.

  53                                A field result was entered for the following water system,
                                    which is either historic, inactive or not a PWS.

  54                                A current, routine (or temporary routine) TCR schedule does
                                    not exist for the following current, active, PWS.

  55                                The following MDBP Summary was not updated even though there
                                    may be a new or changed residual disinfectant results for the
                                    WS, WSF, and monitoring period. It was not changed because it
                                    was last modified by a user and not be CDS Setup.

  56                                The following MDBP FANL was modified. One or more of the MDBP
                                    summaries based on this FANL was not re-assessed because it
                                    was last modified by a user. You may want to check the
                                    summaries for this FANL to make sure they should not be
                                    changed.

  57                                A candidate MCL/level violation was created and a matching
                                    violation with status of validate, preliminary, or rejected
                                    already exists. You need to take this existing violation into
                                    consideration when processing this candidate violation.
                                    (R0088:A.9.1.b)

  58                                The following cryptosporidium result must be recorded as
                                    either oocysts observed per liter or oocysts calculated per
                                    liter in order to use it when calculating a mean (average).
                                    Resolution: change the result to one of these appropriate
                                    units. (R2004:A.9.1.c)

  59                                The following *E.* *coli* result must be recorded as either
                                    CFU/100 ml, colonies/100 ml, or MPN/100 ml in order to use it
                                    when calculating a annual mean (average). Resolution: change
                                    the result to one of these appropriate units. (R2004:A.9.1.d)
  ------------------------------------------------------------------------------------------------

Change CDS Candidate Exceedence (TCDSCAEX) table

Increase size of TCDSCAEX_IS_Number from 7 to 12. (R0055:A.9.1.e)

Change CDS Candidate Mntrng Assessment (TCDSMNAS) table

Increase size of TCDSMNAS_IS_Number from 7 to 12. (R0055:A.9.1.f)

Change CDS Candidate Violation (TCDSVIOL) table

Increase size of TCDSVIOL_IS_Number from 7 to 12. (R0055:A.9.1.g)

Change CDS Compliance Schedule Activity (TCDCSACT) table

Increase size of TCDCSACT_IS_Number from 7 to 12. (R0055:A.9.1.h)

Change CDS Facility Analyte Level (TCDSFANL) table

Increase size of TCDSFANL_IS_Number from 7 to 12. (R0055:A.9.1.i)

Change CDS MDBP Summary (TCDMDBPS) table

Increase size of TCDMDBPS_IS_Number from 7 to 12. (R0055:A.9.1.j)

Change CDS Originating Violation (TCDORVIO) table

Increase size of TCDORVIO_IS_Number from 7 to 12. (R0055:A.9.1.k)

Change CDS PN Activity (TCDPNACT) table

Increase size of TCDPNACT_IS_Number from 7 to 12. (R0055:A.9.1.l)

Change CDS Report Execution Errors (TCDSREER) table

Increase size of TCDSREER_IS_Number from 7 to 12. (R0055:A.9.1.m)

Change CDS Report Log (TCDSRLOG) table

Increase size of TCDSRLOG_IS_Number from 7 to 12. (R0055:A.9.1.n)

Change CDS Sample Result (TCDSSAR) table

Increase size of TCDSSAR_IS_Number from 7 to 12. (R0055:A.9.1.o)

Change CDS Sample Summary Result (TCDSMPSM) table

Increase size of TCDSMPSM_IS_Number from 7 to 12. (R0055:A.9.1.p)

Change CDS Sampling Point Subschedule (TCDSPSUB) table

Increase size of TCDSPSUB_IS_Number from 7 to 12. (R0055:A.9.1.q)

Change CDS Schedule (TCDSASCH) table

Increase size of TCDSASCH_IS_Number from 7 to 12. (R0055:A.9.1.r)

Change CDS Site Visit (TCDVISIT) table

Increase size of TCDVISIT_IS_Number from 7 to 12. (R0055:A.9.1.s)

## CDS Setup Process Flow

*CDS Setup* is initiated from the *SDWIS/STATE* *Home Page* by selecting
CDS Setup.. Only users with System Administrator authority can make
additions or changes to data maintained in this component.
(R0100:A.9.2.a) The CDS Setup Advisory report will now be accessed from
the *SDWIS/STATE Home* Page, **Compliance Determination/Post-Compliance
Processing/Review Reports and Logs**. The *CDS Setup* dialog box
(Exhibit 9-2) will be presented.

  ---------------------------------------------------- ----------------------------------------------------
  ![](media/image1.png){width="1.5979166666666667in"   ![](media/image2.png){width="4.722916666666666in"
  height="3.9583333333333335in"}                       height="2.171527777777778in"}

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

[]{#__RefHeading___Toc140485969 .anchor}**Exhibit 9-2.** CDS Setup

[Buttons:]{.underline}

**Start Processing** In previous releases the SDWIS/STATE CDS Status
dialog box was presented where the *CDS Setup* and other compliance
reports processing could be monitored. This type of display is not be
presented in a web environment. Each CDS Process is described in detail
below. (R0100:A.9.2.b)

The following preparatory steps are executed prior to the first CDS
Process launching:

-   The CDS Setup Process Log table is cleared of all rows that have
    been in the table longer than the user-specified time frame (in
    days) retrieved from the TINPVALS table where code_name =
    'CDSRPTDAYS'. All advisories associated to the CDS Setup Process Log
    table are automatically deleted.

-   A new row will be created in the CDSSETUP_PROCESSING_LOG table with
    the current timestamp in the cdssetup_start_timestamp. The
    launch_user_id is set to the current User ID and the
    launch_cds_history_date is set to the value retrieved from the
    TINPRT.cds_history_date where the where_installed_code = '1'. The
    cdssetup_end_timestamp will be null until the processing ends
    normally.

[]{#__RefHeading___Toc140485970 .anchor}**Exhibit 9-3.** SDWIS/STATE CDS
Status

> (R0100:A.9.2.c)
>
> The CDS Setup Process Log for the current execution will be updated
> with the current timestamp in the CDSsetup_end_timestamp.

**Cancel** Will close the dialog and return to the invoking page.

**Help** Will invoke the online system Help facility.

[Menu Items]{.underline}:

**File**

> *Exit* Will close the dialog and return to the invoking page.

**Edit** **(R0100:A.9.2.d)**

*Set CDS*

> *History Date* Will present the CDS History Date dialog box (Exhibit
> 9-4) where a date can be entered and used to limit all data evaluated
> by the *CDS Setup* processes. The date is retrieved from the
> TINPRT.cds_history_date table where the where_installed_indicator_code
> = 1.
>
> ![](media/image4.png){width="3.5208333333333335in" height="2.0in"}

[]{#__RefHeading___Toc140485971 .anchor}**Exhibit 9-4.** CDS History
Date

> [Buttons]{.underline}:
>
> **OK** Will update the cds_history_date on the
>
> TINPRT table where the
>
> where_installed_indicator_code = 1.
>
> **Cancel** Will ignore any change in the date and return to the
> invoking page with no change to TINPRT.
>
> **Help** Will invoke the online system Help facility.

*View* *CDS Setup*

*Advisory Report*

> Selecting this item will invoke the CDS Setup Advisory Report Log List
> page from which the CDS Setup Advisory Reports may be viewed as
> described in SDWIS/STATE Release 1.0 Design Document Chapter 10
> Section 17.
>
> . (R0100:A.9.2.e)

*Launch Current*

*CDS Setup Processing*

> *Report* Will open a word processing instance where the most current
> CDSETUP processing report can be viewed. This text report will only
> contain the start and stop time for each *CDS Setup* process that was
> run. Additional information about this report is included in Section
> 9.3.

*Enable CDS Setup*

> *Auto Login* Will present the CDS Setup Auto Login dialog box (Exhibit
> 9-5) where login information may be recorded that will be used to
> establish the appropriate database connection during *CDS Setup*
> processing.
>
> ![](media/image5.png){width="4.177083333333333in" height="3.4375in"}

[]{#__RefHeading___Toc140485972 .anchor}**Exhibit 9-5.** CDS Setup Auto
Login

> [Protected Fields]{.underline}:
>
> *Database*
>
> *Alias* The alias for the database. This field will only display if
> either the Oracle or DB2 radio button is selected and will always read
> "DBPWSS01". If MS/SQL is selected prompt will display but no value
> will be displayed.
>
> [Input Fields]{.underline}:
>
> *Database* A series of three radio buttons used to identify the
> database platform of the SDWIS/STATE deployment. This field will only
> be enabled if the MS/SQL radio button is selected.
>
> *User ID* The User ID that should be used to authenticate database
> access for the *CDS Setup* process.
>
> *Password* The password of the User ID that will be used to
> authenticate the database access for the *CDS Setup* process.
>
> *MS/SQL*
>
> *Host Name*
>
> The host name of the server where the MS/SQL database is located. This
> field will be protected until the MS/SQL database is selected. This
> field will only be enabled if the MS/SQL radio button is selected.
>
> [Buttons]{.underline}:
>
> **OK** Will create an encrypted file with the new login information
> used to authenticate against the database. Enabling auto login will
> cause the *Disable CDS Setup Auto Login* menu item to become enabled
> and this menu item to become disabled.
>
> **Cancel** Will ignore any changes to the login information and return
> to the *CDS Setup* window.

*Disable CDS Setup*

> *Auto Login* Deletes the file with encrypted environment parameters
> used to authenticate against the database. Disabling auto login will
> cause the *Enable CDS Setup Auto Login* menu item to become enabled
> and this menu item to become disabled.

### Update Sample Schedules Due to Inventory Change

The first process in *CDS Setup* is called the *Update Sample Schedules
Due to Inventory Change* process (which consists of three
sub-processes). It will search for Water Systems, Water System
Facilities, and Sampling Points whose activity status has changed since
the last time CDS Setup was run. *CDS Setup* will close sample schedules
currently in effect by setting the sample_schedule end_date to the
activity status date where there is a status change, or to current date
for all other cases. It will delete future-effective sample schedules.
An advisory will be issued if any of the following changes are detected.

-   An active water system's classification changes from one of the
    public types (d_pws_federal_type_code = C, NTNC, or NC) to
    non-public(d_pws_federal_type_code = NP). The generated
    CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
    message_number = 2. The water system number, name,
    tinwsys_is_number, tinwsys_st_code, d_pws_federal_type_code, and
    d_userid_code of the water system record and the
    d_pws_federal_type_code of the water system history record will be
    recorded with the advisory.

-   An active water system is inactivated or "deleted."[^1] The
    generated CDSSETUP_PROCESSING_ADVISORY will be
    CDSSETUP_PROCESSING_MESSAGE message_number = 4 when marked as
    deleted and message_number = 5 when inactivated. The water system
    number, name, tinwsys_is_number, tinwsys_st_code, and d_userid_code
    of the water system record will be recorded with the advisory.

-   An active water system facility is inactivated. The generated
    CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
    message_number = 8. The water system number, name,
    tinwsys_is_number, and tinwsys_st_code of the water system record
    will be recorded with the advisory. The stats_asgn_id, name, and
    d_userid_code of the water system facility record will be recorded
    with the advisory.

-   An active sampling point is inactivated.-- The software should not
    close a schedule when a sampling point referencing the sub schedule
    is inactivated. The generated CDSSETUP_PROCESSING_ADVISORY will be
    CDSSETUP_PROCESSING_MESSAGE message_number = 11. The water system
    number, name, tinwsys_is_number, and tinwsys_st_code of the water
    system record will be recorded with the advisory. The stats_asgn_id,
    name, and d_userid_code of the water system facility record will be
    recorded with the advisory. The identification_code and
    description_text will be recorded with the advisory.

In addition to closing schedules in the above situations, this process
will also delete associations to monitoring periods that are no longer
appropriate for the schedule and will cascade delete those records that
are dependent on the associations to monitoring periods (e.g.,
monitoring period averages, calculated MCL values, etc.).

*CDS Setup* will advise the user that the sample schedule for the water
system or water system facility should be checked (by sending an
advisory to the CDS Setup Processing Report) if any of the following
occurs:

An active NC system is reclassified as a NTNC or C. The generated
CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
message_number = 3. The water system number, name, tinwsys_is_number,
tinwsys_st_code, and d_userid_code of the water system record will be
recorded with the advisory.

An active, non-public system is reclassified as a public system. The
generated CDSSETUP_PROCESSING_ADVISORY will be
CDSSETUP_PROCESSING_MESSAGE message_number = 3. The water system number,
name, tinwsys_is_number, tinwsys_st_code, and d_userid_code of the water
system record will be recorded with the advisory.

An inactive or proposed PWS (d_pws_federal_type_code is equal to C, NTNC
or NC) is activated. The generated CDSSETUP_PROCESSING_ADVISORY will be
CDSSETUP_PROCESSING_MESSAGE message_number = 6. The water system number,
name, tinwsys_is_number, tinwsys_st_code, and d_userid_code of the water
system record will be recorded with the advisory.

A new, active, water system is added. The generated
CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
message_number = 1. The water system number, name, federal type code,
population_count, federal primacy source code, tinwsys_is_number,
tinwsys_st_code, and d_userid_code of the water system record will be
recorded with the advisory.

-   A water system facility is changed from inactive or proposed to
    active. The generated CDSSETUP_PROCESSING_ADVISORY will be
    CDSSETUP_PROCESSING_MESSAGE message_number = 9. The water system
    number, name, tinwsys_is_number, and tinwsys_st_code of the water
    system record will be recorded with the advisory. The state_asgn_id,
    name, and d_userid_code of the water system facility record will be
    recorded with the advisory.

-   A new, active, water system facility is added. The generated
    CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
    message_number = 7. The water system number, name,
    tinwsys_is_number, and tinwsys_st_code of the water system record
    will be recorded with the advisory. The state_asgn_id, name, and
    d_userid_code of the water system facility record will be recorded
    with the advisory.

-   A new, active, sampling point is added. The generated
    CDSSETUP_PROCESSING_ADVISORY will be CDSSETUP_PROCESSING_MESSAGE
    message_number = 10. The water system number, name,
    tinwsys_is_number, and tinwsys_st_code of the water system record
    will be recorded with the advisory. The state_asgn_id, name, and
    d_userid_code of the water system facility record will be recorded
    with the advisory. The identification_cd and description_text will
    be recorded with the advisory.

A sampling point of type "entry point" is changed from inactive or
proposed to active. The generated CDSSETUP_PROCESSING_ADVISORY will be
CDSSETUP_PROCESSING_MESSAGE message_number = 12. The water system
number, name, tinwsys_is_number, and tinwsys_st_code of the water system
record will be recorded with the advisory. The state_asgn_id, and name
of the water system facility record will be recorded with the advisory.
The identification_code, description_text, and d_userid_code of the
sampling point record will be recorded with the advisory.

**Note:** *CDS Setup* does not need to close schedules when a water
system facility is deleted because SDWIS/STATE will not allow a user to
delete a water system facility until all of its schedules are deleted.

Additionally, *CDS Setup* will provide these advisories.

When the population of an active community (C) or non-transient,
noncommunity (NTNC) water system changes significantly (as defined in
the table that follows), *CDS Setup* will create a
CDSSETUP_PROCESSING_ADVISORY with CDSSETUP_PROCESSING_MESSAGE
message_number = 32. The water system number, name, tinwsys_is_number,
tinwsys_st_code, d_population_count, and d_userid_code of the water
system record will be recorded with the advisory as well as the
d_population_count of the water system **history** record. In addition,
one or more rule codes will be recorded with the advisory, determined
using the following logic (Exhibit 9-6)

+--------------+------------+---------------+--------------+---------+
| **From**     | **To**     | **PWS**       | **Fed Prim** | **Ru    |
|              |            |               |              | le(s)** |
| **To**       | **From**   | **Type**      | **Source**   |         |
+--------------+------------+---------------+--------------+---------+
| \<=100       | \>100      | C,NTNC        | All          | LCR     |
+--------------+------------+---------------+--------------+---------+
| \<=500       | \>500      | C,NTNC        | All          | LCR     |
+--------------+------------+---------------+--------------+---------+
| \<=500       | \>500      | C,NTNC,NC     | GU, GUP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=500       | \>500      | C,NTNC,NC     | SW, SWP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=500       | \>500      | C,NTNC        | All          | DBP1    |
+--------------+------------+---------------+--------------+---------+
| \<=1,000     | \>1,000    | C,NTNC,NC     | SW, SWP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=2,500     | \>2,500    | C,NTNC,NC     | SW, SWP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=3,300     | \>3,300    | C,NTNC        | All          | LCR     |
+--------------+------------+---------------+--------------+---------+
| \<=3,300     | \>3,300    | C,NTNC        | GW,SW,GU     | Ph R    |
+--------------+------------+---------------+--------------+---------+
| \<=3,300     | \>3,300    | C,NTNC,NC     | GU, GUP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=3,300     | \>3,300    | C,NTNC,NC     | SW, SWP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=10,000    | \>10,000   | C,NTNC        | All          | LCR     |
+--------------+------------+---------------+--------------+---------+
| \<=10,000    | \>10,000   | C,NTNC,NC     | GU, GUP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=10,000    | \>10,000   | C,NTNC        | All          | DBP1    |
+--------------+------------+---------------+--------------+---------+
| \<=25,000    | \>25,000   | C,NTNC,NC     | GU, GUP      | SWTR    |
+--------------+------------+---------------+--------------+---------+
| \<=100,000   | \>100,000  | C,NTNC        | All          | LCR     |
+--------------+------------+---------------+--------------+---------+

[]{#__RefHeading___Toc140485973 .anchor}**Exhibit 9-6.** Rule Code Logic

When the Federal Primary Source type for a public water system
(d_pws_federal_type_code = C, NTNC or NC) changes, *CDS Setup* will
create a CDSSETUP_PROCESSING_ADVISORY with CDSSETUP_PROCESSING_MESSAGE
message_number = 33. The water system number, name, tinwsys_is_number,
tinwsys_st_code, d_fed_primary_source_code, and d_userid_code of the
water system record will be recorded with the advisory. The
d_fed_primary_source_code of the water system history record will also
be recorded with the advisory.

When the availability of an active water system facility changes, *CDS
Setup* will create a CDSSETUP_PROCESSING_ADVISORY with
CDSSETUP_PROCESSING_MESSAGE message_number = 34. The water system
number, name, tinwsys_is_number, and tinwsys_st_code of the water system
record will be recorded with the advisory. The state_asgn_id, name, and
d_userid_code of the water system facility record will be recorded with
the advisory.

When the water type of an active water system facility changes, *CDS
Setup* will create a CDSSETUP_PROCESSING_ADVISORY with
CDSSETUP_PROCESSING_MESSAGE message_number = 35. The water system
number, name, tinwsys_is_number, and tinwsys_st_code of the water system
record will be recorded with the advisory. The state_asgn_id, name, and
d_userid_code of the water system facility record will be recorded with
the advisory.

When a Sampling Point is inactivated:

If the Sampling Point is associated to one or more schedules (via
Sampling Point Sub-schedule records), *CDS Setup* will create one
advisory per referenced sample schedule (i.e., only one advisory will be
created for each sample_schedule_group and one for each, individual
sample_schedule -- one that is not a part of a sample_schedule_group).
The generated CDSSETUP_PROCESSING_ADVISORY will be
CDSSETUP_PROCESSING_MESSAGE message_number = 36. The water system
number, name, tinwsys_is_number, and tinwsys_st_code of the water system
record will be recorded with the advisory. The state_asgn_id, and name
of the water system facility record will be recorded with the advisory.
The identification_code, description_text, and d_userid_code of the
sampling point record will be recorded with the advisory. If the
sampling point is associated to a group schedule (via a
sampling_pt_sched_grp_subsched), the analyte group referenced by the
group schedule (via the monitoring requirement) and the begin_date of
the group schedule will also be recorded with the advisory. If the
sampling point is referenced by a sample schedule that is not part of a
group schedule (what is called an "individual" sample schedule in
SDWIS/STATE documentation), the analyte of the monitoring requirement
associated to the sample schedule and the begin_date of the sample
schedule will be recorded with the advisory.

If the Sampling Point is associated to one or more Sampling Plans, *CDS
Setup* will create a CDSSETUP_PROCESSING_ADVISORY with
CDSSETUP_PROCESSING_MESSAGE message_number = 37. The water system
number, name, tinwsys_is_number, and tinwsys_st_code of the water system
record will be recorded with the advisory. The state_asgn_id, and name
of the water system facility record will be recorded with the advisory.
The identification_code, description_text, and d_userid_code of the
sampling point record will be recorded with the advisory. The rule code,
regulating agency, analyte/analyte group code and begin date of the
sampling plan will be recorded with the advisory.

The process will determine what changes have been made to these
inventory records by comparing the values of these attributes in the
actual table (Water System, Water System Facility, Sampling Point) to
the values in the corresponding history tables. Because more than one
significant change could be made to a record between *CDS Setup*
executions, the Last Update Timestamp of the History table record
closest to but before the *CDS* *Setup* last execution time will be used
to compare against the value in the actual table. If no History record
exists for a given Water System, Water System Facility, or Sampling
Point, it means that no significant change occurred to any of the fields
tracked by the History tables for that entity since the record was added
to the database.

Since the above process is driven by changes to Water System, Water
System Facility, and Sampling Point, it is split into three
sub-processes.

A fourth sub-process will be driven by changes to the Sampling Plan
Sampling Point Associations. Records in this table can be changed if any
of the following are changed: a Sampling Plan, a Sampling Point Schedule
Dates, or the Sampling Plan Sampling Point Association itself. For each
associative record that has been changed since the last time *CDS Setup*
ran, this sub-process will update the CDS Trigger timestamps of
associated results (results referencing the same analyte as referenced
by a sub-SSMPA record associated to the same sampling point) and then
delete the associations between the result and sub-SSMPA and will update
the CDS Trigger timestamp of each parent SSMPA. By doing this,
subsequent processes will re-evaluate results and schedules that may be
impacted by the change.

See Appendix D-1 (Update Sample Schedules Due to Inventory Change).

### Associate Monitoring Periods to Sample Schedules

SDWIS/STATE records when, where, and what sampling is necessary by
relating several pieces of information. For example, the requirement
that one routine sample be collected and analyzed for the regulated
volatile organic chemicals (VOC) at Water System Facility #1 every 3
years, with the next sample to be collected between 1/1/1999 and
12/31/2001 stored in SDWIS/STATE in six different but related entities
(tables): WATER_SYSEM_FACILITY (TINWSF), SAMPLE_SCHEDULE_GROUP
(TMNSSGRP), MONITORING_REQUIREMENT (TMNMNR), ANALYTE_GROUP (TSAANGRP),
SAMPLE_SCHEDULE_MONITORING_PERIOD_ASSIGNMENT (TMNSSMPA), and
MONITORING_PERIOD (TMNMPRD). Some refer to all these pieces of
information as a sample schedule. In SDWIS/STATE, however, the term
sample schedule includes all these pieces except the period during which
the next sample is to be collected. Therefore, in SDWIS/STATE
terminology, the above sample schedule is "one routine sample must be
collected and analyzed for the regulated volatile organic chemicals at
Water System Facility #1 every 3 years." SDWIS/STATE calls the last
piece of information, "with the next sample to be collected between
1/1/1999 and 12/31/2001," the Sample Schedule Monitoring Period
Assignment (SSMPA). The *Associate Monitoring Periods to Sample
Schedules* process will create appropriate SSMPA records. When sampling
points are referenced by a sample schedule, this process also creates
associations between each sampling point and appropriate SSMPA records.
These associations are made through two tables, the Sampling Point
Sub-Schedule table and the Sampling Point Sub SSMPA table.

This process will consist of two similar yet distinct actions, one that
will examine new or modified monitoring periods for linkage to sample
schedules and another, which will examine new or modified sample
schedules for linkage to monitoring periods. If only the name of a
monitoring period has been changed, it will not be examined.

A CDS Setup Processed flag will record when a schedule has been
processed by *CDS Setup*. The purpose of this flag will be to indicate
to the online non-TCR schedule maintenance software that *CDS Setup* has
already processed the schedule/schedule group; which will be used to
prevent the changes to sampling points for the schedule (i.e., a new
Sampling Point Subschedule cannot be added or an existing one changed or
deleted). (The programming necessary to allow these to change is complex
and considered too expensive to justify.) If users need to add, modify,
or delete a Sampling Point Subschedule after *CDS Setup* has processed
the sample schedule/schedule group, it will be necessary to close out
(or delete, if appropriate) the existing sample schedule/schedule group
and add a new one that includes the desired changes. However, a user
will be able to add a sampling point subschedule if no previous sampling
point subschedule exists, regardless of whether or not *CDS Setup* has
processed the schedule.

The process will determine appropriate associations for monitoring
periods whose End Date is on/after the CDS History Date and for sample
schedules whose Effective End Date is either null or on/after the CDS
History Date. Additionally, associations will be limited to Monitoring
Periods with a duration of 2 weeks[^2] or greater (i.e., Type_Code equal
to 2W, MN, 2M, QT, 6M, YR, 18M, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, or 10Y).
(R2013, R3005:A.9.2.2.a) Associations between monitoring periods and
sample schedules that satisfy the above will be made by comparing the
Monitoring Period Begin Date and Duration to the Sample Schedules'
Initial Monitoring Period Begin Date, Effective Period, and Periodicity.
Note that whether a Sample Schedule record is added as an "individual"
Sample Schedule (the user chose a monitoring requirement for an analyte
rather than one for an analyte group) or added as a "hidden" schedule
(the user chose a monitoring requirement for an analyte group), this
process will make associations between monitoring periods and sample
schedules (not Schedule Groups).

For example, if a user creates a new annual (YR) monitoring period with
a begin date of 7/1/2001 and an end date of 6/30/2002 and that the
Sample Schedules listed in Exhibit 9-5 are in the database. When *CDS
Setup* is initiated, it will/will not make associations to sample
schedules as indicated in the last column of Exhibit 9-7.

+--------+-----+--------+--------+------+-------+------------------+
| [      |     |        |        |      |       |                  |
| ]{#__R |     |        |        |      |       |                  |
| efHead |     |        |        |      |       |                  |
| ing___ |     |        |        |      |       |                  |
| Toc140 |     |        |        |      |       |                  |
| 485974 |     |        |        |      |       |                  |
| .anch  |     |        |        |      |       |                  |
| or}**E |     |        |        |      |       |                  |
| xhibit |     |        |        |      |       |                  |
| 9-7.** |     |        |        |      |       |                  |
| Moni   |     |        |        |      |       |                  |
| toring |     |        |        |      |       |                  |
| Period |     |        |        |      |       |                  |
| to     |     |        |        |      |       |                  |
| N      |     |        |        |      |       |                  |
| on-TCR |     |        |        |      |       |                  |
| Sc     |     |        |        |      |       |                  |
| hedule |     |        |        |      |       |                  |
| Assoc  |     |        |        |      |       |                  |
| iation |     |        |        |      |       |                  |
| Cr     |     |        |        |      |       |                  |
| iteria |     |        |        |      |       |                  |
| Matrix |     |        |        |      |       |                  |
+========+=====+========+========+======+=======+==================+
| **Anal | *   | *      | *      | **   | *     | **Assigned or    |
| yte/** | *WS | *Effec | *Effec | Samp | *Init | Not Assigned and |
|        | F** | tive** | tive** | le** | ial** | (Key             |
| **A    |     |        |        |      |       | Reason(s))**     |
| nalyte | **  | **B    | *      | *    | *     |                  |
| Grp**  | Typ | egin** | *End** | *Cou | *MP** |                  |
|        | e** |        |        | nt** |       |                  |
| **     |     | **     | **     |      | **Be  |                  |
| Code** |     | Date** | Date** | **Un | gin** |                  |
|        |     |        |        | it** |       |                  |
|        |     |        |        |      | **D   |                  |
|        |     |        |        | **Co | ate** |                  |
|        |     |        |        | de** |       |                  |
+--------+-----+--------+--------+------+-------+------------------+
| 3100   | DS  | 1/     | open   | YR   | 7/1   | Not assigned     |
|        |     | 1/1993 |        |      | /1993 | (Analyte Code =  |
|        |     |        |        |      |       | 3100 and WSF     |
|        |     |        |        |      |       | Type = DS)       |
+--------+-----+--------+--------+------+-------+------------------+
| 3100   | Not | 7/     | open   | YR   | 7/1   | Assigned         |
|        | eq  | 1/2002 |        |      | /2002 |                  |
|        | ual |        |        |      |       |                  |
|        | to  |        |        |      |       |                  |
|        | DS  |        |        |      |       |                  |
+--------+-----+--------+--------+------+-------+------------------+
| VOC    | Any | 7/     | open   | YR   | 7/1   | Assigned         |
|        |     | 1/1997 |        |      | /1997 | (7/1/2001 minus  |
|        |     |        |        |      |       | 7/1/1997 divided |
|        |     |        |        |      |       | by year = 4 a    |
|        |     |        |        |      |       | positive whole   |
|        |     |        |        |      |       | number)          |
+--------+-----+--------+--------+------+-------+------------------+
| VOC    | Any | 7/     | open   | YR   | 1/1   | Not assigned     |
|        |     | 1/1997 |        |      | /1998 | (7/1/2001 minus  |
|        |     |        |        |      |       | 1/1/1998 divided |
|        |     |        |        |      |       | by year = 3.5    |
|        |     |        |        |      |       | not a positive   |
|        |     |        |        |      |       | whole number)    |
+--------+-----+--------+--------+------+-------+------------------+
| VOC    | Any | 7/     | open   | QT   | 7/1   | Not assigned     |
|        |     | 1/1997 |        |      | /1997 | (Sample          |
|        |     |        |        |      |       | Schedule's       |
|        |     |        |        |      |       | Periodicity is   |
|        |     |        |        |      |       | not the same as  |
|        |     |        |        |      |       | the duration of  |
|        |     |        |        |      |       | the Monitoring   |
|        |     |        |        |      |       | Period)          |
+--------+-----+--------+--------+------+-------+------------------+
| HAA5   | Any | 2/     | open   | YR   | 7/1   | Not assigned     |
|        |     | 1/2002 |        |      | /2002 | (7/1/2001 minus  |
|        |     |        |        |      |       | 7/1/2002 divided |
|        |     |        |        |      |       | by year = -1 not |
|        |     |        |        |      |       | a positive whole |
|        |     |        |        |      |       | number)          |
+--------+-----+--------+--------+------+-------+------------------+
| PBCU   | Any | 7/     | 7/     | YR   | 7/1   | Assigned[^3]     |
|        |     | 1/1998 | 1/2001 |      | /1998 |                  |
+--------+-----+--------+--------+------+-------+------------------+
| PBCU   | Any | 7/     | 6/3    | YR   | 7/1   | Not assigned     |
|        |     | 1/1998 | 0/2001 |      | /1998 | (6/30/2001 is    |
|        |     |        |        |      |       | not greater than |
|        |     |        |        |      |       | or equal to MP   |
|        |     |        |        |      |       | Begin Date)      |
+--------+-----+--------+--------+------+-------+------------------+
| TTHM   | Any | 10/    | open   | YR   | 7/1   | Assigned[^4]     |
|        |     | 1/2001 |        |      | /2001 |                  |
+--------+-----+--------+--------+------+-------+------------------+

Schedules that reference analyte code 3100 and are associated to a
distribution system facility, will not be processed.

If a hidden schedule is closed on the same day it was opened, the
process will ignore that schedule because this situation means that the
schedule was never in effect.

If this process encounters a new or changed schedule that does not have
an Initial Monitoring Period Begin Date valued, it will create a *CDS
Setup* Advisory, referencing message number 13 and will record the water
system number, name, tinwsys_is_number, and tinwsys_st_code of the water
system record; the state_asgn_id and name of the water system facility
record; and the analyte or analyte group, begin and d_userid_code of the
sample schedule. If the schedule is a group schedule, then the process
will record the information from the group schedule otherwise it will
record it from the individual schedule.

If this process encounters a new or changed schedule that does have an
Initial Monitoring Period Begin Date but the value, combined with the
frequency of the schedule, does not match an existing monitoring period,
it will create a *CDS Setup* Advisory, referencing message number 39 and
will record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; and the analyte or analyte group,
begin and d_userid_code of the sample schedule. If the schedule is a
group schedule, then the process will record the information from the
group schedule otherwise it will record it from the individual schedule.

If this process encounters a new or changed schedule that does not
reference a violation type (via the monitoring requirement), it will
create a *CDS Setup* Advisory, referencing message number 44 and will
record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; and the analyte or analyte group,
begin and d_userid_code of the sample schedule. If the schedule is a
group schedule, then the process will record the information from the
group schedule otherwise it will record it from the individual schedule.

Note that the deletion of SSMPAs and Sub-SSMPAs that are no longer
appropriate will be done both by the online software, when the Sample
Schedule is changed, or by the first *CDS Setup* process (*Update Sample
Schedules When Significant Inventory Changes Occur*). It will not need
to be done here.

See Appendix D-2 (Associate Monitoring Periods to Sample Schedules) for
detailed specification of the logic of this process. This process will
run as two subprocesses: *Find New/Changed Monitoring Periods* and *Find
New/Changed Schedules*.

### Process MCL, ACL, TRL, RMDL, FANL Max, FANL RCB, and FANL SCR Additions or Modifications 

If a Maximum Contaminant Level (MCL), Action Level (ACL), Regulated
Minimum Detection Limit (RMDL), or Trigger Level (TRL) is added (using
Analyte Level Maintenance in *System Administration*) or a Facility Max
(maximum level) or a Facility RCB (reliably and consistently below the
MCL level) or a Facility SCR (screening level) (R2002:A.9.2.3.a) is
added (using Facility Analyte Level Maintenance in *Monitoring)*, all
results for the related analyte that are for samples collected on or
after the effective begin date of the level will need to be assessed for
MCL compliance and sample schedule assessment purposes. Additionally, if
one of these is modified, all the results for the related analyte will
likewise need to be re-evaluated for these same purposes. To accomplish
this, *CDS Setup* will do the following:

-   If an MCL or a FANL Max is added or modified, set the CDS Trigger
    Timestamp to the current date and time for every SSMPA record where
    the Analyte referenced by the SSMPA (through Sample Schedule to
    Monitoring Requirement) is the same as the Analyte for MCL.

-   If an MCL, ACL, TRL, FANL RCB, or FANL SCR (R2002:A.9.2.3.b) record
    is added or modified, reset the Monitoring Assessment Flag to spaces
    for every Sample Schedule that references (through its Monitoring
    Requirement) the same analyte as the MCL, ACL, TRL, FANL RCB, or
    FANL SCR (R2002:A.9.2.3.c) unless the flag is set to "X."

-   If an RMDL for analyte 4000, 4002, 4006, 4010 or 4109 is added or
    modified, reset the Monitoring Assessment Flag to spaces for every
    Sample Schedule that references (through its Monitoring Requirement)
    the same analyte as the RMDL unless the flag is set to "X."

By updating these values, succeeding *CDS Setup* processes will
re-evaluate every situation involving the given analyte and level or
monitoring requirement. See Appendix D-3 (Process MCL, ACL, RMDL (for
analytes 4000, 4002, 4006, 4010 or 4109 only), FANL Max, FANL RCB, TRL
Additions or Modifications) for the detailed specification of the logic
of this process.

### Disassociate Sample Analytical Results from Sample Schedule Monitoring Period Assignments and [Sampling Point Sub-SSMPAs]{.mark}

The next process to run as part of the *CDS Setup* function will be
*Disassociate Sample Analytical Results from Sample Schedule Monitoring
Period Assignments.* This process will be needed in the event that a
user changes some value about a sample, sample result, sample schedule,
or monitoring period that previously qualified the result for
association to an SSMPA and one or more [Sampling Point
Sub-SSMPAs]{.mark}, but that now disqualifies it from this association.
This process is essentially the reverse of the *Associate Sample
Analytical Result to Sample Schedule Monitoring Period Assignments*.
There will be three triggers for this process.

-   *Trigger One:* Disassociate results associated to a SSMPA that has a
    CDS Trigger timestamp greater than the last time *CDS Setup* was
    run.

-   *Trigger Two:* Triggered by a change to a result.

-   *Trigger Three:* Triggered by a change to a sample.

The following actions will be preformed for these triggers:

-   update the CDS Trigger timestamp of each result associated to the
    SSMPA

-   delete any associations between the result and sampling_pt_sub_ssmpa
    (i.e., delete record in spuba\_ sar_association, a table introduced
    in Web Release 1)

-   delete any associations between the result and the SSMPA (i.e.,
    delete records in ssmpa_sar_association, a table introduced in Web
    Release 1)

This process will no longer utilize the result's User Assigned SSMPA
Indicator because later processes will, when a user has selected a
monitoring period for a result, use the associated monitoring period to
determine appropriate SSMPA associations.

**Note:** If a substitute result that was used by CDS Setup to create a
total radium result is modified (e.g., a gross alpha result value is
changed after a total radium result was created by process 6), the user
should also change the corresponding total radium result as this process
and process 6 have not been designed to automatically update the
previously created total radium result.

See Appendix D-4 (Disassociate Sample Analytical Results from Sample
Schedule Monitoring Period Assignments and Sampling Point Sub-SSMPAs)
for the detailed specification of the logic of this process.

### Calculate Total Trihalomethane, Total Haloacetic Acid, Combined Nitrate + Nitrite, Individual Nitrate, Individual Nitrite, Combined Radium, and Gross Alpha Excluding Uranium Results

The MCL for the trihalomethanes is a single level for the sum of the
four trihalomethanes. Similarly, the MCL for the haloacetic acids is a
single level for the sum of five haloacetic acids. Sometimes, when
results for one set or the other are reported, the sum is not reported.
Because *CDS* is designed to determine compliance by matching analyte
code to analyte code (the analyte code referenced indirectly by a Sample
Schedule must match the analyte code referenced by a result in order for
*CDS* to count the result as satisfying the Sample Schedule, except
where a \"substitute\" analyte has been defined in the \"crosswalk\"
table as specified in 9.2.6), and since it is intended that users use
analyte codes 2950 (total trihalomethane) and 2456 (total haloacetic
acid) when creating sample schedules for these disinfection byproducts,
it is necessary to have a process that calculates and creates results
for totals when they are not reported.

If there are not already analyte codes that represent these totals
(i.e., 2950 for total trihalomethane and 2456 for total haloacetic
acids), this process might instead create Sample Summaries and Sample
Summary Results for these totals. However, because individual analyte
codes already represent these totals, this process will instead create
sample analytical result records (table TSASAR) using these two existing
analyte codes.

For nitrate and nitrite, there are three MCLs: one for nitrate, one for
nitrite, and one for both combined. Because laboratories report these in
every conceivable combination, this process will calculate the missing
result when the other two results are reported:

1038 (nitrate+nitrite as N) when 1040 and 1041 are reported.

1040 (nitrate as N) when 1038 and 1041 are reported.

1041 (nitrite as N) when 1038 and 1040 are reported.

For radium, this process will calculate a result for combined radium 226
and 228 (analyte code 4010) when both individual results have been
entered for a single sample (analyte codes 4020 and 4030) but a result
for the two combined (i.e., a result for 4010) has not been entered for
the same sample.

For gross alpha, this process will calculate a result for gross alpha
excluding uranium (analyte code 4000) when results for both gross alpha
including uranium (analyte code 4002) and combined uranium (analyte code
4006) have been reported for the same sample.

As with Sample Summaries for Lead and Copper 90^th^ percentiles, this
process will create a result only if one does not already exist and will
modify an existing result only if the existing result was created by
*CDS Setup*. This means that if a user adds a result for one of these
analytes (using online *Sampling*, *XML* *Sampling \[*formerly *Sampling
via EDI\]*, or *Migration to SDWIS/STATE: Sampling*), this process will
neither check nor replace it. Similarly, if a user modifies a result for
one of these analytes, this process will not change it. If a user
deletes a result created by *CDS Setup*, this process will not
recalculate and recreate the result (this will be accomplished by not
updating the Last Update Timestamp of the associated SSMPA prior to
deleting the result). A result of less than detection will be treated as
zero when used to calculate another result.

Any result created as described above will be rounded to the appropriate
decimal precision as specified in section 9.2.6 for numbers that are
summed.

To distinguish a trihalomethane result that has been obtained in
response to the TThm Rule or the Disinfection By-Products (DBP) Rule
from one obtained for the Unregulated Contaminant Monitoring Rule
(UCMR), the process will look at the Water System Facility to which the
result is associated. If the Water System Facility is a distribution
system (type_code = 'DS') *CDS Setup* will assume the result was
collected in response to the TThm or DBP Rule, and therefore, will
calculate a total trihalomethane result, assuming that a total was not
already entered by a user, by *XML* *Sampling* (formerly *Sampling via
EDI*) or by *Migration to SDWIS/STATE*. If the related Water System
Facility is not a distribution system, *CDS Setup* will assume the
trihalomethane results were collected for the UCMR and therefore, will
not calculate a total trihalomethane result.

Since only the DBP Rule calls for haloacetic acid monitoring, *CDS
Setup* assumes that a total haloacetic acid result is appropriate
whenever there is a result for one or more of the five haloacetic acids
that comprise the total haloacetic acid. Accordingly, this process will
create a total haloacetic acid result (for analyte code 2456) if a
result exists for one or more of the five haloacetic acids AND either a
result for total haloacetic acids does not already exist or, if one
exists, it was created by *CDS Setup*.

If this process encounters a sample result that it cannot convert, it
will create a *CDS Setup* Advisory, referencing message number 14 and
will record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; the ID and Description of the
sampling point, and the analyte for the result and the sample laboratory
number and collection date for the associated sample.

Note that this process will calculate and create these results whether
or not there are corresponding sample schedules and monitoring periods
in place. This means that even if a state has not yet entered all the
sample schedules and monitoring periods for full *CDS* functionality,
the Results Alert Report will identify a total trihalomethane, total
haloacetic acid, combined nitrate and nitrite, nitrate, nitrite,
combined radium, or gross alpha excluding uranium result that exceeds a
selected level (e.g., MCL, trigger level). This process will run before
the next process so that these calculated results can be associated to
SSMPA records.

See Appendix D-5 (Calculate Total Trihalomethane, Total Haloacetic Acid,
Combined Nitrate = Nitrite, Individual Nitrate, Individual Nitrite,
Combined Radium, and Gross Alpha Excluding Uranium Results) for the
detailed specification of the logic of this process.

### Associate Sample Analytical Results to Sample Schedule Monitoring Period Assignments and Sampling Point Sub-SSMPAs 

The next *CDS Setup* process is *Associate Sample Analytical Results to
Sample Schedule Monitoring Period Assignments and Sampling Point
Sub-SSMPAs* and will:

-   associate results (both matching and substitute results) to
    appropriate sample schedules (via a new record in
    ssmpa_sar_association table)

-   calculate values to be used when determining compliance with MCLs
    and other prescribed levels.

-   associate results to sampling point subschedules if the result was
    obtained at a sampling point indicated in the schedule

-   advise of accepted and preliminary violations that should be
    evaluated based upon changes made during this execution of *CDS
    Setup*

-   establish the SSMPA for the next monitoring period and Sample
    Schedule.

It is important to note that the monitoring compliance checks take the
sampling point requirements into consideration when determining
candidate monitoring violations but that it is left to the user to
indicate that a result not collected at a prescribed sampling point
should not be used for level compliance. By default, SDWIS/STATE assumes
such a result should be used for level compliance.

This process will identify accepted or validated results that are
associated to "for compliance", samples that have not been rejected and
were collected on or after the CDS History date (if a result is directly
associated to a monitoring period, instead of comparing the collection
date to the CDS History Date, the software will compare the monitoring
period end date to the CDS History Date). For each result that meets
this criteria, the process will next determine whether that result
satisfies a sample schedule for a particular monitoring period, and if
so, will associate the result to the SSMPA record by creating an
associative record in the ssmpa_sar_association and then will calculate
and store a compliance value in this same associative record except when
the Monitoring Requirement referenced by the Sample Schedule:

-   references a microbiological analyte (i.e., tsaanlyt.type_code =
    "MOR") unless the MOR analyte is *E.* *coli* (3014:A.9.2.6.d)[^5] or
    cryptosporidium (R3015:A.9.2.6.a) or

-   references one of the following violation type: 04, 11, 23, 24, 25,
    26, 29, 31, 36, 38, 49, 51, 52, 53 or

-   references violation type 27 and analyte code 0999 (chlorine) or
    1006 (chloramine) or 1008 (chlorine dioxide) or 1009 (chlorite)

When storing a compliance value for non-microbiological results (Analyte
Type_Code not equal to \'MOR\'), (R2004:A.9.2.6.b) the software will
record zero in the compliance value field and the detection limit UOM in
the compliance value UOM field for a result that is less than detect
and, for a result that is not less than detect, the result's
concentration and concentration unit of measure will be used.

When storing a compliance value for cryptosporidium, the result must be
recorded as follows: tsamar.count_type in either OCYSTSO (oocysts
observed) or OCYSTSC (oocysts calculated) and tsamar.count_uom_code =
\"LITER.\" The process will record the number from the tsamar.count_qty
field in both the tmnspsra.compliance_value and the
tmnspsra.compliance_val_txt fields and, in the
tmnspsra.compliance_value_uom, will record \'OOCYSTS/L\'. Note that a
zero in tsamar.count_qty combined with values in the two other fields is
interpreted as a zero and not as null. If a cryptosporidium result is
recorded any other way when trying to use it for this calculation, the
process will create a *CDS Setup* Advisory referencing message number 58
and will record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; the ID and Description of the
sampling point, and the analyte for the result and the sample laboratory
number (TSASAMPL.LAB_ASGND_ID_NUM) and collection date for the
associated sample.

When storing a compliance value for *E. coli,* the result must be
recorded as follows: tsamar.count_type in either CFU (colony forming
units) or COLONIES (colonies) or MPN (most probable number) and
tsamar.count_uom_code = \"100ML\". The process will record the number
from the tsamar.count_qty field in both the tmnspsra.compliance_value
and the tmnspsra.compliance_val_txt fields and, in the
tmnspsra.complnce_value_uom, will record \'CFU/100ML\'. Note that a zero
in tsamar.count_qty combined with values in the two other fields is
interpreted as a zero and not as null. If a *E. coli* result is recorded
any other way when trying to use it for this calculation, the process
will create a *CDS Setup* Advisory referencing message number 59 and
will record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; the ID and Description of the
sampling point, and the analyte for the result and the sample laboratory
number (TSASAMPL.LAB_ASGND_ID_NUM) and collection date for the
associated sample. (R2004:A.9.6.3.c)

In addition, this process (both here and in Stage Two) will identify any
confirmation results associated to each result that meets the above
criteria and take its value into consideration when calculating a
compliance value. Confirmation results to use will be: (1) associated to
the result's parent sample (via the SSMPA SAR Association) (2) the
confirmation result's parent Sample's Compliance Purpose Indicator Code
is equal to "Y" with a sample type of confirmation (CO) and its
Rejection Reason Code is blank and references the same Analyte code as
the original Result retrieved and its Data Quality Code is accepted (A)
or validated (V).

The logic to determine whether a result satisfies a sample schedule for
a particular monitoring period will occur in two stages. The first will
create associations for matching analytes (the result's analyte matches
the schedule's analyte). The second will create associations for
substitute analytes (the result's analyte does not match the schedule's
analyte but can be substituted if a matching analyte does not exist and
the result's analyte is cross-walked to the schedule's analyte). In both
stages, whenever an association is made between a result and a SSMPA,
the process will additionally identify and report in an advisory,
information about each violation that may be impacted by the result (in
case the new or modified association involved a result that negates a
monitoring violation or a level violation).

The first step in stage one is to determine if the result's analyte code
matches the analyte code referenced by the sample

The next step in this first stage is to determine whether the sample was
collected during the monitoring period under consideration (if the
result is associated directly to a monitoring period, the monitoring
period will take precedence over the collection date of the sample and
will be referred to as "inconsistent MP" in what follows allowing users
to assign a result to a different monitoring period than the one in
which the sample was actually created). If the sample is marked as a
replacement and is associated to an original routine sample and there is
not a monitoring period associated to the replacement sample result,
*CDS Setup* will use the monitoring period associated to the original
sample\'s result for the same analyte. If the original sample\'s result
is not associated to a monitoring period or does not exist, *CDS Setup*
will use the collection end date of the original sample to determine the
appropriate SSMPA for the replacement result. (R0004:A.9.2.6.e)

Next, in stage one, if the sample type for the result matches the sample
type of the schedule, as defined in the following table, the result will
be associated to the SSMPA by creating a ssmpa_sar_association record
and a compliance_value will be calculated and stored (including the
appropriate UOM) with this associative record (except a compliance value
does not need to be calculated for those indicated above). Whether a
sample is marked as a replacement or not should not alter its treatment.
That is to say that all three of the following will be processed the
same way: (1) a routine sample marked as a replacement and not
associated to an original; (2) a routine sample marked as a replacement
and associated to an original; and (3) a routine sample not marked as a
replacement. (R0004:A.9.2.6.f) For matching analytes with matching UOM
(matching as defined above), the compliance_value is equal to the
concentration.

+-------------------+----------------------+--------------------------+
| **Sample Values** |                      | **Schedule Values**      |
+===================+======================+==========================+
| TYPE\_            | LD_COP\_             | SAMPLE\_                 |
|                   |                      |                          |
| CODE              | SAMP_TYP_CD          | TYPE_CODE                |
+-------------------+----------------------+--------------------------+
| RT                | Null/Blank           | RT                       |
+-------------------+----------------------+--------------------------+
| MR                | Null/Blank           | RT                       |
+-------------------+----------------------+--------------------------+
| RT                | AT                   | RT                       |
+-------------------+----------------------+--------------------------+
| RT                | FSD                  | RT                       |
+-------------------+----------------------+--------------------------+
| SP                | Any                  | SP                       |
+-------------------+----------------------+--------------------------+
| OT                | Any                  | OT                       |
+-------------------+----------------------+--------------------------+

[]{#__RefHeading___Toc140485975 .anchor}**Exhibit 9-8.** Sample Type
Match Criteria

If the result is associated to a SSMPA in the previous step, then the
first stage continues by linking the result directly to the monitoring
period and determining whether the result also satisfies a
sampling_point_subschedule. The result satisfies a
sampling_point_subschedule if the sampling point referenced by the
result's sample is associated to the same sample schedule, in which
case, the process associates the result to the sampling_point_sub_ssmpa
that references the same monitoring period. The association is created
in table spuba_sar_association.

Stage One continues by disassociating substitute results[^6] from the
samp_schedule_mntrg_period_asgmt because a matching result has been
associated. By default, once a matching result is found and associated,
no substitute results should be used to satisfy the schedule even if the
number of matching results is less than the number of results called for
in the schedule or a matching result was not collected at a specified
sampling point but a substitute result was. However, users will be able
to indicate that a result should be used as a substitute result even if
a matching result exists (in the sample schedule). If so marked, the
process will not disassociate the substitute result. If not so marked,
the process will disassociate a substitute result when a matching result
is associated.

Stage One continues by identifying any preliminary or validated
violations related to the result. It does this by seeing if any
preliminary or validated violations, which reference the same analyte,
same water system, and same water system facility (if the violation
references a water system facility) as the result, are associated to the
same monitoring period as the result. For each violation identified, the
process will create a *CDS Setup* advisory referencing message number 45
and will record the water system number, name, federal PWS type code,
federal primary source code, population, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; and the Violation Year, FedRep ID
(if the violation is hidden, the ID from the Group Violation record will
be recorded), status, analyte or analyte group code (if the violation is
hidden, the analyte group code of the Group Violation will be recorded,
otherwise the analyte code will be recorded), violation type, State
Violation Period Begin and End Dates of the violation.

The first stage ends by setting the CDS Trigger timestamp of the
samp_schedule_mntrg_period_asgmt and, if involved, the
sampling_point_sub_ssmpa to the current time.

Stage Two of determining whether a result satisfies a sample schedule
for a particular monitoring period is then initiated. As indicated
above, this stage determines whether a substitute result should be used
to satisfy a schedule. Substitute results will only be used to satisfy a
schedule if either there are no matching results already satisfying a
schedule or a user has indicated that a result can be used as a
substitute[^7] even if a matching result exists. As in Stage One, the
logic varies somewhat by whether a new/changed SSMPA initiated the
process or whether a new/changed sample or result initiated it. Because
this stage is new in SSWr1, the logic for the two starting points will
be presented.

The first step in Phase 1 (if a new/changed SSMPA initiated the process)
of Stage Two will be to determine if a substitute analyte is disallowed
for the current SSMPA. If it is disallowed (Sample Schedule Substitute
Result Indicator is Never - N), then the Stage Two and the process ends
for that SSMPA. If however, a substitute result is not disallowed, the
next step in Phase 1 is to see if the schedule's analyte is listed in
the "Schedule Analyte" column of the substitute crosswalk table. If it
isn't, the process ends for the current SSMPA. If, however, it is listed
in the crosswalk, Phase 1 continues by determining whether a matching
result has already been associated to the SSMPA or not. If one has and
the SSMPA does not say that a substitute can be used even if a matching
result exists, then the process ends for the current SSMPA. If however,
a matching result is associated but the SSMPA says a substitute can be
used anyway or no matching result is associated, Phase 1 continues by
seeing if any results that meet the "for compliance criteria"[^8] common
to samples and results exist for the water system facility to which the
schedule analyte is crosswalked and whether they satisfy the criteria
given in the substitute crosswalk table. If so, the process creates an
association between the SSMPA and result (by creating a
ssmpa_sar_association) and calculates and stores a compliance value and
the process ends for the current SSMPA.

In Phase 1 of Stage Two, if an "Inconsistent MP" exists and there is a
candidate SSMPA that references the Inconsistent MP, CDS will create an
association between the result and the SSMPA and will calculate and
record a compliance value (except a compliance value does not need to be
calculated for those indicated above)

[]{.mark}

If the inconsistent MP does not match a SSMPA for the substitute
result's schedule, then the collection date of the sample will be used
to associate the result as a substitute result to a SSMPA.

Phase 2 is initiated by a new/changed result. In this phase, the first
step is to see if the result's analyte is listed in the "SAR Analyte"
column of the substitute crosswalk table. If the analyte is not found,
the process is finished with this result. If, however, the result's
analyte is listed, Phase 2 continues by determining whether there are
any candidate SSMPA records, using the crosswalk schedule analyte and
matching by monitoring period or collection date (the first if a
monitoring period is directly associated to the result and the second if
not) and, of course, associated to a schedule for the same water system
facility as the one the result is associated to via its sample. If no
candidate SSMPA are identified, the process is done with the current
result. If a candidate SSMPA is identified, Phase 2 proceeds by
determining whether a substitute result should be associated or not. If
the SSMPA is marked as not allowing substitute results, the process ends
for that SSMPA and searches for another candidate SSMPA. If the SSMPA
will allow substitute results regardless of whether matching results are
associated, the process continues by applying the crosswalk criteria. If
the substitute result passes the crosswalk criteria, the process
associates the substitute result to the SSMPA (via a
ssmpa_sar_association), calculates the compliance value as indicated in
the crosswalk and stores the compliance value in the
ssmpa_sar_association. If the SSMPA will allow substitute results but
not if matching results are associated, the process first checks to see
if any matching results are associated. If any are, the process is
finished with the current SSMPA and searches for another candidate
SSMPA. If no matching results are associated to the SSMPA, the process
continues by applying the crosswalk criteria. If the substitute result
passes the crosswalk criteria, the process associates the substitute
result to the SSMPA (via a ssmpa_sar_association), calculates the
compliance value as indicated in the crosswalk and stores the compliance
value in the ssmpa_sar_association.

If a substitute result is associated to a SSMPA, phase 2 continues by
determining whether the substitute result should also be associated to a
sampling_point_sub_ssmpa.

Exhibit 9-9 depicts the substitute result criteria.

+-------+--------+-----------------------+-----------------------------+
| [     |        |                       |                             |
| ]{#__ |        |                       |                             |
| RefHe |        |                       |                             |
| ading |        |                       |                             |
| ___To |        |                       |                             |
| c1404 |        |                       |                             |
| 85976 |        |                       |                             |
| .a    |        |                       |                             |
| nchor |        |                       |                             |
| }**Ex |        |                       |                             |
| hibit |        |                       |                             |
| 9     |        |                       |                             |
| -9.** |        |                       |                             |
| Subst |        |                       |                             |
| itute |        |                       |                             |
| R     |        |                       |                             |
| esult |        |                       |                             |
| Cri   |        |                       |                             |
| teria |        |                       |                             |
+=======+========+=======================+=============================+
| **SAR | **Sc   | **Substitute**        | **Calculated Substitute     |
| Anal  | hedule |                       | Compliance Value**          |
| yte** | Ana    | **Condition**         |                             |
|       | lyte** |                       |                             |
+-------+--------+-----------------------+-----------------------------+
| 400   | 400    | No additional         | Same as result's            |
| 2[^9] | 0[^10] | conditions            | concentration.              |
+-------+--------+-----------------------+-----------------------------+
| 4109  | 4000   | No additional         | Same as result's            |
| [^11] |        | conditions            | concentration.              |
+-------+--------+-----------------------+-----------------------------+
| 4002  | 4109   | No additional         | Same as result's            |
|       |        | conditions            | concentration.              |
+-------+--------+-----------------------+-----------------------------+
| 4109  | 4002   | No additional         | Same as result's            |
|       |        | conditions            | concentration.              |
+-------+--------+-----------------------+-----------------------------+
| 4002  | 400    | If 4002 is not        | If 4002 is LTD, then = 1/2  |
|       | 6[^12] | detected (i.e.,       | the detection limit         |
|       |        | less_than_ind = Y)    | recorded in the result[^13] |
|       |        | and detect limit      |                             |
|       |        | value                 | Otherwise = 4002 result     |
|       |        | (detectn_limit_num)   |                             |
|       |        | is valued and is \<   | If the dflt_comp_uom for    |
|       |        | 31.0                  | the Averages Basis is       |
|       |        |                       | "mg/L" and the              |
|       |        | OR if 4002 is         | dflt_comp_uom for the       |
|       |        | detected but its      | result is pCi/L, then       |
|       |        | concentration         | convert the detection       |
|       |        | (concentration_msr)   | limit/concentration to MCL  |
|       |        | \< 15.5 pCi/l         | UOM (using 1.49 ug/pCi or   |
|       |        |                       | 0.00149 mg/pCi) and round   |
|       |        |                       | to factor with the fewest   |
|       |        |                       | significant figures         |
+-------+--------+-----------------------+-----------------------------+
| 4109  | 4006   | If 4109 is not        | If 4109 is LTD, then = 1/2  |
|       |        | detected (i.e.,       | the detection limit         |
|       |        | less_than_ind = Y)    | recorded in the result      |
|       |        | and detect limit      |                             |
|       |        | value                 | Otherwise = 4109 result     |
|       |        | (detectn_limit_num)   |                             |
|       |        | is valued and is \<   | If the dflt_comp_uom for    |
|       |        | 31.0                  | the Averages Basis is       |
|       |        |                       | "mg/L" and the              |
|       |        | OR if concentration   | dflt_comp_uom for the       |
|       |        | (concentration_msr)   | result is pCi/L, then       |
|       |        | \< 15.5 pCi/l         | convert the detection       |
|       |        |                       | limit/concentration to MCL  |
|       |        |                       | UOM (using 1.49 ug/pCi or   |
|       |        |                       | 0.00149 mg/pCi) and round   |
|       |        |                       | to factor with the fewest   |
|       |        |                       | significant figures.        |
+-------+--------+-----------------------+-----------------------------+
| 4006  | 4006   | If the dflt_comp_uom  | If result in pCi/L and      |
|       |        | for the result is     | schedule UOM is ug/L, then  |
|       |        | pCi/L and the         | = result x 1.49 ug/pCi      |
|       |        | dflt_comp_uom of the  |                             |
|       |        | designated UOM for    | If result in pCi/L and      |
|       |        | the schedule is mg/L. | schedule UOM is mg/L, then  |
|       |        |                       | = result x 0.00149 mg/pCi.  |
|       |        |                       |                             |
|       |        |                       | In either case, round to    |
|       |        |                       | number of significant       |
|       |        |                       | figures for the factor with |
|       |        |                       | the fewest significant      |
|       |        |                       | figures.                    |
+-------+--------+-----------------------+-----------------------------+
| 4006  | 4006   | If the dflt_comp_uom  | If result in ug/L, then =   |
|       |        | for the result is     | result x 0.67 pCi/ug.       |
|       |        | mg/L and the          |                             |
|       |        | dflt_comp_uom of the  | If result in mg/L, then =   |
|       |        | designated UOM for    | result x 670 pCi/mg.        |
|       |        | the schedule is       |                             |
|       |        | pCi/L.                | In either case, round to    |
|       |        |                       | number of significant       |
|       |        |                       | figures for the factor with |
|       |        |                       |                             |
|       |        |                       | the fewest significant      |
|       |        |                       | figures.                    |
+-------+--------+-----------------------+-----------------------------+
| 4002  | 401    | Create association to | If 4002 is associated to    |
|       | 0[^14] | 4002 if:              | SSMPA:                      |
|       |        |                       |                             |
|       |        | -   SSMPA not         | If 4002 is LTD, then = 1/2  |
|       |        |     associated to a   | 4002 detection limit        |
|       |        |     4010, 4020 or     |                             |
|       |        |     4030 result and   | Otherwise = 4002 result     |
|       |        |                       |                             |
|       |        | -   Result for 4002   | If created 4010 result is   |
|       |        |     is either:        | associated to SSMPA, comp   |
|       |        |                       | value = calculated          |
|       |        |     -   not detected  | concentration msr for the   |
|       |        |         (i.e.,        | 4010 result                 |
|       |        |         less_than_ind |                             |
|       |        |         = Y) with     | Examples of creating a 4010 |
|       |        |         valued detect | result using a 4002 and     |
|       |        |         limit value   | 4030 (radium 228) result:   |
|       |        |                       |                             |
|       |        |   (detectn_limit_num) | If 4002 reported as less    |
|       |        |         \< 11.0 or    | than detection with         |
|       |        |                       | detection limit of 2.6      |
|       |        |     -   detected and  | pCi/l and 4030 is less than |
|       |        |         concentration | detect (detection limit     |
|       |        |                       | doesn't matter),            |
|       |        |   (concentration_msr) |                             |
|       |        |         \< 5.5 pCi/l  | > then 4010 = (0.5 x 2.6) + |
|       |        |                       | > 0 = 1.3 pCi/L             |
|       |        | If:                   |                             |
|       |        |                       | If 4002 reported as 4.2     |
|       |        | -   SSMPA is          | pCi/L and 4030 is less than |
|       |        |     associated to     | detect,                     |
|       |        |     4030 (Ra228)      |                             |
|       |        |     result and        | > then 4010 = 4.2 + 0 = 4.2 |
|       |        |                       | > pCi/L                     |
|       |        | -   a 4010 result     |                             |
|       |        |     that satisfies    | If 4002 reported at LTD     |
|       |        |     the following     | with detection limit of 2.7 |
|       |        |     does NOT exist:   | pCi/l and 4030 at 2.3       |
|       |        |                       | pCi/L,                      |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              | > then 4010 = (0.5 x 2.7) + |
|       |        | ```                   | > 2.3                       |
|       |        | -   a \"for           | >                           |
|       |        |     compliance\"      | > = 1.4 (when rounded) +    |
|       |        |     result (see all   | > 2.3 = 3.7 pCi/L           |
|       |        |     the criteria that |                             |
|       |        |     qualify a result  |                             |
|       |        |     above including   |                             |
|       |        |     sample data)      |                             |
|       |        |                       |                             |
|       |        | -   collected at the  |                             |
|       |        |     same WSF and      |                             |
|       |        |                       |                             |
|       |        | -   is either:        |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   associated to the |                             |
|       |        |     current           |                             |
|       |        |     monitoring period |                             |
|       |        |     or,               |                             |
|       |        |                       |                             |
|       |        | -   if not associated |                             |
|       |        |     to a monitoring   |                             |
|       |        |     period, it\'s     |                             |
|       |        |     collection date   |                             |
|       |        |     falls between the |                             |
|       |        |     applicable period |                             |
|       |        |     begin and end     |                             |
|       |        |     date of the       |                             |
|       |        |     SSMPA[^15]        |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   then:             |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   Create 4010       |                             |
|       |        |     result (by adding |                             |
|       |        |     comp value for    |                             |
|       |        |     4002 to 4030      |                             |
|       |        |     result);          |                             |
|       |        |                       |                             |
|       |        | -   Associate created |                             |
|       |        |     4010 result to    |                             |
|       |        |     sample with       |                             |
|       |        |     latest collection |                             |
|       |        |     date (either the  |                             |
|       |        |     sample with the   |                             |
|       |        |     4002 result or    |                             |
|       |        |     sample with 4030  |                             |
|       |        |     result)           |                             |
|       |        |                       |                             |
|       |        | -   Associate created |                             |
|       |        |     4010 result to    |                             |
|       |        |     SSMPA             |                             |
|       |        |                       |                             |
|       |        | -                     |                             |
|       |        |                       |                             |
|       |        | -                     |                             |
|       |        |                       |                             |
|       |        | -   Delete            |                             |
|       |        |     association       |                             |
|       |        |     between 4030      |                             |
|       |        |     result and SSMPA  |                             |
+-------+--------+-----------------------+-----------------------------+
| 4109  | 4010   | (Same logic as for    | (Same logic as for 4002 but |
|       |        | 4002 but using 4109   | using 4109 instead of 4002) |
|       |        | instead of 4002)      |                             |
+-------+--------+-----------------------+-----------------------------+
| 4030  | 4010   | Create association to | If only 4030 is associated, |
| [^16] |        | 4030 if SSMPA not     | then = 4030 result.         |
|       |        | associated to a 4010, |                             |
|       |        | 4020, 4002 or 4109    | If 4020 associated, then no |
|       |        | result.               | association created between |
|       |        |                       | the 4030 result and the     |
|       |        | If:                   | SSMPA. Instead, an          |
|       |        |                       | association between the     |
|       |        | -   SSMPA is          | created 4010 result and     |
|       |        |     associated to     | SSMPA is created with a CV  |
|       |        |     4020 (Ra226) or   | = created 4010              |
|       |        |     4002/4109 (gross  | concentration msr.          |
|       |        |     alpha) result and |                             |
|       |        |                       | If 4002 or 4109 is          |
|       |        | -   a 4010 result     | associated, then no         |
|       |        |     that satisfies    | association created between |
|       |        |     the following     | the 4030 result and the     |
|       |        |     does NOT exist:   | SSMPA. Instead, an          |
|       |        |                       | association between the     |
|       |        | ```{=html}            | created 4010 result and     |
|       |        | <!-- -->              | SSMPA is created with a CV  |
|       |        | ```                   | = created 4010              |
|       |        | -   a \"for           | concentration msr.          |
|       |        |     compliance\"      |                             |
|       |        |     result (see all   |                             |
|       |        |     the criteria that |                             |
|       |        |     qualify a result  |                             |
|       |        |     above including   |                             |
|       |        |     sample data)      |                             |
|       |        |                       |                             |
|       |        | -   collected at the  |                             |
|       |        |     same WSF and      |                             |
|       |        |                       |                             |
|       |        | -   is either:        |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   associated to the |                             |
|       |        |     current           |                             |
|       |        |     monitoring period |                             |
|       |        |     or,               |                             |
|       |        |                       |                             |
|       |        | -   if not associated |                             |
|       |        |     to a monitoring   |                             |
|       |        |     period, it\'s     |                             |
|       |        |     collection date   |                             |
|       |        |     falls between the |                             |
|       |        |     applicable period |                             |
|       |        |     begin and end     |                             |
|       |        |     date of the       |                             |
|       |        |     SSMPA[^17]        |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   then:             |                             |
|       |        |                       |                             |
|       |        | ```{=html}            |                             |
|       |        | <!-- -->              |                             |
|       |        | ```                   |                             |
|       |        | -   Create 4010       |                             |
|       |        |     result (by adding |                             |
|       |        |     4030 result to    |                             |
|       |        |     comp value for    |                             |
|       |        |     the associated    |                             |
|       |        |     4020, 4002, or    |                             |
|       |        |     4109 result);     |                             |
|       |        |                       |                             |
|       |        | -   associate created |                             |
|       |        |     4010 result to    |                             |
|       |        |     sample with       |                             |
|       |        |     latest collection |                             |
|       |        |     date (either the  |                             |
|       |        |     sample with the   |                             |
|       |        |     4030 result or    |                             |
|       |        |     sample with       |                             |
|       |        |     4020/4002/4109    |                             |
|       |        |     result)           |                             |
|       |        |                       |                             |
|       |        | -   Associate created |                             |
|       |        |     4010 result to    |                             |
|       |        |     SSMPA             |                             |
|       |        |                       |                             |
|       |        | Delete association    |                             |
|       |        | between               |                             |
|       |        | 4020/4002/4109 result |                             |
|       |        | and SSMPA             |                             |
|       |        |                       |                             |
|       |        | (E12898)              |                             |
+-------+--------+-----------------------+-----------------------------+
| 4002  | 4020   | If 4002 is not        | If 4002 is LTD, then = 1/2  |
|       |        | detected (i.e.,       | the detection limit         |
|       |        | less_than_ind = Y)    | recorded in the result[^18] |
|       |        | and detect limit      |                             |
|       |        | value                 | Otherwise = 4002 result     |
|       |        | (detectn_limit_num)   |                             |
|       |        | is valued and is \<   |                             |
|       |        | 11.0                  |                             |
|       |        |                       |                             |
|       |        | OR if detected and    |                             |
|       |        | concentration         |                             |
|       |        | (concentration_msr)   |                             |
|       |        | \< 5.5 pCi/l          |                             |
+-------+--------+-----------------------+-----------------------------+
| 4109  | 4020   | If 4109 is not        | If 4109 is LTD, then = 1/2  |
|       |        | detected (i.e.,       | the detection limit         |
|       |        | less_than_ind = Y)    | recorded in the result[^19] |
|       |        | and detect limit      |                             |
|       |        | value                 | Otherwise = 4109 result     |
|       |        | (detectn_limit_num)   |                             |
|       |        | is valued and is \<   |                             |
|       |        | 11.0                  |                             |
|       |        |                       |                             |
|       |        | OR if detected and    |                             |
|       |        | concentration         |                             |
|       |        | (concentration_msr)   |                             |
|       |        | \< 5.5 pCi/l          |                             |
+-------+--------+-----------------------+-----------------------------+
| 1040  | 1038   | None                  |                             |
+-------+--------+-----------------------+-----------------------------+
| 1038  | 1040   | None                  |                             |
+-------+--------+-----------------------+-----------------------------+

Stage Two continues by identifying any preliminary or validated
violations related to the result. It does this by seeing if any
preliminary or validated violations, which reference the same analyte,
same water system, and same water system facility (if the violation
references a water system facility) as the result, are associated to the
same monitoring period as the result. For each violation identified, the
process will create a *CDS Setup* advisory referencing message number 45
and will record the water system number, name, federal PWS type code,
federal primary source code, population, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; and the Violation Year, FedRep ID
(if the violation is hidden, the ID from the Group Violation record will
be recorded), status, analyte or analyte group code (if the violation is
hidden, the analyte group code of the Group Violation will be recorded,
otherwise the analyte code will be recorded), violation type, State
Violation Period Begin and End Dates of the violation.

The second stage ends by setting the CDS Trigger timestamp of the
samp_schedule_mntrg_period_asgmt and, if involved, the
sampling_point_sub_ssmpa to the current time.

Each time this process makes an association between a result and an
SSMPA, it will also determine the next appropriate monitoring period for
the sample schedule and create an SSMPA between the monitoring period
and sample schedule. If the next appropriate monitoring period does not
exist, it will create it and then associate it to the sample schedule
including all monitoring period types supported (including 2 month and 2
week durations). (R2013, R3017:A.9.2.6.g) By doing this, users will
generally not need to create monitoring periods because they will be
created by the software at least one monitoring period into the future
for each sequence of monitoring periods.

Once results have been associated to their corresponding SSMPA records,
determining M&R compliance and calculating MCL values is a relatively
straightforward process.

See Appendix D-6 (Associate Sample Analytical Results to Sample Schedule
Monitoring Period Assignments and Sampling Point Sub-SSMPAs) for the
detailed specification of the logic of this process.

*Significant Figures*

The following is from *Standard Methods for the Examination of Water and
Wastewater*, 20th Edition and will be employed in SDWIS/STATE unless
otherwise indicated.

As a practical operating rule, round off the result of a calculation in
which several numbers are multiplied or divided to as few significant
figures as are present in the factor with the fewest significant
*figures.* Suppose that the following calculations must be made to
obtain the result of an analysis:

[56 x 0.003 462 x 43.22]{.underline}\
1.684

A ten-place calculator yields an answer of "4.975 740 998." Round off
this number to "5.0" because one of the measurements that entered into
the calculation, 56, has only two significant figures. It was
unnecessary to measure the other three factors to four significant
figures because the "56" is the "weakest link in the chain" and limits
accuracy of the answer. If the other factors were measured to only
three, instead of four, significant figures, answer would not suffer and
the labor might be less.

When numbers are added or subtracted, the number that has the fewest
decimal places, not necessarily the fewest significant figures, puts the
limit on the number of places that justifiably may be carried in the sum
or difference. Thus the sum

0.0072

12.02

4.0078

25.9 ­

[4886]{.underline}\
4927.9350

must be rounded off to "4928" (no decimals), because one of the addends,
4886, has no decimal places. Notice that another addend, 25.9, has only
three significant figures and yet it does not set a limit to the number
of significant figures in the answer.

The above quotation is limited to its discussion about adding and
subtracting because that is what is involved in calculating averages. In
addition or subtraction, the absolute precision is the important issue
as described below
([www.cf.washington.edu/classes.fe.425/handouts/Significant%20Figures.doc](http://www.cf.washington.edu/classes.fe.425/handouts/Significant Figures.doc)).

"Addition and subtraction. First look for the term of lowest absolute
precision. This determines the precision warranted for the result, and
it is meaningless and misleading to give the result with significant
figures implying an absolute precision greater than that of this term.
An illustration is given below. Note that rounding all terms to the
lowest absolute precision before performing the calculation is
undesirable because rounding errors may accumulate in the subsequent
computations and affect the figures finally retained. Instead, first
round the terms given with higher precision, retaining one or two places
beyond the precision warranted for the result. Then perform the
additions or subtractions, and finally round the result.

> Example Y = 24.35 -- 9.575 + 11.2 + 0.46
>
> The number with the lowest absolute precision is 11.2, so it
> determines the precision of the answer. First, round the terms of
> higher precision to one or two places beyond precision of result, and
> then add:
>
> Y = 24.35 -- 9.58 + 11.2 + 0.46 = 26.43
>
> Finally, round the answer: Y = 26.4
>
> Note that if you round each number to the final precision before
> adding, you will get Y = 26.5, which is incorrect. When you round
> prematurely you are throwing away information."

When we then divide by the number of results used, our answer needs to
be to the same precision as the sum of the results except when using
zero for a result, in which case do not take the significant digits of
zero in account (i.e., when the result is less than detect).

Examples

A single result of 0.00355, when stored as a compliance value (i.e.,
after round), must still be 0.00355, not 0.004.

Two results:

1^st^ at 0.0055

2^nd^ at 0.00703

Added together = 0.01253

Divided by 2 = 0.006265

Rounded = 0.0063, i.e., rounded to the same absolute precision as the
least precise result

Three results with one being less than detect:

1^st^ at 0.0055

2^nd^ at 0.00703

3^rd^ is marked as Less than detect

Added together = 0.01253

Divided by 3 = 0.004176666

Rounded = 0.0042, i.e., rounded to the same absolute precision as the
least precise result excluding zero.

### Associate CDS Setup-Created Monitoring Periods to Sample Schedules

As previously described in the *Associate Sample Analytical Results to
Sample Schedule Monitoring Period Assignments* process subsection, *CDS
Setup* may create monitoring periods. Since the *Associate Sample
Analytical Results to Sample Schedule Monitoring Period Assignments*
process runs after the *Associate Monitoring Periods to Sample
Schedules*, it will be necessary to rerun the latter process at this
time. This process, like the *Associate Monitoring Periods to Sample
Schedules* process, will ignore a hidden schedule if it is closed on the
same day that it was opened because this situation means that the hidden
schedule was never intended to be in effect and is limited to Monitoring
Periods with a duration of 2 weeks or greater (i.e., Type_Code equal to
2W, MN, 2M, QT, 6M, YR, 18M, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, or 10Y).
(R2013, R3005:A.9.2.7.a)

To distinguish this process from the earlier process, it will be called
*Associate CDS Setup-Created Monitoring Periods to Sample Schedules*. As
indicated, it will simply rerun the previously described process that
associates monitoring periods to schedules. The only difference is that
it will read only Monitoring Period records whose:

Last Update Timestamp is greater than the last time *CDS Setup* was run
AND

User ID is equal to CDSSETUP.

### Aggregate Lead and Copper Data

The *Aggregate Lead and Copper Data* process will include the following:

The identifying information about a sample result with an improper unit
of measure that is written to the CDS Setup Processing Report has been
expanded so that the user can easily determine which is the offending
result.

Results whose "Less Than Indicator" is marked "Y" (and whose Unit of
Measure field is not valued) are not recorded in the CDS Setup
Processing Report.

Selection of lead and copper tap sample schedules based on the
schedule's monitoring requirement's non-association to violation types
03 or 56 (including no association to a violation type at all) not on
its Sample Type (this will allow a user to have CDS assess a tap
schedule even when there is no violation type associated, which is
desirable because sometimes, after a PWS has exceeded an action level,
they continue to monitor and in some cases, get two rounds in a row
where they do not exceed - thus removing them from the treatment steps).

Two new types of Sample Summary Results now allow users to store the
95^th^ percentile and the number of samples exceeding the action level.
CDS Setup will calculate these two new sample summary results
aggregates.

Lead and Copper Tap Water samples (i.e., samples collected to determine
compliance with the lead and copper action levels) can be stored in
SDWIS/STATE as both individual results (in entities SAMPLE and
SAMPLE_ANALYTICAL_RESULT) and summary results (entities SAMPLE_SUMMARY
and SAMPLE_SUMMARY_RESULT). Some primacy agencies require that
SDWIS/STATE calculate 90^th^ percentile, 95^th^ percentile, and the
number of samples exceeding the action level summaries based on
individual results while others want to enter lead and copper summaries
that they have calculated. *CDS* will support both requirements through
this process.

This process will calculate and create or modify lead and copper
summaries if the following have been entered:

Lead and copper tap water sample schedules; and

Monitoring periods; and

Individual lead and copper samples and results.

and either no sample summary for the water system facility and
monitoring period exists or, if one exists, it was created by this
process.

These calculations will be done by water system facility and monitoring
period. By virtue of being related to the same SSMPA record, the samples
used to calculate 90^th^ percentile, 95^th^ percentile and number of
samples exceeding action level values will already be related to the
same water system facility and same monitoring period (see description
for process *Associate Sample Analytical Results to Sample Schedule
Monitoring Period Assignments*). Therefore, lead tap sample results
associated to the same SSMPA record will be summarized together; copper
results associated to the same SSMPA record will also be summarized
together.

This process will first identify any changes made to lead or copper
samples or results that reference an SSMPA record whose CDS Trigger
Timestamp is on/after the last time *CDS Setup* was run. Note that, by
virtue of being associated to an SSMPA record, a lead or copper tap
sample and result will already satisfy the following conditions: Data
Quality Code is Accepted or Validated; Sample Type is Routine; Sample
Lead Copper Sample Type Code is blank or First Draw (FSD); and Sample
Rejection Reason Code is blank. The existing association also means
there is a Sample Schedule in effect for lead or copper Initial,
Routine, or Follow-up Tap monitoring for the Water System Facility.

If the process encounters an improper unit of measure for a result, thus
preventing it from performing the aggregation, it will create a *CDS
Setup* Advisory, referencing message number 15 if the analyte is lead
(1030) and message number 16 if the analyte is copper (1022) and will
record the water system number, name, tinwsys_is_number, and
tinwsys_st_code of the water system record; the state_asgn_id and name
of the water system facility record; the sampling point
identification_CD and description_text; and the analyte for the result
and the sample laboratory number and collection date for the associated
sample.

See Appendix D-7 (Aggregate Lead and Copper Data) for the detailed
specification of the logic of this process.

### Associate Sample Summaries to Sample Schedule Monitoring Period Assignments 

The *Associate Sample Summaries to Sample Schedule Monitoring Period
Assignments* process will select lead and copper tap sample schedules
based on the schedule's monitoring requirement's non-association to
violation types 03 or 56 (including no association to a violation type
at all).

If all Sample Summaries were created by the *Aggregate Lead and Copper
90^th^ Percentile Data Aggregation* process, this process would not be
needed. However, some SDWIS/STATE users wish to enter their own lead and
copper 90^th^ percentile sample summary records. In order for the *Lead
and Copper Tap M&R Compliance Check* function to work properly and for
the Possible Increased and Decreased Monitoring Assessment Report to
accurately assess lead and copper tap schedules, these user-entered
sample summaries will also need to be related to the appropriate Sample
Schedule Monitoring Period Assignment records that they satisfy.

As with the process that associates Sample Analytical Results to SSMPAs,
this process will consist of two processes. The first processes will be
driven by the CDS Trigger Timestamp of Sample Summary Results. The
second will be driven by the CDS Trigger Timestamp of SSMPAs.

See Appendix D-8 (Assign Sample Summaries to Sample Schedule Monitoring
Period Assignments) for the detailed specification of the logic of this
process.

### Calculate Monitoring Period Averages

Sometimes the value that should be checked for MCL compliance will be
based on the average for a single monitoring period (e.g., nitrate
regardless of the monitoring frequency, VOCs if the monitoring frequency
is annual or less frequent). Other times it will be based on a running
annual average (e.g., VOCs on quarterly monitoring, total
trihalomethanes on quarterly monitoring) or a running average based on
the effective period of the sample schedule (called a Schedule
Arithmetic Mean and abbreviated SAM -- a mean is always arithmetic but
it makes for a nice acronym). (R2004:A.9.2.10.a) In all cases, process
*Calculate Monitoring Period Averages* will accomplish the first step,
which is to calculate monitoring period averages.

Once monitoring period averages are calculated and stored, process
*Calculate MCL Values* will run.

This process will calculate a Monitoring Period Average if there is a
FANL Max or MCL, with the former taking precedence over the latter; or
if neither exists, only if the sample schedule is for analyte 2920
(TOC), 1927 (alkalinity), 1067 (alkalinity), 1004 (bromide), 3014[^20]
(*E. coli*), or 3015 (cryptosporidium). (R2004:A.9.2.10.b)

In addition, the *Calculate Monitoring Period Averages* process will
calculate Precursor Achieved Removal Ratios for the Monitoring Period
based on the average of raw TOC and Alkalinity results and the average
of finished TOC results for schedule packages. Precursor Achieved
Removal Ratios will be stored with Monitoring Period Averages and MCL
Values associated to the Finished TOC schedule for each set of packaged
precursor schedules. The value stored with the Monitoring Period Average
will be used to calculate the ratio for the MCL Value (i.e., running
annual average).

To calculate monitoring period averages, this process will retrieve
SSMPAs for which monitoring period averages may need to be calculated.
SSMPA records for which the user has indicated that averages should not
be calculated will not be processed. All other candidate SSMPA records
will be retrieved for processing and are defined as those SSMPA records
that are newly created SSMPA or associated to new sample analytical
results, modified samples/results, new schedules, etc.[^21] The process
will identify these by checking the CDS Trigger Timestamp of SSMPA
records whose CDS Trigger Timestamp is on/after the last time *CDS
Setup* was run.

For each retrieved SSMPA, three stages of processing will occur.

*Stage One:* Will calculate a monitoring period average by adding all
the compliance values associated to the SSMPA (which include routine
results, confirmation results, if any, and substitute results, if
applicable) and dividing the sum by the number of ssmpa_sar_associations
for the SSMPA (in most cases, there will only be one). In calculating
the average, this first stage will convert the compliance values to the
same unit of measure as the averages basis (which is the FANL-MAX, if it
exists, and if not, the MCL or if neither exists and the analyte is for
2920, 1927, 1067 or 1004, to MG/L). Note that, for cryptosporidium or
*E. coli*, no conversion is necessary. (R2004:A.9.2.10.c) In the
situation where a compliance value is not in the same category of UOM as
the averages basis (i.e., the compliance value is in pCi/L and the
averages basis is in ug/L, or vice versa), the process will utilize the
conversion factor specified by regulation (i.e., 1.49 ug/pCi or 0.67
pCi/ug, respectively). The calculated monitoring period average will be
rounded to the appropriate decimal precision as specified in section
9.2.6. The number of results used to calculate the Monitoring Period
Average will also be stored with the record and is the number of
ssmpa_sar_associations associated to the SSMPA.

*Stage Two:* Will calculate the Precursor Achieved Removal Ratios for
samples with monitoring requirements for total organic carbon (TOC)
(2920) packaged as the principal schedule. Because these calculations
are based on a comparison of SSMPA records (SSMPA for finished schedules
versus SSMPA for raw water schedules), it is necessary to insure that
both are re-evaluated if either one is changed or added. When it is
processing a SSMPA for a raw water TOC schedule, the CDS Trigger
timestamp of Monitoring Period Averages associated to finished TOC
schedules will be updated.

Further evaluation of each SSMPA is as follows. If the SSMPA is
associated to a finished TOC schedule, the process will determine the
TOC monitoring period average for all associated raw TOC schedules. If a
conversion cannot be made (e.g., pCI/L for a MP Avg), an advisory will
be created referencing message number 17 and will record: the water
system number, name, tinwsys_is_number, and tinwsys_st_code; the water
system facility state assigned ID and name; the analyte associated to
the MP Average (and, if the schedule is a hidden schedule, the analyte
group for the group schedule), begin date and d_userid_code and
processing will end on the current SSMPA. Additionally, if there are no
Raw TOC Schedules associated to the finished schedule, an advisory will
be created referencing message number 18 and will record: the water
system number, name, tinwsys_is_number, and tinwsys_st_code; the water
system facility state assigned ID and name; the finished TOC schedule's
analyte (and, if the schedule is a hidden schedule, the analyte group
for the group schedule), begin date and d_userid_code of the schedule
and processing will end on the current SSMPA.

The process will treat a MP Average for either analyte code (i.e., 1067
or 1927) as the same. For example, if there are two Raw Alkalinity
Schedules, one referencing Analyte Code 1927 (and therefore having a MP
Average for 1927) and the other for Analyte Code 1067 (and therefore
having a MP Average for 1067), use MP Average for both analytes when
calculating an alkalinity average. If there are no Raw Alkalinity
Schedules associated to the finished schedule, an advisory will be
created referencing message number 19 and will record: the water system
number, name, tinwsys_is_number, and tinwsys_st_code; the water system
facility state assigned ID and name; the raw alkalinity schedule's
analyte (and, if the schedule is a hidden schedule, the analyte group
for the group schedule), begin date and d_userid_code of the schedule
and processing will end for the current SSMPA.

The following checks will occur and actions taken:

> If the Raw TOC MP Average is zero, 1.00 will be recorded as the PARR
> for the MP and the calculation below will not be performed (as you
> cannot divide by zero).
>
> If the number of results for the finished TOC MP Average or raw TOC MP
> Average is zero, 0 will be recorded as the PARR for the MP

Otherwise, the process will calculate the removal ratio by dividing the
"Actual TOC Removal Percentage" by the "Required TOC Removal Percentage"
where the latter is derived from Exhibit 9-10:

  ----------------------------- --------------- ------------- -------------
  **Required TOC Removal in                                   
  Percent**                                                   

  ***Average Raw TOC (mg/l)***  ***Calculated                 
                                Average Raw                   
                                Alkalinity                    
                                (mg/l)***                     

                                ***0 to 60***   ***\>60 to    ***\>120***
                                                120***        

  2.0 to 4.0                    35.0            25.0          15.0

  \> 4.0 to 8.0                 45.0            35.0          25.0

  \> 8.0                        50.0            40.0          30.0
  ----------------------------- --------------- ------------- -------------

[]{#__RefHeading___Toc140485977 .anchor}**Exhibit 9-10.** Required TOC
Removal in Percent

And the "Actual TOC Removal Percentage" is calculated as follows:

(1 - (Finished TOC Average/ Raw TOC Average)) \* 100

The preliminary PARR is equal to the Actual TOC Removal Percentage
divided by the Required TOC Removal Percentage.

If the number of results for the raw Alkalinity MP Average is zero, zero
will be used to determine the "Required TOC Removal in Percent" from the
above table.

After calculating the preliminary PARR, the PARR will be valued as
follows:

> If the preliminary PARR is \> or = 1.00, the PARR will be valued with
> the preliminary PARR
>
> If the preliminary PARR is \< 1.00

If either the Finished TOC MP Average or Raw TOC MP Average is less than
2.0, the PARR will be valued with 1.00

Otherwise (both averages are \> or = 2.00), the PARR will be valued with
the preliminary PARR even if it is a negative number.

Note that this process will create a Monitoring Period Average or
Precursor Achieved Removal Ratios even when there is no result for a
given SSMPA. It will do this so that:

When calculating MCL Values using the running annual average method or
Precursor Achieved Removal Ratios, a value will be calculated for a
monitoring period during which no result was collected; AND

When a result for a monitoring period (e.g., a quarter) is added to the
database late, and the running annual average method applies, the
Calculate MCL Values process will not only know to recalculate the MCL
value or Precursor Achieved Removal Ratios for that monitoring period
but also for any subsequent periods to which that Monitoring Period
Average applies.

The results of these calculations will be stored in entity
MONITORING_PERIOD_AVERAGE (table TMNMPAVG). Where the software
encounters an existing Monitoring Period Average for an SSMPA, it will
check whether its USERID is equal to CDSSETUP. If it is, it will
continue to delete the Monitoring Period Average business attribute
values and then recalculate them to be current. If USERID is other than
CDSSETUP, it will do nothing and move on. (This change will prevent the
Monitoring Period Average from being recalculated if the user has
maintained it from Results Averages Maintenance.)

See Appendix D-9 (Calculate Monitoring Period Averages) for the detailed
specification of the logic of this process.

### Calculate MCL Values

Once *CDS Setup* has calculated the monitoring period averages, it will
next start process *Calculate MCL Values*. This process calculates the
values that need to be compared against MCLs (also used in this context
as the averages basis) to determine whether a Water System Facility is
in compliance with the MCL that is in effect during a given Monitoring
Period as well as for other purposes (e.g., cryptosporidium mean for BIN
determination). (R2004:A.9.2.11.a) MCLs can be stored in one of two
places, either as a Facility Analyte Level of type Max or as an Analyte
Level of type MCL.

An MCL Value whose d_userid_code is other than CDSSETUP will not be
recalculated in this process, so that user-entered MCL Values will not
be overridden when a user has explicitly entered or modified the values
(using the Results Averages Maintenance window).

When calculating MCL Values, this process must know whether to calculate
a running annual average, a monitoring period average, or a schedule
period average (called Schedule Arithmetic Mean and abbreviated as SAM
in what follows) (R2004:A.9.2.11.b). A running annual average will be
calculated when monitoring is more frequent than annual and either: (1)
the MCL is recorded as a FANL or (2) the MCL is recorded as an ALRA and
the mcl_compliance_method is equal to RAA or (3) the analyte is
cryptosporidium. A schedule arithmetic mean (or SAM) is calculated when
the analyte is cryptosporidium (for cryptosporidium, the process
calculates and creates both a RAA and a SAM in two separate records) or
*E. coli.* A SAM is calculated the same way a RAA is calculated except
that it is not limited to a running annual period. Instead, it uses all
MPAs associated to the analyte\'s schedule whether that includes more
than 12 months or not. (R2004:A.9.2.11.c) If neither the criteria for
calculating a RAA or SAM is satisfied, then the MCL Value will be based
on a single Monitoring Period Average. The method used to calculate the
average will be recorded in TMNCMCLV.average_type with RAA, SAM, or MPA.
In addition, the process will value the average_monitoring_period_type
with the type of Monitoring Periods referenced by the average (e.g., 2W,
MN, QT, YR) and the number of the Monitoring Periods used to calculate
the current Average in the Average_Number_Monitoring_Perioods

After calculating an average for cryptosporidium, the process will value
field Bin_Number_Text with the BIN number based on the following table
(R2005:A.9.2.11.d):

+---------------------------------------------------+------------------+
| Cryptosporidium                                   | BIN              |
|                                                   |                  |
| Average                                           | Number           |
+---------------------------------------------------+------------------+
| \>= 3.000                                         | 4                |
+---------------------------------------------------+------------------+
| \>= 1.000 and \< 3.000                            | 3                |
+---------------------------------------------------+------------------+
| \>=0.075 and \< 1.000                             | 2                |
+---------------------------------------------------+------------------+
| \< 0.075                                          | 1                |
+---------------------------------------------------+------------------+

Once the process finishes calculating a Running Annual Average for TThm
(2950) or HAA5 (2456), it will proceed to calculate and store a
Locational Running Annual Average for each Sampling Point referenced by
the results used to calculate the RAA. The LRAA will be stored in a
separate MCL Value record and will reference the same WSF, Monitoring
Period, SSMPA, and Analyte and ALRA as the RAA but additionally will
reference the Sampling Point (R3013:A.9.2.11.e). To calculate a LRAA,
the process will select each compliance value (an earlier process
associates a result to a SSMPA and then records a \"compliance value\"
for the result in table TMNSPSRA -- typically this \"compliance value\"
is based on a single result and thus is equal to the result but if a
confirmation or more than one routine sample is collected at the same
sampling point in the monitoring period, it is an average) **associated
to the RAA**[^22] but associated to a single sampling point (this will
involve multiple monitoring periods when the PWS is on quarterly
monitoring, typically 4 -- the current and the previous three quarterly
periods; however, it will only involve one monitoring period when the
periodicity is annual or triennial). The process multiples each
compliance value times the number of days in the monitoring period, adds
the product of each monitoring period together, divides the sum by the
total number of days for all monitoring periods selected and then rounds
to the same significant digit as the MCL. It then records this LRAA in a
separate MCL Value record and repeats the process for the next Sampling
Point. (Note that if a PWS fails to obtain a TThm or HAA5 result at a
sampling point typically used for TThm/HAA5 monitoring, this process
will not create a LRAA for that sampling point for that monitoring
period. If a valid result is obtained in the next monitoring period, the
process will again create a LRAA for the sampling point.)

This first example is for a PWS collecting 1 sample per quarter, all
collected at the same sampling point.

<table style="width:100%;">
<colgroup>
<col style="width: 10%" />
<col style="width: 4%" />
<col style="width: 6%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 7%" />
<col style="width: 9%" />
<col style="width: 6%" />
<col style="width: 5%" />
</colgroup>
<tbody>
<tr class="odd">
<td><strong>PWS ID</strong></td>
<td><strong>WSF ID</strong></td>
<td><strong>CODE</strong></td>
<td colspan="2"><strong>MCLV MP</strong></td>
<td><strong>SP ID</strong></td>
<td colspan="2"><strong>MPAVG MP</strong></td>
<td><p><strong>MP</strong></p>
<p><strong>TOTAL DAYS</strong></p></td>
<td><strong>SMPL DT</strong></td>
<td><strong>CMP<br />
VAL<br />
TEXT</strong></td>
<td><strong>CMP<br />
VAL<br />
UOM</strong></td>
</tr>
<tr class="even">
<td><mark>NC0100010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>11/15/2005</mark></td>
<td><mark>0.02</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0100010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/14/2005</mark></td>
<td><mark>0.059</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0100010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/07/2005</mark></td>
<td><mark>0.01</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0100010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/10/2005</mark></td>
<td><mark>0.014</mark></td>
<td><mark>MG/L</mark></td>
</tr>
</tbody>
</table>

For this first example, if CDS Setup was processing the MCLV for the 4th
quarter of 2005, it would select the top four records (highlighted) to
calculate a LRAA for Sampling Point MAXRES1 and would calculate as
follows:

LRAA = ((0.02 x 92) + (0.059 x 92) + (0.01 x 91) + (0.014 x 90)) / (92 +
92 + 91 + 90) rounded to the same significant digits as the MCL.

This second example is for a PWS collecting 8 samples per quarter. In
reality, all 8 are collected at different sampling points but, in this
case, the maximum residence samples have been recorded at one SP instead
of two and the average residence samples at one sampling point instead
of 6. As a consequence, the process will calculate LRAAs for two
sampling points.

<table>
<colgroup>
<col style="width: 10%" />
<col style="width: 5%" />
<col style="width: 6%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 10%" />
<col style="width: 9%" />
<col style="width: 9%" />
<col style="width: 7%" />
<col style="width: 9%" />
<col style="width: 5%" />
<col style="width: 5%" />
</colgroup>
<thead>
<tr class="header">
<th><strong>PWS ID</strong></th>
<th><strong>WSF ID</strong></th>
<th><strong>CODE</strong></th>
<th colspan="2"><strong>MCLV MP</strong></th>
<th><strong>SP ID</strong></th>
<th colspan="2"><strong>MPAVG MP</strong></th>
<th><p><strong>MP</strong></p>
<p><strong>TOTAL</strong></p>
<p><strong>DAYS</strong></p></th>
<th><strong>SMPL DT</strong></th>
<th><p><strong>CMP</strong></p>
<p><strong>VAL</strong></p>
<p><strong>TXT</strong></p></th>
<th><p><strong>CMP<br />
VAL</strong></p>
<p><strong>UOM</strong></p></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.048</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.042</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.049</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.081</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.042</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.043</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.05</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.037</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.047</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.043</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.05</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.047</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.043</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.034</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.038</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.028</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.044</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.031</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.026</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.019</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.018</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.021</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.031</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>AVGRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.025</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.058</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>10/19/2005</mark></td>
<td><mark>0.072</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.052</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>07/01/2005</mark></td>
<td><mark>09/30/2005</mark></td>
<td><mark>92</mark></td>
<td><mark>07/13/2005</mark></td>
<td><mark>0.067</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.037</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>04/01/2005</mark></td>
<td><mark>06/30/2005</mark></td>
<td><mark>91</mark></td>
<td><mark>04/20/2005</mark></td>
<td><mark>0.041</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="odd">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.035</mark></td>
<td><mark>MG/L</mark></td>
</tr>
<tr class="even">
<td><mark>NC0113010</mark></td>
<td><mark>D01</mark></td>
<td><mark>2950</mark></td>
<td><mark>10/01/2005</mark></td>
<td><mark>12/31/2005</mark></td>
<td><mark>MAXRES1</mark></td>
<td><mark>01/01/2005</mark></td>
<td><mark>03/31/2005</mark></td>
<td><mark>90</mark></td>
<td><mark>01/19/2005</mark></td>
<td><mark>0.031</mark></td>
<td><mark>MG/L</mark></td>
</tr>
</tbody>
</table>

Assuming the process is on the 4th quarter of 2005, it will first select
the rows highlighted in yellow to calculate a LRAA for AVGRES1. It then
multiplies each Compliance Value x the number of MP Total Days as
before, adds the individual products, and then divides by the sum of
Total Days. Note that since an earlier process did not previously
calculate MP Averages for each Sampling Point, the total days will
exceed the number of days in total annual period -- in this case it will
be six times larger. \[**Developer note:** if it is more simple to first
calculate MP Averages by Sampling Point and then calculate LRAA, the
design can be changed accordingly but would require that the MP Average
table be associated to Sampling Point and that separate MP Average
records be calculated and stored for each sampling point. An additional
attribute could be added to MP Average to distinguish between MP
Averages for WSF and MP Averages for Sampling Points but these can be
distinguish by the absence or presents of an associated Sampling Point
as well.\]

After calculating the LRAA for AVGRES1, it will next select the rows
highlighted in blue and use them to calculate a LRAA for MAXRES1.

If a PWS fails to collect a sample in one or more of the monitoring
periods needed to calculate a LRAA, the above approach will work fine
because there will not be a Compliance Value for the missed quarter and
so it will not be used. For example, in the first example, if the PWS
failed to collect a sample in the second quarter of 2005, the LRAA would
be calculated as follows:

LRAA = ((0.02 x 92) + (0.059 x 92) + (0.014 x 90)) / (92 + 92 + 90)
rounded to the same significant digits as the MCL.

(R3013:A.9.2.11.f)

The mcl_compliance_method field will be pre-populated in the TMNALRA
table in accordance with the NPDWR when users receive SDWIS/STATE for
the first time. Right now, the only non-microbiological analytes for
which Monitoring Period Average is expected to be calculated, when on
quarterly or more frequent monitoring, are nitrate (Analyte Code 1040),
nitrite (Analyte Code 1041), and nitrate combined with nitrite (Analyte
Code 1038). Each time process *Calculate Monitoring Period Averages*
creates a record, it will also store MCL compliance method with the
monitoring_period_average to improve the performance of process
*Calculate MCL Values* When a FANL is listed as the basis for averages,
the Calculate Monitoring Period Averages will populate this field with
running annual average (RAA).

When either an ALRA or FANL is the basis for the average, the process
will, at the end of its calculation, round to the number of significant
digits indicated by the value in the ALRA or FANL, respectively (using
the value stored as a text). If neither FANL nor ALRA exists and the
schedule is for analyte 2920, 1927, 1067 or 1004, the process will round
to the appropriate number of significant figures as outlined in section
9.2.6. For cryptosporidium, the process will round to the nearest
thousandths (e.g., 1.050). For *E. coli*, the process will round to same
significant digits as the FANL x SCR. If there is not a FANL x SCR, then
it will round the *E. coli* to the nearest integer (e.g., 1, 2, 8, 12,
etc.)[^23] (R2004:A.9.2.11.g)

As part of the calculation, the process will convert each Monitoring
Period Average (but not change the recorded MP Average) to the same UOM
as the MCL or FANL being used or to MG/L if neither an MCL nor a FANL is
being used and the schedule is for analyte 2920, 1927, 1067 or 1004 (no
conversion is necessary for cryptosporidium or *E. coli*).
(R2004:A.9.2.11.h) If the value cannot be converted because of the UOM,
the software will create a *CDS Setup* Advisory, referencing message
number 20 and will record the water system number, name,
tinwsys_is_number, and tinwsys_st_code of the water system record; the
state_asgn_id and name of the water system facility record; the sampling
point identification_CD and description_text; and the analyte for the
MCL Value and the monitoring period begin and end dates.

If the Monitoring Period Average being processed is associated to a
finished TOC schedule, additional processing will occur. For these, the
process will arithmetically average the Precursor Achieved Removal Ratio
(the ones stored with the Monitoring Period Averages whose Number of
Results used field value \> 0 in the new PRC_ACH_RMVL_RA_NO field) for
the same schedule and store in both the PRC_ACH_RMVL_RA_NO and the
PRC_ACH_RMVL_RA_TX (both new fields in the MCL Value table). Arithmetic
averages will be calculated as follows:

Σ (TMNMPAVG.PRC_ACH_RMVL_RA_NO \* TOTAL_DAYS) / Σ TOTAL_DAYS

(Text below was formerly in section 9.2.12 which is why the A references
are to 9.12 but the B references are to 9.11)

MCL and precursor removal violations will then be determined as soon as
the MCL Value and Precursor Removal Ratio, if applicable, has been
calculated, so that compliance officers will know as soon as possible
when an MCL violation has occurred, rather than having to remember to
run a compliance report. If a candidate level violation is determined,
this process will do two things: first, a CDS Candidate Violation will
be created; and second, a *CDS Setup* advisory will be created.

When an MCL/PARR TT violation is determined, this process then will
create records in four CDS reporting entities. The user can review the
records and determine the appropriate course of action using the
*Migrate CDS Candidate Violations to SDWIS/STATE Violation Table*
function. Possible courses of action include ordering confirmation
samples, contacting the water system owner to confirm the operating
status of the treatment plant or sources of water involved, issuing a
violation notice, and/or migrating the candidate violation to the
SDWIS/STATE database.

Determining MCL/PARR TT compliance will be somewhat similar in execution
to the Results Alert Report. However, this process will have the
following significant differences:

It will compare calculated MCL Values or Precursor Achieved Removal
Ratios (rather than individual results) against MCLs in entity
ANALYTE_LEVEL_RULE_ASGMT (table TMNALRA) or in entity
FACILITY_ANALYTE_LEVEL (table TSAFANL) (MCLs will be stored as Control
Level Type MAX) or against FANL-MIN (in the case of Precursor Achieved
Removal Ratios).

It will only compare against MCLs (stored as either ALRA or FANL
records) or FANL-MIN (only for Precursor Achieved Removal Ratios)
whereas the Result Alert Report will allow the user to select one or
many threshold levels.

It will create candidate MCL violations in entity
CDS_CANDIDATE_VIOLATION (the Results Alert Report does not). It will
specify within the candidate CDS violation:

> \- The Analyte Code for the analyte related to the Calculated MCL
> Value that exceeds the MCL (located either in entity
> ANALYTE_LEVEL_RULE_ASGMT (table TMNALRA) or FACILITY_ANALYTE_LEVEL
> (table TMNFANL).
>
> \- The violation type ('01' or '02' when ALRA is used and the level
> violation type referenced by the FANL when a FANL or FANL-MIN is
> used).
>
> \- 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_dateand 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 and in some cases violation
> type/analyte combination as recorded in table VIOLATION_PERIOD_RULE
> (TMNVPRDR). The rules will be applied to the analyte recorded in the
> MCL Value, the dates in the begin and end dates of the monitoring
> period associated to the MCL Value and Violation Type 02. For example,
> for violation type of 02, analyte code of 1011, the monitoring period
> may be the monthly period of 02/01/2005 and 02/28/2005. The guideline
> for federal reporting of this violation says the violation period
> should be the calendar quarter. Applying the rule to the state periods
> would set the federal periods to be 01/01/2005 and 3/31/2005.

Determining MCL/PARR TT compliance will involve two distinct action
blocks as follows:

Chemical/Radionuclide MCL and DBP Precursor Compliance Determination.

Create Candidate CDS Violations.

The process continues by comparing the MCL Value against the indicated
MCL (ALRA or FANL) that was in effect on the first day of the monitoring
period referenced by the MCL Value for the analyte referenced by the MCL
Value (through the SSMPA) and, for a FANL, the water system facility
referenced by the MCL Value (via the Sample Schedule).

If the MCL Value is greater than the MCL (in either table TMNALRA or
table TMNFANL), the process will:

> \- Delete any existing CDS Candidate Violations that are based on the
> same MCL Value and then Create a Candidate Violation. Note in this
> step, the process should delete either a 01 or 02 candidate violation
> if one exists for the same water system facility, analyte and
> monitoring period (in some cases, the newly determined candidate MCL
> violation will be of type 02 because two or more results were used to
> calculate the MCL Value but the pre-existing candidate violation would
> be of type 01 because a single result was used to calculate its MCL
> Value.) (R0088:A.9.2.11.i)

If a FANL is used for comparison, the created candidate violation will
be the violation type associated to the FANL as the level violation
type.

> \- If there is not a violation type associated to the FANL, the
> software will create a *CDS Setup* Advisory, referencing message
> number 38 and will record the water system number, name,
> tinwsys_is_number, and tinwsys_st_code of the water system record; the
> state_asgn_id and name of the water system facility record; and the
> analyte for the FANL and monitoring period of the MCL value.
>
> \- If the violation type associated to the FANL is 01 or 02 the
> software will reference the number_of_results, if it is 1 the
> candidate violation will be type 01, if it is \>1 the candidate
> violation will be 02.

If an ALRA is used for comparison, the process will pass a Candidate MCL
Violation (type '01' if the number_of_results_used is 1 or type '02' if
\> 1) to the **Create Candidate Violation** action block. The Create
Candidate Violation action block will value the Data Origin Code based
on the Government Agency Type Code of the primacy agency. (If primacy
agency type is ST, the software will set Data Origin Code to "S." If
primacy agency type is RG, the software will set Data Origin Code to
"R").

> \- Create a *CDS Setup* advisory referencing message number 25 and
> recording the water system number, name, federal PWS type code,
> federal primary source code, population, tinwsys_is_number, and
> tinwsys_st_code of the water system record; the state_asgn_id and name
> of the water system facility record; and the analyte, violation type,
> federal begin date and federal end date of the candidate violation.
>
> \- For the first candidate MCL violation determined, create a record
> in the CDS Report Log, populating the following attributes as
> indicated in Exhibit 9-11:
>
> \- For other candidate MCL violations determined in the same run of
> *CDS Setup*, associate them to the CDS Report Log record created when
> the first candidate MCL violation was determined.

  ----------------------------- -----------------------------------------
  **Attribute**                 **Value**

  REPORT_RUN_TS                 current timestamp

  REPORT_RUN_USERID             CDSSETUP

  REPORT_TYPE                   MCL

  TCDSRLOG_IS_NUMBER            One up

  TCDSRLOG_ST_CODE              State/EPA Region Code
  ----------------------------- -----------------------------------------

[]{#__RefHeading___Toc140485978 .anchor}**Exhibit 9-11.** Attributes
Populated in CDS Report Log for a Candidate MCL Violation

In addition to creating a candidate MCL violation, this process will
determine whether a matching MCL violation with a status of preliminary,
validated or rejected. If one is found, CDS Setup will create a *CDS
Setup Advisory* referencing message number 57 and recording the water
system number, name, federal PWS type code, federal primary source code,
population, tinwsys_is_number, and tinwsys_st_code of the water system
record; the state_asgn_id and name of the water system facility record;
and the analyte, violation type, begin date and end date of the existing
violation (the one in the TMNVIOL table). Matching, in this context,
means for the same water system facility, analyte and monitoring period
and violation type 01 or 02, if the candidate is either a 01 or 02
(i.e., if the candidate is a 02, either an existing 01 or 02 would
generate an advisory and if the candidate is a 01, either an existing 01
or 02 would generate an advisory). If the candidate violation is other
than a 01 or 02 (that is to say, the candidate level violation is
created using the level type violation type associate to the FANL and it
is not a 01 or 02), then the violation type must also be an exact match.
(R0088:A.9.2.11.j)

See Appendix D-10 (Calculate MCL Values) for the detailed specification
of the logic of this process.

### Reassess Chemical/Radionuclide MCL and Precursor Removal Candidate Violations

This process reviews Candidate Violations that were assessed in previous
runs of CDS Setup that were not yet migrated by a user to check whether
circumstances have changed, i.e. new results come in or existing results
have been modified, such that the Candidate Violation is no longer
applicable and may be rescinded.

For each Candidate Violation whose parent CDS Report Log Report Type =
"MCL" and CDS Report Log Report_Run_TS is less than the last time this
process was run, the process will retrieve the MCL Value record for the
same sample schedule and monitoring period as the Candidate Violation
and then determine:

> If it is a PARR TT Candidate Violation, in which case the averages
> basis is retrieved, in this case the FANL-Min in effect during that
> monitoring period, and is compared to the PARR stored in the MCL Value
> record. If the PARR is now greater than or equal to the FANL-Min, the
> Candidate Violation no longer applies and is deleted from the
> Candidate Violation table. The process will also create a *CDS Setup*
> Advisory referencing message number 23 and recording the water system
> number, name, federal PWS type code, federal primary source code,
> population, tinwsys_is_number, and tinwsys_st_code of the water system
> record; the state_asgn_id and name of the water system facility
> record; and the analyte, violation type, begin date and end date of
> the candidate violation.
>
> If it is an MCL Candidate Violation, in which case the averages basis
> is retrieved, in this case the FANL-Max or MCL in effect during that
> monitoring period, and is compared to the running annual average
> stored in the MCL Value record. If the running annual average is now
> less than or equal to the MCL, the Candidate Violation no longer
> applies and is deleted from the Candidate Violation table. (Note in
> this case, the existing candidate violation may be a type 01 or 02. In
> either case, it should be deleted. That is to say, often it is a
> confirmation sample that, when averaged with a single original
> routine, causes the MCL Value to no longer exceed the MCL. If the
> routine result is the first, the candidate violation to be deleted
> would be a 01 type. Of course, it would be for the same water system
> facility, analyte, and monitoring period.) (R0088:A.9.2.12.a) The
> process will also create a *CDS Setup* Advisory referencing message
> number 23 and recording the water system number, name, federal PWS
> type code, federal primary source code, population, tinwsys_is_number,
> and tinwsys_st_code of the water system record; the state_asgn_id and
> name of the water system facility record; and the analyte, violation
> type, begin date and end date of the candidate violation.

### Assess Sample Schedule Monitoring 

Process *Assess Sample Schedule Monitoring* will support two CDS
Reports: Possible Increased Monitoring Assessment Report and Possible
Decreased Monitoring Assessment Report. This process will categorize
sample schedules as:

Candidates to be changed to more frequent monitoring.

Candidates to be changed to less frequent monitoring.

Candidates to replace indicator monitoring with monitoring for the
principal contaminant (e.g., replace *E. coli* monitoring with
cryptosporidium monitoring). (R2002:A.9.2.13.a)

Candidates where monitoring should not change.

Schedules for which an assessment is not possible because appropriate
trigger levels for the analyte do not exist in the database.

This process will categorize each non-TCR schedule as one of the above
based on the data that exists at the time *CDS Setup* runs. When any of
the data that affect the categorization of a schedule are changed (e.g.,
a new sample result, new trigger level, a changed result that no longer
exceeds the trigger level, a new/changed RCB trigger, etc.) and the
schedule is not marked as one that is not to be reevaluated (user
enterable, permitted value), the new or changed data may cause process
*Assess Sample Schedule Monitoring* to change the category of a schedule
the next time *CDS Setup* runs.

To categorize Sample Schedules, entity SAMPLE_SCHEDULES has an attribute
called MONITORING_ASSESSMENT_FLAG (alphanumeric, 1, optional). The
permitted values for this attribute will be:

> Space Sample Schedule has never been assessed by the Sample Schedule
> Monitoring Assessment Process. This will be the value for newly
> created Sample Schedules and all Sample Schedules prior to the first
> time *CDS Setup* is run.
>
> N Sample Schedule cannot be assessed because no RCB, TRL, MCL, RMDL
> and/or ACL is defined for the analyte referenced by the Sample
> Schedule.
>
> S Sample Schedule has been evaluated and does not qualify as a
> candidate for either increased or decreased monitoring.
>
> I Sample schedule was evaluated and was determined to be a candidate
> for increased monitoring.
>
> I6 Sample schedule was evaluated and was determined to be a candidate
> to be increased to a once every 6 years monitoring frequency.
>
> I3 Sample schedule was evaluated and was determined to be a candidate
> to be increased to a once every 3 years monitoring frequency.
>
> P Sample schedule was evaluated and was determined to be a candidate
> to switch from indicator monitoring to principal contaminant
> monitoring (e.g., *E. coli* monitoring to cryptosporidium monitoring
> under LT2). (R2002:A.9.2.13.b)
>
> D Sample schedule was evaluated and was determined to be a candidate
> for decreased monitoring with an unspecified frequency.
>
> D9 Sample schedule was evaluated and was determined to be a candidate
> to be decreased to a once every 9 years monitoring frequency.
>
> D6 Sample schedule was evaluated and was determined to be a candidate
> to be decreased to a once every 6 years monitoring frequency.
>
> D3 Sample schedule was evaluated and was determined to be a candidate
> to be decreased to a once every 3 years monitoring frequency.
>
> A Schedule has been assessed and is a candidate for
> increased/decreased monitoring, but the user has elected for it not to
> show on future reports. If any circumstances change that trigger
> reassessment (i.e., modified results, sample schedules, or monitoring
> periods), the schedule will be reassessed the next time *CDS Setup* is
> run.
>
> X Schedule has been assessed and user has elected for it not to show
> on future reports. If the user has marked the Schedule\'s Monitoring
> Assessment Flag with X, the schedule will not be reassessed when *CDS
> Setup* executes.

Note that the only candidate schedules for increased monitoring that
this process will not identify are those where a Sampling Point should
be scheduled to monitor for vinyl chloride because a related volatile
organic chemical was detected. Assessing the need to increase/decrease
monitoring for vinyl chloride cannot be handled in this process because
it is possible that no schedule exists for this analyte. Assessing the
need to increase/decrease monitoring for vinyl chloride will have to be
done as part of the Possible Increased Monitoring Assessment Report.

This process also evaluates:

If the user has marked the schedule so that it should not be reassessed
once it has been assessed.

If the schedule has already been assessed by the process to improve
performance.

The need to assess increased/decreased scheduling based on the Running
Annual Average (RAA) (stored in entity MCL_VALUE (table TMNCMCLV)) for
source water TOC, finished water TOC, and source water Bromide.

\- Changes to source water TOC RAA levels indicate the need to evaluate
or reevaluate a sample schedule for TTHM/HAA.

\- Changes to finished water TOC RAA levels indicate the need to
evaluate or reevaluate a sample schedule for DBP precursors.

> \- Changes to source water Bromide RAA levels indicate the need to
> evaluate or re-evaluate a sample schedule for Bromate.

The term "Subpart H" is used in Appendix D-12 (Assess Sample Schedule
Monitoring). Subpart H water systems were first described in the first
Surface Water Treatment Rule as systems using surface water (SW) or
groundwater under the influence of surface water (GUI). Since the SWTR
is in Subpart H of the CFR, they have since been called Subpart H water
systems and are even referred to as such in subsequent rules. For the
DBP Stages 1 and 2, the rules apply to seller or purchaser water
systems. When using the term Subpart H, this document refers to either
seller or purchaser water supplies. When referring to a water system
that may be either a seller or purchaser, Subpart H means those water
systems where D_FED_PRIM_SRC_CD= "SW" or "SWP" or "GU" or "GUP."

Exhibits 9-7, 9-8, and Appendix D-12 (Assess Sample Schedule Monitoring)
provide the criteria that will be used to mark a Sample Schedule as a
candidate for increased or decreased monitoring.

+-----------+------+---------+--------------+-------------------------+
| []{#      |      |         |              |                         |
| __RefHead |      |         |              |                         |
| ing___Toc |      |         |              |                         |
| 140485979 |      |         |              |                         |
| .anchor}  |      |         |              |                         |
| **Exhibit |      |         |              |                         |
| 9-12.**   |      |         |              |                         |
| Criteria  |      |         |              |                         |
| for       |      |         |              |                         |
| Non-TCR   |      |         |              |                         |
| Sample    |      |         |              |                         |
| Schedule  |      |         |              |                         |
| Increased |      |         |              |                         |
| M         |      |         |              |                         |
| onitoring |      |         |              |                         |
+===========+======+=========+==============+=========================+
| **Analyte | **P  | **Cha   | **P          | **Monitoring Results**  |
| R         | WS** | racteri | eriodicity** |                         |
| eferenced |      | stic(s) |              |                         |
| by        | **Ty | of      | **of         |                         |
| S         | pe** | WSF**   | Current**    |                         |
| chedule** |      |         |              |                         |
|           |      |         | **Schedule** |                         |
+-----------+------+---------+--------------+-------------------------+
| IOC       | Any[ | No      | \> Quarterly | Routine result \> TRL   |
| except    | ^24] | c       | (e.g.,       | for Analyte. If no TRL, |
| Nitrate   |      | urrent, | annual,      | then \> MCL.            |
| and       |      | RCB     | triennial,   |                         |
| Nitrite   |      | level   | once every 9 |                         |
|           |      | in      | yrs)         |                         |
|           |      | effect  |              |                         |
+-----------+------+---------+--------------+-------------------------+
| Nitrate   | CWS  | No      | \> Quarterly | Routine result \>= TRL  |
|           | or   | c       | (e.g.,       | for Nitrate. If no TRL, |
|           |      | urrent, | annual,      | then \>= 50 % of MCL.   |
|           | NTNC | RCB     | triennial,   |                         |
|           |      | level   | once every 9 |                         |
|           |      | in      | yrs, one     |                         |
|           |      | effect  | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| Nitrate   | NC   | No      | \> Quarterly | Routine result \> MCL.  |
|           | or   | c       | (e.g.,       |                         |
|           | NP   | urrent, | annual,      |                         |
|           |      | RCB     | triennial,   |                         |
|           |      | level   | once every 9 |                         |
|           |      | in      | yrs, one     |                         |
|           |      | effect  | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| Nitrite   | Any  | No      | \> Quarterly | Routine result \>= TRL  |
|           |      | c       | (e.g.,       | for Nitrite. If no TRL, |
|           |      | urrent, | annual,      | then \>= 50 % of MCL.   |
|           |      | RCB     | triennial,   |                         |
|           |      | level   | once every 9 |                         |
|           |      | in      | yrs, one     |                         |
|           |      | effect  | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| Volatile  | Any  | No      | \> Quarterly | Routine result \> TRL   |
| Organic   |      | c       | (e.g.,       |                         |
| Chemicals |      | urrent, | annual,      | (SDWIS/STATE Team to    |
| \[14      |      | RCB     | triennial,   | pre-populate from       |
| 1.61(a)\] |      | level   | once every 9 | NPDWR)                  |
|           |      | in      | yrs, one     |                         |
|           |      | effect  | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| Synthetic | Any  | No      | \> Quarterly | Routine result \> TRL   |
| Organic   |      | c       | (e.g.,       |                         |
| Chemicals |      | urrent, | annual,      | (SDWIS/STATE Team to    |
|           |      | RCB     | triennial,   | pre-populate TRLs from  |
|           |      | level   | once every 9 | NPDWR)                  |
|           |      | in      | yrs, one     |                         |
|           |      | effect  | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| IOC, VOC  | Any  | Current | \> Quarterly | Routine result \> RCB   |
| or SOC    |      | RCB     | (e.g.,       | (recorded as a FANL for |
|           |      | level   | annual,      | the same Water System   |
|           |      | in      | triennial,   | Facility as the result  |
|           |      | effect  | once every 9 | and schedule)           |
|           |      |         | yrs, one     |                         |
|           |      |         | time)        |                         |
+-----------+------+---------+--------------+-------------------------+
| Lead or   | Any  | Any     | \>           | \> Either Action Level  |
| Copper    |      |         | Semiannually |                         |
+-----------+------+---------+--------------+-------------------------+
| Chlorite  | Any  | Any     | Quarterly,   | Any chlorite sample \>  |
|           |      |         | Set of 3     | 1.0 mg/l during current |
|           |      |         |              | or last quarter         |
+-----------+------+---------+--------------+-------------------------+
| TTHM /    | Any  | All     | less         | RAA TTHM \>0.080 mg/l   |
| HAA       |      | Types   | frequent     | or RAA HAA\> 0.060 mg/l |
|           |      |         | than 4 per   |                         |
| (R3011)   |      |         | quarter:     |                         |
|           |      |         |              |                         |
|           |      |         | (e.g., 1/QT, |                         |
|           |      |         | x/YR, x/3Y,  |                         |
|           |      |         | x/9Y)        |                         |
+-----------+------+---------+--------------+-------------------------+
|           | An   | Fed     | Quarterly, 1 | RAA TTHM \>0.060 mg/l   |
|           | y\>= | Prim    | sample / qtr | or RAA HAA\> 0.045 mg/l |
|           |      | Src Cd  |              | or RAA Source Water TOC |
|           | 10   | = SW,   |              | \> 4.0 mg/l             |
|           | ,000 | SWP,    |              |                         |
|           |      | GU, or  |              |                         |
|           |      | GUP     |              |                         |
+-----------+------+---------+--------------+-------------------------+
|           | Any  | Fed     | \> Quarterly | RAA TTHM \>0.060 mg/l   |
|           |      | Prim    | (i.e.,       | or RAA HAA\> 0.045 mg/l |
|           | \>=  | Src Cd  | annual,      | or RAA Source Water TOC |
|           |      | = SW,   | triennial,   | \> 4.0 mg/l             |
|           | 500  | SWP,    | once every 9 |                         |
|           |      | GU, or  | years)       |                         |
|           |      | GUP     |              |                         |
+-----------+------+---------+--------------+-------------------------+
|           | Any  | Fed     | \> Quarterly | RAA TTHM \>0.060 mg/l   |
|           |      | Prim    | (i.e.,       | or RAA HAA\> 0.045 mg/l |
|           | \>=  | Src Cd  | annual,      |                         |
|           |      | = GW or | triennial,   |                         |
|           | 10   | GWP     | once every 9 |                         |
|           | ,000 |         | years)       |                         |
+-----------+------+---------+--------------+-------------------------+
|           | Any  | Fed     | \> Annual    | RAA TTHM \>0.060 mg/l   |
|           |      | Prim    | (i.e.,       | or RAA HAA\> 0.045 mg/l |
|           | \<   | Src Cd  | triennial,   |                         |
|           |      | = GW or | once every 9 |                         |
|           | 10   | GWP     | years)       |                         |
|           | ,000 |         |              |                         |
+-----------+------+---------+--------------+-------------------------+
|           | Any  | Fed     | Annual       | RAA TTHM \>0.080 mg/l   |
|           |      | Prim    |              | or RAA HAA\> 0.060 mg/l |
|           | \<   | Src Cd  |              |                         |
|           |      | = GW or |              |                         |
|           | 10   | GWP     |              |                         |
|           | ,000 |         |              |                         |
+-----------+------+---------+--------------+-------------------------+
| Bromate   | Any  | Any     | Quarterly    | If End Date of Quarter  |
|           |      |         |              | being evaluated is \<=  |
| (R3011:A. |      |         |              | 3/31/2009, then RAA     |
| 9.2.13.c) |      |         |              | Source Water Bromide    |
|           |      |         |              | \>= TRL (note to user,  |
|           |      |         |              | TRL should be set to    |
|           |      |         |              | 0.05 mg/l to be as      |
|           |      |         |              | stringent as EPA)       |
|           |      |         |              |                         |
|           |      |         |              | Else (if End Date of    |
|           |      |         |              | Quarter being analyzed  |
|           |      |         |              | is \>3/31/2009), then   |
|           |      |         |              | RAA Source Water        |
|           |      |         |              | Bromate \> TRL (note to |
|           |      |         |              | users: TRL should be    |
|           |      |         |              | set to 0.0025 mg/l to   |
|           |      |         |              | be at least as          |
|           |      |         |              | stringent as EPA)       |
+-----------+------+---------+--------------+-------------------------+
| TOC/      | Any  | Subpart | Quarterly,   | RAA Treated Water TOC   |
|           |      | H       | Paired       | \>= 2.0                 |
| A         |      |         |              |                         |
| lkalinity |      | (no     |              |                         |
|           |      | c       |              |                         |
|           |      | riteria |              |                         |
|           |      | used)   |              |                         |
+-----------+------+---------+--------------+-------------------------+
| Gross     | Any  | Any     | \> Quarterly | MCL Value either \> MCL |
| alpha     |      |         | (i.e.,       |                         |
| (4000,    |      |         | annual,      |                         |
| 4002, or  |      |         | triennial,   |                         |
| 4109)     |      |         | once every 9 |                         |
| **and**   |      |         | years)       |                         |
| uranium   |      |         |              |                         |
| (4006)    |      |         |              |                         |
|           |      |         |              |                         |
| (These    |      |         |              |                         |
| two will  |      |         |              |                         |
| be        |      |         |              |                         |
| assessed  |      |         |              |                         |
| together) |      |         |              |                         |
+-----------+------+---------+--------------+-------------------------+
| Gross     | Any  | NA      | \> every 3   | MCL Value for either \> |
| alpha     |      |         | years        | ½ MCL                   |
| (4000,    |      |         |              |                         |
| 4002, or  |      |         |              | (These will be marked   |
| 4109)     |      |         |              | I3) (E13725:A.9.2.13.d) |
| **and**   |      |         |              |                         |
| uranium   |      |         |              |                         |
| (4006)    |      |         |              |                         |
+-----------+------+---------+--------------+-------------------------+
| Gross     | Any  | NA      | \> every 6   | MCL Value for either \> |
| alpha     |      |         | years        | RMDL                    |
| (4000,    |      |         |              |                         |
| 4002, or  |      |         |              | (Any identified in the  |
| 4109)     |      |         |              | preceding criteria for  |
| **and**   |      |         |              | gross alpha and uranium |
| uranium   |      |         |              | will be excluded from   |
| (4006)    |      |         |              | this assessment. These  |
|           |      |         |              | will be marked I6)      |
|           |      |         |              | (E13725:A.9.2.13.e)     |
+-----------+------+---------+--------------+-------------------------+
| Radium    | Any  | Any     | \> Quarterly | MCL Value either \> MCL |
| combined  |      |         | (i.e.,       |                         |
| (4010)    |      |         | annual,      |                         |
|           |      |         | triennial,   |                         |
|           |      |         | once every 9 |                         |
|           |      |         | years)       |                         |
+-----------+------+---------+--------------+-------------------------+
| Radium    | Any  | NA      | \> every 3   | MCL Value for either \> |
| combined  |      |         | years        | ½ MCL                   |
| (4010)    |      |         |              |                         |
|           |      |         |              | (These will be marked   |
|           |      |         |              | I3) (E13725:A.9.2.13.f) |
+-----------+------+---------+--------------+-------------------------+
| Radium    | Any  | NA      | \> every 6   | MCL Value for either \> |
| combined  |      |         | years        | RMDL                    |
| (4010)    |      |         |              |                         |
|           |      |         |              | (Any identified in the  |
|           |      |         |              | preceding criteria for  |
|           |      |         |              | radium combine will be  |
|           |      |         |              | excluded from this      |
|           |      |         |              | assessment. These will  |
|           |      |         |              | be marked I6.)          |
|           |      |         |              | (E13725:A.9.2.13.g)     |
+-----------+------+---------+--------------+-------------------------+
| E. Coli   | Any[ | An      | Any          | If RAA for *E.          |
| (3014) or | ^25] | yError: |              | coli*[^26] \> FANL x    |
| any       |      | Re      |              | SCR for matching        |
| analyte   |      | ference |              | analyte.                |
| with a    |      | source  |              |                         |
| SCR type  |      | not     |              | (These will be marked   |
| FANL in   |      | found   |              | P)                      |
| effect    |      |         |              |                         |
|           |      |         |              |                         |
| (R2002:A. |      |         |              |                         |
| 9.2.13.h) |      |         |              |                         |
+-----------+------+---------+--------------+-------------------------+

+-----------------+------+----------+----------+----------------------+
| [               |      |          |          |                      |
| ]{#__RefHeading |      |          |          |                      |
| ___Toc140485980 |      |          |          |                      |
| .a              |      |          |          |                      |
| nchor}**Exhibit |      |          |          |                      |
| 9-13.**         |      |          |          |                      |
| Criteria for    |      |          |          |                      |
| Non-TCR Sample  |      |          |          |                      |
| Schedule        |      |          |          |                      |
| Decreased       |      |          |          |                      |
| Monitoring      |      |          |          |                      |
+=================+======+==========+==========+======================+
| **Analyte       | *    | **Water  | **Perio  | **Monitoring         |
| Referenced by   | *PWS | Type     | dicity** | Results**            |
| Schedule**      | Ty   | Code**   |          |                      |
|                 | pe** |          | **Of     |                      |
|                 |      | **For    | Current  |                      |
|                 |      | the      | Sc       |                      |
|                 |      | WSF**    | hedule** |                      |
+-----------------+------+----------+----------+----------------------+
| Type = OC or    | Any  | SW or GU | Q        | 4 consecutive        |
| IOC             |      |          | uarterly | quarterly results    |
|                 |      |          |          | all \<= MCL.         |
| (except lead,   |      |          |          |                      |
| copper,         |      |          |          |                      |
| nitrate, TThm,  |      |          |          |                      |
| and HAA)        |      |          |          |                      |
+-----------------+------+----------+----------+----------------------+
| Type = OC or    | Any  | GW or    | Q        | 2 consecutive        |
| IOC             |      | blank    | uarterly | quarterly results    |
|                 |      |          |          | all \<= MCL.         |
| (except lead,   |      |          |          |                      |
| copper,         |      |          |          |                      |
| nitrate,        |      |          |          |                      |
| TThm-2950 and   |      |          |          |                      |
| HAA-2435)       |      |          |          |                      |
+-----------------+------+----------+----------+----------------------+
| Nitrate         | CWS, | SW or GU | Q        | 4 consecutive        |
|                 |      |          | uarterly | quarterly results    |
|                 | NTNC |          |          |                      |
|                 |      |          |          | all \< 5.5 mg/L      |
+-----------------+------+----------+----------+----------------------+
| Nitrate         | CWS, | GW or    | Q        | 4 consecutive        |
|                 |      | blank    | uarterly | quarterly results    |
|                 | NTNC |          |          |                      |
|                 |      |          |          | all \<= MCL.         |
+-----------------+------+----------+----------+----------------------+
| Nitrate         | NC   | Any      | Q        | \< MCL.              |
|                 | or   |          | uarterly |                      |
|                 | NP   |          |          |                      |
+-----------------+------+----------+----------+----------------------+
| Type = IOC      | Any  | Any      | Annually | 3 consecutive annual |
|                 |      |          |          | results all \<= MCL. |
| (except         |      |          |          |                      |
| nitrate/lead/   |      |          |          |                      |
|                 |      |          |          |                      |
| copper)         |      |          |          |                      |
+-----------------+------+----------+----------+----------------------+
| Type = OC       | Any  | Any      | Annually | 3 consecutive annual |
|                 |      |          |          | results all less     |
|                 |      |          |          | than detection.      |
+-----------------+------+----------+----------+----------------------+
| Lead or Copper  | Any  | Any      | Semi-    | 2 consecutive 6      |
|                 |      |          | annually | month rounds with    |
| (1022, 1030     |      |          |          | both lead and copper |
| versus PB90,    |      |          |          | 90^th^ % \<= Action  |
| CU90 or 5000)   |      |          |          | Level.               |
+-----------------+------+----------+----------+----------------------+
| Lead or Copper  | Any  | Any      | Annual   | 3 consecutive years  |
|                 |      |          |          | with both lead and   |
|                 |      |          |          | copper 90^th^ % \<=  |
|                 |      |          |          | Action levels        |
|                 |      |          |          | (counting samples    |
|                 |      |          |          | collected under 6    |
|                 |      |          |          | month periodicity).  |
+-----------------+------+----------+----------+----------------------+
| Gross alpha     | Any  | Any      | Q        | All compliance       |
| (4000, 4002, or |      |          | uarterly | values for both      |
| 4109) **and**   |      |          |          | gross alpha and      |
| uranium (4006)  |      |          |          | uranium              |
|                 |      |          |          | schedules[^27] = 0   |
| (These two will |      |          |          | for same two         |
| be assessed     |      |          |          | consecutive quarters |
| together)       |      |          |          | (these will be       |
|                 |      |          |          | marked as candidates |
|                 |      |          |          | for once every 9     |
|                 |      |          |          | year monitoring,     |
|                 |      |          |          | i.e. D9)             |
+-----------------+------+----------+----------+----------------------+
| Gross alpha     | Any  | Any      | Q        | MCL Value for fourth |
| (4000, 4002, or |      |          | uarterly | of four consecutive  |
| 4109) **and**   |      |          |          | quarters for both \< |
| uranium (4006)  |      |          |          | RMDL                 |
|                 |      |          |          |                      |
| (These two will |      |          |          | (These will be       |
| be assessed     |      |          |          | marked as candidates |
| together)       |      |          |          | for once every 9     |
|                 |      |          |          | year monitoring,     |
|                 |      |          |          | i.e., D9)            |
+-----------------+------+----------+----------+----------------------+
| Gross alpha     | Any  | Any      | Q        | MCL Value for fourth |
| (4000, 4002, or |      |          | uarterly | of four consecutive  |
| 4109) **and**   |      |          |          | quarters for both \< |
| uranium (4006)  |      |          |          | ½ MCL                |
|                 |      |          |          |                      |
| (These two will |      |          |          | (Any identified in   |
| be assessed     |      |          |          | the preceding        |
| together)       |      |          |          | criteria for gross   |
|                 |      |          |          | alpha and uranium    |
|                 |      |          |          | will be excluded     |
|                 |      |          |          | from this            |
|                 |      |          |          | assessment. These    |
|                 |      |          |          | will be marked D6)   |
+-----------------+------+----------+----------+----------------------+
| Gross alpha     | Any  | Any      | Q        | MCL Value for fourth |
| (4000, 4002, or |      |          | uarterly | of four consecutive  |
| 4109) **and**   |      |          |          | quarters for both \< |
| uranium (4006)  |      |          |          | MCL                  |
|                 |      |          |          |                      |
| (These two will |      |          |          | (Any identified in   |
| be assessed     |      |          |          | the preceding        |
| together)       |      |          |          | criteria for gross   |
|                 |      |          |          | alpha and uranium    |
|                 |      |          |          | will be excluded     |
|                 |      |          |          | from this            |
|                 |      |          |          | assessment. these    |
|                 |      |          |          | will be marked D3)   |
+-----------------+------+----------+----------+----------------------+
| Radium combined | Any  | Any      | Q        | All compliance       |
| (4010)          |      |          | uarterly | values[^28] = 0 for  |
|                 |      |          |          | two consecutive      |
|                 |      |          |          | quarters (these will |
|                 |      |          |          | be marked as         |
|                 |      |          |          | candidates for once  |
|                 |      |          |          | every 9 year         |
|                 |      |          |          | monitoring, i.e. D9) |
+-----------------+------+----------+----------+----------------------+
| Radium combined | Any  | Any      | Q        | MCL Value for fourth |
| (4010)          |      |          | uarterly | of four consecutive  |
|                 |      |          |          | quarters \< ½ MCL    |
|                 |      |          |          |                      |
|                 |      |          |          | (Any identified in   |
|                 |      |          |          | the preceding        |
|                 |      |          |          | criteria for radium  |
|                 |      |          |          | combine will be      |
|                 |      |          |          | excluded from this   |
|                 |      |          |          | assessment. these    |
|                 |      |          |          | will be marked D6)   |
+-----------------+------+----------+----------+----------------------+
| Radium combined | Any  | Any      | Q        | MCL Value for fourth |
| (4010)          |      |          | uarterly | of four consecutive  |
|                 |      |          |          | quarters \< MCL      |
|                 |      |          |          |                      |
|                 |      |          |          | (Any identified in   |
|                 |      |          |          | the preceding        |
|                 |      |          |          | criteria for radium  |
|                 |      |          |          | combine will be      |
|                 |      |          |          | excluded from this   |
|                 |      |          |          | assessment. these    |
|                 |      |          |          | will be marked D3)   |
+-----------------+------+----------+----------+----------------------+
| Chlorite        | Any  | Any      | Monthly, | Previous 12 months   |
|                 |      |          | Set of 3 | no chlorite \>1.0    |
+-----------------+------+----------+----------+----------------------+
| TTHM / HAA      | Any  | SW, SWP, | Qu       | Results for 4        |
|                 |      | GUP or   | arterly, | consecutive quarters |
| (R3             |      | GU       | 4        | and                  |
| 011:A.9.2.13.i) |      |          | samples  |                      |
|                 |      |          | / qtr    | RAA Source Water TOC |
|                 |      |          |          | \<= 4.0 mg/l and     |
|                 |      |          |          |                      |
|                 |      |          |          | RAA TTHM \<= 0.040   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.030 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      | GW or    | Qu       | Results for 4        |
|                 |      | GWP      | arterly, | consecutive quarters |
|                 |      |          | 4        | and                  |
|                 |      |          | samples  |                      |
|                 |      |          | / qtr    | RAA TTHM \<= 0.040   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.030 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      | SW, SWP, | Qu       | Results for 4        |
|                 |      | GUP or   | arterly, | consecutive quarters |
|                 |      | GU \<    | 1 sample | and RAA Source Water |
|                 |      | 10,000   | / qtr    | TOC \<= 4.0 mg/l and |
|                 |      |          |          | RAA TTHM \<= 0.040   |
|                 |      |          |          | mg/l and RAA HAA \<= |
|                 |      |          |          | 0.030 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      | GW or    | Qu       | Results for 4        |
|                 |      | GWP      | arterly, | consecutive quarters |
|                 |      |          | 1 sample | and                  |
|                 |      | \        | / qtr    |                      |
|                 |      | >=10,000 |          | RAA TTHM \<= 0.040   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.030 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      | GW or    | Annual   | Results for 1 year   |
|                 |      | GWP      |          | and                  |
|                 |      | \<10,000 |          |                      |
|                 |      |          |          | RAA TTHM \<= 0.020   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.015 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      |          |          | Results for 2        |
|                 |      |          |          | consecutive years    |
|                 |      |          |          | and                  |
|                 |      |          |          |                      |
|                 |      |          |          | RAA TTHM \<= 0.040   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.030 mg/l           |
+-----------------+------+----------+----------+----------------------+
|                 |      | GW or    | Q        | Results for 4        |
|                 |      | GWP      | uarterly | consecutive quarters |
|                 |      |          |          | and                  |
|                 |      | \<10,000 |          |                      |
|                 |      |          |          | RAA TTHM \<= 0.060   |
|                 |      |          |          | mg/l and RAA HAA\<=  |
|                 |      |          |          | 0.045 mg/l           |
+-----------------+------+----------+----------+----------------------+
| Bromate         | Any  | Any      | Monthly  | After 12 consecutive |
|                 |      |          |          | months of Source     |
| (R3             |      |          |          | Water monitoring:    |
| 011:A.9.2.13.j) |      |          |          |                      |
|                 |      |          |          | -   If End Date of   |
|                 |      |          |          |     Month being      |
|                 |      |          |          |     evaluated is \<= |
|                 |      |          |          |     3/31/2009, then  |
|                 |      |          |          |     RAA Source Water |
|                 |      |          |          |     Bromide \<TRL    |
|                 |      |          |          |                      |
|                 |      |          |          | -   Else (if End     |
|                 |      |          |          |     Date of Month    |
|                 |      |          |          |     \>3/31/2009,     |
|                 |      |          |          |     then RAA RAA     |
|                 |      |          |          |     B                |
|                 |      |          |          | rom[a]{.underline}te |
|                 |      |          |          |     \<= TRL          |
+-----------------+------+----------+----------+----------------------+
| TOC             | Any  | Subpart  | Monthly, | After 12 consecutive |
|                 |      | H        | Paired   | months of Source     |
|                 |      |          |          | Water Monitoring,    |
|                 |      |          |          | RAA Treated Water    |
|                 |      |          |          | TOC \< 1.0           |
+-----------------+------+----------+----------+----------------------+
|                 |      |          |          | After 24 consecutive |
|                 |      |          |          | months of Source     |
|                 |      |          |          | Water Monitoring,    |
|                 |      |          |          | RAA Treated Water    |
|                 |      |          |          | TOC \< 2.0           |
+-----------------+------+----------+----------+----------------------+

See Appendix D-12 (Assess Sample Schedule Monitoring) for the detailed
specification of the logic of this process.

### Identify High Chlorite and Chlorine Dioxide Results 

A *CDS Setup* process, *Identify High Chlorite and Chlorine Dioxide
Results* will identify new or modified results (Sample Analytical
Results) that exceed either the chlorite MCL or chlorine dioxide MRDL.
These are needed because:

Determining candidate MCL/MRDL violations for these two contaminants is
too complex to fully automate and

Both are associated to acute health effects and so warrant more than the
ad hoc, Results Alert Report.

Three distinct subprocesses support this *CDS Setup* process:

*Clear Previous CDS Exceedence Records* that will clear records from the
Oracle reporting entities if there is a candidate result for the TSASAR
being evaluated.

*Level Exceedence Check* that will check Sample Analytical Result
records for chlorite and chlorine dioxide (stored in table TSASAR)
against the current MCL (chlorite) or MRDL (chlorine dioxide) stored in
entity ANALYTE_LEVEL_RULE_ASGMT (table TMNALRA).

*Create Candidate Exceedences*, that will create records in entities
CDS_CANDIDATE_EXCEEDENCES and CDS_RESULT.

Because of differences, only portions of the above processes from the
Results Alert Report can be used here. For instance, instead of
selecting candidate results based on the Regulating Agency selected,
this process will select records based on the CDS Trigger Timestamp of
Sample Analytical Results for two analytes, chlorite (analyte code 1009)
and chlorine dioxide (analyte code 1008).

#### Clear Previous Candidate Exceedence Records {#clear-previous-candidate-exceedence-records .unnumbered}

The output of the *Identify High Chlorite and Chlorine Dioxide Results*
process will be the creation of candidate exceedence. To avoid creation
of duplicate exceedence records in these reporting entities, this
process will look to see if a result being assessed (i.e., a chlorite or
chlorine dioxide result that has been added or changed since the last
time *CDS Setup* ran) has an equivalent record in entity
CDS_SAMPLE_RESULT (i.e., a CDS result that has the same internal system
number and state code as one selected for evaluation) and that is
associated with a CDS Candidate Exceedence. If so, it will delete it and
its parent CDS Candidate Exceedence record. Doing this will also ensure
the removal of an exceedence that previously met exceedence criteria but
that, due to a changed concentration or unit of measure, no longer
exceeds (in case, for example, a user accidentally enters a result in
mg/l that was reported in ug/l).

#### Chlorite and Chlorine Dioxide Level Exceedence Check {#chlorite-and-chlorine-dioxide-level-exceedence-check .unnumbered}

The *Chlorite and Chlorine Dioxide Level Exceedence Check* subprocess
will be based on the logic used in the *Threshold Level Exceedence
Check* process. It will work very much like two separate runs of the
Threshold Level Exceedence Check against the MCL for chlorite and the
MRDL for chlorine dioxide. However, the selection criteria will be
hard-coded rather than user-entered. The hard-coded criteria are as
follows:

Analyte is equal to chlorite in the first run and equal to chlorine
dioxide in the second run.

It is not limited to a set of water systems (i.e., it is not based on
the selected regulating agency).

The Period of Time (this phrase is used in the Results Alert Report to
define the time criteria selected) is based on the Data Entry Date Range
method with the data entry date range being defined as the time from the
last time the process ran to the current time.

The ALRA record to compare against is the chlorite MCL for chlorite
results and the MRDL for chlorine dioxide for chlorine dioxide results.

Chlorine Dioxide MRDL may have an acute and non-acute violations in the
same month. To enable federal EPA reporting, new violation types must be
created to distinguish the acute and non-acute. Violation type '13' will
be used for acute violations and '11' will be used for non-acute. The
Severity indicator is not adequate for federal EPA to make this
distinction.

Chlorine Dioxide is also required to report to federal EPA the
NUMBER_OF_SAMPLES_MISSING. This field will be added to the
CDS_CANDIDATE_VIOLATION. NUMBER_OF_SAMPLES_REQUIRED will also be added
and should be populated from the MDBP_SUMMARY or FANL, whichever is used
to calculate the exceedence. NUMBER_OF_SAMPLES_MISSING is calculated
from the NUMBER_OF_SAMPLES_REQUIRED less aggregated samples collected.

Chlorine and Chloramine violations must be reported as quarterly even if
the monitoring schedule is not quarterly. This requirement is being
implemented with the value "QT" in the FED_RPT_PERIOD_TYP attribute of
entity VIOLATION_TYPE. When the value of "QT" is present, then the
quarterly begin and end dates should be populated in violation period
begin and end dates respectively of CDS_CANDIDATE_VIOLATION.

Unlike the *Threshold Level Exceedence Check*, however, this process
will only check "for compliance" results. Before checking for level
exceedence, the process will first check to see if there is a current
MCL/MRDL ("current" at this point means the Begin Date of the MCL/MRDL
in entity ANALYTE_LEVEL is equal to or less than (earlier than) the
current date and the End Date is null or is greater than or equal to the
current date). If there is no MCL for chlorite, it will send message
number 29 to the CDS Setup Processing Report. If there is no MRDL for
chlorine dioxide, it will send message number 26 to the CDS Setup
Processing Report.

Next, this process will select results (stored in entity
SAMPLE_ANALYTICAL_RESULTS (table TSASAR)) for chlorine dioxide or
chlorite that have been added or modified since the last time *CDS
Setup* ran and that are "for compliance" results. For each result
identified, the process will first determine whether a candidate
exceedence record has already been created for it or not. If one was
previously created for the selected result (by this process or the
Results Alert Report), it will delete the candidate exceedence record
and its related CDS Reporting data. This will both prevent duplicate
records from existing in the CDS Reporting tables and enable CDS to
remove an exceedence if a changed result no longer exceeds.

#### Create Candidate Exceedence {#create-candidate-exceedence .unnumbered}

Finally, the *Chlorite and Chlorine Dioxide Level Exceedence Check*
process will compare the selected results against the MCL/MRDL. If a
chlorite result exceeds the chlorite MCL or a chlorine dioxide result
exceeds the chlorine dioxide MRDL, it will pass data to the *Create
Candidate Exceedence* process. If the UOM for a result is different than
the UOM for the threshold level and the result is not less than detect
(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 UOM as the
MCL/MRDL using the conversion table in Exhibit 9-14:

  ------------------------- ------------------- -------------------------
  **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___Toc140485981 .anchor}**Exhibit 9-14.** Conversion
Table

If the UOM 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 a message number 27 for
chlorine dioxide or number 30 for chlorite to the CDS Setup Processing
Report identifying the result that could not be converted and stating
that its UOM could not be converted.

If a sample is found that exceeds the level in the ALRA table create a
*CDS Setup* Advisory, referencing message number 28 for chlorine dioxide
and number 31 for chlorite and record the water system number, name,
tinwsys_is_number, and tinwsys_st_code of the water system record; the
state_asgn_id and name of the water system facility record;
identification_cd and description of the sampling point, the sample
collection_date and laboratory_sample_number for the sample and the
analyte for the result.

The detailed design specification for this process is contained in
Appendix D-13 (Chlorite and Chlorine Dioxide Level Exceedence Check).

### Create/Update Chlorine/Chloramine Summaries 

This process creates and updates chlorine and chloramine summaries.
There are three types of chlorine and chloramines summaries: maximum
residual disinfectant level (MRDL), federal distribution system residual
disinfectant (DSRD) and state distribution system residual disinfectant
(SDRD). All three summaries are dependent on a corresponding facility
analyte level (FANL). That is to say, if a corresponding FANL does not
exist, the process will not create or modify a corresponding summary.

This process consists of four sub-processes as follows:

-   Set FANL CDS Trigger Timestamp due to changed TCR schedules

-   Create and Update Chlorine/Chloramine Summaries based on new and
    changed FANLs

-   Create and Update Chlorine/Chloramine Summaries based on new and
    changed field results

-   Update RAA for Chlorine/Chloramine MRDL Summaries based on changed
    MRDL Summaries

Field results for field free chlorine and total chlorine are used in the
second and third process. These results are stored in table TSAMCSMP in
fields ff_chlor_res_msr and fldtot_chl_res_msr. Both are numeric fields
that support true null. The entity name for this table has been changed
to Field Results for SSWr1. It was previously called Microbiological
Sample. Note that this table can contain results for other field
measurements as well and therefore, just because there is a Field Result
record, it does not mean there is a result for either field free or
total chlorine. The following will constitute a result for one or the
other:

when tsamcsmp.ff_chlor_res_msr \> or = 0

or

when tsamcsmp.fldtot_chl_res_msr \> or = 0

There is not a result for either if: (a) there is no Field Result record
or (b) there is a Field Result record but both fields are null.
Therefore, if a user previously entered a result for one or the other
and then subsequently deleted the result, the Field Result record would
still exist but both fields would be null. Likewise, if a user entered
one or more field results for a sample but did not include either field
free chlorine residual (ff_chlor_res_msr) or total chlorine residual
(fldtot_chl_res_msr), the record should be treated as a non-result
relative to chlorine.

Both fields may be valued in a single Field Result record but will only
count as one sample and only one of the two results will be used
depending on the analyte referenced by the FANL that corresponds. See
the specifications below.

This process will create or modify one summary per water system, water
system facility and monitoring period for each of the following kinds of
FANLs:

\- MRDL (Maximum Residual Disinfectant Level)

\- DSRD (a Distribution System minimum Residual Disinfectant FANL) and

\- SDRD (a State Distribution system minimum Residual Disinfectant FANL)

Therefore this process could create/modifying from 0 to 3 summaries per
PWS, WSF and Monitoring Period, depending on whether any or all or some
of the above FANLs are in effect on the first day of the Monitoring
Period to which the field result corresponds.

If the FANL on which the MDBP Summary is being calculated references
chlorine (0999), the field free chlorine result takes precedence over
the total chlorine result. That is to say, if both the field free
chlorine and total chlorine fields are valued, use the field free
chlorine value in the calculation. However, if there is not a field free
chlorine result (i.e., the field is null), then use the total chlorine
result.

If the FANL on which the MDBP Summary is being calculate references
chloramine (1006), the total chlorine result takes precedence over the
field free result. That is to say, if both the field free chlorine and
total chlorine fields are valued, use the total chlorine value in the
calculation. However, if there is not a total chlorine result (i.e., the
field is null), then use the field free chlorine result.

The following criteria will be used to ***select chlorine field results
for creating and modifying MRDL, DSRD, and SDRD Summaries***: a field
free or total chlorine result associated to a routine, for compliance,
sample that is associated to the same WSF as the FANL.

The following fields are to be valued as indicated for the particular
type of summary being created or modified. The MDBP Summary will
reference the FANL on which it is based and will reference the
Monitoring Period determined appropriate for it.

+--------------------+----------------+---+---------------+---------------+
| []{#__RefHead      |                |   |               |               |
| ing___Toc140485982 |                |   |               |               |
| .anchor}**Exhibit  |                |   |               |               |
| 9-15.**            |                |   |               |               |
| Specification for  |                |   |               |               |
| Populating MDBP    |                |   |               |               |
| Summary (TSAMDBPS) |                |   |               |               |
+====================+================+===+===============+===============+
| **Field**          | **MRDL         |   | **DSRD        | **SDRD        |
|                    | Summary**      |   | Summary**     | Summary**     |
+--------------------+----------------+---+---------------+---------------+
| TYPE_CODE_CV       | MRDL           |   | DSRD          | SDRD          |
+--------------------+----------------+---+---------------+---------------+
| REPORTED_DATE      | If creating    |   | If creating   | If creating   |
|                    | the MRDL:      |   | the DSRD:     | the SDRD:     |
|                    |                |   |               |               |
|                    | If the         |   | If the        | If the        |
|                    |                |   |               |               |
|                    | If             |   | If            | If            |
|                    | recalculating  |   | recalculating | recalculating |
|                    | an existing    |   | an existing   | an existing   |
|                    | MRDL, leave as |   | MRDL, leave   | MRDL, leave   |
|                    | is.            |   | as is.        | as is.        |
+--------------------+----------------+---+---------------+---------------+
| SAMPLES_REQUIRED   | Number of      |   |               | The "Days to  |
|                    | total coliform |   |               | monitoring    |
|                    | samples        |   |               | per month" x  |
|                    | indicated by   |   |               | the "Samples  |
|                    | the TCR        |   |               | required per  |
|                    | rou            |   |               | day" x actual |
|                    | tine/temporary |   |               | number of     |
|                    | routine        |   |               | months in the |
|                    | schedule in    |   |               | monitoring    |
|                    | effect on the  |   |               | period (i.e.  |
|                    | Monitoring     |   |               | 3 for QT, 12  |
|                    | Period begin   |   |               | for YR, etc)  |
|                    | date plus the  |   |               | indicated in  |
|                    | "Days to       |   |               | the FANL (MIN |
|                    | monitoring per |   |               | for 0999 or   |
|                    | month" x the   |   |               | 1006)         |
|                    | "Samples       |   |               |               |
|                    | required per   |   |               |               |
|                    | day" x actual  |   |               |               |
|                    | number of      |   |               |               |
|                    | months in the  |   |               |               |
|                    | monitoring     |   |               |               |
|                    | period (i.e. 3 |   |               |               |
|                    | for QT, 12 for |   |               |               |
|                    | YR, etc)       |   |               |               |
|                    | indicated in   |   |               |               |
|                    | the FANL (MAX  |   |               |               |
|                    | for 0999 or    |   |               |               |
|                    | 1006)          |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| SAMPLES_COLLECTED  | Number of      |   |               |               |
|                    | Field Result   |   |               |               |
|                    | records with   |   |               |               |
|                    | either a field |   |               |               |
|                    | free or total  |   |               |               |
|                    | chlorine       |   |               |               |
|                    | result or with |   |               |               |
|                    | both[^29]      |   |               |               |
|                    | collected      |   |               |               |
|                    | during the     |   |               |               |
|                    | monitoring     |   |               |               |
|                    | period         |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MR_COMPLIANCE_IND  | "YES" if       |   |               |               |
|                    | Samples        |   |               |               |
|                    | Col            |   |               |               |
|                    | lected/Samples |   |               |               |
|                    | Required       |   |               |               |
|                    | \>=1.0         |   |               |               |
|                    |                |   |               |               |
|                    | "NMN" if       |   |               |               |
|                    | Samples        |   |               |               |
|                    | Col            |   |               |               |
|                    | lected/Samples |   |               |               |
|                    | Required       |   |               |               |
|                    | \>=0.90 and    |   |               |               |
|                    | \<1.0          |   |               |               |
|                    |                |   |               |               |
|                    | "NMJ" if       |   |               |               |
|                    | Samples        |   |               |               |
|                    | Col            |   |               |               |
|                    | lected/Samples |   |               |               |
|                    | Required       |   |               |               |
|                    | \<0.90         |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| LVL_COMPLIANCE_IND | "N" if RAA \>  |   | "N" if        | "N" if        |
|                    | FANL level     |   | Prcnt         | Prcnt         |
|                    | after rounding |   | _Bynd_Mea_Lvl | _Bynd_Mea_Lvl |
|                    | RAA to same    |   | \> 5.0 for    | \> 5.0 for    |
|                    | significant    |   | this Summary  | this Summary  |
|                    | digits as the  |   | and DSRD      | and SDRD      |
|                    | FANL level.    |   | Summary for   | Summary for   |
|                    |                |   | previous      | previous      |
|                    | Otherwise "Y"  |   | monitoring    | monitoring    |
|                    |                |   | period        | period        |
|                    |                |   |               |               |
|                    |                |   | "Y" otherwise | "Y" otherwise |
+--------------------+----------------+---+---------------+---------------+
| SMPLS_BYND_MEA_LVL | Null           |   | Number of     |               |
|                    |                |   | Field Results |               |
|                    |                |   | \< FANL-MIN   |               |
+--------------------+----------------+---+---------------+---------------+
| PRCNT_BYND_MEA_LVL | Null           |   | (Number of    |               |
|                    |                |   | Field Result  |               |
|                    |                |   | \< FANL-MIN   |               |
|                    |                |   | divided by    |               |
|                    |                |   | Samples       |               |
|                    |                |   | Collected)    |               |
|                    |                |   | times 100     |               |
|                    |                |   | rounded to    |               |
|                    |                |   | one digit     |               |
|                    |                |   | (e.g., 5.6%)  |               |
+--------------------+----------------+---+---------------+---------------+
| PRCNT_BYND_MEA_TXT | Null           |   | Prcnt         |               |
|                    |                |   | _Bynd_Mea_Lvl |               |
|                    |                |   | converted to  |               |
|                    |                |   | text rounded  |               |
|                    |                |   | to one digit  |               |
|                    |                |   | (e.g., 5.6,   |               |
|                    |                |   | 4.0) and      |               |
|                    |                |   | trimmed (so   |               |
|                    |                |   | there are no  |               |
|                    |                |   | spaces in     |               |
|                    |                |   | front of or   |               |
|                    |                |   | behind the    |               |
|                    |                |   | number)       |               |
+--------------------+----------------+---+---------------+---------------+
| HIGHEST_MSR        | Null           |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| HIGHEST_MSR_TXT    | Null           |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MON_PER_AVG_MSR    | Sum of Field   |   | Null          |               |
|                    | Results for    |   |               |               |
|                    | the Monitoring |   |               |               |
|                    | Period divided |   |               |               |
|                    | by Sample      |   |               |               |
|                    | Collected and  |   |               |               |
|                    | rounded to the |   |               |               |
|                    | significant    |   |               |               |
|                    | digits of the  |   |               |               |
|                    | result with    |   |               |               |
|                    | fewest         |   |               |               |
|                    | significant    |   |               |               |
|                    | digits.        |   |               |               |
|                    |                |   |               |               |
|                    | If there is no |   |               |               |
|                    | Field Result   |   |               |               |
|                    | for the        |   |               |               |
|                    | Monitoring     |   |               |               |
|                    | Period, set to |   |               |               |
|                    | zero.          |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MON_PER_AVG_MSR_TX | M              |   | Null          |               |
|                    | on_Per_Avg_Msr |   |               |               |
|                    | converted to a |   |               |               |
|                    | text, rounded  |   |               |               |
|                    | to the         |   |               |               |
|                    | significant    |   |               |               |
|                    | digits of the  |   |               |               |
|                    | result with    |   |               |               |
|                    | fewest         |   |               |               |
|                    | significant    |   |               |               |
|                    | digits and     |   |               |               |
|                    | trimmed        |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MPA_UOM_CODE       | MG/L           |   | Null          |               |
+--------------------+----------------+---+---------------+---------------+
| RUN_ANL_AVG_MSR    | Sum of Mon Per |   | Null          |               |
|                    | Avg Msr for    |   |               |               |
|                    | this           |   |               |               |
|                    | Monitoring     |   |               |               |
|                    | Period and     |   |               |               |
|                    | other MRDL     |   |               |               |
|                    | Summaries for  |   |               |               |
|                    | same WS and    |   |               |               |
|                    | WSF where      |   |               |               |
|                    | Monitoring     |   |               |               |
|                    | Period Begin   |   |               |               |
|                    | Date is        |   |               |               |
|                    | between this   |   |               |               |
|                    | Summary's MP   |   |               |               |
|                    | End Date and   |   |               |               |
|                    | One Year less  |   |               |               |
|                    | one day before |   |               |               |
|                    | it divided by  |   |               |               |
|                    | the sum of the |   |               |               |
|                    | mpa_total_days |   |               |               |
|                    | and rounded to |   |               |               |
|                    | the same       |   |               |               |
|                    | significant    |   |               |               |
|                    | digits as the  |   |               |               |
|                    | FANL-MAX.[^30] |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| RUN_ANL_AVG_MSR_TX | R              |   | Null          |               |
|                    | UN_ANL_AVG_MSR |   |               |               |
|                    | converted to a |   |               |               |
|                    | text, rounded  |   |               |               |
|                    | to the         |   |               |               |
|                    | significant    |   |               |               |
|                    | digits as the  |   |               |               |
|                    | FANL-MAX and   |   |               |               |
|                    | trimmed        |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| RAA_UOM_CODE       | MG/L           |   | Null          |               |
+--------------------+----------------+---+---------------+---------------+
| MPA_APP_BEG_DAT    | Begin Date of  |   | Null          |               |
|                    | the Monitoring |   |               |               |
|                    | Period         |   |               |               |
|                    | associated to  |   |               |               |
|                    | the Summary    |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MPA_APP_END_DAT    | End Date of    |   | Null          |               |
|                    | the Monitoring |   |               |               |
|                    | Period         |   |               |               |
|                    | associated to  |   |               |               |
|                    | the Summary    |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| MPA_TOTAL_DAYS     | If there is no |   | Null          |               |
|                    | Field Result   |   |               |               |
|                    | for the        |   |               |               |
|                    | Monitoring     |   |               |               |
|                    | Period, set to |   |               |               |
|                    | zero.          |   |               |               |
|                    |                |   |               |               |
|                    | Otherwise      |   |               |               |
|                    | number of days |   |               |               |
|                    | from MP Begin  |   |               |               |
|                    | Date to MP End |   |               |               |
|                    | Date (e.g., 31 |   |               |               |
|                    | for Jan, Mar,  |   |               |               |
|                    | 28/29 for Feb, |   |               |               |
|                    | 90/91 for 1st  |   |               |               |
|                    | calendar       |   |               |               |
|                    | quarter)       |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| D                  | If creating    |   |               |               |
| _INITIAL_TIMESTAMP | the Summary,   |   |               |               |
|                    | the current    |   |               |               |
|                    | date and time. |   |               |               |
|                    |                |   |               |               |
|                    | Do not change  |   |               |               |
|                    | for an         |   |               |               |
|                    | existing       |   |               |               |
|                    | record.        |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| D_INITIAL_USER_CD  | If creating,   |   |               |               |
|                    | set to         |   |               |               |
|                    | "CDSSETUP"     |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| D_LAST_UPDT_TS     | The current    |   |               |               |
|                    | date and time. |   |               |               |
+--------------------+----------------+---+---------------+---------------+
| D_USERID_CODE      | If the record  | I |               |               |
|                    | is created or  | f |               |               |
|                    | modified by    | t |               |               |
|                    | CDS Setup, set | h |               |               |
|                    | to "CDSSETUP"  | e |               |               |
|                    |                | r |               |               |
|                    | Note that even | e |               |               |
|                    | if not equal   | c |               |               |
|                    | to CDS Setup,  | o |               |               |
|                    | CDS Setup can  | r |               |               |
|                    | update the RAA | d |               |               |
|                    | fields for a   | i |               |               |
|                    | MRDL Summary.  | s |               |               |
|                    |                | c |               |               |
|                    |                | r |               |               |
|                    |                | e |               |               |
|                    |                | a |               |               |
|                    |                | t |               |               |
|                    |                | e |               |               |
|                    |                | d |               |               |
|                    |                | o |               |               |
|                    |                | r |               |               |
|                    |                | m |               |               |
|                    |                | o |               |               |
|                    |                | d |               |               |
|                    |                | i |               |               |
|                    |                | f |               |               |
|                    |                | i |               |               |
|                    |                | e |               |               |
|                    |                | d |               |               |
|                    |                | b |               |               |
|                    |                | y |               |               |
|                    |                | C |               |               |
|                    |                | D |               |               |
|                    |                | S |               |               |
|                    |                | S |               |               |
|                    |                | e |               |               |
|                    |                | t |               |               |
|                    |                | u |               |               |
|                    |                | p |               |               |
|                    |                | , |               |               |
|                    |                | s |               |               |
|                    |                | e |               |               |
|                    |                | t |               |               |
|                    |                | t |               |               |
|                    |                | o |               |               |
|                    |                | " |               |               |
|                    |                | C |               |               |
|                    |                | D |               |               |
|                    |                | S |               |               |
|                    |                | S |               |               |
|                    |                | E |               |               |
|                    |                | T |               |               |
|                    |                | U |               |               |
|                    |                | P |               |               |
|                    |                | " |               |               |
+--------------------+----------------+---+---------------+---------------+

**Set FANL CDS Trigger Timestamps due to changed TCR schedules**

This process identifies TCR schedules that have been added of changed
since the last time CDS Setup was run. For each, it will set the CDS
Trigger timestamp of the applicable MRDL, DSRD or SDRD FANLs whose
effective end date is either open or is greater than or equal to the TCR
schedule's begin date. This is done so that the relevant FANLs will be
processed and that MRDL, DSRD and SDRD chlorine/chloramine summaries
that apply to the TCR Schedule and corresponding FANLs may be
created/modified in the next sub-process.

**Create and Update Chlorine/Chloramine Summaries based on new and
changed FANLs**

This process will identify all MRDL, DSRD and SDRD FANLs that have been
added or changed since the last time CDS Setup was run. For each, it
will create or modify chlorine/chloramine summaries that fall within the
effective period of the selected FANL using the Monitoring Period Begin
date of the summary except it will not modify a summary if the User ID
of the summary is not "CDSSETUP." Instead, if one or more summaries
associated to the current FANL does not have "CDSSETUP" as its User ID,
the process will create an advisory that says, "The following MDBP FANL
was modified. One or more of the MDBP summaries based on this FANL was
not re-assessed because it was last modified by a user. You may want to
check the summaries for this FANL to make sure they should not be
changed."

*MRDL Summary Processing*

If a MRDL FANL is in effect, the process will check to see if a MDBP
Summary of type MRDL already exists for the same WSF as referenced by
the MRDL FANL and Monitoring Period. The appropriate Monitoring Period
for the MRDL Summary will be determined by identifying the periodicity
of the current TCR routine/temporary routine schedule for the water
system (i.e., MN, QT or YR) and then finding the monitoring period with
the same duration (i.e., MN, QT or YR, respectively) and begin and end
date that encompass the sample date with a begin date that is on the
first day of a month, calendar quarter or calendar year respectively. If
there is not a Routine or Temporary Routine Schedule in effect for the
water system on the sample date, then, if there is a routine TCR
schedule with an effective begin date that is 2 months or less after the
sample date and a periodicity of quarterly (QT) or a routine TCR
schedule with an effective begin date that is 10 months or less after
the sample date and a periodicity of annually (YR), then the process
will check to see if a MDBP Summary of type MRDL exists for the water
system and the calendar month in which the sample date falls (this
addresses the situation where a water system, which is normally on
quarterly or annual monitoring, was increased to monthly monitoring and
therefore has an effective period gap). If none of the TCR schedules
described is found and the water system is a current, active PWS, the
process will create an advisory that says, "A current, routine (or
temporary routine) TCR schedule does not exist for the following
current, active, PWS" and then move on to the next Field Result.

If the process finds a chlorine/chloramine MRDL Summary for the water
system and monitoring period and the User ID[^31] is not "CDSSETUP" and
the Field Result has either a field free or total chlorine result and is
associated through the sample to the same WSF as the MRDL Summary, the
process will create an advisory that says, "The following MDBP Summary
was not updated even though there may be a new or change residual
disinfectant result for the WS, WSF and monitoring period. It was not
changed because it was last modified by a user and not by CDS Setup." If
the User ID is "CDSSETUP" (regardless of whether there is a field free
or total chlorine result or not), it will recalculate the MRDL values by
using all the appropriate field free and total chlorine results (see the
specifications above under ***select chlorine field results for creating
and modifying MRDL, DSRD, and SDRD Summaries*** -- also note that these
specifications may not include the field result that triggered this
recalculation) and then recalculate the Running Annual Average for the
MRDL Summary as well as the RAA for all other MRDLs regardless of
whether the User ID of the MRDL summaries is CDSSETUP or not (the MRDL
running annual averages that rely on the current MRDL Summary's
monitoring period average are those that reference a monitoring period
with an end date that is within one year of the monitoring period begin
date of the current MRDL Summary, e.g., if the current MRDL Summary is
for June 2004, the MP Average for that summary is used to calculate the
MRDL running annual average for MRDL Summaries with a Monitoring Period
End Date between 6/1/2004 and 5/31/2005).

If the process does not find a MRDL Summary for the water system and
monitoring period, it will see if the current Field Result is for either
field free chlorine or total chlorine and is associated to the same WSF
as the MRDL FANL and, if so, will create a MRDL Summary for the
monitoring period and water system by using all the appropriate field
free and total chlorine results (see the specifications above under
***select chlorine field results for creating and modifying MRDL, DSRD,
and SDRD Summaries*** -- notice in this instance that the current result
will also be used). It will then calculate a running annual average MRDL
for the monitoring period and recalculate all the running annual
averages for MRDL which rely on the calculated monitoring period average
regardless of whether the User ID of the summaries is CDSSETUP or not
(the MRDL running annual averages that rely on the current MRDL
Summary's monitoring period average are those that reference a
monitoring period with an end date that is within one year of the
monitoring period begin date of the current MRDL Summary, e.g., if the
current MRDL Summary is for June 2004, the MP Average for that summary
is used to calculate the MRDL running annual average for MRDL Summaries
with a Monitoring Period End Date between 6/1/2004 and 5/31/2005). If
the current Field Result is not for field free chlorine or total
chlorine, it will move to the next step.

*DSRD Summary*

If a federal Distribution System Residual Disinfectant (DSRD) level is
in effect, the process will check to see if a MDBP Summary of type DSRD
already exists for the same WSF as referenced by the DSRD FANL and
Monitoring Period. The appropriate Monitoring Period for the DSRD
Summary will be determined the same say the appropriate monitoring
period was determined for a MRDL Summary with the same advisory unless
the advisory was already issued by the MRDL Summary function (see
above).

If the process finds a DSRD Summary for the water system and monitoring
period with User ID "CDSSETUP," it will recalculate the DSRD by using
all the appropriate field free and total chlorine results (see the
specifications above under ***select chlorine field results for creating
and modifying MRDL, DSRD, and SDRD Summaries*** -- also note that these
specifications may not include the field result that triggered this
recalculation). If the User ID of the summary is not CDSSETUP and the
field result includes a field free or chlorine result, it will create an
advisory that says, "The following MDBP Summary was not updated even
though there may be a new or change residual disinfectant result for the
WS, WSF and monitoring period. It was not changed because it was last
modified by a user and not by CDS Setup."

If the process does not find a DSRD Summary for the water system and
monitoring period, it will see if the current Field Result is for either
field free chlorine or total chlorine and is associated to the same WSF
as the DSRD FANL and, if so, will create a DSRD Summary for the
monitoring period and water system using all the appropriate field free
and total chlorine results (see the specifications above under ***select
chlorine field results for creating and modifying MRDL, DSRD, and SDRD
Summaries*** -- note that the current result will be one of those
selected). If the current Field Result is not for field free chlorine or
total chlorine, it will move to the next step.

*SDRD Summary*

If a State Distribution system Residual Disinfectant (SDRD) level is in
effect, the process will check to see if a MDBP Summary of type SDRD
already exists for the same WSF as referenced by the SDRD FANL and
Monitoring Period. The appropriate Monitoring Period for a SDRD Summary
is always the calendar month in which the sample with the field result
was collected. If the process finds a SDRD Summary for the water system
and monitoring period with User ID "CDSSETUP," it will recalculate the
SDRD by using all the appropriate field free and total chlorine results
(see the specifications above under ***select chlorine field results for
creating and modifying MRDL, DSRD, and SDRD Summaries*** -- also note
that these specifications may not include the field result that
triggered this recalculation). If the User ID of the summary is not
CDSSETUP and the field result includes a field free or chlorine result,
it will create an advisory that says, "The following MDBP Summary was
not updated even though there may be a new or change residual
disinfectant result for the WS, WSF and monitoring period. It was not
changed because it was last modified by a user and not by CDS Setup."

If the process does not find a SDRD Summary for the water system and
monitoring period, it will see if the current Field Result is for either
field free chlorine or total chlorine and is associated to the same WSF
as the SDRD FANL and, if so, will create a SDRD Summary for the
monitoring period and water system using all the appropriate field free
and total chlorine results (see the specifications above under ***select
chlorine field results for creating and modifying MRDL, DSRD, and SDRD
Summaries*** -- note that the current result will be one of those
selected). If the current Field Result is not for field free chlorine or
total chlorine, it will move to the next field result.

**Create and Update Chlorine/Chloramine Summaries based on new and
changed field results**

This process will identify all Field Result that have been changed or
added since the last time CDS Setup ran[^32]. The process will initially
not exclude any new or changed Field Results because a Field Result that
may have previously been used to calculate a chlorine/chloramine summary
may no longer be appropriate to use (e.g., the sample was changed from a
For Compliance sample to a Not For Compliance Sample, or was moved from
the distribution system to a treatment plant, etc.).

For each Field Result, the process will determine whether the water
system to which the Field Result is associated is a current, active, PWS
(i.e., PWS type C, NTNC or NC) or not. Then is will determine whether
there are FANLs of type MRDL, DSRD and/or SDRD in effect for same water
system on the sample date for the result's parent sample (note that, at
this stage, the process will not check to see if the FANL is at the same
WSF as the Field Result -- this will occur later in the process -- it
will not occur here because it is possible that the change that was made
to the Field Result was that it's parent sample was associated to a
different WSF).

If the water system is a current, active, PWS with a federal primary
source type that is not SW or GU, and has either a current DSRD or SDRD
FANL but does not have a current MRDL FANL (for any analyte), CDS Setup
will create an advisory that says, "The following current, active PWS
has a minimum residual disinfectant level set (a DSRD or SDRD or both)
but does not have a maximum residual disinfectant level (MRDL) set. You
should check the Facility Analyte (FANL) records for this system.

If the water system is a current, active, PWS with a federal primary
source type of SW or GU, but does not have either a current DSRD or SDRD
FANL, CDS Setup will create an advisory that says, "The following
current, active Subpart H PWS does not have a minimum residual
disinfectant level (a DSRD or SDRD or both) set. You should check the
Facility Analyte (FANL) records for this system.

If the water system is a current, active, PWS with a federal primary
source type of SW or GU, but does not have a current MRDL FANL (for any
analyte), CDS Setup will create an advisory that says, "The following
current, active Subpart H PWS does not have a maximum residual
disinfectant level (MRDL) set. You should check the Facility Analyte
(FANL) records for this system.

If the water system is not a current, active, PWS and has any of the
three types currently in effect (MRDL, DSRD, and/or SDRD), CDS Setup
will create for each one that is in effect that says, "The following
water system is not a current, active PWS but does have a \[federal
minimum residual disinfectant level - *if there is a DSRD*\] / \[state
minimum residual disinfectant level -- *if there is a SDRD*\] /
\[maximum residual disinfectant level -- *if there is a MRDL*\] in
effect. It appears that these should be closed. To close these, use the
Facility Analyte Level function.

If the water system is not a current, active, PWS (i.e., it is a
historic system or an inactive PWS or non-public system), CDS Setup will
create an advisory that says, "A field result was entered for the
following water system, which is either historic, inactive or not a
PWS."

If one or more of these is in effect for the current water system, the
process will continue to process the Field Result as described next. If
not, the process will move to the next Field Result record.

### Update RAA for Chlorine/Chloramine MRDL Summaries Based on Changed MRDL Summaries

When a MRDL Summary is updated by a user, this second sub-process will
recalculate all the running annual averages for all MRDL Summaries that
depend on the updated MRDL Summary regardless of the ownership of the
MRDL Summary record. The MRDL Summaries that need to have their running
annual average recalculated are: MRDL Summaries for the same Water
System, Water System Facility, and Analyte (where 0999 and 1006 are
treated as the "same"[^33]) for monitoring periods with a End Date that
is between the Begin Date of the modified Summary and one year less one
day in the future. For example, if a user modified the MRDL Summary for
chlorine for the first quarter of 2004, this process would recalculate
the running annual average of that same MRDL Summary as well as the
running annual average of MRDL Summaries for the same water system,
water system facility, and for chlorine or chloramine where the end date
of the summary's monitoring period is between 1/1/2004 and 12/31/2004.
Continuing with the example, also assume that there is a MRDL Summary
for chloramine for April 2004 for this same water system and facility.
To recalculate the running annual average for the April summary, the
process will add the MP Averages for each MRDL Summary from April 2004
back to May 1, 2003[^34], divide by the sum of the mpa_total_days from
these summaries and round to the same significant digits as the FANL-MAX
that represents the MRDL.

## CDS Setup Processing Report

Each time *CDS Setup* executes, it will create a processing report. The
following *CDS Setup* processes may provide information for this report:

Update Sample Schedules Due to Inventory Change.

Calculate Total Trihalomethane Result.

Calculate Total Haloacetic Acid Result.

Calculate Combined Nitrate+Nitrite Result.

Calculate Nitrate Result.

Calculate Nitrite Result.

Calculate Combined Radium Result.

Calculate Gross Alpha Excluding Uranium Result.

Aggregate Lead and Copper 90^th^ Percentile Data.

Assess Chemical/Radionuclide MCL Compliance.

The CDS Setup Processing Report, Exhibit 16, provides the user
information about the execution status of each CDS Setup process
including the number of records that each module processed and the time
each process started and completed. It should be used only to verify
that each of the CDS Setup processes executed as expected and does not
contain any data content resulting from the execution of each process.
(Users may view the CDS Setup Advisory Report to view the results of a
given CDS Setup run.) When all processes have completed successfully,
the message \"All processes were successfully executed\" appears at the
end of the report, as shown in Exhibit 16. The user can view the CDS
Setup Processing Report at the conclusion of *CDS Setup* by pressing the
**Launch Current CDS Setup Processing Report** button on the Start *CDS
Setup* page. The report will be a text file that can be opened by any
desktop word processor. The reports will be located under
C:\\SDWIS\\CDS\\SETUP\\. Each report will use the following naming
convention: CDSSETUP_YYYYMMDDHHMMSS.RPT

(e.g., CDSSETUP_20011208174324.RPT). The timestamp on the report name
indicates when *CDS Setup* execution began. Users will need to use
desktop tools to review and/or remove old CDS Setup Processing reports.
Since this process is expected to run on a daily basis, reports will
accumulate over time.

[]{#__RefHeading___Toc140485983 .anchor}**Exhibit 9-16.** CDS Setup
Processing Report

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

CDS SETUP PROCESSING REPORT

FILE PATH = \"C:\\SDWIS\\CDS\\SETUP\\CDSETUP_10-11-2005_15-01-46.RPT\"

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

00:00:00 \*\*\* Start Clear CDS Setup Processing Log

00:00:00 \*\*\* 1 records to process.

00:00:06 \*\*\* End Clear CDS Setup Processing Log

00:00:06 \*\*\* Start 1A - Process Water System Changes

00:00:06 \*\*\* 0 records to process.

00:00:06 \*\*\* End 1A - Process Water System Changes

00:00:06 \*\*\* Start 1B - Process Water System Facility Changes

00:00:06 \*\*\* 0 records to process.

00:00:06 \*\*\* End 1B - Process Water System Facility Changes

00:00:06 \*\*\* Start 1C - Process Sampling Point Changes

00:00:06 \*\*\* 0 records to process.

00:00:06 \*\*\* End 1C - Process Sampling Point Changes

00:00:06 \*\*\* Start 1D - Process Sampling Plan Changes

00:00:06 \*\*\* 0 records to process.

00:00:06 \*\*\* End 1D - Process Sampling Plan Changes

00:00:07 \*\*\* Start 2A - Associate Sample Schedules to Monitoring
Periods

00:00:07 \*\*\* 0 records to process.

00:00:07 \*\*\* End 2A - Associate Sample Schedules to Monitoring
Periods

00:00:07 \*\*\* Start 2B - Associate Monitoring Periods to Sample
Schedules

00:00:07 \*\*\* 0 records to process.

00:00:07 \*\*\* End 2B - Associate Monitoring Periods to Sample
Schedules

00:00:07 \*\*\* Start 3A - Process MCL, ACL, or TRL Additions or
Modifications

00:00:07 \*\*\* 0 records to process.

00:00:07 \*\*\* End 3A - Process MCL, ACL, or TRL Additions or
Modifications

00:00:07 \*\*\* Start 3B - Process FANL Max Additions or Modifications

00:00:07 \*\*\* 0 records to process.

00:00:07 \*\*\* End 3B - Process FANL Max Additions or Modifications

00:00:07 \*\*\* Start 4A - Disassociate SARs from Changed SSMPAs

00:00:07 \*\*\* 48 records to process.

00:00:10 \*\*\* End 4A - Disassociate SARs from Changed SSMPAs

00:00:10 \*\*\* Start 4B - Disassociate Changed Samples and SARs from
SSMPAs

00:00:10 \*\*\* 0 records to process.

00:00:10 \*\*\* End 4B - Disassociate Changed Samples and SARs from
SSMPAs

**Exhibit 9-16.** CDS Setup Processing Report (Continued)

00:00:10 \*\*\* Start 4C - Disassociate Changed SARs from SSMPAs

00:00:10 \*\*\* 11 records to process.

00:00:10 \*\*\* End 4C - Disassociate Changed SARs from SSMPAs

00:00:25 \*\*\* Start 5A - Calculate TTHMs and HAA5 Results -
Added/Changed Samples

00:00:25 \*\*\* 0 records to process.

00:00:25 \*\*\* End 5A - Calculate TTHMs and HAA5 Results -
Added/Changed Samples

00:00:26 \*\*\* Start 5B - Calculate TTHMs and HAA5 Results -
Added/Changed Results

00:00:26 \*\*\* 0 records to process.

00:00:26 \*\*\* End 5B - Calculate TTHMs and HAA5 Results -
Added/Changed Results

00:00:39 \*\*\* Start 5C - Calculate Nitrate/Nitrite Results -
Added/Changed Samples

00:00:39 \*\*\* 0 records to process.

00:00:39 \*\*\* End 5C - Calculate Nitrate/Nitrite Results -
Added/Changed Samples

00:00:39 \*\*\* Start 5D - Calculate Nitrate/Nitrite Results -
Added/Changed Results

00:00:39 \*\*\* 0 records to process.

00:00:39 \*\*\* End 5D - Calculate Nitrate/Nitrite Results -
Added/Changed Results

00:00:53 \*\*\* Start 5E - Calculate GA, Combined RA Results -
Added/Changed Samples

00:00:53 \*\*\* 0 records to process.

00:00:53 \*\*\* End 5E - Calculate GA, Combined RA Results -
Added/Changed Samples

00:00:53 \*\*\* Start 5F - Calculate GA, Combined RA Results -
Added/Changed Results

00:00:53 \*\*\* 0 records to process.

00:00:53 \*\*\* End 5F - Calculate GA, Combined RA Results -
Added/Changed Results

00:00:53 \*\*\* Start 6A - Associate New or Changed Samples to SSMPAs

00:00:53 \*\*\* 0 records to process.

00:00:53 \*\*\* End 6A - Associate New or Changed Samples to SSMPAs

00:01:29 \*\*\* Start 6B - Associate New or Changed SARs to SSMPAs

00:01:29 \*\*\* 28,028 records to process.

00:20:17 \*\*\* End 6B - Associate New or Changed SARs to SSMPAs

00:20:25 \*\*\* Start 6C - Associate New SSMPAs to SARs

00:20:25 \*\*\* 640,737 records to process.

08:55:13 \*\*\* End 6C - Associate New SSMPAs to SARs

08:55:15 \*\*\* Start 2A - Associate Sample Schedules to Monitoring
Periods

08:55:15 \*\*\* 0 records to process.

08:55:15 \*\*\* End 2A - Associate Sample Schedules to Monitoring
Periods

08:55:15 \*\*\* Start 2B - Associate Monitoring Periods to Sample
Schedules

08:55:15 \*\*\* 0 records to process.

08:55:15 \*\*\* End 2B - Associate Monitoring Periods to Sample
Schedules

08:55:52 \*\*\* Start 8A - Aggregate Lead Percentile

08:55:52 \*\*\* 92 records to process.

08:56:04 \*\*\* End 8A - Aggregate Lead Percentile

**Exhibit 9-16.** CDS Setup Processing Report (Continued)

08:56:07 \*\*\* Start 8B - Aggregate Copper Percentile

08:56:07 \*\*\* 92 records to process.

08:56:14 \*\*\* End 8B - Aggregate Copper Percentile

08:56:14 \*\*\* Start 9 - Associate New/Changed Sample Summaries to
SSMPA

08:56:14 \*\*\* 0 records to process.

08:56:14 \*\*\* End 9 - Associate New/Changed Sample Summaries to SSMPA

08:56:23 \*\*\* Start 10A- Calculate Monitoring Period Averages

08:56:23 \*\*\* 640,737 records to process.

12:37:55 \*\*\* End 10A- Calculate Monitoring Period Averages

12:38:04 \*\*\* Start 10B- Calculate TOC Removal Ratio

12:38:04 \*\*\* 9,888 records to process.

12:40:31 \*\*\* End 10B- Calculate TOC Removal Ratio

12:40:36 \*\*\* Start 11 - Calculate MCL Values

12:40:36 \*\*\* 593,079 records to process.

15:43:55 \*\*\* End 11 - Calculate MCL Values

15:43:55 \*\*\* Start 12 - Reassess Candidate Chem/Rad MCL and TOC TT
Violations

15:43:55 \*\*\* 0 records to process.

15:43:55 \*\*\* End 12 - Reassess Candidate Chem/Rad MCL and TOC TT
Violations

15:44:05 \*\*\* Start 13A- Assess Chlorine Dioxide Level Exceedence -
Changed Sample

15:44:05 \*\*\* 0 records to process.

15:44:05 \*\*\* End 13A- Assess Chlorine Dioxide Level Exceedence -
Changed Sample

15:44:05 \*\*\* Start 13B- Assess Chlorine Dioxide Level Exceedence -
Changed SAR

15:44:05 \*\*\* 0 records to process.

15:44:05 \*\*\* End 13B- Assess Chlorine Dioxide Level Exceedence -
Changed SAR

15:45:10 \*\*\* Start 13C- Assess Chlorite Level Exceedence - Changed
Sample

15:45:10 \*\*\* 0 records to process.

15:45:10 \*\*\* End 13C- Assess Chlorite Level Exceedence - Changed
Sample

15:45:17 \*\*\* Start 13D- Assess Chlorite Level Exceedence - Changed
SAR

15:45:17 \*\*\* 0 records to process.

15:45:17 \*\*\* End 13D- Assess Chlorite Level Exceedence - Changed SAR

15:45:18 \*\*\* Start 14A- Assess Sample Schedule for
Increased/Decreased Monitoring - Changed Schedule

15:45:18 \*\*\* 0 records to process.

15:45:18 \*\*\* End 14A- Assess Sample Schedule for Increased/Decreased
Monitoring - Changed Schedule

15:46:26 \*\*\* Start 14B- Assess Sample Schedule for
Increased/Decreased Monitoring - Changed SSMPA

15:46:26 \*\*\* 178,393 records to process.

17:09:24 \*\*\* End 14B- Assess Sample Schedule for Increased/Decreased
Monitoring - Changed SSMPA

17:09:27 \*\*\* Start 14C- Assess Sample Schedule for
Increased/Decreased Monitoring - Changed RAA

17:09:27 \*\*\* 10,809 records to process.

**Exhibit 9-16.** CDS Setup Processing Report (Continued)

17:11:30 \*\*\* End 14C- Assess Sample Schedule for Increased/Decreased
Monitoring - Changed RAA

17:11:46 \*\*\* Start 15A- Chlorine/Chloramine Summaries - TCR Schedule
Changes

17:11:46 \*\*\* 0 records to process.

17:11:46 \*\*\* End 15A- Chlorine/Chloramine Summaries - TCR Schedule
Changes

17:11:46 \*\*\* Start 15B- Chlorine/Chloramine Summaries - FANL Changes

17:11:46 \*\*\* 0 records to process.

17:11:46 \*\*\* End 15B- Chlorine/Chloramine Summaries - FANL Changes

17:12:16 \*\*\* Start 15C- Chlorine/Chloramine Summaries - Field Result
Changes

17:12:16 \*\*\* 248,953 records to process.

18:51:25 \*\*\* End 15C- Chlorine/Chloramine Summaries - Field Result
Changes

18:51:25 \*\*\* Start 15D- Recalculate Chlorine/Chloramine Summary RAA

18:51:25 \*\*\* 11,998 records to process.

18:53:22 \*\*\* End 15D- Recalculate Chlorine/Chloramine Summary RAA

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

All processes were successfully executed

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

## CDS Setup Checkpoint and Restart 

> If the workstation inadvertently stops during *CDS Setup* processing
> (e.g., because of power failure), the SDWIS/STATE Administrator will
> need to restart it. *CDS Setup* will have a checkpoint/restart
> capability that will be transparent to users. The user will rerun the
> process if there is a stoppage, and the program will restart from the
> point at which the stoppage occurred and continue processing. To keep
> the checkpoint/restart logic simple, a CDS Setup Execution Log (table
> TCDSSLOG) will maintain identifying information on the last record
> processed prior to the stoppage. Whenever the process is run again
> (new start or restart) it will start processing records that have not
> been processed before. To ensure that *CDS Setup* executes with the
> minimum amount of redundancy and that it does not fail to process any
> record, all *CDS Setup* sub-processes will be clearly identified, each
> will always be processed in the same sequence, each sub-process will
> be driven by data from a unique table, and the data from this unique
> table will always be processed in a particular sort sequence. See
> Appendix D for additional details.
>
> If a stoppage occurs, two CDS Setup Processing reports will be
> created. The first will contain messages created prior to the
> interruption. The last will contain messages created after the
> restart. The user will be able to distinguish between the two reports
> by the name of each processing file as well as by the \"All processes
> were successfully executed\" message that should appear at the end of
> the second file.

[^1]: Water system records are not actually deleted but marked as
    deleted by changing their status to I (inactive) and their history
    indicator to H (historic).

[^2]: Although SSMPA are not needed for bi-weekly WQP schedules under
    LCR because the LCR Compliance Report calculates necessary
    information, it should not hurt to create these as there are very
    few of them and it is more difficult to exclude them than include
    them.

[^3]: The user probably would not intend for this Monitoring Period to
    be applied to this Sample Schedule. However, even if a Sample
    Schedule is in effect for one day of a Monitoring Period, the *CDS*
    software will assign it if all other criteria are met.

[^4]: Though it is unlikely that the Effective Begin Date for a Sample
    Schedule would be later than the Initial Monitoring Period Begin
    Date, a user could enter such a schedule.

[^5]: It is assumed that an E. coli result obtained under TCR, and
    therefore associated to a WSF of type DS, will not be processed
    because a SSMPA will not exist for it. If that is not true, then
    these need to be explicitly excluded.

[^6]: A substitute result is a result that either does not match a
    schedule's analyte or does not match the unit of measure indicated
    by the schedule but can be substituted to satisfy the schedule as
    defined by the substitute crosswalk table, an internally controlled
    table.

[^7]: This will be indicated in a new attribute in SSMPA, which can be
    maintained via Results Averages. The indicator needs to be at the
    SSMPA level rather than the result level to significantly improve
    this process when it is evaluating changed SSMPAs. This new
    attribute will be defaulted based on another new attribute in Sample
    Schedule that can be used to indicate that no substitute results
    should be used to satisfy it.

[^8]: These criteria are stated at the start of the design for this
    process and are as follows: the result must be accepted or validated
    and associated to a routine (RT) or maximum residence time (MR),
    "for compliance", sample that has not been rejected

[^9]: Total gross alpha particle activity.

[^10]: Adjusted gross alpha particle activity which is the total gross
    alpha particle activity minus the gross alpha particle activity
    contributed by uranium and radon.

[^11]: Also total gross alpha particle activity.

[^12]: Combined uranium.

[^13]: In this case, if the significant figures of the detection limit
    ends up with a number that is less significant than 1 decimal, then
    round to tenths (1 decimal). See the following discussion about
    significant figures.

[^14]: Combined radium-226 and radium-228.

[^15]: The other approach would be to delete a 4010 result created here
    when another 4010 is processed. This would require that, when
    processing matching analytes, if the matching analyte is a
    \"Schedule Analyte\" in the crosswalk table, the process would
    additionally look to see if a CDS Setup created result for the same
    analyte was already associated to the same SSMPA and, if so, delete
    it and it associative to SSMPA (and update any appropriate CDS
    Timestamps although I think the timestamps updated currently would
    be sufficient).

[^16]: Radium-228.

[^17]: The other approach would be to delete a 4010 result created here
    when another 4010 is processed. This would require that, when
    processing matching analytes, if the matching analyte is a
    \"Schedule Analyte\" in the crosswalk table, the process would
    additionally look to see if a CDS Setup created result for the same
    analyte was already associated to the same SSMPA and, if so, delete
    it and it associative to SSMPA (and update any appropriate CDS
    Timestamps although I think the timestamps updated currently would
    be sufficient).

[^18]: In this case, if the significant figures of the detection limit
    ends up with a number that is less significant than 1 decimal, then
    round to tenths (1 decimal). See the following discussion about
    significant figures.

[^19]: In this case, if the significant figures of the detection limit
    ends up with a number that is less significant than 1 decimal, then
    round to tenths (1 decimal). See the following discussion about
    significant figures.

[^20]: Only if the *E. coli* result is associated to a SSMPA. That is to
    say the *E.* *coli* result was not obtained under TCR -- not
    associated to a DS type WSF.

[^21]: These associations have been created by the *Associate Sample
    Analytical Results to Sample Schedule Monitoring Period Assignments*
    process. As a result of that process, the results linked to the
    SSMPA are accepted or validated with a "for compliance" parent
    sample of type routine or maximum residence time, and whose
    rejection reason is not valued. This earlier process also takes into
    consideration whether or not the parent sample was taken at an entry
    point sampling point, so the Calculate Monitoring Period Averages
    process does not need to be concerned with these details.

[^22]: Associated through TMNCMMAA, TMNMPAVG, and SSMPA (not TMNCMCLV,
    SSMPA).

[^23]: When *E. coli* is reported as MPN, then it may be recorded in
    tenths but it is an estimate, not a count.

[^24]: If a primacy agency, for some reason, has a schedule for a
    transient system or non-public system, the logic will apply to that
    schedule as well.

[^25]: Even though in the LT2 this is only needed for small SW systems,
    setting this to All will allow users to do similar surrogate
    monitoring for other reasons by creating a FANL of type SCR.

[^26]: According to LT2, the RAA should cover a 12 month period before
    determining whether the PWS needs to monitor for cryptosporidium
    unless the PWS or treatment plant is seasonal, in which case, a RAA
    covering less than 12 months of results should be used. The duration
    of the WSF could have been used but it may be beneficial to give the
    user an early warning of source water that is high in *E. coli*
    density.

[^27]: Compliance values are stored a new field in
    ssmpa_sar_associative, a new table that associates a result to a
    SSMPA.

[^28]: Compliance values are stored a new field in
    ssmpa_sar_associative, a new table that associates a result to a
    SSMPA.

[^29]: Whether the Field Result has one the other or both, it is only
    counted as one sample.

[^30]: For example, say the current MDRL Summary is for April 2005. The
    RAA calculate would sum the MP Averages for the same WS and WSF with
    Monitoring Period Begin Dates \>= 5/1/2004 and \<= 4/30/2005.

[^31]: Unless otherwise noted, "User ID" means the last update User ID
    NOT the Initial User ID.

[^32]: It is suggested that new and changed records be sorted by Water
    System, Water System Facility, and Collection Date ascending at the
    start of the process unless some other sorting would make it more
    efficient.

[^33]: For the situation where the MRDL changes by season from chlorine
    to chloramine, we still want the running annual average to be
    calculated for a consecutive 12-month period.

[^34]: I.e., where the Monitoirng Period Begin Date is between the
    Summary's MP End Date and One Year less one day.