Description Usage Arguments Details Functions See Also Examples
This is the main function which extracts comorbidities from a set of ICD-9
codes. Some comorbidity schemes have rules, for example, what to do when both
'hypertension' and 'hypertension with complications' are present. These rules
are applied by default; if the exact fields from the original mappings are
needed, use hierarchy = FALSE
. For comorbidity counting, Charlson or
Van Walraven scores the default should be used to apply the rules. For more
about computing Hierarchical Condition Codes (HCC), see
comorbid_hcc
For more about comorbidities following the
Clinical Classification Software (CCS) rules from AHRQ, see
comorbid_ccs
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | comorbid(
x,
map,
visit_name = NULL,
icd_name = NULL,
short_code = guess_short(x, icd_name = icd_name),
short_map = guess_short(map),
return_df = FALSE,
return_binary = FALSE,
categorize_fun = categorize_simple,
...
)
icd10_comorbid(
x,
map,
visit_name = NULL,
icd_name = NULL,
short_code = NULL,
short_map = guess_short(map),
return_df = FALSE,
return_binary = FALSE,
icd10_comorbid_fun = icd10_comorbid_reduce,
...
)
icd9_comorbid(
x,
map,
visit_name = NULL,
icd_name = NULL,
short_code = guess_short(x, icd_name = icd_name),
short_map = guess_short(map),
return_df = FALSE,
return_binary = FALSE,
preclean = FALSE,
categorize_fun = categorize_simple,
comorbid_fun = comorbid_mat_mul_wide,
...
)
icd9_comorbid_ahrq(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd10_comorbid_ahrq(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd9_comorbid_elix(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd10_comorbid_elix(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd9_comorbid_quan_elix(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd10_comorbid_quan_elix(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd9_comorbid_quan_deyo(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd10_comorbid_quan_deyo(x, ..., abbrev_names = TRUE, hierarchy = TRUE)
icd9_comorbid_charlson(...)
icd10_comorbid_charlson(...)
comorbid_ccs(x, icd_name = get_icd_name(x), ...)
icd9_comorbid_ccs(
x,
...,
single = TRUE,
lvl = NULL,
map = icd::icd9_map_single_ccs,
short_map = TRUE
)
icd10_comorbid_ccs(x, ..., single = TRUE, lvl = NULL)
comorbid_ahrq(x, ...)
comorbid_elix(x, ...)
comorbid_quan_elix(x, ...)
comorbid_quan_deyo(x, ...)
comorbid_charlson(...)
comorbid_pccc_dx(
x,
visit_name = get_visit_name(x),
icd_name = get_icd_name(x),
short_code = guess_short(x, icd_name = icd_name),
return_df = FALSE,
return_binary = FALSE,
...
)
comorbid_pccc_pcs(
x,
visit_name = get_visit_name(x),
icd_name,
return_df = FALSE,
return_binary = FALSE,
...
)
icd9_comorbid_pccc_dx(
x,
visit_name = NULL,
icd_name = NULL,
short_code = guess_short(x, icd_name = icd_name),
return_df = FALSE,
return_binary = FALSE,
...,
abbrev_names = TRUE
)
icd10_comorbid_pccc_dx(
x,
visit_name = NULL,
icd_name = NULL,
short_code = guess_short(x, icd_name = icd_name),
return_df = FALSE,
return_binary = FALSE,
...,
abbrev_names = TRUE
)
icd9_comorbid_pccc_pcs(
x,
visit_name = get_visit_name(x),
icd_name = get_icd_pc_name(x),
return_df = FALSE,
return_binary = FALSE,
...,
abbrev_names = TRUE
)
icd10_comorbid_pccc_pcs(
x,
visit_name = get_visit_name(x),
icd_name,
return_df = FALSE,
return_binary = FALSE,
...,
abbrev_names = TRUE
)
|
x |
|
map |
A named list of the comorbidities with each list item containing a
vector of decimal ICD-9 codes. icd includes a number of these, e.g.,
|
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 |
icd_name |
The name of the column in the |
short_code |
single logical value which determines whether the ICD-9
code provided is in short ( |
short_map |
Same as short, but applied to |
return_df |
single logical value, if |
return_binary |
Single logical value, if |
categorize_fun |
Internal. Function used for the categorization problem. |
... |
Arguments passed through to |
icd10_comorbid_fun |
Internal function Default will be fast and accurate. A function which calculates comorbidities for ICD-10 codes, in which the comorbidity map only specifies parent codes, not every possible child. |
preclean |
single logical value, which, if |
comorbid_fun |
Internal. Function used inside categorization. |
abbrev_names |
single logical value that defaults to |
hierarchy |
single logical value that defaults to |
single |
a logical value, if |
lvl |
If multiple level CCS, then level must be selected as a number between one and four. |
The order of visits may change depending on the original sequence,
and the underlying algorithm used. Usually this would be the order of the
first occurrence of each visit/patient identifier, but this is not
guaranteed unless restore_id_order
is set to TRUE
.
data.frame
s of patient data may have columns within them
which are of class icd9
, icd10
etc., but do not themselves
have a class: therefore, the S3 mechanism for dispatch is not suitable. I
may add a wrapper function which looks inside a data.frame
of
comorbidities, and dispatches to the appropriate function, but right now
the user must call the icd9_
or icd10_
prefixed function
directly.
icd10_comorbid
: ICD-10 comorbidities
icd9_comorbid
: Get comorbidities from data.frame
of ICD-9
codes
icd9_comorbid_ahrq
: AHRQ comorbidities for ICD-9 codes
icd10_comorbid_ahrq
: AHRQ comorbidities for ICD-10 codes
icd9_comorbid_elix
: Elixhauser comorbidities for ICD-9 codes
icd10_comorbid_elix
: Elixhauser comorbidities for ICD-10 codes
icd9_comorbid_quan_elix
: Quan's Elixhauser comorbidities for ICD-9 codes
icd10_comorbid_quan_elix
: Quan's Elixhauser comorbidities for ICD-10 codes
icd9_comorbid_quan_deyo
: Quan's Deyo (Charlson) comorbidities for ICD-9 codes
icd10_comorbid_quan_deyo
: Quan's Deyo (Charlson) comorbidities for ICD-10 codes
icd9_comorbid_charlson
: Currently synonym for icd9_comorbid_quan_deyo
icd10_comorbid_charlson
: Currently synonym for icd10_comorbid_quan_deyo
comorbid_ccs
: Use AHRQ CCS for comorbidity classification
icd9_comorbid_ccs
: Compute AHRQ Clinical Classifications Software (CCS)
scores from ICD-9 codes
icd10_comorbid_ccs
: Compute AHRQ Clinical Classifications Software (CCS)
scores from ICD-10 codes
comorbid_ahrq
: AHRQ comorbidities, infers whether to use ICD-9 or
ICD-10 codes
comorbid_elix
: Elixhauser comorbidities, infers whether to use ICD-9 or
ICD-10 codes
comorbid_quan_elix
: Quan's Elixhauser comorbidities, infers whether to use
ICD-9 or ICD-10 codes
comorbid_quan_deyo
: Quan's Deyo (Charlson) comorbidities, infers whether to
use ICD-9 or ICD-10 codes
comorbid_charlson
: Calculate comorbidities using Charlson categories
according to Quan/Deyo ICD categories. Synonymous with
link{comorbid_quan_deyo}
in this release.
comorbid_pccc_dx
: Calculate pediatric complex chronic conditions (PCCC) comorbidities
Unlike with ICD-9 and ICD-10 diagnostic codes, 'icd' doesn't
currently have a method for guessing which fields are procedure
codes, so icd_name
must be specified for the _pcs
functions.
comorbid_pccc_pcs
: Calculate the PCCC comorbidities based
on procedure codes,
icd9_comorbid_pccc_dx
: Calculate PCCC comorbidities from ICD-9
diagnosis codes
icd10_comorbid_pccc_dx
: Calculate PCCC comorbidities from ICD-10
diagnosis codes
icd9_comorbid_pccc_pcs
: Calculate PCCC comorbidities from ICD-9
procedure codes
icd10_comorbid_pccc_pcs
: Calculate PCCC comorbidities from ICD-10
procedure codes
icd9_map_single_ccs
Consider using comorbid_ahrq
instead of
comorbid_elix
for more recently updated mappings based on the
Elixhauser scheme.
Other comorbidity computations:
comorbid_hcc()
Other comorbidities:
comorbid_hcc()
,
icd10_map_ahrq_pcs
,
icd9_map_ahrq
,
icd9_map_elix
,
icd9_map_hcc
,
icd9_map_pccc
,
icd9_map_quan_deyo
,
icd9_map_quan_elix
,
icd9_map_single_ccs
Other comorbidity computations:
comorbid_hcc()
Other comorbidities:
comorbid_hcc()
,
icd10_map_ahrq_pcs
,
icd9_map_ahrq
,
icd9_map_elix
,
icd9_map_hcc
,
icd9_map_pccc
,
icd9_map_quan_deyo
,
icd9_map_quan_elix
,
icd9_map_single_ccs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | library(icd)
vermont_dx[1:5, 1:10]
# get first few rows and columns of Charlson comorbidities using Quan/Deyo
# mapping of ICD-9 or ICD-10 codes Charlson categories
comorbid_quan_deyo(vermont_dx)[1:5, 1:14]
# Note that the comorbidity calculations automatically finds the ICD code
# columns, and uses 'wide' or 'long' format data.
stopifnot(
identical(
comorbid_quan_deyo(vermont_dx),
comorbid_quan_deyo(wide_to_long(vermont_dx))
)
)
# get summary AHRQ (based on Elixhauser) comorbidities for the Uranium data:
summary(comorbid_ahrq(uranium_pathology))
pts <- icd_long_data(
visit_name = c("2", "1", "2", "3", "3"),
icd9 = c("39891", "40110", "09322", "41514", "39891")
)
comorbid(pts, icd9_map_ahrq, short_code = TRUE) # visit_name is now sorted
pts <- icd_long_data(
visit_name = c("1", "2", "3", "4", "4"),
icd_name = c("20084", "1742", "30410", "41514", "95893"),
date = as.Date(c(
"2011-01-01", "2011-01-02", "2011-01-03",
"2011-01-04", "2011-01-04"
))
)
pt_hccs <- comorbid_hcc(pts, date_name = "date")
head(pt_hccs)
pts10 <- icd_long_data(
visit_name = c("a", "b", "c", "d", "e"),
icd_name = c("I058", NA, "T82817A", "", "I69369"),
date = as.Date(
c("2011-01-01", "2011-01-02", "2011-01-03", "2011-01-03", "2011-01-03")
)
)
icd10_comorbid(pts10, map = icd10_map_ahrq)
# or if library(icd) hasn't been called first:
icd::icd10_comorbid(pts10, map = icd::icd10_map_ahrq)
# or most simply:
icd::icd10_comorbid_ahrq(pts10)
# specify a simple custom comorbidity map:
my_map <- list(
"malady" = c("100", "2000"),
"ailment" = c("003", "040")
)
two_pts <- data.frame(
visit_id = c("v01", "v01", "v02", "v02"),
icd9 = as.icd9(c("040", "000", "100", "000")),
stringsAsFactors = FALSE
)
comorbid(two_pts, map = my_map)
# not pediatric data, but let's look for this example
head(icd9_comorbid_pccc_dx(vermont_dx))
# Six random codes from each PCCC procedure code map. 'icd' will use
# an heuristic to guess whether ICD-9 or ICD-10:
pts <- data.frame(
encounters = c(10, 11, 12),
icd9_pcs = c("0152", "304", "0050"),
icd10_pcs = c("0B110Z4", "02YA0Z2", "031209D")
)
comorbid_pccc_pcs(pts, icd_name = "icd9_pcs", return_binary = TRUE)
comorbid_pccc_pcs(pts, icd_name = "icd10_pcs", return_binary = TRUE)
# All ICD-9 procedure codes are numeric, some ICD-10 procedure codes
# are numeric, so best to call functions directly:
pts <- data.frame(encounters = c(100), icd10_pcs = c("0016070"))
icd10_comorbid_pccc_pcs(pts, icd_name = "icd10_pcs")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.