Technical reference for the quality assurance framework applied to all water meter data in this portal.
Water metering in New Zealand is governed by three key standards:
| Requirement | Standard | Authority |
|---|---|---|
| 15-minute recording intervals | ≤15 min between readings | NEMS Water Meter Data |
| Meter verification | Every 5 years (Blue Tick) | RM Regulations 2010 |
| Council report generation and export | Electronic format with QC codes | RM Regulations 2010/2020 |
| Measurement accuracy | ±5% of actual flow | RM Regulations 2010 |
| Water year | 1 July – 30 June | RM Regulations 2010 s3(1) |
Every data point carries a quality code from the NEMS National Quality Code Schema v3.0.0. Codes QC 400–600 reflect measured data quality; codes QC 0–300 are categorisation mechanisms and do not rate quality.
| Colour | Code | Label | Description |
|---|---|---|---|
| QC 600 | Good | Measured data, at time of acquisition, considered a good representation of the monitored variable. Meets all NEMS requirements. | |
| QC 500 | Fair | Measured data that do not meet all QC 600 requirements at time of acquisition, and/or have undergone minor modification. Fair representation. | |
| QC 400 | Compromised | Measured data compromised in ability to represent the monitored variable, and/or have undergone significant modification. | |
| QC 300 | Synthetic | Data estimated from relationships, calculations, models, or limited measured data. Believed to be a reasonable representation of the variable. | |
| QC 200 | Unverified | Data of unknown quality: not yet passed through QA, uncertain quality, or from external agency not coded to NEMS. | |
| QC 100 | Missing | Data are missing. Either confirmed not recorded (instrumentation failure, personnel/lab error), deleted due to poor quality, or lost. | |
| QC 0 | Non Verified | Data as recorded prior to verification: either raw, or modified by documented algorithm during collection. Quality has not been established. New in v3.0.0. |
Note: The “Poor” label was removed in NEMS v3.0.0. QC 400 is now “Compromised”. QC 0 (Non Verified) was added in v3.0.0 for raw data prior to quality assessment.
Based on NEMS v3.0.0 Figure 2 — Generic Quality Flowchart. Each data point is assessed top-down; the first YES determines its quality code.
Per NEMS v3.0.0 Section 5, child codes are allocated in-house to provide supplementary quality detail. Format: Parent-Child (e.g., 600-010). When submitting to councils, the parent code is the primary identifier; child codes provide optional additional context.
| Code | Label | Description | Assignment |
|---|---|---|---|
600-010 | Full compliance | All NEMS QC 600 requirements met | Auto |
600-020 | Field verified | Quality confirmed by field visit or site inspection | Manual |
600-030 | Meter verified | Quality confirmed by Blue Tick verification test | Manual |
600-040 | Post-calibration | Promoted from QC 0 after successful calibration | Auto |
| Code | Label | Description | Assignment |
|---|---|---|---|
500-010 | Verification due soon | Meter verification due within 30–90 days | Auto |
500-020 | Gap 5–20% | Data completeness 80–95% in assessment period | Auto |
500-030 | Minor modification | Minor post-collection data adjustment | Manual |
500-040 | Signal degraded | LoRa/MQTT signal quality moderate (RSSI < −80) | Auto |
500-050 | Timing drift | Clock drift exceeds 90 seconds per month | Auto |
| Code | Label | Description | Assignment |
|---|---|---|---|
400-010 | Manual (verified) | Manual reading with verified meter | Auto |
400-020 | Manual (due soon) | Manual reading, verification due within 90 days | Auto |
400-030 | Verification overdue | Automated QC degradation — meter verification expired | Auto |
400-040 | Gap >20% | Data completeness below 80% in assessment period | Auto |
400-050 | Equipment suspect | Anomalous range or rate-of-change detected | Auto |
400-060 | Major modification | Significant post-collection data modification applied | Manual |
| Code | Label | Description | Assignment |
|---|---|---|---|
300-010 | Interpolated | Gap filled using linear interpolation | Auto |
300-020 | Manual fill | Gap estimated from manual meter readings | Manual |
300-030 | Derived | Volume derived from other meters in distribution network | Manual |
300-040 | Zero confirmed | Zero flow confirmed by manual reading during no-abstraction | Manual |
300-050 | Verification ratio | Record adjusted by meter verification failure ratio | Manual |
| Code | Label | Description | Assignment |
|---|---|---|---|
200-010 | Never verified | Meter has never been verified by Blue Tick installer | Auto |
200-020 | Failed verification | Meter failed verification test (>5% error) | Auto |
200-030 | QA pending | Manual QA review not yet completed | Manual |
200-150 | Unknown quality | Quality of data point is unknown (per NEMS v3.0.0 Table 2) | Manual |
200-200 | External non-NEMS | From external agency, not coded to match NEMS | Manual |
| Code | Label | Description | Assignment |
|---|---|---|---|
100-010 | Comms failure | Device communication failure — no heartbeat received | Auto |
100-020 | Battery dead | Device powered off or battery below threshold | Auto |
100-030 | Deleted (poor quality) | Data removed during QA due to corruption | Manual |
100-040 | Auto gap detection | Gap detected by automated missing records scan | Auto |
100-050 | Planned maintenance | Scheduled maintenance outage period | Manual |
| Code | Label | Description | Assignment |
|---|---|---|---|
0-010 | Raw telemetry | Raw telemetry data, no processing applied | Auto |
0-020 | Pulse-to-volume | Pulse-to-volume conversion applied during collection | Auto |
0-030 | Offset calibrated | Counter offset calibration applied at display time | Auto |
0-040 | Awaiting QA | Data awaiting quality assessment pipeline | Auto |
0-050 | Backfilled from secondary store | Data backfilled from InfluxDB dual-write — identical original telemetry via alternate storage path | Auto |
Certain conditions cap the maximum achievable quality code, regardless of other factors.
| Condition | Maximum QC | Authority |
|---|---|---|
| Meter verification current (<5 years) | QC 600 | NEMS Water Meter Data |
| Meter verification due soon (30–90 days) | QC 500 | Meter verification requirements |
| Meter verification overdue (>5 years) | QC 400 | NEMS & verification policy |
| Meter never verified | QC 200 | NEMS quality codes |
| Meter failed verification | QC 200 | NEMS quality codes |
| Gap <5% | QC 600 eligible | NEMS v3.0.0 |
| Gap 5–20% | QC 500 | NEMS v3.0.0 |
| Gap >20% | QC 400 | NEMS v3.0.0 |
| Manual reading (any) | QC 400 | NEMS & quality codes |
| Gap-filled / interpolated data | QC 300 | NEMS v3.0.0 Figure 2 |
| Confirmed missing record | QC 100 | NEMS v3.0.0 Figure 2 |
| Raw unprocessed telemetry | QC 0 | NEMS v3.0.0 (new in v3.0) |
All consent compliance totals use ground truth calculations — the only method that provides 100% accurate volume totals from pulse-counter telemetry.
Water meters transmit cumulative pulse counter values at 15-minute intervals. Pre-aggregated data (e.g., “volume per bucket”) can lose pulses that fall on bucket boundaries. The ground truth formula avoids this entirely by using the raw counter extremes over any period.
-- Ground truth: 100% accurate for any time period
SELECT MAX(gpio_counter_1) - MIN(gpio_counter_1)
FROM telemetry
WHERE device_id = :device_id
AND time >= :period_start
AND time <= :period_end
This returns the exact number of pulses recorded, regardless of how they align with reporting intervals. Each pulse represents a fixed volume (typically 1 litre per pulse).
| Use Case | Data Source | Accuracy |
|---|---|---|
| Consent limits & compliance totals | Raw telemetry (MAX−MIN) | 100% |
| Dashboard charts & visualisation | 15-minute aggregates | ~95% |
Our data integrity approach ensures that original measurements remain trustworthy and auditable.
All water meters must be verified to ensure measurement accuracy, as required by the Resource Management (Measurement and Reporting of Water Takes) Regulations 2010.
Meters are verified by accredited Blue Tick installers (IrrigationNZ) every 5 years. Verification tests confirm the meter reads within ±5% of actual flow across the operating range.
Verification status directly affects data quality codes. Overdue verification caps data at QC 400 (Compromised). The system tracks verification dates and automatically degrades quality codes when verification expires.
| Status | Timeframe | QC Impact | Alert |
|---|---|---|---|
| Current | Verified within 5 years | QC 600 eligible | None |
| Due soon | 90 days before expiry | QC 500 max | Warning notification |
| Due | 30 days before expiry | QC 500 max | Urgent notification |
| Overdue | Past 5-year expiry | QC 400 max | Alert — quality degraded |
The portal generates council-ready reports in the format required by regional councils under the Resource Management Regulations.
Per NEMS v3.0.0 Section 7, systems must track which schema version their quality codes conform to.
| Property | Value |
|---|---|
| Current schema | NEMS National Quality Code Schema v3.0.0 |
| Quality code range | QC 0 – QC 600 (7 parent codes) |
| Child codes | 35 supplementary codes (in-house allocated per Section 5) |
Quality codes conform to NEMS National Quality Code Schema v3.0.0