Void Weekly Flushing Form¶
Status: DISCOVERY (2026-07-01). Design captured; strip-back rebuild deferred until Pete's Task Centre job populates
CPLEGVOIDFLUSHcomponent data in Test. Full discovery + field map:scratch/Void_Weekly_Flushing_discovery.md.
Purpose¶
LHP must flush the water systems of unoccupied (void) properties weekly to prevent legionella
buildup. Operatives open this Versaa form at each property to record the flush and update the
property's CPLEGVOIDFLUSH (Legionella Void Flush) component. Owned by Peter Steele (QL + reports)
and Imran Saleem (the form). The current live form is v50 — bloated with unused FRA/insight/audit
fields; the plan is a strip-back in place, not a from-scratch rebuild.
Work split (Void Weekly Flushing programme)¶
- (Pete) Task Centre job — stamps
CPLEGVOIDFLUSHon every void + a maintenance cycle. - (Pete) Report — which properties need flushing (planners allocate the visits).
- (Imran) This form — reads the component, asks the minimal questions, updates the component.
- (Pete) Exception reporting — void with active tenancy → remove component; on-hold flags.
What already works (verified 2026-07-01)¶
The read and cycle-date write-back pipelines exist and are already pointed at CPLEGVOIDFLUSH,
cycle 2:
- Read:
Week Void Flush App Data(v4) — onVoid Weekly Flushing.AppendPCAData, block-level SQL overhgmprcom+hgmpccyc(cmpnt_ref='CPLEGVOIDFLUSH',cycle_no=2,hgmblckd.block_prty=@BlockID) → returnslast_date, next_date, duration, cmpnt_ref, seq_no, location, addressinto the form's Void Properties group. - Write:
Weekly Void Flushing Prty Comp(v7), step Update QL Comp Cycle — INSERTs into thehgm1stuyaudit table fromhgmpccyc(@LastDate,next_date = last_date + duration); QL interface applies it to livehgmpccyc. Fired via the generic<form>.UpdatePCAComponentevent (shared by ~two dozen compliance forms). - Contact: the form already carries the
QLwat_*QL-contact block incl.Use Property Void Client Nofor "Create Contact for Voids" (same void-client pattern that unblocked Void Survey ticket 21617 — see void-survey.md).
What is missing (the actual work)¶
Read (extend the SELECT — Pete's side): the query already joins hgmprcom but doesn't select the
descriptive columns. Add maker (→ *Make/SYSTEMTYPE), model_no (→ 'COMMUNAL' when CHTGCOMMUNAL
exists), descriptn, cond_code, plus HRAVOID.desn (void status via hgmprty1.void_stat) and
lot_id (chemical clean-down). None are read today.
Write (extend — Pete's side): the current write updates only the cycle date. The spec also needs
component-master (hgmprcom) writes — COND_CODE='On_hold', *make/model_no on first visit — and
appending the "why not flushed" text to Property Component Notes. Those paths don't exist yet.
Form (strip-back — Imran's side): drop the v50 clutter; add a SystemType (Simple/Stored)
drop-down + first-visit detection; implement Pete's branch flow (ON HOLD → stop; Simple vs Stored;
communal short route; "used in last 28 days"; 15-min first flush vs 2-min subsequent;
signage/CRM-classification → COND_CODE=On_hold; "why not flushed" text box); wire leaves to the
existing write-back and void-contact blocks.
Full field map¶
See scratch/Void_Weekly_Flushing_discovery.md — spec field → QL source → read/write status →
form field → action needed. That doc is also the handoff to Pete for the QL-side asks.
Related¶
- void-survey.md — void-client contact-creation pattern (
Use Property Void Client No=Yes) - data-items-library.md — reusable QL data-item blocks to copy from
- ../platform/property-components-ql.md — QL property-component data model (
hgmprcom/hgmpccyc) - calculated-fields.md, visibility-formulas.md — form logic building blocks