Learn R Programming

icd9 (version 1.3.1)

icd9Charlson: Calculate Charlson Comorbidity Index (Charlson Score)

Description

Charlson score is calculated in the basis of the Quan revision of Deyo's ICD-9 mapping. (Peptic Ulcer disease no longer warrants a point.) Quan published an updated set of scores, but it seems most people use the original scores for easier comaprison between studies, even though Quan's were more predictive.

Usage

icd9Charlson(x, visitId = NULL, scoringSystem = c("original", "charlson", "quan"), return.df = FALSE, stringsAsFactors = getOption("stringsAsFactors"), ...)
"icd9Charlson"(x, visitId = NULL, scoringSystem = c("original", "charlson", "quan"), return.df = FALSE, stringsAsFactors = getOption("stringsAsFactors"), ...)
icd9CharlsonComorbid(x, visitId = NULL, applyHierarchy = FALSE, scoringSystem = c("original", "charlson", "quan"))

Arguments

x
data frame containing a column of visit or patient identifiers, and a column of ICD-9 codes. It may have other columns which will be ignored. By default, the first column is the patient identifier and is not counted. If visitId is not specified, the first column is used.
visitId
The name of the column in the data frame which contains the patient or visit identifier. Typically this is the visit identifier, since patients come leave and enter hospital with different ICD-9 codes. It is a character vector of length one. If left empty, or NULL, then an attempt is made to guess which field has the ID for the patient encounter (not a patient ID, although this can of course be specified directly). The guesses proceed until a single match is made. Data frames may be wide with many matching fields, so to avoid false positives, anything but a single match is rejected. If there are no successful guesses, and visitId was not specified, then the first column of the data frame is used.
scoringSystem
One of original, charlson, or quan. The first two will give the original Charlson weights for each comorbidity, whereas quan uses the updated weights from Quan 2001.
return.df
single logical value, if true, a two column data frame will be returned, with the first column named as in input data frame (i.e. visitId), containing all the visits, and the second column containing the Charlson Comorbidity Index.
stringsAsFactors
single logical, passed on when constructing data.frame if return.df is TRUE. If the input data frame x has a factor for the visitId, this is not changed, but a non-factor visitId may be converted or not converted according to your system default or this setting.
...
further arguments to pass on to icd9ComorbidQuanDeyo, e.g. icd9Field
applyHierarchy
single logical value, default is FALSE. If TRUE, will drop DM if DMcx is present, etc.

Methods (by class)

  • data.frame: Charlson scores from data frame of visits and ICD-9 codes

Details

When used, hierarchy is applied per Quan, "The following comorbid conditions were mutually exclusive: diabetes with chronic complications and diabetes without chronic complications; mild liver disease and moderate or severe liver disease; and any malignancy and metastatic solid tumor." The "quan" scoring weights come from the 2011 paper (dx.doi.org/10.1093/aje/kwq433). The comorbidity weights were recalculated using updated discharge data, and some changes, such as Myocardial Infarcation decreasing from 1 to 0, may reflect improved outcomes due to advances in treatment since the original weights were determined in 1984.

Examples

Run this code
mydf <- data.frame(visitId = c("a", "b", "c"),
                   icd9 = c("441", "412.93", "044.9"))
cmb <- icd9ComorbidQuanDeyo(mydf, isShort = FALSE, applyHierarchy = TRUE)
cmb
icd9Charlson(mydf, isShort = FALSE)
icd9Charlson(mydf, isShort = FALSE, return.df = TRUE)
icd9CharlsonComorbid(cmb)

Run the code above in your browser using DataLab