Skip to main content

California State Report Training

How the California State Report Calculates Data

  • XXXX is the Reporting Year. The year runs Jan 1 to Dec 31 in the time zone of the organization running the report.

  • Every number only looks at assemblies that:

    • are not deleted

    • have a First Recorded On date on or before 12/31/XXXX

    • aren't a test kit

  • Only these assembly Types are counted: RP, RPDA, RPDA-II, DC, DCDA, DCDA-II, PVB and Air Gap. Other types aren't included in any number.

    • SVBs aren't counted, including SVBs used for CCCPH compliance. If you need your SVBs counted, contact SwiftComply Support.

  • Except for Air Gap, an assembly needs its Protection Type (in the assembly's State Report Properties) set to containment or isolation. An assembly with a blank or different Protection Type is left out of every number, including the inactive assemblies table. Air Gap assemblies are counted whatever their Protection Type.

    • containment assemblies are counted in the "Service Connections or Meter" row.

    • isolation assemblies are counted in the "On-site but not on the Service Connections or Meter" row.

  • Active / Inactive means the assembly's Active status as it is currently, not what it was during the reporting year. The same goes for Protection Type. Running a past year's report uses today's values.

Warnings Shown at the Top of the State Report

"No assemblies found."

No assembly meets the rules above: not deleted, not a test kit, and First Recorded On on or before 12/31/XXXX. The report stops there, so every number shows 0.

This is the only warning the California report shows. An assembly with a Type that isn't counted, or a blank Protection Type, is left out without a warning.

Backflow Assemblies on the Service Connections or Meter / On-site but not on the Service Connections or Meter

Both rows use the same rules. The only difference is the Protection Type: containment for the Service Connections or Meter row, isolation for the On-site row.

Total Number in System in XXXX

Counts the assemblies that are currently Active.

Number Installed in XXXX

Counts the assemblies that are currently Active and have a current location record with no Removed On and no Set Inactive On date, where either:

  1. Installed On is in XXXX, or

  2. Installed On is blank and First Recorded On is in XXXX

An assembly that isn't at a location isn't counted in this column.

Number Tested in XXXX

Counts the assemblies that are currently Active and have at least one Accepted test report with a Tested On date in XXXX.

  • Each assembly counts once, however many test reports it has in XXXX.

  • Test reports that aren't Accepted aren't counted.

  • A deleted test report still counts. This applies to Number failed and Number Repaired / Replaced too.

Number failed in XXXX

Of the assemblies in Number Tested, counts the ones with at least one Accepted test report with a Tested On date in XXXX that either:

  1. has a Test Result of Fail, or

  2. has at least one compliance issue

A test report can have a compliance issue even when its Test Result is Pass, because compliance rules can flag individual answers.

Number Repaired / Replaced

Counts the assemblies where either of these is true. Active status isn't checked in this column.

  1. The assembly has an Accepted test report with a Tested On date in XXXX where a cleaned, repaired or replaced field on the test form is checked or answered Yes

  2. The assembly was replaced in XXXX and removed from its location as part of the replacement

  • An assembly that meets both counts once.

  • A replacement is counted on the old assembly, using its Protection Type.

  • A replacement only counts when the old assembly is removed from its location. If the old assembly is kept at the location, the replacement isn't counted.

  • The report looks for the test form's standard cleaned, repaired and replaced fields, not their labels, so a renamed field still counts. For fields where the tester types an answer, like "Other", only an answer of exactly "yes" or "true" counts (any capitalization).

Air-gap Separation

Counts Air Gap assemblies with the same rules as the rows above for each column. Protection Type isn't checked for Air Gap assemblies.

No. of Inactive Backflow Prevention Assemblies in water system in XXXX

Total Number in System in XXXX

Counts the assemblies that are currently Inactive, except ones that were replaced in XXXX and removed from their location as part of the replacement.

Number Installed in XXXX

Counts the assemblies with a current location record (no Removed On) whose Set Inactive On date is in XXXX, except ones that were replaced in XXXX and removed from their location as part of the replacement.

  • Setting an assembly back to Active clears Set Inactive On, so an assembly reactivated later isn't counted here.

  • This column doesn't check First Recorded On beyond the rule that applies to every number (on or before 12/31/XXXX).

FAQ

Why isn't an assembly counted anywhere in the report?

The most common reasons:

  • Its Type isn't one of RP, RPDA, RPDA-II, DC, DCDA, DCDA-II, PVB or Air Gap. For example, SVBs aren't counted.

  • It isn't an Air Gap and its Protection Type is blank or isn't containment or isolation.

  • Its First Recorded On date is after 12/31/XXXX.

  • It's deleted.

Why did a past year's numbers change when the report was run again?

The report uses each assembly's current Active status and Protection Type, not their values during the reporting year. Setting an assembly to Inactive, reactivating it, changing its Protection Type, or deleting it changes past years too. Test reports accepted later with a Tested On date in a past year also change that year.

Why is Number Tested lower than the number of test reports in XXXX?

Each assembly counts once, however many test reports it had. Only Accepted test reports count, and only for assemblies that are currently Active, with a counted Type and Protection Type.

0001.jpg
0002.jpg
0003.jpg
0004.jpg
0005.jpg
0006.jpg
0007.jpg
0008.jpg
0009.jpg
0010.jpg
0011.jpg
0012.jpg
0013.jpg
0014.jpg
0015.jpg
0016.jpg
0017.jpg
0018.jpg
Did this answer your question?