# Oxygen Tank Duration Calculator

> Estimates how long a compressed-gas oxygen cylinder will last from its gauge pressure, size-specific conversion factor (litres per psi), a safe residual pressure and the flow rate.

- Calculator id: `oxygen-tank-duration` · Category: Medical & Clinical (`medical`) · Tool name: `estimate_oxygen_tank_duration`
- Canonical page: https://tttkmbb.com/medical/oxygen-tank-duration · This document: https://tttkmbb.com/medical/oxygen-tank-duration.md · JSON definition: https://tttkmbb.com/medical/oxygen-tank-duration.json

## Purpose

Estimates how long a compressed-gas oxygen cylinder will last from its gauge pressure, size-specific conversion factor (litres per psi), a safe residual pressure and the flow rate.

**Use when:** You need to plan transport or home oxygen supply from a D, E, M, G or H/K cylinder at a continuous flow.

**Do not use when:** The device is a liquid-oxygen reservoir or concentrator, or the flow is pulse-dose (conserving device), where duration depends on breath rate rather than continuous flow.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `cylinder_size` | enum: d \| e \| m \| g \| h_k |  | required | US cylinder size letter; sets the conversion factor in litres of gas per psi. |
| `pressure_psi` | number | psi | required | Current cylinder gauge pressure (bar × 14.5). (min 0, max 3000) |
| `flow_l_per_min` | number | L/min | required | Continuous oxygen flow. (> 0, max 60) |
| `safe_residual_psi` | number | psi | optional, default 200 | Pressure reserved so the cylinder is never emptied (commonly 200 psi; 500 psi in some services). (min 0, max 1000) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `cylinder_factor_l_per_psi` | number | L/psi | Litres of gas released per psi for this cylinder. |
| `usable_oxygen_liters` | number | L | (pressure − safe residual) × factor. |
| `duration_minutes` | number | min | Usable litres / flow. |
| `duration_hours` | number | h | Same duration in hours. |
| `duration_formatted` | string |  | Hours and minutes. |

## Formula

`duration_minutes = (pressure_psi − safe_residual_psi) × cylinder_factor / flow_l_per_min; factors: D 0.16, E 0.28, M 1.56, G 2.41, H/K 3.14 L/psi`

Factors are the cylinder's full capacity divided by its service pressure (about 2,000–2,200 psi) and assume ideal-gas behaviour at room temperature; cold cylinders and regulator leaks shorten the real duration. Results are informational only and not a substitute for clinical judgement or medical advice.

## Data Sources

- Hardavella G et al. (2019) Oxygen devices and delivery systems, Breathe 15:e108-e116 — https://pubmed.ncbi.nlm.nih.gov/31777573/ (peer_reviewed, retrieved 2026-09-24)
- Respiratory Therapy Zone – Oxygen tank duration formula and cylinder factors — https://www.respiratorytherapyzone.com/oxygen-tank-duration-calculator/ (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/oxygen-tank-duration?cylinder_size=…&pressure_psi=…&flow_l_per_min=…`
- `POST https://tttkmbb.com/api/v1/calculate/oxygen-tank-duration` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/oxygen-tank-duration · OpenAPI operationId `estimate_oxygen_tank_duration` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "oxygen-tank-duration", "inputs": {…}}`

## Example

- E cylinder, 2000 psi, 2 L/min, 200 psi reserve: inputs `{"cylinder_size":"e","pressure_psi":2000,"flow_l_per_min":2,"safe_residual_psi":200}` → `{"usable_oxygen_liters":504,"duration_minutes":252,"duration_hours":4.2,"duration_formatted":"4 h 12 min"}`
- D cylinder, 1500 psi, 4 L/min: inputs `{"cylinder_size":"d","pressure_psi":1500,"flow_l_per_min":4}` → `{"cylinder_factor_l_per_psi":0.16,"usable_oxygen_liters":208,"duration_minutes":52}`

```
GET https://tttkmbb.com/api/v1/calculate/oxygen-tank-duration?cylinder_size=e&pressure_psi=2000&flow_l_per_min=2&safe_residual_psi=200
```

## Limitations

The device is a liquid-oxygen reservoir or concentrator, or the flow is pulse-dose (conserving device), where duration depends on breath rate rather than continuous flow. Factors are the cylinder's full capacity divided by its service pressure (about 2,000–2,200 psi) and assume ideal-gas behaviour at room temperature; cold cylinders and regulator leaks shorten the real duration. Results are informational only and not a substitute for clinical judgement or medical advice. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why subtract a safe residual?**

Regulators become unreliable near empty and a cylinder must never run dry during transport; 200 psi is a common reserve, some protocols use 500 psi.

**What about pulse-dose conservers?**

They deliver oxygen only on inspiration and typically extend duration 2–4 times; the manufacturer's conserving ratio is needed to convert.

## Related

- [IV Drip Rate Calculator](https://tttkmbb.com/medical/iv-drip-rate.md) — Another time-and-flow calculation for clinical supplies.
- [Pressure Converter](https://tttkmbb.com/conversion/pressure.md) — Convert cylinder pressure between psi and bar.
