HealthReach Indonesia: Capacity-Stratified Healthcare Accessibility Under Flood Disruption

An independent replication and extension of a KEMRI-Wellcome/Oxford disaster-accessibility methodology (Macharia et al., Kenya), applied to the real, documented January 2021 South Kalimantan flood using Sentinel-1 SAR-derived flood extent — not "validated," a word deliberately avoided project-wide since no independent flood product was used to check it. Four rounds of external review found and fixed eleven issues, including a 4x facility undercount (90 to 365) and a real pathing bug that had inflated severe-scenario disconnection (corrected from a buggy 94.0% to 68.6% for the real flood, 74.0% to 51.6% for the hazard-risk proxy). Most rigorously: a network-topology "chokepoint" finding was built, audited, then tested directly against a 200-trial randomization null model and strongly contradicted (p≈0.005, the wrong direction) — rather than reframe it, the project retracted it outright. What survives: chronic inequality (72.8% vs 90.0% baseline access, a 17.2pp gap) and disaster amplification — the gap widens to 19.6pp under the real flood, with a hazard-risk proxy overstating that widening by 1.7-2.6x across a matched-multiplier sensitivity sweep.

Proof points

  • 4 Review Rounds, 11 Issues Found
  • Retracted Own Finding (p≈0.005)
  • +2.4pp Gap, Proxy Overstates 1.7-2.6x

Technologies

Python, GeoPandas, NetworkX, Sentinel-1 SAR, osmium, Rasterio, WorldPop, QGIS/AccessMod

Links

Problem

Standard healthcare accessibility models treat facilities as uniform points and disasters as static hazard layers, obscuring whether a district is actually staffed and where a flood actually happened rather than where it merely could. South Kalimantan's real, well-documented January 2021 flood offered ground truth to test how much these simplifications matter — and four rounds of increasingly rigorous external review raised real doubts about the pipeline's own results, including its headline finding.

Approach

Reproduced Macharia et al.'s Kenya accessibility methodology for South Kalimantan, extended it with a WHO SDG 3.c.1-style district capacity index used to stratify results, and ran a deliberate proxy-vs-observed disruption comparison (BNPB hazard-risk layer vs. Sentinel-1 SAR-derived extent). Each review round went further than the last: fixing outright errors, then running sensitivity sweeps against claims that were individually defensible but not yet earned, then — critically — building a randomization null model specifically to test whether the project's own 'chokepoint' finding held up, and following an unexpected discrepancy that surfaced during that test down to an actual pathing bug in the headline pipeline.

Results

Facility extraction was undercounting by 4x (90 vs. the corrected 365); the fix recomputed every downstream number and dropped baseline median travel time from 13.7 to 6.8 minutes. A pathing bug in the severe-scenario pipeline was found and fixed, correcting disconnection figures from a buggy 94.0%/74.0% to 68.6%/51.6% while preserving the underlying comparison's direction. Most notably, the project's own null-model test strongly contradicted its chokepoint-mechanism finding (p≈0.005, wrong direction) — retracted outright rather than reframed. What survived: a chronic 17.2pp accessibility gap between underserved and well-served districts that widens to 19.6pp under the real flood, with a hazard-risk proxy shown, via a matched-multiplier sweep, to overstate that widening by 1.7-2.6x.

HealthReach Indonesia: Research Report

1. Executive Summary

HealthReach Indonesia is an independent replication and extension of Macharia et al.'s disaster-aware geographic healthcare accessibility methodology (Kenya, KEMRI-Wellcome/Oxford), applied to South Kalimantan, Indonesia using the real, documented January 2021 flood. It extends the reproduced methodology in two directions: a district-level healthcare workforce capacity index used to stratify accessibility results, and event-specific disruption modeling from Sentinel-1 SAR-derived flood extent rather than a static multi-year hazard-risk proxy. Four rounds of external review found and fixed eleven issues; this report reflects the corrected v0.3 numbers, including one finding that was tested and retracted rather than rescued.

2. Framing and Positioning

This is explicitly not a novel-from-scratch model or "first GIS healthcare study in Indonesia" claim — prior art exists (HeiGIT's 2013 Jakarta flood study; static Indonesian accessibility studies for Maluku, Muna Barat, Gunungkidul). "Derived" and "sanity-checked" are used deliberately instead of "validated" throughout this project's own documentation: no independent flood product (Copernicus EMS, UNOSAT) was used to check the Sentinel-1 classification, so that stronger word isn't earned.

3. Four Rounds of Review, Eleven Issues, One Retraction

  • Round 1 — outright errors, fixed. A facility-extraction bug undercounted by 4x (90 → 365; see §4), and a proxy "moderate" scenario was inconsistently defined (described as penalty-only but actually removing edges — fixed to be identical in operation across both disruption layers, verified against graph theory).
  • Round 2 — sensitivity checks against claims stated with more confidence than earned. A matched-penalty sweep (§5), an edge-overlap sampling check, a bridge-tagging audit (9.8% of 122 flagged chokepoint ways are OSM-tagged bridges), and a continuous-capacity/leave-one-out/workforce-denominator battery — nearly all of it held up or got stronger.
  • Round 3 — a null model built to strengthen Finding 3 instead refuted it. A 200-trial randomization test of the "real floods hit chokepoints harder" mechanism found the opposite: real flood damage was less disruptive than the same number of edges failing at random (empirical p≈0.005). Retracted, not reframed — see §6.
  • Round 4 — a follow-up check surfaced an actual pipeline bug, not just a caveat. Building a second null model (using population-disconnected-from-facilities instead of generic connectivity) turned up a 68.65% vs. 94.0% discrepancy against the "headline" pipeline for the same scenario. Investigated to root cause: the severe-scenario Dijkstra run was wrongly restricted to the single largest post-disruption connected component, silently miscounting population stranded in a smaller-but-facility-served fragment as disconnected. Fixed; every severe-scenario figure in this report reflects the fix.

4. Data and Method

  • Facilities: 365 (corrected from an undercounted 90), via osmium two-pass multipolygon-relation area assembly, filtered to Kemenkes/BNPB care-providing categories, deduplicated by proximity + name matching. Fixing this alone dropped baseline median travel time from 13.7 to 6.8 minutes.
  • Road network: 592k-node routable graph; travel time via one multi-source Dijkstra run (all facility-matched nodes as sources)
  • Population: WorldPop Indonesia 2020, ~4.50M in the clipped province, aggregated to ~1km cells
  • District capacity index: WHO SDG 3.c.1-style (doctors + nurses + midwives per 10,000) from Dinkes Kalsel Profil Kesehatan 2022 — used to stratify results by district, not integrated into the accessibility function itself (that would need facility-level workforce data, which doesn't exist publicly; no fabricated proxy was used to fake that sophistication)
  • Flood disruption, two layers compared deliberately: BNPB InaRISK hazard-risk proxy (multi-year, reverse-engineered from a rendered raster) vs. Sentinel-1 GRD pair (Dec 2020 baseline / Jan 2021 event, Otsu-thresholded VV backscatter, GCP-warped, visually sanity-checked against known river geography)
  • Two disruption brackets, defined identically in operation across both layers: severe (edges removed) and moderate (penalized, nothing removed)

5. Results

Finding 1 — Chronic inequality (highest confidence; doesn't depend on any disruption modeling choice)

Capacity classBaseline: within 60min
Underserved72.8%
Well-served90.0%

A 17.2pp baseline gap, independent of any flooding.

Finding 2 — Disaster amplification: the gap widens, and by how much depends on which disruption layer you trust

ScenarioAny accessWithin 30minWithin 60minWithin 120min
Baseline83.6%75.3%81.0%83.4%
Sentinel-1 moderate (primary estimate)83.6%71.0%79.4%82.8%
Sentinel-1 severe (stress test, corrected)31.4%28.0%30.4%31.2%

The chronic 17.2pp gap widens to 19.6pp under the real flood — a +2.4pp widening (unrounded). This is deliberately reported as a pp-gap, not a ratio of the two class-level drops (-2.8pp underserved vs. -0.4pp well-served): dividing those produces a dramatic-sounding multiple mostly because the well-served denominator is small — exactly the kind of statistic this project chose not to trust at face value. A matched-penalty sweep at four identical multipliers (×2/×2.5/×5/×10) confirms both disruption layers widen the gap at every setting (8/8 positive, none reversed), with the hazard-risk proxy overstating the widening by 1.7-2.6x across the board. A leave-one-district-out check preserved direction in 13/13 runs; a workforce-denominator sensitivity check left the finding essentially unchanged despite 2 of 13 districts flipping capacity class. Sharpest single point: Barito Kuala (lowest capacity, 24.6 staff/10k), -10.2pp (88.7% to 78.5%). At the severe (unrealistic, binary-removal) bracket specifically, the proxy's aggregate reverses outright due to a Kota Banjarmasin confound — read as further reason severe is a stress test, not a headline number.

Finding 3 — A retraction: the chokepoint mechanism did not survive testing

The observed-extent severe scenario disconnects more population (68.6%, corrected) than the proxy-based severe scenario (51.6%, corrected) despite affecting fewer roads (9.94% of edges vs. 17.3%) — this specific comparison is a fact, unaffected by the retraction below. It was originally explained as evidence that real floods concentrate damage on structurally critical "chokepoint" roads. A bridge-tagging audit found that explanation not obviously wrong (only 9.8% of flagged chokepoints are OSM-tagged bridges, ruling out a narrow SAR-artifact explanation). But a direct test — a 200-trial uniform-random-edge-removal null model — strongly contradicted the mechanism itself: not one of 200 random trials was as mild as the real flood's actual pattern (real flood's largest surviving component 9.06% vs. random mean 3.18%), the opposite of what the chokepoint hypothesis predicted (empirical p≈0.005 for the correctly-specified direction). A second, independent damage metric (population disconnected from facilities specifically, not just generic connectivity) confirmed the same result rather than diverging from it. The mechanism is retracted, not reframed. The underlying empirical gap (observed extent disconnects more population than the proxy) still stands and is reported as an open, unexplained question — not a claim.

6. Why the Retraction Is the Most Important Section of This Report

A robustness check that disproves a claim is not a failed check. Finding 3's chokepoint mechanism had already passed two prior audits (a bridge-tag check and an edge-overlap sensitivity test) before a direct randomization test contradicted it — demonstrating that a plausible, superficially well-audited story can still be wrong, and that surface-level audits aren't sufficient to catch a mechanism that's actually false. The honest move was to say so and retract, not to quietly drop the null model or reframe the finding around the empirical fact it was built to explain.

7. Why the Proxy-vs-Observed Comparison Is the Cleanest Contribution

Both disruption layers agree flooding widens the underserved-vs-well-served gap, but disagree sharply on magnitude — the proxy overstates the widening by 1.7-2.6x at every multiplier tested, a controlled result from a matched-conditions sweep, not a single arbitrary comparison. This, not the capacity stratification and not the (retracted) chokepoint mechanism, is the project's most defensible methodological contribution.

8. Limitations

  • Facility completeness partially addressed (365 corrected from 90, but not independently ground-truthed beyond OSM tag cross-checks)
  • District-, not facility-level, capacity — explicitly stratified, not integrated
  • Temporal mismatch: road/facility network is a current OSM snapshot applied to a Jan 2021 event, unaddressed in this pass (concrete remedy named: a date-filtered historical Overpass query)
  • SAR processing is exploratory-grade: no radiometric calibration, speckle filtering, terrain correction, VV+VH combination, or independent flood-product validation — "derived," deliberately not "validated"
  • The empirical S1-vs-proxy disconnection gap (§5, Finding 3) has no confirmed explanation after the chokepoint mechanism's retraction — an open question, not a finding awaiting more evidence in the same direction
  • Primary reproduction target (Macharia et al.) was an unpublished preprint as of this analysis

9. Contribution

(1) A capacity-stratified view of accessibility, explicitly scoped as stratification rather than an unsupported capacity-integrated claim; (2) a matched-conditions proxy-vs-observed disruption comparison showing the proxy systematically overstates inequality-widening by 1.7-2.6x — the cleanest result here; (3) a documented instance of a proposed mechanism failing a direct test, reported as a retraction rather than reframed around the empirical fact it was meant to explain.