mcpField
L
lifelines

lifelines

github.com/tondevrelData & databases2458 installsUpdated 39w ago
Repository

About lifelines

lifelines is a Python library for survival and time-to-event analysis, aimed at clinical researchers and epidemiologists. It accounts for censored observations and provides estimators and regression methods for comparing outcomes and studying risk factors.

Key features

  1. 01Kaplan-Meier survival estimates
  2. 02Cox proportional hazards regression
  3. 03Log-rank group comparison
  4. 04Parametric survival models
  5. 05Censoring-aware analysis

Use cases

  1. 01Compare survival across clinical trial groups
  2. 02Estimate time to disease progression
  3. 03Study risk factors for patient outcomes
  4. 04Model time to infection or recovery

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tondevrel/scientific-agent-skills --skill lifelines

After installing, type/lifelinesin Claude Code to confirm it loaded.

Details

From the project README

Lifelines - Survival Analysis

In medicine, we often care about "Time to Event" (death, recovery, relapse). Lifelines handles the complexity of "censored" data (patients who left the study).

When to Use

  • Analyzing clinical trial data (time to death, disease progression).
  • Comparing survival between treatment groups.
  • Identifying risk factors using Cox Proportional Hazards regression.
  • Building survival models for prognosis.
  • Epidemiology studies (time to infection, recovery).

Core Principles

Censoring

Patients who haven't experienced the event by the end of the study are "censored". Lifelines properly accounts for this.

Hazard Ratios

In Cox regression, a hazard ratio > 1 means increased risk; < 1 means decreased risk.

Survival Curves

Kaplan-Meier estimates the probability of survival over time without assuming a distribution.

Quick Reference

Standard Imports
from lifelines import KaplanMeierFitter, CoxPHFitter
from lifelines.statistics import logrank_test
import pandas as pd
Basic Patterns
# 1. Kaplan-Meier (Visualizing survival)
kmf = KaplanMeierFitter()
kmf.fit(durations=df['days'], event_observed=df['died'])
kmf.plot_survival_function()
kmf.median_survival_time_  # Time when 50% have died

# 2. Cox Proportional Hazards (Risk factors)
cph = CoxPHFitter()
cph.fit(df, duration_col='days', event_col='died')
cph.print_summary() # See hazard ratios for age, drug type, etc.
cph.plot_partial_effects_on_outcome(covariates=['age'], values=[30, 50, 70])

Critical Rules

✅ DO
  • Use event_observed correctly - 1 = event occurred, 0 = censored.
  • Check proportional hazards assumption - Use cph.check_assumptions() to validate Cox model.
  • Compare groups with logrank test - Statistical test for survival curve differences.
  • Plot confidence intervals - Survival estimates have uncertainty, especially with small samples.
❌ DON'T
  • Don't ignore censoring - Treating censored patients as "survived" biases results.
  • Don't use regular regression - Time-to-event data requires specialized methods.
  • Don't assume proportional hazards - If violated, use stratified Cox or parametric models.

Advanced Patterns

Comparing Multiple Groups
from lifelines.statistics import multivariate_logrank_test

# Compare survival across treatment groups
results = multivariate_logrank_test(df['days'], df['group'], df['died'])
print(results.p_value)
Parametric Models
from lifelines import WeibullFitter, ExponentialFitter

# When you need to extrapolate beyond observed data
wf = WeibullFitter()
wf.fit(df['days'], df['died'])
wf.plot()

Lifelines transforms complex survival data into actionable medical insights, enabling evidence-based decisions in clinical research and practice.

Comments

Markdown supported