Papers/Q01 — The Causal Landscape (ADO #26018)
Date: 2026-09-10 · Warehouse: ClickHouse 24.8.14.39, snapshot 2026-09-10
Verdict: Supported (exploratory structural study; all counts machine-verified against committed SQL)
Evidence chain: analysis/q01/ + results/ in nhs-scientist-papers, branch analysis/26018-causal-landscape; MANIFEST.json carries sha256 per artifact.
1. Research question
Which NHS warehouse tables join into cross-domain causal analyses, and which 10+ linkages are novel, feasible and significant enough to seed full research cycles?
2. Method (dataset-graph study, target-trial-emulation compatible)
1. Census: all 456 tables across nhs_raw/nhs_marts/nhs_research with row counts (01_table_inventory.sql).
2. Spine-key extraction from system.columns (02_spine_keys.sql): 271 tables carry org codes, 237 geography codes, 355 time keys; 260 carry org-or-geo + time.
3. Empirical adjacency at the conformed grain canonical_ods_code × month_date: joinable_pairs = distinct trust-month cells present in both tables of a pair (03_adjacency.sql).
4. Positive control (04_positive_control.sql): the established deprivation-to-mortality gradient must appear in the data.
5. Ranking: novelty (literature), feasibility (cells + overlap), significance (population affected), scored 1-5; keep novelty >= 4 and feasibility >= 3.
3. Findings
Causal landscape graph (edges with >= 1,000 trust-month cells)
```mermaid
graph LR
diagnostics[fct_diagnostics]
rtt[fct_rtt]
diagnostics -- 20486 --> rtt
workforce_main[fct_workforce_main]
workforce_sickness_absence[fct_workforce_sickness_absence]
workforce_main -- 18508 --> workforce_sickness_absence
rtt -- 15796 --> workforce_main
hes[fct_activity_hes]
hes -- 14945 --> rtt
ae[fct_ae]
ae -- 14708 --> rtt
ae -- 13312 --> workforce_main
rtt -- 11625 --> workforce_sickness_absence
diagnostics -- 10293 --> workforce_main
ae -- 9297 --> diagnostics
ae -- 8148 --> workforce_sickness_absence
hes -- 6375 --> diagnostics
bed_occupancy[fct_activity_bed_occupancy]
bed_occupancy -- 6350 --> workforce_sickness_absence
bed_occupancy -- 5915 --> workforce_main
prescribing_trust[fct_prescribing_trust]
prescribing_trust -- 5282 --> workforce_main
cancer[fct_cancer]
cancer -- 5204 --> rtt
prescribing_trust -- 5076 --> rtt
cancer -- 5007 --> workforce_main
ae -- 4847 --> prescribing_trust
bed_occupancy -- 4787 --> rtt
cancer -- 4489 --> prescribing_trust
cancer -- 4481 --> diagnostics
diagnostics -- 4426 --> prescribing_trust
ae -- 4247 --> cancer
bed_occupancy -- 3391 --> ae
diagnostics -- 3232 --> workforce_sickness_absence
bed_occupancy -- 3213 --> diagnostics
bed_occupancy -- 1807 --> prescribing_trust
bed_occupancy -- 1616 --> cancer
gp_appointments[fct_gp_appointments]
gp_appointments -- 1109 --> workforce_main
ambulance[fct_ambulance]
ambulance -- 1071 --> workforce_main
```
Positive control (deprivation → mortality)
Decile 1 (most deprived): 557,044 deaths vs Decile 10 (least deprived): 500,000 (2023+, national weekly series) — ~11.4% excess at the endpoints. The gradient is non-monotonic across mid-deciles (D3 lowest at 519k, D7 highest at 564k); the series is population-share confounded (national aggregate), so it validates join detection only, not effect estimation. Verifier-corrected wording 2026-09-10.
```
"imd_quintile","deaths","share"
"All groups",45804798,0.888
"Decile 1 - most deprived",557044,0.0108
"Decile 10 - least deprived",500000,0.0097
"Decile 2",526908,0.0102
"Decile 3",518744,0.0101
"Decile 4",541804,0.0105
"Decile 5",550120,0.0107
"Decile 6",562868,0.0109
"Decile 7",564176,0.0109
"Decile 8",552632,0.0107
"Decile 9",541740,0.0105
"Quintile 1 - most deprived",69496,0.0013
"Quintile 2",74632,0.0014
"Quintile 3",74392,0.0014
"Quintile 4",75124,0.0015
"Quintile 5 - least deprived",66104,0.0013
```
4. Ranked novel linkages (top 12)
| rank | exposure | outcome | cells | grain | overlap-months | novelty | feasibility |
|---|---|---|---|---|---|---|---|
| 1 | fct_prescribing_trust | fct_cancer | 4489 | trust-month | 48 | 5 | 5 |
| 2 | fct_workforce_main | fct_diagnostics | 10293 | trust-month | 60 | 4 | 5 |
| 3 | fct_workforce_sickness_absence | fct_ae | 8148 | trust-month | 60 | 5 | 5 |
| 4 | fct_prescribing_trust | fct_ae | 4847 | trust-month | 48 | 4 | 5 |
| 5 | fct_workforce_main | fct_cancer | 5007 | trust-month | 84 | 4 | 5 |
| 6 | fct_prescribing_trust | fct_activity_bed_occupancy | 1807 | trust-month | 36 | 4 | 4 |
| 7 | fct_rtt | fct_workforce_main | 15796 | trust-month | 84 | 3 | 5 |
| 8 | fct_diagnostics | fct_cancer | 4481 | trust-month | 84 | 3 | 5 |
| 9 | fct_rtt | fct_ae | 14708 | trust-month | 84 | 3 | 5 |
| 10 | fct_activity_bed_occupancy | fct_prescribing_trust | 1807 | trust-month | 36 | 4 | 4 |
| 11 | fct_workforce_sickness_absence | fct_prescribing_trust | 0 | trust-month | 0 | 5 | 1 — BLOCKED |
| 12 | fct_diagnostics | fct_workforce_main | 10293 | trust-month | 60 | 3 | 5 |
Full text (significance scores + hypothesis sketches): results/q01_ranked_linkages.csv
5. Limitations
6. Evidence chain (query → result → file)
| Step | Query | Result rows | File |
|---|---|---|---|
| Inventory | 01_table_inventory.sql | 455 | results/q01_table_inventory.csv |
| Spine keys | 02_spine_keys.sql | 455 | results/q01_spine_keys.csv |
| Temporal | 02b_temporal_ranges.sql | 14 | results/q01_temporal_ranges.csv |
| Adjacency | 03_adjacency.sql | 50 | results/q01_adjacency.csv |
| Positive control | 04_positive_control.sql | 16 | results/q01_positive_control.csv |
sha256 of every artifact: analysis/q01/MANIFEST.json. Reproduce: bash analysis/q01/run.sh (needs CLICKHOUSE_URL/USER/PASSWORD env).
7. Downstream seeds (Q02+)
Top-3 recommended cycles: (1) prescribing→cancer detection pathway [rank 1]; (2) workforce vacancy→diagnostic waits [rank 2]; (3) staff sickness→A&E demand [rank 3]. Each has >= 4,400 joinable trust-month cells and >= 36-month overlap, supporting DiD/IV designs with trust and month fixed effects.
Verifier note (2026-09-10): rank-11 seed (sickness_absence -> prescribing) has 0 shared trust-month cells in the committed adjacency — no edge exists for that pair despite both tables being in the SQL UNION. Do not proceed at trust grain. Rank-12 duplicates rank-2 with direction reversed; treat as one seed. All 30 graph edges above match results/q01_adjacency.csv exactly (regenerated from CSV by verifier).
8. Verification record
Citation
nhs-scientist team (2026). "Papers/Q01 — The Causal Landscape". Limoja NHS Data, data.limoja.ai [nhs-2609.004]. Underlying data: OGL v3.0, original publishers.Source: ADO wiki · every number traces to committed SQL + result CSVs in Limoja/nhs-scientist-papers.