Actuarial studies · 2026

Radiology Workforce Model

National imaging volume, allocated to clinics, resolved to FTE.

Nobody publishes how many radiologists work at a given clinic. The model reconstructs it: discover and geocode the network, classify each site by rurality and archetype, allocate national imaging volume down to clinic and modality, convert that to reading minutes, strip the time that is not radiologist-owned, and divide by productive hours. Then — the part that matters — check the answer three ways and let it fail.

Status
Production
Domain
Workforce modelling · Health economics
Role
Model design, pipeline, QA framework
Year
2026

Stack

  • Python
  • pandas
  • Playwright
  • pydantic
  • rapidfuzz
  • YAML scenarios
  • openpyxl

A top-down workforce model that turns national imaging volume into per-clinic radiologist FTE estimates, calibrated against published workforce data and falsifiable against three independent reconciliation gates.

01

Top-down, because bottom-up data does not exist

Per-clinic staffing is not published anywhere.

What is published is national imaging volume by modality and quarter, and a national workforce total. The model works down from those: allocate volume to buckets of state and rurality, distribute within a bucket by an operator share that tilts with site count, weight each clinic by its service mix and opening capacity, then convert to time. Every step is a place the estimate can be wrong, which is why every step is written out rather than fitted.

02

Joint scenarios, not a single sensitivity

Moving one parameter at a time understates uncertainty, because the parameters are not independent — an operator share at the low end tends to travel with a longer productive year and a higher reporting share.

The low, base and high cases therefore move several coupled parameters together, so the resulting fan brackets a defensible range rather than a cosmetic one. The spread between the low and high totals is deliberately wide; a narrow fan from a model with this many assumptions would be a claim the evidence cannot support.

03

Three gates that can fail the run

A workforce model that cannot be falsified is an opinion with arithmetic attached.

Each run is checked against a national total, a per-clinic ceiling, and a state-level distribution — each independent of the others and each able to fail. The per-clinic ceiling is evidence-gated rather than absolute: a site may exceed the soft cap where there is corroboration such as multiple suites, hospital affiliation, or a credentialed headcount, and a breach without evidence is an error rather than a warning.

04

When the check fails, sometimes the check is right

The state-distribution gate is the one that earns its place.

A persistent divergence between the modelled state share and the published workforce share can mean the operator-share tilt is mis-specified — or it can mean the operator genuinely is over-represented in that state relative to the national workforce. The model reports the second case as a finding rather than tuning it away, which is the difference between calibration and fitting the answer you wanted.

05

The audit sheet is the contract

Every run writes an assumptions register — one row per parameter with its value, its scenario, its source and its tunable range — alongside a reproducibility manifest capturing the code version, the hashes of every input and the resolved parameter set.

The workbook leads with the reconciliation sheets rather than the results, because a number whose provenance cannot be reconstructed is not evidence, and a reader should meet the checks before they meet the answer.

06

Entity resolution underneath all of it

The same clinic appears under several names across sources — abbreviations, suite numbers, former trading names.

Fuzzy matching resolves them to single entities, which is where most of the correctness work lives. Naive deduplication either merges two genuinely different sites or leaves one site counted three times, and both failures propagate silently into every downstream count.

07

A cache that is treated as an asset

Geocoding is metered, so results persist to a cache that is explicitly documented as not-to-be-deleted.

Local cloud-storage emulation lets the whole pipeline run end to end offline against the same interfaces it will use in production.

08

Progressive scoping as a testing strategy

Scope narrows from national to state to metropolitan, and the narrow set is run first.

It is a cheap way to get the correctness signal early: a matching threshold that misbehaves on two hundred metropolitan sites will misbehave on thousands nationally, and finding that out on the small set costs minutes instead of a full run and a metered bill.

09

A package, not a folder of scripts

Typed models at the I/O boundaries, structured logs that can be queried rather than read, a declared retry policy, configuration held apart from code, and a test suite.

None of it is glamorous and all of it is what separates a pipeline that can be handed to somebody else from one that only runs on the machine it was written on.

Pipeline

Discovery to index

Stage Can reject

  1. 01

    Scope

    Target set

    National → state → metro

  2. 02

    Async fetch

    Raw records

    Retry policy

  3. 03

    Parse

    Typed models

  4. 04

    Fuzzy resolve

    Unique entities

  5. 05

    Geocode cache

    Coordinates

    Metered calls never repeated

  6. 06

    Output

    Indexed clinics

The mathematics

What the model
actually computes.

Equations and every symbol defined. Fitted parameters — shares, tapers, elasticities, reconciliation bands — stay in the configuration they belong to.

01

Volume to reporting FTE

Public imaging volume is allocated to clinics, converted to reading minutes, stripped of the time that is not radiologist-owned, and divided by productive hours.

md = sd · SATd · a wd = md · rd · ud FTEd = wd h·60 FTEclinic = τ · Σd FTEd
d
Modality — CT, MRI, ultrasound, X-ray, nuclear medicine
sd
Allocated services in the modality
SATd
Standard attendance time per service
a
Annualisation multiplier
rd
Radiologist-owned share of reading time
ud
Ancillary uplift — multidisciplinary meetings, protocolling
h
Productive hours per full-time equivalent
τ
Clinic archetype taper

The archetype taper is applied at clinic level, after the per-modality adjustment, because cross-modality protocolling and shared reads are properties of the site rather than of any one modality. Applying it per modality would double-count the saving at multi-modality hubs.

02

Count-tilt operator share

An operator’s share of volume in a bucket is not its share of clinics — supply-constrained modalities concentrate. A tilt exponent lets each modality respond differently to that concentration.

σb,d σb · ( nb Nb )ηd
σb
Baseline operator share in bucket b
nb / Nb
Operator clinics over all clinics in the bucket
ηd
Tilt exponent for modality d

Buckets are state × rurality. Setting η to zero recovers a flat share; raising it concentrates volume toward operators with more sites, which is the observed behaviour for modalities where equipment is scarce.

03

Three reconciliation gates

A workforce model that cannot be falsified is an opinion. Every run is checked against three independent references, and each can fail the run.

  • National total Modelled Australia-wide FTE against published workforce data scaled by operator share, within a stated band.
  • Per-clinic ceiling Soft and hard caps on single-site FTE, with breaches admitted only where corroborating evidence exists — multi-suite, hospital affiliation, or a credentialed headcount.
  • State distribution Modelled share by state against the published workforce distribution. A persistent divergence is reported as a genuine footprint asymmetry rather than silently tuned away.

The third gate is the interesting one. When it fails, the honest answer is sometimes that the operator really is over-represented in a state relative to the national workforce — so the check distinguishes a mis-specified tilt from a real finding, instead of treating every divergence as an error to be fitted out.

Skills exercised

What the build
actually demanded.

Against the corpus · 15 systems

  • Stack breadth 7
  • Design decisions 9
  • Pipeline stages 6
  • Decision gates 1

This system Corpus median

Quantitative

  • Top-down volume allocation to site and modality
  • Count-tilt operator share with per-modality exponents
  • Joint scenario construction across coupled parameters
  • Reconciliation against published workforce statistics

Health economics

  • Rurality classification and catchment bucketing
  • Clinic archetype taxonomy and capacity tapering
  • Standard attendance time and ancillary uplift by modality
  • Reporting-share separation of radiologist-owned work

Engineering

  • Discovery, geocoding and fuzzy entity resolution
  • Typed scenario loading from declarative configuration
  • Reproducibility manifests with input hashing
  • Audit workbooks where the QA sheet is the contract

What it establishes

  • Three falsifiable gates

    National total · per-clinic ceiling · state distribution

  • Joint scenarios

    Coupled parameters move together, so the fan is defensible

  • Evidence-gated caps

    A breach without corroboration is an error, not a warning

  • Divergence as finding

    A real footprint asymmetry is reported, not tuned away

  • Reproducibility manifest

    Code version and input hashes beside every run