Data programs register
Every index and data build, ranked by priority. Snapshot of 14.11.2026. Back to the operations bible
1List audit and data contract
Every index below reads the GP practice lists. If the lists are wrong, every product built on them is wrong. This is the audit Kate has been running about 8 hours a day for over a week.
Data collected
The national list (6,405 practices), group operator files, owner research and Zoho upload files, checked by run_chain.py against the data contract.
Where it stands
Fixes from the 12.11 Codex audit (2,225 fault records) are being applied. Every chain run on 14.11 still reports new fails. The data map was updated 14.11.
Next steps
- Finish applying the 12.11 audit fixes
- Get one chain run with no new fails
- Freeze the clean cut and date it
- Re-run the builds that used older cuts (HFEI, roll-up screen, Proxeno targets)
Decisions
- Which older outputs to re-run, retire or leave (enrichment brief, 14.11)
2GP movement index
Shows where GPs move between practices over time. A rare market signal for owners, buyers and recruiters.
Data collected
Each GP's listed practice at frozen points in time: T0 (published Zoo data, 05.07), T1 (17.10), T2 (18.10, 18,850 rows). A full re-read of every roster (6,409 practices) started 14.11 for T3.
Where it stands
The first T0 to T1 run (18.10) failed its accuracy check: 65% of moves confirmed against an 85% threshold, so every figure is marked not for use. The full roster re-read started 12 to 14.11 to fix the input; batches 1 and 2 are written.
Next steps
- Finish and check the roster re-read
- Put the new snapshot (T3) to Kate for sign-off and freeze it in the baseline register
- Fix the matching: name variants, non-GP entries, group sites that load rosters by script, booking page before website
- Re-run with the accuracy check (--validate)
Decisions
- Sign off the T3 snapshot
- How to treat one booking account serving two clinics (handover question 3) and questions 4 and 5
- How movement results are published (format not set)
3Medicare and AIHW catchment enrichment
Gives every practice its local market: Medicare service use, population growth and age, disadvantage, remoteness and chronic disease demand. Feeds the Zoo, Proxeno targeting and the valuation screen.
Data collected
Postcode SEIFA; SA3 Medicare service use (AIHW 2024-25); ABS population growth and age; PHN, MMM and remoteness; chronic disease by SA3. Two catchment workbooks and a 340-area SA3 market table.
Where it stands
Rebuilds on every chain run (step 2c2). The 14.11 enrichment check found no faults.
Next steps
- Report on outputs built on cuts older than 14.11
- Fix any script still reading sa3_code
- Answer the address-level geocoding question
- Clear about 40 old catchment cuts, keeping the newest pair
Decisions
- Use G-NAF address-level geocoding? 192 of 5,344 practices (3.6%) sit in a different SA3 from their postcode
- Unfreeze the data lake and Proxeno targeting after review
4Practice sales index
A factual record of GP practices for sale, under contract, sold and withdrawn. Feeds the Zoo for-sale page, the monthly GP sale index and Proxeno origination.
Data collected
Daily broker-site observations in the sellscan ledger. 13.11: 164 observations (85 for sale, 69 sold, 9 under contract, 1 withdrawn).
Where it stands
Live: weekday scan, weekly Zoo page, monthly brief (October brief 05.11). October counted 24 sales, but two status-detector faults created false 'sold' records; the real figure is 0 confirmed sales. Five new broker sources are in a pilot. The sales-listings agent's Wednesday job was paused 10.11 and the Zoo run does that work.
Next steps
- November monthly run on 03.12.2026
- Add postcode, GP count, price history and billing to practice-sales.db so size bands and multiples can be worked out
- Repair source-health rows SH-001, 002, 003 and 013; add the five pilot sources
- Write the cross-portal duplicate rule and build identity matching
Decisions
- Rulings RQ-003, RQ-004 and RQ-005
- Leave out records inside known fault windows, or have the agent mark them?
- What the index is for, and who it is for; aggregate-only publishing unless Kate rules otherwise
- Close the stale kanban card C1 (closed in Zoo decisions on 10.11)
5New practices index
A weekly, checked record of new GP practices opening in Australia, for the buy side and as part of the Zoo data. Published in the Zoo weekly and at gpzoo.com.au/new-practices/.
Data collected
Practice name, suburb, state, metro or regional, confirmed opening date, first-seen date, GP count (number only), billing model and website. Leads come from a weekly HotDoc snapshot (8,781 practices on 10.11; 69 new and 52 gone that week) and a monthly accreditation register check.
Where it stands
Live. The Wednesday Zoo run confirms each lead on the practice's own website and rebuilds the dataset; last rebuilt and published 12.11 after the market audit corrections. A monthly market audit runs in Codex.
Next steps
- Add the confirmed practices still pending from the 15.10 market scan (four to add, one on hold)
- Decide the extra fields proposed 17.09: postcode or LGA, MMM, ownership type, service mix
- Run the next monthly market audit in the first December Zoo run
- Make the accreditation register a standing source, not only a monthly lead check
Decisions
- Zoo decision 11: remove the method wording from the openings and sales pages?
- Add the proposed extra fields?
6Owner age and building signals
Signals that an owner may sell soon: owner age (succession) and premises. Feeds Proxeno seller origination.
Data collected
Owner age bracket from AHPRA registration year and owner bios: 1,318 owners bracketed (202 under 45, 380 aged 45 to 55, 411 aged 55 to 65, 325 aged 65 and over); 1,054 unverified; about 2,680 independents still blank. Building type and an owner-occupied estimate (H, M, L) from address and map data for the independent list (04.10), in a working copy only. No property title searches.
Where it stands
Kate lifted the 04.11 hold for owner age on 14.11.2026: owner age comes from AHPRA and owner bios, not the area data. The hold still applies to anything scored on area. A brief for the sell-side target list, sorted by owner age, is with the server agent. Building ownership is still an idea only.
Next steps
- Server agent builds the sell-side target list on the newest signed-off cut, sorted by owner age (brief of 14.11.2026)
- Kate reviews the list and decides how Proxeno uses it
- Decide whether the building columns go onto the main list
- Research the owners not yet covered, then age them
Decisions
- Should building type or ownership feed Proxeno signals or the valuation screen? (left out 03.11)
- Find a source for building ownership, or drop it
- Address-level area matching (G-NAF), which lifts the hold on area-based scoring
7Valuation signalling (roll-up screen)
Estimates billings and EBITDA for every practice from public data, to find roll-up anchors and add-on targets. A targeting screen, not a valuation.
Data collected
2,849 independent practices with 4 or more GPs and 1,501 group sites under 474 operators. Estimated FTE from GP count and SA3 demand; billings and margin ranges by billing policy, nurses and gap.
Where it stands
Version 2 passed its audit. A national re-cut (12.11) and a VIC small-group target book (12 and 13.11) exist.
Next steps
- Add the owner-clinical overlay (now unknown)
- Rebuild on the clean list cut after the GP re-read
- Check a sample against known sale prices
Decisions
- Add building type and owner age back in? (left out 03.11)
8Practice viability index (HFEI)
A free public score of how hard it is to see a GP: gap-fee shock and days to the next appointment. The one buildable part of the 31.10 viability concept; the other two indices need surveys and partners.
Data collected
All 6,394 practices scored on gap fees (billing policy, AIHW SA3 gap fee, SEIFA). Booking availability scraped from HotDoc, HealthEngine, AutoMed and Zedmed for 2,706 practices: median 2 days, mean 2.9.
Where it stands
The scrape finished 02.11 but was never joined back into the scores. The scraper is switched off and has no schedule.
Next steps
- Kate reviews the 32 worked examples
- Spot-check 10 AutoMed practices against same-town HotDoc practices
- Join the availability results into HFEI and rebuild on the current list (fix the 21 duplicate practice keys first)
- Optional: add the AIHW emergency department substitution rate
Decisions
- Who owns HFEI? The 09.11 product audit found no owner, no brief and no keep-or-kill call
- Score 'nothing bookable' practices as high friction with a flag, or exclude them?
- Is the AutoMed 9-day mean real or a label quirk?
- Tier thresholds: almost every practice lands in Moderate
- Run the availability scrape on a schedule?
9Medius Match roles scan
Finds roles and board opportunities for Medius Match members.
Data collected
Listings from 26 sources (digital health careers pages, NFP boards, ACRRM, SmartJobs and others), digests three times a week, and a listings register.
Where it stands
The scan is live (Mon, Wed and Fri 08:00 Sydney, 37 sources, 25 active). The public roles register and weekly email are not published: two weeks of held rows need Kate's review first. The weekly roll-up has never completed a run.
Next steps
- Review the first weekly roll-up for quality
- Add detail-page reads only where the yield justifies it
- Tune filters from Kate's noise flags
- Steady SmartJobs volume swings
Decisions
- Review the two weeks of held rows
- Page title for the roles register
- Weekly newsletter design (dummy digest exists)
10Tender scan
Finds government, grant and PHN tenders that fit Medius consulting.
Data collected
AusTender, GrantConnect and PHN tenders matched to Medius services. Digests go to Discord.
Where it stands
Live Mondays 08:00 Sydney. Several state portals block the server.
Next steps
- Kate registers for free email alerts on the blocked portals
Decisions
11Data lake
One queryable store for all list and enrichment data, so products draw from a single source.
Data collected
Planned derivation of all list and enrichment fields.
Where it stands
Frozen since the 04.11 re-audit.
Next steps
- Review after the list audit is clean
Decisions
- Unfreeze after review
12Deal register and buy-side deal review
A weekly public record of primary care deals, plus a health insurer M&A tracker.
Data collected
Deals and ownership moves from the weekly news sweep; health insurer M&A.
Where it stands
Live weekly at gpzoo.com.au/deal-review/.
Next steps
Decisions
13State of GP Practice Ownership benchmark
An annual survey benchmark of GP practice ownership, run by Medius.
Data collected
Survey instrument version 1 drafted.
Where it stands
Untouched since 12.09.2026.
Next steps
- Decide whether it goes ahead this year
Decisions
- Go ahead, defer or drop