You coordinate the critical-care unit of a hospital: 20 ICU beds that can stretch to 30, the nurses who staff them, and a liquid-oxygen tank that feeds every bed. This is an operations simulator — it does not model clinical decisions.
What you will learn
Why wards near full occupancy suddenly run out of beds (queueing, not averages).
How hospitals plan oxygen: flow per patient, vaporizer limits and tank hours.
Which levers an operations lead actually has in a surge: beds, staff, discharge flow and supply.
Simulator
Time 0 h
🛏Patient in ICU bed
·Empty staffed bed
✕Bed without staff
•Boarding in the ED
Controls
Each nurse can staff two critical-care beds in this model. The roster has 10; every nurse above that is overtime or agency time and is counted against the staffing budget.
Up to 10 extra beds — only useful if nurses are there to staff them.
Clinicians target the lower end of the prescribed range; modelled only as 20 % less demand.
Hours between scheduled liquid-oxygen deliveries; each one fills the 3,000 L tank to capacity. The supplier needs 24 h notice, so a shorter interval never brings the next truck sooner than that.
Backup gas, at most 150 L/min — it supplements the tank, it cannot replace it. Only two full banks are on site.
From another supplier: one load of up to 3,000 L of liquid oxygen, arriving 18 h after the order. In a shortage they can spare only one.
Indicators
ICU occupancy
75%
normal
Patients boarding in the ED
0
normal
Oxygen shortfall
0L/min
normal
Oxygen tank time left
145h
normal
Oxygen demand
290 L/min
ICU patients
15
Longest wait for an ICU bed
0 h
Overtime / agency nurse-hours
0 h
Patients per nurse
1.5
Liquid oxygen in tank
3000 L
Cylinder reserve
0 m³
Trend
Crisis scenarios
Level 1 · Respiratory surge
The unit is nearly full when a respiratory illness wave more than doubles critical-care arrivals for a day, and more of them are critically ill. Get every patient into an ICU bed in time without running the oxygen system past its limits — and within the surge staffing budget.
Average ED boarding ≤ 1 patient
No patient waits 6 h or more for an ICU bed
No oxygen shortfall at any time
Never more than 2 patients per nurse
No overtime / agency before the surge is declared
Overtime / agency ≤ 420 nurse-hours
Level 2 · Oxygen delivery delayed
The tank is down to a third, with the regular delivery due tomorrow. Then the supplier calls: that delivery will be days late. Keep every patient supplied until it arrives — no extra staff are needed for this one.
No oxygen shortfall at any time
Tank never runs dry
No overtime / agency nurse-hours
Level 3 · Vaporizer at its limit
The unit is nearly full of very sick patients when a wave of critically ill patients arrives — about one an hour for half a day. Each needs a high oxygen flow, and the vaporizer can deliver only 600 L/min. Keep the flow up and the corridors clear, within the staffing budget.
No oxygen shortfall at any time
Average ED boarding ≤ 2 patients
Tank time never below 12 h
No overtime / agency before the wave arrives
Overtime / agency ≤ 300 nurse-hours
Basis — the model behind the numbers
Every relation the simulator uses, with its source. Constants marked as assumptions are illustrative calibrations.
Critical patients arrive at random and stay for a random time (exponential, mean 72 h).
arrivals ~ Poisson(λ·Δt); P(discharge in Δt) = 1 − e^(−Δt/LOS), LOS = 72 h[4][2]Assumption: length of stay, bed and nurse numbers, the staffing budgets, tank, vaporizer and cylinder sizes and the emergency supplier's terms are illustrative values for a mid-size hospital.
Occupancy and queueing: with random arrivals, delays grow steeply well before the ward is 100 % full.
occupancy = patients / open beds; queueing delay rises steeply as occupancy → 100 %[2][3]
A bed counts only if it is staffed.
staffed beds = min(open beds, 2 × nurses)[4]Assumption: length of stay, bed and nurse numbers, the staffing budgets, tank, vaporizer and cylinder sizes and the emergency supplier's terms are illustrative values for a mid-size hospital.
Staffing cost: every nurse-hour above the rostered shift is overtime or agency time. Surge beds need those nurses, so they carry the cost.
overtime/agency nurse-hours = Σ max(0, nurses − 10) · ΔtAssumption: length of stay, bed and nurse numbers, the staffing budgets, tank, vaporizer and cylinder sizes and the emergency supplier's terms are illustrative values for a mid-size hospital.
Longest wait in the emergency department for an ICU bed. In a large registry study, critically ill patients who waited 6 h or more had higher mortality.
longest ED wait = now − time the first waiting patient arrived (first come, first served); ≥ 6 h counts as a delayed transfer[6]
Oxygen demand from WHO planning flows per patient.
demand = Σ flow(patient): severe 10 L/min, critical 30 L/min[1]
The vaporizer limits how much gas the tank can deliver per minute; cylinders add a little more.
delivered = min(demand, vaporizer 600 L/min, tank) + cylinders (≤150 L/min)[1]Assumption: length of stay, bed and nurse numbers, the staffing budgets, tank, vaporizer and cylinder sizes and the emergency supplier's terms are illustrative values for a mid-size hospital.
Liquid oxygen expands about 843 times into gas at 15 °C and 1 atm (the often-quoted 861 is the value at 21 °C); tank hours follow from current use.
gas litres (15 °C, 1 atm) = liquid litres × 843; tank hours = gas / (use × 60)[5]
Other operating constants used by the model.
20 base beds + up to 10 surge · 10 rostered nurses · 40 % critical at baseline · tank 3,000 L liquid, deliveries fill it to capacity; a new interval moves the next truck no closer than 24 h · vaporizer 600 L/min · 2 cylinder banks on site, 120 m³ each at ≤150 L/min · one emergency load of up to 3,000 L, 18 h after the order · step-down push shortens stay by 25 %Assumption: length of stay, bed and nurse numbers, the staffing budgets, tank, vaporizer and cylinder sizes and the emergency supplier's terms are illustrative values for a mid-size hospital.
Conservative titration as a demand factor.
demand × 0.8 when conservative titration is applied[7]Assumption: the 20 % saving is illustrative. Oxygen targets are a clinical decision made for each patient; this simulator only shows the supply effect.
Randomness: a seeded mulberry32 generator; distributions used — uniform, exponential (inverse CDF), normal (Box–Muller), Poisson (Knuth). The seed is shown and shareable.