Present On Arrival (POA) is not a simple flag, since many codes are exempt, unspecified, or unknown. Therefore, two options are given: get all the comorbidities where the POA flag was definitely negative, coded as 'N' or definitely positive and coded as 'Y'. Negating one set won't give the other set unless all codes were either Y or N.
filter_poa(x, poa_name = "poa", poa = poa_choices) filter_poa_yes(x, poa_name = "poa") filter_poa_no(x, poa_name = "poa") filter_poa_not_no(x, poa_name = "poa") filter_poa_not_yes(x, poa_name = "poa")
x | input vector of ICD codes |
---|---|
poa_name | The name of column in the data frame which contains the Present On Arrival (POA) flag. The flag itself is a single character, typically one of ‘Y’, ‘N’, ‘E’, ‘X’, ‘U’, or empty. |
poa | single character value, being one of |
filter_poa_yes
: Select rows where Present-on-Arrival flag is
explicitly 'Yes.'
filter_poa_no
: Select rows where Present-on-Arrival flag is
explicitly 'No.'
filter_poa_not_no
: Select rows where Present-on-Arrival flag is
anything but 'No.' This includes unknown, exempt, other codes, and of
course all those marked 'Yes.'
filter_poa_not_yes
: Select rows where Present-on-Arrival flag is
anything but 'Yes.' This would group exempt, unknown and other codes under
'Not POA' which is unlikely to be a good choice, since exempt codes, of
which there are a quite large number, tend to describe chronic or
out-of-hospital characteristics.
if (FALSE) { library(icd) # magrittr not required for icd to work, just for this example library(magrittr, warn.conflicts = FALSE, quietly = TRUE) myData <- data.frame( visit_id = c("v1", "v2", "v3", "v4"), diag = c("39891", "39790", "41791", "4401"), poa = c("Y", "N", NA, "Y"), stringsAsFactors = FALSE ) myData %>% filter_poa_not_no() %>% comorbid_ahrq() # can fill out named fields also: myData %>% filter_poa_yes(poa_name = "poa") %>% comorbid_ahrq( icd_name = "diag", visit_name = "visit_id", short_code = TRUE ) my_map <- head(icd9_map_elix) # can call the core comorbid() function with an arbitrary mapping myData %>% filter_poa_yes() %>% comorbid( icd_name = "diag", visit_name = "visit_id", map = my_map, short_map = TRUE ) }