Joined panel: 3616 kab-year rows across 463 kabupaten, 8 years
Specialist SIP headcount vs BW procedure rate
Exploration: does district BW procedure rate track with specialist SIP count?
1 Purpose
Quick exploratory check: does district-level BW procedure rate (from 8.2) track with the count of surgical specialists licensed to practice (SIP headcount from DREAMS, 8.1) in that district?
Specialist counts here are strictly SIP (Surat Izin Praktik) headcount — the count of active practice licenses sourced from the SATUSEHAT DREAMS dashboard. This measures where specialists are actively licensed to work, which is closer to “surgical capacity” than SIRS headcount (which records where a hospital says a specialist is employed, often including moonlighters double-counted across sites).
1.1 Specialist → procedure pairings
Each BW procedure requires specific specialty support:
- C-section → Obgyn + Anesthesiologist
- Fracture fixation → Orthopedic + Anesthesiologist
- Laparotomy → General Surgeon + Anesthesiologist
- Any BW procedure → sum of all four specialties
For each procedure, we sum the SIP counts of the relevant specialties (e.g. csec_sip_sum = obgyn_sip_raw + anes_sip_raw) and plot against the corresponding BW procedure rate.
1.2 Temporal caveat
SIP counts are a late-2024/early-2025 DREAMS snapshot. BW rates are per-year (2016-2024). We plot rates against the single SIP snapshot, which is valid as a cross-sectional association check (specialist counts are reasonably stable year-to-year), but not as evidence of temporal causality.
2 Build the joined panel
3 Headline scatter — 2024
Most recent year; specialist SIP snapshot is closest in time to 2024 BW rates, so this is the headline cross-sectional view. Each point = one kabupaten.
3.1 2024 correlation summary table
| Procedure | n | Spearman ρ | Pearson r |
|---|---|---|---|
| C-section | 419 | 0.516 | 0.145 |
| Fracture fixation | 229 | 0.535 | 0.132 |
| Laparotomy | 243 | 0.132 | 0.004 |
| Any BW procedure | 419 | 0.572 | 0.172 |
4 Stability across years
If the specialist-count → procedure-rate relationship is real, it should persist across years. The plot below repeats the scatter for each year 2016-2024. If ρ is roughly stable across years, we can rule out the possibility that the 2024 result is a coincidence.
4.1 Correlation trend across years
5 Hospital-level check
District aggregates might hide heterogeneity. For each hospital (in hw), the corresponding BW case count across 2022-2024 was computed in 8.2 — but it is not currently aggregated to hospital-level in rates_master. As a proxy for hospital- level volume, we use the BW procedure share among each hospital class × kab pairing from 8.2 output.
For a quick hospital-level check, we use the raw hw data with SIP counts and the 8.2 fkrtl_bw_flagged to compute per-hospital BW case counts.
Hospital-level match: 0 hospitals of 3268 (0%)
Hospital-level match rate too low (0 hospitals). Skipping hospital scatter.
6 Interpretation notes
- A positive correlation means districts with more SIP-licensed specialists perform more procedures per capita. This is consistent with (but does not prove) a supply-constrained model: where the team exists, more procedures get done.
- The correlation could also reflect demand-driven placement: specialists move to districts with higher case volumes. Both mechanisms coexist.
- Laparotomy typically shows weaker correlation than C-section/fracture because emergency abdominal surgery is performed by any available surgeon with OR access; specialist density is less determining.
- Hospital-level match depends on
matched_hospital_id(from 8.1 DREAMS→SIRS linkage) matchingFKL33(BPJS PPK ID). These are different coding systems and overlap imperfectly; hospital-level results are more fragile than district.
7 Save panel
Saved joined panel to /mnt/d/OneDrive - Yayasan Transformasi Kesejahteraan Bangsa/1. Project Center/ARC8. Global Surgery Institute/8.1 Workforce/../8.3 Timely Access/output/sip_vs_bw_panel.rds
3616 rows, 27 cols
─ Session info ───────────────────────────────────────────────────────────────
setting value
version R version 4.5.2 (2025-10-31)
os Ubuntu 24.04.4 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate C.UTF-8
ctype C.UTF-8
tz Asia/Jakarta
date 2026-04-18
pandoc 3.2 @ /usr/lib/rstudio-server/bin/quarto/bin/tools/x86_64/ (via rmarkdown)
quarto 1.5.57 @ /usr/lib/rstudio-server/bin/quarto/bin/quarto
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
cli 3.6.6 2026-04-09 [1] CRAN (R 4.5.2)
dichromat 2.0-0.1 2022-05-02 [1] CRAN (R 4.5.0)
digest 0.6.39 2025-11-19 [1] CRAN (R 4.5.2)
dplyr * 1.2.0 2026-02-03 [1] CRAN (R 4.5.2)
evaluate 1.0.5 2025-08-27 [1] CRAN (R 4.5.1)
farver 2.1.2 2024-05-13 [1] CRAN (R 4.5.0)
fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.5.0)
generics 0.1.4 2025-05-09 [1] CRAN (R 4.5.1)
ggplot2 * 4.0.2 2026-02-03 [1] CRAN (R 4.5.2)
glue 1.8.0 2024-09-30 [1] CRAN (R 4.5.0)
gtable 0.3.6 2024-10-25 [1] CRAN (R 4.5.0)
htmltools 0.5.9 2025-12-04 [1] CRAN (R 4.5.2)
htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.5.0)
jsonlite 2.0.0 2025-03-27 [1] CRAN (R 4.5.0)
kableExtra * 1.4.0 2024-01-24 [1] CRAN (R 4.5.0)
knitr * 1.51 2025-12-20 [1] CRAN (R 4.5.2)
labeling 0.4.3 2023-08-29 [1] CRAN (R 4.5.0)
lattice 0.22-9 2026-02-09 [2] CRAN (R 4.5.2)
lifecycle 1.0.5 2026-01-08 [1] CRAN (R 4.5.2)
magrittr 2.0.5 2026-04-04 [1] CRAN (R 4.5.2)
Matrix 1.7-4 2025-08-28 [2] CRAN (R 4.5.1)
mgcv 1.9-4 2025-11-07 [1] CRAN (R 4.5.2)
nlme 3.1-168 2025-03-31 [2] CRAN (R 4.5.1)
otel 0.2.0 2025-08-29 [1] CRAN (R 4.5.2)
patchwork * 1.3.2 2025-08-25 [1] CRAN (R 4.5.1)
pillar 1.11.1 2025-09-17 [1] CRAN (R 4.5.1)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.5.0)
purrr * 1.2.1 2026-01-09 [1] CRAN (R 4.5.2)
R6 2.6.1 2025-02-15 [1] CRAN (R 4.5.0)
RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.5.0)
rlang 1.2.0 2026-04-06 [1] CRAN (R 4.5.2)
rmarkdown 2.30 2025-09-28 [1] CRAN (R 4.5.1)
rstudioapi 0.18.0 2026-01-16 [1] CRAN (R 4.5.2)
S7 0.2.1 2025-11-14 [1] CRAN (R 4.5.2)
scales * 1.4.0 2025-04-24 [1] CRAN (R 4.5.0)
sessioninfo 1.2.3 2025-02-05 [1] CRAN (R 4.5.0)
stringi 1.8.7 2025-03-27 [1] CRAN (R 4.5.0)
stringr * 1.6.0 2025-11-04 [1] CRAN (R 4.5.2)
svglite 2.2.2 2025-10-21 [1] CRAN (R 4.5.2)
systemfonts 1.3.1 2025-10-01 [1] CRAN (R 4.5.1)
textshaping 1.0.4 2025-10-10 [1] CRAN (R 4.5.2)
tibble 3.3.1 2026-01-11 [1] CRAN (R 4.5.2)
tidyr * 1.3.2 2025-12-19 [1] CRAN (R 4.5.2)
tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.5.0)
vctrs 0.7.2 2026-03-21 [1] CRAN (R 4.5.2)
viridisLite 0.4.3 2026-02-04 [1] CRAN (R 4.5.2)
withr 3.0.2 2024-10-28 [1] CRAN (R 4.5.0)
xfun 0.56 2026-01-18 [1] CRAN (R 4.5.2)
xml2 1.5.2 2026-01-17 [1] CRAN (R 4.5.2)
yaml 2.3.12 2025-12-10 [1] CRAN (R 4.5.2)
[1] /usr/local/lib/R/site-library
[2] /usr/lib/R/library
* ── Packages attached to the search path.
──────────────────────────────────────────────────────────────────────────────