NHS Pulse.
Hospital performance, with the evidence behind every number
A hospital performance measure only becomes useful when its period, scope and denominator are clear. I built NHS Pulse to connect published NHS statistics with the engineering needed to investigate them reliably.
Make the reporting contract visible
NHS England publishes hospital statistics across separate collections. A&E describes monthly attendances and waiting-time outcomes. KH03 reports quarterly average beds and occupancy. DM01 describes diagnostic activity and waiting lists. Combining them requires more than joining files: each collection has its own scope, release calendar and denominator.
NHS Pulse keeps these distinctions visible while connecting national analysis, provider investigation, geographic comparison, forecasting and source operations in one workspace. Every headline measure includes its reporting period and a route back to the official release.
A connected national performance view
Official publications become versioned analytical evidence
| Collection | Reporting grain | Engineering treatment |
|---|---|---|
| A&E | Month × provider × department type | Booked appointments included in headline scope; DTA waiting bands kept separate from arrival-to-departure performance |
| KH03 beds | Quarter × provider × specialty | Average daily beds converted to bed-days using the actual quarter length |
| DM01 diagnostics | Month × provider × commissioner × test | Provider and commissioner projections remain non-additive; NONC activity excluded from NHS-commissioned analytical scope |
| Geography and organisations | Versioned boundaries and effective relationships | Official ONS polygons, ODS metadata and dated provider/ICB assignments |
The September 2026 A&E headline reconciles to 2,444,743 attendances. The August diagnostics waiting list reconciles to 1,827,219 after excluding 5,851 non-NHS-commissioned records from the raw extract. These reconciliations are executable checks rather than manually entered dashboard values.
Separate collection, publication and consumption
- 01Official publicationsNHS England files · ODS · ONS boundaries
- 02Discovery and immutable evidencePublication calendars · conditional requests · SHA-256 source versions
- 03Validation and atomic publicationContract checks · denominator reconciliation · quarantine · revision lineage
- 04PostgreSQL / PostGISRaw evidence · reference relationships · analytical facts · SQL marts
Downloaded evidence and normalized facts are immutable. A new checksum creates a release version; validation precedes an atomic switch of the analytical publication pointer. Identical content produces a no-change event. Invalid releases retain the last valid published view, with the failed checks available in Data Operations.
Investigate variation without losing the denominator
The workspace supports reporting-month, region and department filters; provider search, sorting and comparison; quarterly bed analysis; and CSV exports carrying release provenance. Department-specific views withhold DTA bands because the official file publishes those bands at provider-total scope.
Geographic intelligence using official boundaries
Quarterly capacity with explicit denominators
Evaluate before extrapolating
Attendance forecasting compares a seasonal-naïve benchmark with damped seasonal exponential smoothing. Expanding rolling origins start with 24 training months. Selection uses MAE and WAPE over the first three horizons; horizon-specific held-out errors define empirical uncertainty intervals.
| Candidate | MAE · attendances | WAPE |
|---|---|---|
| Seasonal naïve | 64,713.55 | 2.73% |
| Damped seasonal ETS | 49,452.14 | 2.09% |
Horizons with fewer than six calibration errors are withheld. A seasonal level-shift screen flags recent changes that require a source-comparability review. The model registry retains its training releases, evaluation results and scope. These forecasts describe aggregate published activity, not individual waits or available beds.
Forecasts with an explicit evaluation basis
Questions resolve to bounded database evidence
The analyst uses nine typed, read-only tools for metric definitions, aggregate queries, period and provider comparisons, geography, forecasts and publication status. It cannot submit arbitrary SQL. Numerical grounding checks compare its answer with tool results, while evidence records preserve the supporting release identifiers.
Signed visitor sessions isolate investigation history. Persistent per-visitor allowances and a shared daily budget bound provider usage. The server holds the DeepSeek credential; operational changes require a separate administrator key.
An investigation workspace with source evidence
Publication-aware operation on a small hosting footprint
A stateless scheduled runner checks source-specific due times against the official publication calendar. Daily discovery accelerates around announced releases; weekly audits revisit published history. Organisation enrichment, boundary refresh and forecast retraining operate independently of website traffic. Successful checks and new observations remain separate events.
The deployed system uses Vercel for the frontend, a free Render API service and Neon PostgreSQL/PostGIS. Docker Compose provides the reproducible local stack. Automated checks cover parsers, missingness, revision publication, rollback, immutable evidence, tool safety and responsive browser interactions.
Source operations and publication lineage
Interpretation follows the evidence
- Published statistics describe historical reporting periods and do not represent current hospital conditions.
- Provider scope and organisational changes affect comparisons. Rates require comparable definitions and matched denominators.
- Forecast intervals use a limited historical sample and do not guarantee future coverage.
- Free hosting can introduce a cold start. Collection runs independently, so a sleeping web service does not stop scheduled discovery.