The hazard ratio that changed practice
The PROSEVA trial (2013) reported: “Prone positioning for ≥16 h/day in severe ARDS reduced 28‑day mortality: HR 0.39 (95% CI 0.25–0.63).” That single number — the hazard ratio — summarised the entire treatment effect across time. It is the engine of almost every multivariable survival paper you will read in critical care.
The Cox proportional hazards model gives you a hazard ratio (HR) while adjusting for covariates. But the model carries a crucial assumption: the hazard ratio is constant over time (proportional hazards). If that assumption fails, the HR is an average of time‑varying effects and can be misleading.
In this chapter we walk through the Cox model, how to check its assumption, and what to do when proportionality breaks.
What the Cox model does
For a patient with covariate vector X, the Cox model specifies the hazard at time t:
[ h(t X) = h_0(t) (_1 X_1 + _2 X_2 + + _p X_p) ]
- (h_0(t)) is the baseline hazard (unspecified — that’s the semi‑parametric beauty).
- ((_j)) is the hazard ratio for a one‑unit increase in (X_j), holding other covariates constant.
- If (X_j) is binary (e.g., treatment = 1 vs 0), ((_j)) = HR for treatment vs control.
The model does not assume a particular shape for (h_0(t)) — it can be any function of time. It only assumes the ratio of hazards between any two patients is constant over time.
The proportional‑hazards assumption
Two patients with covariate vectors X and X’ have hazards:
[ = (^T (X - X’)) ]
This ratio must not depend on t. If the treatment benefit fades after day 7, or if the risk associated with age increases over time, the assumption is violated.
How to check it in the paper (or in your own analysis)
Method | What you look for | Interpretation |
Schoenfeld residuals (global or per‑covariate) | Test of correlation between scaled Schoenfeld residuals and time; p‑value. | p < 0.05 → violation for that covariate. |
Log‑log survival plot | Plot log(−log S(t)) for each group; curves should be roughly parallel. | Crossing curves → non‑proportionality. |
Time‑by‑covariate interaction | Add interaction term (X (t)) or (X t); test its coefficient. | Significant interaction → time‑varying effect. |
Martingale residuals (for functional form) | Check linearity of continuous covariates. | Non‑linear pattern → consider splines. |
Appraisal checkpoint: Does the paper mention checking the PH assumption? If not, the HRs may be averages over periods where the effect is positive, null, or even reversed.
What to do when proportionality fails
- Stratified Cox model — stratify by the violating covariate (e.g.,
strata(stage)), allowing different baseline hazards per stratum. - Time‑varying coefficients — include an interaction with a function of time:
X * tt(X)wherettis a transformation (log, linear, spline). The HR becomes a function of time. - Piecewise constant hazards — split follow‑up into intervals (e.g., 0–7 days, 7–28 days) and fit separate HRs per interval.
- Alternative models — accelerated failure time (AFT) models, flexible parametric survival models (Royston‑Parmar), or cause‑specific / Fine‑Gray competing‑risk models (see Chapter 12).
If a paper ignores a clear PH violation and reports a single HR, treat that HR with caution. Ask: Is the effect constant, or is this an average that hides an early benefit and late harm?
Adjusted survival curves
A Cox model lets you produce adjusted Kaplan‑Meier curves for specific covariate profiles (e.g., “survival for a 60‑year‑old with SOFA 8 on treatment vs control”). The paper should show these, not just the raw KM curves.
Check: Are the curves labeled with the covariate values they represent? Are confidence bands included?
Competing risks — death vs discharge vs event
In ICU, “time to ventilator liberation” has a competing risk: death. If a patient dies, they can never be extubated. Standard Kaplan‑Meier treats death as a censoring event, which overestimates the probability of liberation.
Fine‑Gray subdistribution hazard model is the correct tool for competing risks. If a paper reports “cumulative incidence of extubation” using Kaplan‑Meier while treating death as censoring, the estimate is biased upward.
Your appraisal checklist for Cox models
# | Question | Why it matters |
1 | Was the proportional‑hazards assumption tested? (Schoenfeld residuals, log‑log plots) | Unchecked assumption → possibly misleading HR. |
2 | Are time‑varying effects reported if PH violated? | A single HR may hide time‑dependent benefit/harm. |
3 | Is the model pre‑specified or data‑driven? (How many covariates? Events per variable?) | <10 events per variable → overfitting. |
4 | Are adjusted survival curves shown? | Raw KM curves ignore confounding; adjusted curves are the effect estimate. |
5 | Were competing risks considered? (Death as competing event for non‑mortality outcomes) | Kaplan‑Meier with death as censoring overestimates event probability. |
6 | Is the HR reported with a 95% CI? | CI conveys precision; p‑value does not. |
Go deeper
- StatPearls – “Cox Proportional Hazards Model” (NBK551995): free, step‑by‑step explanation, checking PH assumption, time‑varying coefficients. https://www.ncbi.nlm.nih.gov/books/NBK551995/
- PMC3227332 – “Survival analysis in clinical trials: Basics and must‑know areas” (free): clear ICU‑focused description of Cox, PH checks, and competing risks. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3227332/
- OpenIntro Statistics – Chapter 8 “Survival analysis” (free PDF): Cox model derivation, Schoenfeld residuals with R code. https://www.openintro.org/stat/textbook.php
- PMC10457100 – “Doubly robust estimators for generalizing treatment effects on survival outcomes” (free): modern methods for target‑population survival analysis with competing risks. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10457100/
Next: Chapter 12 — Regression fundamentals: linear & logistic