Turning fragmented primary-care data into tested evidence about how access is organised across general practice.
People reach general practice through online requests, appointments and telephone services, but the public data describing those routes are published separately. GPAP² brings these signals together to identify recurring practice-level access patterns across England, test how stable those patterns are, examine who the available evidence represents, and connect the profiles to patient experience, workforce, population and geography.
The national analysis covers 6,067 practices observed from 1 April 2025 to 31 March 2026. Fourteen OCS and GPAD features describe practice-size-normalised activity, activity composition and month-to-month variation. The selected descriptive model applies the registered transformations and robust scaling before fitting three K-Means profiles.
| Profile | Practices | Neutral description |
|---|---|---|
| 1 | 1,753 | Lower recorded activity, higher DNA and shorter-delay shares |
| 2 | 2,312 | Higher face-to-face share, longer delay and lower OCS activity |
| 3 | 2,002 | Higher recorded activity, higher same-day share and greater variation |
The model reproduces all 6,067 registered assignments using seed 2026, 100 initialisations, a maximum of 500 iterations and the Lloyd algorithm. K-Means was selected as the stable descriptive partition, not because k=3 was uniquely proved. Ward clustering, a spherical Gaussian mixture model and a 12-feature comparator provide complementary structural, uncertainty and construct-sensitivity evidence. See the model-selection evidence.
Evidence availability creates three nested populations:
| Analysis | Parent | Retained | Not carried forward | Direct scope |
|---|---|---|---|---|
| National profiles | 6,130 | 6,067 | 63 | Practices meeting the twelve-month OCS and GPAD contract |
| CBT inbound sensitivity | 6,067 | 3,020 | 3,047 | Practices with matched and complete inbound telephony evidence |
| CBT outcome sensitivity | 3,020 | 1,456 | 1,564 | Practices with complete valid call-outcome composition |
The population audit measures whether retained and non-retained practices differ in observed practice size, deprivation, rurality, region and ICB composition. It defines the population to which each result directly applies; it does not treat missing telephony evidence as zero activity.
Read the population and generalisability account or download the population scope register.
The GPAP² Evidence Map translates 42 research claims across access, patient experience, workload, equity, safety and value into four evidence states. Each claim records the construct, represented population, evidence source, uncertainty, permitted wording, prohibited wording and additional evidence required.
Explore the evidence map | Read the text version | Download the canonical 42-claim authority
The profiles describe configurations of recorded practice activity. They are not performance tiers and do not measure total demand, unmet need, workload, resolution, safety or causal impact.
| Analytical component | Question answered | Main evidence |
|---|---|---|
| Input and population contracts | Are the matrices valid, unique and correctly nested? | Input validation notebook, population audit |
| National model selection | Which descriptive partition is stable and interpretable? | National model notebook, model-selection summary |
| Profiles and uncertainty | What characterises each profile, and which assignments are uncertain? | Profile interpretation, uncertainty summary |
| Robustness and sensitivity | Do algorithms, features, telephony evidence or time windows alter the pattern? | CBT inbound, CBT outcomes, temporal analysis |
| External interpretation | How are profiles associated with patient experience, workforce, deprivation and rurality? | External-context notebook, GPPS interpretation |
| Geography | How are profiles distributed across 42 March 2026 ICB organisations? | QGIS project, geography guide |
| Evidence readiness | Which claims are supported, qualified or require more evidence? | Evidence-readiness notebook, Evidence Map |
The three matrices are produced by the immutable PCADI tag reference-apr2025-mar2026 at commit 1239c63356acfb824277ee6fbaee25fa8df51313. The acquisition script downloads each file to a temporary location, verifies its filename, byte size, schema and SHA-256, then installs it atomically.
Windows PowerShell:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev,notebooks,docs]"
python scripts/fetch_pcadi_inputs.py
python -m gpap2 validate
python scripts/reproduce_primary_profiles.py
python scripts/build_analytical_regression_evidence.py --check
pytest
python scripts/execute_public_notebooks.py --check
python scripts/validate_public_repository.py
python qgis/scripts/validate_qgis_project.pyLinux or macOS:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev,notebooks,docs]'
python scripts/fetch_pcadi_inputs.py
python -m gpap2 validate
python scripts/reproduce_primary_profiles.py
python scripts/build_analytical_regression_evidence.py --check
pytest
python scripts/execute_public_notebooks.py --check
python scripts/validate_public_repository.py
python qgis/scripts/validate_qgis_project.pyThe reference run used Windows 11, Python 3.13.14 and QGIS 3.44.12 LTR. The workflow in .github/workflows/ci.yml defines Python 3.11, 3.12 and 3.13 gates with read-only permissions and actions pinned to full commit SHAs.
| Evidence layer | Execution class |
|---|---|
| Input contracts and cohort nesting | Recomputed and validated |
| National clustering and assignments | Recomputed |
| CBT inbound and outcome comparisons | Recomputed |
| Temporal and external context | Validated from frozen authority tables |
| Evidence readiness | Inspected from checksum-controlled scientific authority |
| QGIS maps | Portable project plus structural and runtime evidence |
- Analytical roadmap
- Analytical model card
- Population and generalisability
- Model selection and uncertainty
- Telephone evidence
- Temporal robustness
- External context
- Geography and QGIS
- Evidence readiness
- Data and lineage
- Reproducibility contract
- Reproducibility releases
| Path | Purpose |
|---|---|
notebooks/ |
Seven executable notebooks following the analytical sequence |
src/gpap2/ |
Typed configuration, contracts, preprocessing, modelling and validation |
configs/ |
Complete reference-period analytical contract |
data/contracts/ |
Immutable PCADI file, schema and provenance contracts |
outputs/ |
Selected tables, figures and machine-readable validation evidence |
qgis/ |
Portable QGIS project, geographic data, previews and validation |
tests/ |
Unit, schema and analytical regression tests |
PCADI owns NHS source acquisition guidance, SQL integration, practice-month validation and annual matrix construction. GPAP² starts at the validated modelling interface and owns preprocessing, clustering, robustness, contextual linkage, mapping and evidence-ready interpretation. The upstream integration pipeline is referenced rather than duplicated.
Use CITATION.cff for citation metadata. Code is licensed under the MIT License. Documentation is available under CC BY 4.0. NHS-derived data and geographic assets retain their source terms; review data licensing before redistribution.
GPAP² was developed and is maintained by Peter Oluwatimilehin as an open research and reproducibility resource.


