Global health-workforce and hospital-capacity panel
Value-added panel of the World Bank's World Development Indicators (keyless API v2, CC BY 4.0; WHO data): hospital beds, physicians and nurses/midwives per 1,000 people for 200+ economies, 1960-2023, with clinical-workforce density (physicians + nurses/midwives), the WHO staffing-mix gauge (nurses per physician), beds per clinical worker, trailing 10-year changes and within-year density ranks. Joins on economy_code with the catalog's other World Bank panels.
- Rows
- 6,684
- Columns
- 18
- Source cadence
- Yearly
- Last refreshed
- Oct 8, 2026
- Theme
- health
| Column | Type | Description |
|---|---|---|
| economy_code | string | ISO 3166-1 alpha-3 economy code (World Bank API field countryiso3code). |
| economy_name | string | Economy name as published by the World Bank API. |
| region | string | World Bank region (API field region.value). |
| income_group | string | World Bank income group (API field incomeLevel.value). |
| year | integer | Reference year (1960-2023). |
| beds_per_1k | float | Hospital beds per 1,000 people (WDI indicator SH.MED.BEDS.ZS, WHO data). Inpatient beds available in public, private, general and specialized hospitals and rehabilitation centers; in most cases both acute and chronic care beds. (unit: beds per 1,000 people) |
| physicians_per_1k | float | Physicians per 1,000 people (WDI indicator SH.MED.PHYS.ZS, WHO data). Generalist and specialist medical practitioners. (unit: physicians per 1,000 people) |
| nurses_midwives_per_1k | float | Nurses and midwives per 1,000 people (WDI indicator SH.MED.NUMW.P3, WHO data). Professional, auxiliary and enrolled nurses and midwives plus associated personnel. (unit: nurses/midwives per 1,000 people) |
| clinical_workforce_per_1k | float | Clinical-workforce density = physicians + nurses/midwives per 1,000 (connector-derived, informational). Null unless both inputs are present — never summed from a partial pair. (unit: workers per 1,000 people) |
| nurse_physician_ratio | float | Nurses and midwives per physician (connector-derived WHO staffing-mix gauge, informational). Null when either input is null or physicians is zero. (unit: nurses per physician) |
| beds_per_clinical_worker | float | Hospital beds per clinical worker = beds / clinical_workforce_per_1k (connector-derived capacity-vs-staffing readiness proxy, informational). Null unless both inputs are present. (unit: beds per clinical worker) |
| beds_change_10y_pct | float | Trailing 10-year percent change of hospital beds per 1,000 (the structural capacity lens); null when the base year is absent or zero. (unit: %) |
| physicians_change_10y_pct | float | Trailing 10-year percent change of physicians per 1,000; null when the base year is absent or zero. (unit: %) |
| nurses_change_10y_pct | float | Trailing 10-year percent change of nurses/midwives per 1,000; null when the base year is absent or zero. (unit: %) |
| beds_rank | integer | Rank of beds_per_1k within the year (1 = most beds); null where beds_per_1k is null. (unit: rank) |
| physicians_rank | integer | Rank of physicians_per_1k within the year (1 = most physicians); null where physicians_per_1k is null. (unit: rank) |
| nurses_rank | integer | Rank of nurses_midwives_per_1k within the year (1 = most nurses/midwives); null where the value is null. (unit: rank) |
| row_hash | string | Deterministic 12-hex row identity hash (economy_code|year). |
First 10 sample rows — a preview, not the complete dataset.
| economy_code | economy_name | region | income_group | year | beds_per_1k | physicians_per_1k | nurses_midwives_per_1k | clinical_workforce_per_1k | nurse_physician_ratio | beds_per_clinical_worker | beds_change_10y_pct | physicians_change_10y_pct | nurses_change_10y_pct | beds_rank | physicians_rank | nurses_rank | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ABW | Aruba | Latin America & Caribbean | High income | 1,995 | — | 1.12 | — | — | — | — | — | — | — | — | 68 | — | 65a5a89d7667 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,960 | 0.171 | 0.035 | — | — | — | — | — | — | — | 132 | 114 | — | de4f672a4c0b |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,965 | — | 0.063 | — | — | — | — | — | — | — | — | 77 | — | b87f09371b7f |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,970 | 0.199 | 0.065 | — | — | — | — | 16.629 | 85.714 | — | 133 | 115 | — | e46415eeb918 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,981 | 0.276 | 0.077 | — | — | — | — | — | — | — | 58 | 83 | — | 2d278cca6f49 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,986 | — | 0.183 | — | — | — | — | — | — | — | — | 58 | — | cf89bf173fab |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,987 | 0.309 | 0.179 | — | — | — | — | — | — | — | 50 | 45 | — | 31a6d0371641 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,989 | — | 0.129 | — | — | — | — | — | — | — | — | 42 | — | 6c7f53e0b5f0 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,990 | 0.25 | 0.109 | — | — | — | — | — | — | — | 147 | 116 | — | ced4e7b75201 |
| AFG | Afghanistan | Middle East, North Africa, Afghanistan & Pakistan | Low income | 1,993 | — | 0.143 | — | — | — | — | — | — | — | — | 92 | — | aac610f1a870 |
Profiled Oct 9, 2026 from snapshot 20261008T143728Z-4987093e28eb
Measured- Completeness
- 69%
- Rows
- 6,684
- Columns
- 18
- Columns with gaps
- 12
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| economy_codevarchar | 0% | 257 | — |
|
| economy_namevarchar | 0% | 220 | — |
|
| regionvarchar | 0% | 6 | — |
|
| income_groupvarchar | 0% | 4 | — |
|
| yearbigint | 0% | 60 | 1,960 → 2,023median 2,002 | |
| beds_per_1kdouble | 29.4% | 2,292 | 0.1158 → 40.32median 3.32 | 96 outside 1st–99th percentile |
| physicians_per_1kdouble | 19.8% | 2,840 | 0.004 → 9.54median 1.43 | 105 outside 1st–99th percentile |
| nurses_midwives_per_1kdouble | 49% | 3,196 | 0.047 → 20.83median 4.23 | 70 outside 1st–99th percentile |
| clinical_workforce_per_1kdouble | 53.9% | 2,775 | 0.072 → 28.59median 7.02 | 62 outside 1st–99th percentile |
| nurse_physician_ratiodouble | 53.9% | 3,282 | 0.2005 → 49.69median 2.46 | 62 outside 1st–99th percentile |
| beds_per_clinical_workerdouble | 64% | 2,250 | 0.0664 → 8.24median 0.5696 | 50 outside 1st–99th percentile |
| beds_change_10y_pctdouble | 59% | 2,714 | -83 → 712.4median -9.26 | 56 outside 1st–99th percentile |
| physicians_change_10y_pctdouble | 55.8% | 2,433 | -66.11 → 2,091median 20 | 60 outside 1st–99th percentile |
| nurses_change_10y_pctdouble | 74.9% | 1,609 | -79.41 → 729.72median 12.53 | 34 outside 1st–99th percentile |
| beds_rankbigint | 29.4% | 153 | 1 → 149median 50 | 46 outside 1st–99th percentile |
| physicians_rankbigint | 19.8% | 156 | 1 → 157median 49 | 48 outside 1st–99th percentile |
| nurses_rankbigint | 49% | 194 | 1 → 179median 51.5 | 68 outside 1st–99th percentile |
| row_hashvarchar | 0% | 6,893 | — |
|
- CurrentFile published
20261008T143728Z-4987093e28eb · sha256 4987093e28eb…
6,684 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/wb_healthworkforce_intel/healthworkforce_capacity_panel" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/wb_healthworkforce_intel/healthworkforce_capacity_panel").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/wb_healthworkforce_intel/healthworkforce_capacity_panel
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20261008T143728Z-4987093e28eb and its content hash, so readers get exactly the data you used.
World Bank health-workforce intelligence. (2026). Global health-workforce and hospital-capacity panel [Data set, snapshot 20261008T143728Z-4987093e28eb, sha256 4987093e28eb]. Datazimuts. Retrieved 2026-10-09, from https://datazimuts.com/en/datasets/wb_healthworkforce_intel/healthworkforce_capacity_panel?snapshot=20261008T143728Z-4987093e28eb
@misc{dz_wb_healthworkforce_intel_healthworkforce_4987093e,
title = {{Global health-workforce and hospital-capacity panel}},
author = {{World Bank health-workforce intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/wb_healthworkforce_intel/healthworkforce_capacity_panel?snapshot=20261008T143728Z-4987093e28eb}},
note = {Snapshot 20261008T143728Z-4987093e28eb, sha256 4987093e28eb0e352a35d19725882b022416487f2763bef36140424fea07b090; accessed 2026-10-09}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=wb_healthworkforce_intel%2Fhealthworkforce_capacity_panel&lang=en&theme=auto&snapshot=20261008T143728Z-4987093e28eb&x=year&y=year&agg=avg" title="Global health-workforce and hospital-capacity panel" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.