van Walraven Elixhauser score is calculated from the Quan revision of
Elixhauser's ICD-9 mapping. This function allows for the hierarchical
exclusion of less severe versions of comorbidities when their more severe
version is also present via the hierarchy
argument. For the Elixhauser
comorbidities, this is diabetes v. complex diabetes and solid tumor v.
metastatic tumor
van_walraven( x, visit_name = NULL, return_df = FALSE, stringsAsFactors = getOption("stringsAsFactors"), ... ) # S3 method for data.frame van_walraven( x, visit_name = NULL, return_df = FALSE, stringsAsFactors = getOption("stringsAsFactors"), ... ) van_walraven_from_comorbid(x, visit_name = NULL, hierarchy = FALSE)
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 |
---|---|
visit_name | 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 |
return_df | single logical value, if |
stringsAsFactors | Single logical value, describing whether the resulting data frame should have strings, e.g.
|
... | arguments passed on to other functions |
hierarchy | single logical value that defaults to |
data.frame
: van Walraven scores from data frame of visits
and ICD-9 codes
van Walraven C, Austin PC, Jennings A, Quan H, Forster AJ. A Modification to the Elixhauser Comorbidity Measures Into a Point System for Hospital Death Using Administrative Data. Med Care. 2009; 47(6):626-633. http://www.ncbi.nlm.nih.gov/pubmed/19433995
mydf <- data.frame( visit_name = c("a", "b", "c"), icd9 = c("412.93", "441", "042") ) van_walraven(mydf)#> a b c #> 0 2 0# or calculate comorbidities first: cmb <- icd9_comorbid_quan_elix(mydf, short_code = FALSE, hierarchy = TRUE) vwr <- van_walraven_from_comorbid(cmb) stopifnot(identical(van_walraven(mydf), vwr)) # alternatively return as data frame in 'tidy' format van_walraven(mydf, return_df = TRUE)#> visit_name vanWalraven #> 1 a 0 #> 2 b 2 #> 3 c 0