Barcelona pilot.
Observed city structure. Uncalibrated behavioural and service mechanisms. The pilot incorporates selected official inputs for who lives where, which services exist and what the weather did — while everything about how need becomes demand, and how demand meets capacity, still rests on declared assumptions.
Why Barcelona?
Barcelona was chosen as the first city implementation for a practical reason: it has an unusually rich open-data environment. Population registers, administrative geography, health-service locations, socioeconomic indicators, weather records and other contextual datasets are publicly available at useful spatial scales. That made it possible to test how far CHRS could move from a controlled synthetic benchmark toward a reproducible city-specific implementation without requiring privileged data access.
Barcelona is a starting point, not a claim that it is the only or ideal test city. The implementation is still being developed independently, and no local academic, public-health or municipal team is formally attached to the pilot at this stage. I would be very happy to hear from researchers, health-system teams, city organisations or data custodians interested in reviewing the assumptions, improving the evidence base, or developing the Barcelona case collaboratively.
Working with Barcelona data or urban heat and health?
If you see a dataset, assumption or validation pathway that could strengthen this pilot, I would be glad to connect
Six layers of observed or derived city input.
These components come from official or externally sourced records. They anchor who the simulated population is, where services physically are, and what the weather actually did. They are fixed inputs and context — using them does not make the model calibrated.
Population Observed margins
Official population-register margins for 2026 — roughly 1.72 million residents across area units, after suppression handling — plus a deterministic sampled simulation population built from those margins. Joint health and access traits remain synthetic draws.
Geography Official crosswalks
Official district and neighbourhood boundaries in the Catalan reference coordinate system, harmonised into ten simulation zones with documented crosswalks and orphan checks.
Facilities Identity · type · locationCapacity not observed
A register of 146 raw facility records — 54 primary-care, 8 urgent-care and 76 emergency facilities active in the current snapshot — with real identity, classification and location. No staffed slots, hours, throughput or closure history exists behind them.
Socioeconomic context Area-level only
Per-capita household income aggregated to area terciles. Useful as stratification context; it cannot identify individual need or seeking behaviour.
Vulnerability context Historical proxy
A 2017 spatial vulnerability index used as a heat-context proxy — not a measure of current individual vulnerability.
Weather evidence Observed stationsContext, not replay
Daily records from four AEMET stations covering 2010–2026, with a documented reference station, inform heat-event evidence and episode parameterisation. The engine's day-to-day climate inside a run remains synthetic; there is no accepted station-to-zone replay yet.
The mechanisms that evidence has not yet reached.
Every mechanism below runs on illustrative registry values carried over from the generic framework. They behave plausibly and they are tested — but plausible and tested is not the same as calibrated.
Routine, urgent and emergency daily probabilities are synthetic. No epidemiological incidence or prevalence evidence anchors them.
The probability of seeking once need exists is assumed. Attendance data alone could never identify it.
Nominal per-facility capacities are illustrative values rescaled to the sampling denominator — not observed Barcelona capacity.
Queue multipliers and maximum waits are assumptions. No observed waiting or overflow evidence exists.
The heat multiplier on need, and heat effects on workforce and operations, use illustrative parameters. One candidate 2023 episode cannot identify a response curve.
The engine's daily weather is synthetic, and travel uses a district-level geometric proxy rather than measured times.
Static GTFS is available locally. It is not in the model.
The full static T-Mobilitat GTFS feed now sits in the local evidence pack — two variants totalling more than 180 agencies, 1,600 routes and 23,000 stops each, plus realtime snapshots. This closes the acquisition gap that earlier documents recorded as missing.
Available locally
Two complete static feed variants with schedules, shapes, transfers and accessibility fields, plus point-in-time realtime snapshots.
Outside the production engine
No code in the simulation pathway consumes GTFS today. Travel times still come from the geometric zone proxy.
A future transport layer would first validate the chosen feed variant, its provenance and the stop-to-zone join — and even then it would improve an access proxy, not create observed 2020–2025 travel behaviour.
Annual benchmarks exist. The daily target does not.
Health-service utilisation evidence now comes in layers, and they must not be confused with one another. What exists is annual, mostly Catalonia-level, and useful for plausibility. What calibration needs is Barcelona-specific, dated, and service-classified. Neither exists yet.
Curated annual benchmark layer
A curated workbook of 49 indicators from the Catalan health-system results catalogue — 13 flagged highest-priority — traceable to source tables and DOI. Primary-care coverage and visit rates, emergency utilisation and composition, appointment accessibility within 5 and 10 days, chronic-condition prevalence.
The actual calibration target
A dated extract of primary, urgent and emergency activity for Barcelona residents, joined to facilities or areas, with denominators — plus aligned operational-capacity records.
Attendance alone cannot untangle the pathway.
This is the scientific core of the pilot. A count of people who attended a service is the product of everything upstream of it. Observed attendance cannot separately tell us who needed care, who decided to seek it, who could reach it, or how much capacity existed. That is why CHRS generates need before allocation, and why calibration needs multiple independent targets rather than one attendance series.
No age-, sex- or area-stratified incidence or prevalence evidence for routine, urgent or emergency care classes.
No survey or linked evidence separating "did not seek" from "sought but did not reach".
No dated, geographically joinable service-use series for any care class.
No staffed supply, opening hours, throughput or headroom. Attendance must never be converted into capacity.
No observed waits, queues, overflow or left-without-service records.
No aligned staffing, closure or disruption records for hot days — so heat effects on demand and on capacity cannot be separated.
The current threshold is illustrative; percentile-based candidates risk leaking validation years and must be recomputed before use.
The proposed 2020–2023 calibration / 2024–2025 holdout split is designed but not locked, and acceptance criteria are undefined.
Evidence first. Calibration second. Validation last.
The intended sequence is deliberately boring: acquire evidence, map it to exactly one model quantity each, calibrate only on the training years, freeze everything, then look once at withheld years. 2026 is reserved for scenario analysis — it is never a validation target.
Assemble the minimum package: aggregate utilisation extract, operational-capacity records, need and seeking anchors, and an externally fixed heat definition.
in progress · requests drafted, public sources cataloguedMap every observed field to exactly one model observable — unit, denominator, geography, missingness — or reject it as non-equivalent.
specified, awaiting dataFit the eight priority parameter groups only where denominators identify them: three need probabilities, baseline seeking, three capacities, heat response.
blocked pending evidenceLock parameters, transformations, event definitions and the holdout boundary before any withheld year is opened.
protocol defined, not executedOne pass over untouched years against pre-registered acceptance criteria. No tuning after looking.
not readyCounterfactual questions about the present and near future — explicitly not historical validation.
reservedFour datasets would unblock the next stage.
Epidemiological need evidence for the three care classes; a dated Barcelona utilisation extract by service class; operational capacity records — staffing, hours, throughput; and conditional care-seeking survey evidence. Aggregate counts with denominators are enough. Nothing individual-level is required.