Skip to content

Repository files navigation

GPAP²: General Practice Access Patterns and Profiles

Turning fragmented primary-care data into tested evidence about how access is organised across general practice.

Python 3.11 to 3.13 Version 1.0.0 Code licence: MIT

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.

What the analysis found

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

Relative profile characteristics and practice-level assignment uncertainty for the three-profile national model

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.

Who the evidence represents

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.

Nested populations and measured composition differences at each evidence boundary

Read the population and generalisability account or download the population scope register.

What can be concluded

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

Evidence readiness by research domain and support category

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.

Follow the analytical sequence

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 GPAP² analytical sequence from validated inputs to bounded claims

Reproduce the reference analysis

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.py

Linux 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.py

The 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

Documentation and repository map

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

Data boundary, citation and reuse

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.

About

Modelling and evidence analysis revealing how digital activity, appointments and telephony combine into recurring access patterns across general practices in England.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages