Arte SheetsLearn. Try. Understand.

Healthcare Operations & Clinical Analytics

Barber-Johnson Hospital Bed Occupancy, TOI & ALOS Formula

Calculate all four Barber and Johnson (1973) inpatient hospital utilization metrics — Percentage Bed Occupancy, Average Length of Stay (ALOS), Turnover Interval (TOI), and Bed Throughput.

Link hospital bed occupancy, length of stay, empty-bed turnover, and patient throughput!

Barry Barber and David Johnson (1973) unified inpatient ward management on a single geometric nomogram by proving that four clinical KPIs are algebraically locked together by just three census counts: Available_Bed_Days A = Staffed_Beds B * Period_Days t, Occupied_Inpatient_Bed_Days O, and Discharges_Plus_Deaths D! From those three numbers flow: (1) Bed Occupancy Rate P = O / A, (2) Average Length of Stay ALOS = O / D (days occupied per patient), (3) Turnover Interval TOI = (A - O) / D (average days a bed stands vacant between discharges for cleaning/scheduling), and (4) Bed Throughput TP = D / B = t / (ALOS + TOI) (patients treated per bed per period)!

Verify on Staffed_Beds B = 200 (B2), Period_Days t = 365 (B3 -> Available Bed-Days A = 73,000), Occupied_Bed_Days O = 58,400 (B4), and Annual_Discharges_Plus_Deaths D = 14,600 (B5): Bed Occupancy Rate P is 58,400 / 73,000 = 0.8000 (80.00%); Average Length of Stay ALOS is 58,400 / 14,600 = 4.0000 days; Turnover Interval TOI is (73,000 - 58,400) / 14,600 = 1.0000 vacant day; and Annual Throughput TP is 14,600 / 200 = 73.00 patients/bed/year — matching exact cycle identity 365 / (4.00 + 1.00) = 73.00 and P = ALOS / (ALOS + TOI) = 4 / 5 = 0.8000! Test winter surge O = 65,700: Occupancy hits 90.00% (>85% emergency-department boarding threshold -> "High-Congestion Boarding Risk") and TOI compresses to 0.50 days!

Barber-Johnson (1973) Ward Metric (B=200, t=365, O=58,400, D=14,600)FormulaVerified Output
Bed Occupancy Percentage (P)O / (B * t) = ALOS / (ALOS + TOI)0.8000 (80.00%)
Average Length of Stay (ALOS)O / D4.0000 days / patient
Turnover Interval (TOI, Empty Days)(B * t - O) / D1.0000 day / discharge
Annual Bed Throughput (TP)D / B = t / (ALOS + TOI)73.00 patients / bed / yr

Barber-Johnson Turnover Interval (TOI) & Cycle-Time Identity Formula

Notice that if Occupied_Bed_Days O exceeds Staffed Available_Bed_Days B * t (e.g., temporary hallway/trolley surge boarding), TOI turns negative and Occupancy exceeds 1.00 — flag surge overflow explicitly rather than masking clinical overcrowding!

=LET(bd_st, B2, dy_pr, B3, oc_bd, B4, ds_pt, B5, IF(OR(bd_st <= 0, dy_pr <= 0, oc_bd < 0, ds_pt <= 0), "Invalid Ward Census Input", ROUND((bd_st * dy_pr - oc_bd) / ds_pt, 4)))

Clinical Ward Congestion & Surge Status Formula

Classify >100% staffed capacity as "Surge Overflow (>100% Staffed Beds)" and >85% occupancy (Erlang queuing inflection) as "High-Congestion Boarding Risk"!

=IF(ISTEXT(E2), E2, IF(E2 > 1, "Surge Overflow (>100% Staffed Beds)", IF(E2 > 0.85, "High-Congestion Boarding Risk", "Balanced Bed Flow")))

Try the example

Use the original values or change them to test your understanding.

Further reading