Python package to calculate comorbidity and frailty scores using ICD codes and polars DataFrames.
pycomorb provides fast, flexible, and reproducible calculation of clinical risk scores from ICD-coded data. It supports multiple comorbidity and frailty indices, including several international variants.
It is inspired by the R package comorbidity by Alessandro Gasparini and the corresponding Python rewrite comorbidipy by Vishnu V Chandrabalan.
As a special feature, it also implements the history of the German Modification of the ICD-10 (ICD-10-GM) coding system, allowing users to apply the correct mappings and weights based on the year of diagnosis.
- Charlson Comorbidity Index (multiple mappings and weights)
- Elixhauser Comorbidity Index (multiple mappings and weights)
- Combined Comorbidity Score (Gagne et al.)
- Hospital Frailty Risk Score (HFRS)
See common/README.md for more details and references.
- Mappings:
- Quan et al. 2005 (Quan 2005)
- Deyo et al. 1992 (Deyo 1992)
- Romano et al. 1993 (Romano 1993)
- Australia (Sundararajan et al. 2004, ICD-10-AM) (Sundararajan 2004)
- Sweden (Ludvigsson et al. 2021, ICD-10) (Ludvigsson 2021)
- UK SHMI (NHS Digital, v1.55)
- Weights:
- Charlson et al. 1987 (Charlson 1987)
- Quan et al. 2011 (Quan 2011)
- SHMI (NHS Digital, v1.55)
- Modified SHMI (NHS Digital, v1.55)
- Mappings:
- Quan et al. 2005 (Quan 2005)
- Original Elixhauser et al. 1998 (ICD-9) (Elixhauser 1998)
- Weights:
- van Walraven et al. 2009 (van Walraven 2009)
- Thompson et al. 2015 (Thompson 2015)
- AHRQ (Moore et al. 2017, AHRQ Comorbidity Software)
- Gagne et al. 2011 (Gagne 2011), with ICD-9 and ICD-10 support (Sun 2017)
- Gilbert et al. 2018, ICD-10 (Gilbert 2018)
You can install pycomorb via pip:
pip install pycomorbimport polars as pl
from pycomorb import comorbidity
# Example: Calculate Charlson score
df = pl.DataFrame({
"id": [1, 2, 3],
"code": ["I21", "E119", "C349"],
"age": [65, 72, 80]
})
charlson = comorbidity(
score="charlson",
df=df,
id_col="id",
code_col="code",
age_col="age",
icd_version="icd10",
implementation="quan",
return_categories=True
)See the docstrings in each module for details on arguments and supported variants.
- Free software: MIT license
- Documentation: (TODO)
- Die Erstellung erfolgt unter Verwendung der maschinenlesbaren Fassung des Bundesinstituts für Arzneimittel und Medizinprodukte (BfArM).