Medius data programs
Internal ยท for Medius founders and shareholders

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

ZoobuildingLast activity 14.11.2026

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

  1. Finish applying the 12.11 audit fixes
  2. Get one chain run with no new fails
  3. Freeze the clean cut and date it
  4. 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

ZoobuildingLast activity 14.11.2026

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

  1. Finish and check the roster re-read
  2. Put the new snapshot (T3) to Kate for sign-off and freeze it in the baseline register
  3. Fix the matching: name variants, non-GP entries, group sites that load rosters by script, booking page before website
  4. 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

Zoo, ProxenoliveLast activity 14.11.2026

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

  1. Report on outputs built on cuts older than 14.11
  2. Fix any script still reading sa3_code
  3. Answer the address-level geocoding question
  4. 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

Zoo, ProxenobuildingLast activity 14.11.2026

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

  1. November monthly run on 03.12.2026
  2. Add postcode, GP count, price history and billing to practice-sales.db so size bands and multiples can be worked out
  3. Repair source-health rows SH-001, 002, 003 and 013; add the five pilot sources
  4. 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

ZooliveLast activity 12.11.2026

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

  1. Add the confirmed practices still pending from the 15.10 market scan (four to add, one on hold)
  2. Decide the extra fields proposed 17.09: postcode or LGA, MMM, ownership type, service mix
  3. Run the next monthly market audit in the first December Zoo run
  4. 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

ProxenobuildingLast activity 14.11.2026

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

  1. Server agent builds the sell-side target list on the newest signed-off cut, sorted by owner age (brief of 14.11.2026)
  2. Kate reviews the list and decides how Proxeno uses it
  3. Decide whether the building columns go onto the main list
  4. 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)

Proxeno, MediusbuildingLast activity 13.11.2026

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

  1. Add the owner-clinical overlay (now unknown)
  2. Rebuild on the clean list cut after the GP re-read
  3. Check a sample against known sale prices

Decisions

  • Add building type and owner age back in? (left out 03.11)

8Practice viability index (HFEI)

Medius, ZoopausedLast activity 02.11.2026

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

  1. Kate reviews the 32 worked examples
  2. Spot-check 10 AutoMed practices against same-town HotDoc practices
  3. Join the availability results into HFEI and rebuild on the current list (fix the 21 duplicate practice keys first)
  4. 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

MediusbuildingLast activity 14.11.2026

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

  1. Review the first weekly roll-up for quality
  2. Add detail-page reads only where the yield justifies it
  3. Tune filters from Kate's noise flags
  4. 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

MediusliveLast activity 10.11.2026

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

  1. Kate registers for free email alerts on the blocked portals

Decisions

    11Data lake

    MediuspausedLast activity 04.11.2026

    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

    1. Review after the list audit is clean

    Decisions

    • Unfreeze after review

    12Deal register and buy-side deal review

    ZooliveLast activity 12.11.2026

    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

        MediusscopingLast activity 12.09.2026

        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

        1. Decide whether it goes ahead this year

        Decisions

        • Go ahead, defer or drop