Takes phecodes that have been coded without rollup - E.g. existance of code 008.10 does not imply the existance of 008.00 - and produces a rolledup version of the dataset. Works with plain patient-phecode pairs and also with patient-code-count triplets.

rollup_phecode_pairs(
  patient_code_counts,
  patient_col = patient,
  phecode_col = phecode
)

Arguments

patient_code_counts

Data containing patient ids, phecodes, and counts of those phecodes.

patient_col

Unquoted name of the column containing patient ids in passed patient_code_counts's dataframe.

phecode_col

Unquoted name of the column containing phecodes in passed dataframe.

Value

Dataframe in same format as passed patient_code_counts with code counts rolled up. This will most likely be longer than the original dataset because of the addition of potentially previously ommitted codes.

Examples

library(dplyr) patient_data <- tribble( ~patient, ~code, 1, "250.23", 1, "250.25", 1, "696.42", 1, "555.21", 2, "401.22", 2, "204.21", 2, "735.22", 2, "751.11", ) # Also works with just binary occurance pairs patient_data %>% rollup_phecode_pairs(patient_col = patient, phecode_col = code)
#> # A tibble: 22 x 2 #> patient code #> <dbl> <chr> #> 1 1 250.23 #> 2 1 250.25 #> 3 1 696.42 #> 4 1 555.21 #> 5 2 401.22 #> 6 2 204.21 #> 7 2 735.22 #> 8 2 751.11 #> 9 1 250.20 #> 10 1 696.40 #> # … with 12 more rows