--- title: "hcruR" output: rmarkdown::html_document vignette: > %\VignetteIndexEntry{hcruR} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ### Load library and the data ```{r setup} # Load library library(hcruR) # Load sample data data(hcru_sample_data) data <- hcru_sample_data head(hcru_sample_data) ``` ### Generate HCRU summary using dplyr (this can be used for create HCRU plots) ```{r} # Step 1: Estimate HCRU hcru_summary <- estimate_hcru(data, cohort_col = "cohort", patient_id_col = "patient_id", admit_col = "admission_date", discharge_col = "discharge_date", index_col = "index_date", visit_col = "visit_date", encounter_id_col = "encounter_id", setting_col = "care_setting", cost_col = "cost_usd", readmission_col = "readmission", time_window_col = "period", los_col = "length_of_stay", custom_var_list = NULL, pre_days = 180, post_days = 365, readmission_days_rule = 30, group_var_main = "cohort", group_var_by = "care_setting", test = NULL, timeline = "Pre", gt_output = FALSE ) hcru_summary ``` ### Generate HCRU summary using gtsummary (a publication ready output) ```{r, results = 'asis'} # Step 1: Estimate HCRU hcru_summary_gt <- estimate_hcru(data, cohort_col = "cohort", patient_id_col = "patient_id", admit_col = "admission_date", discharge_col = "discharge_date", index_col = "index_date", visit_col = "visit_date", encounter_id_col = "encounter_id", setting_col = "care_setting", cost_col = "cost_usd", readmission_col = "readmission", time_window_col = "period", los_col = "length_of_stay", custom_var_list = NULL, pre_days = 180, post_days = 365, readmission_days_rule = 30, group_var_main = "cohort", group_var_by = "care_setting", test = NULL, timeline = "Pre", gt_output = TRUE ) hcru_summary_gt$`Summary by settings using gtsummary` ``` ### Generate the HCRU plot: average visits by cohort and time-line ```{r} # Calculate the average visits sum_df1 <- hcru_summary$`Summary by settings using dplyr` |> dplyr::group_by( .data[["time_window"]], .data[["cohort"]], .data[["care_setting"]] ) |> dplyr::summarise( AVG_VISIT = mean(.data[["Visits"]], na.rm = TRUE), .groups = "drop" ) # Load the plot_hcru function p1 <- plot_hcru( summary_df = sum_df1, x_var = "time_window", y_var = "AVG_VISIT", cohort_col = "cohort", facet_var = "care_setting", facet_var_n = 3, title = "Average visits by domain and cohort", x_label = "Healthcare Setting (Domain)", y_label = "Average visit", fill_label = "Cohort" ) p1 ``` ### Generate HCRU plot for average cost by cohort and timeline ```{r} # Calculate the total cost df2 <- hcru_summary$`Summary by settings using dplyr` |> dplyr::group_by( .data[["time_window"]], .data[["cohort"]], .data[["care_setting"]] ) |> dplyr::summarise( AVG_COST = sum(.data[["Cost"]], na.rm = TRUE), .groups = "drop" ) p2 <- plot_hcru( summary_df = df2, x_var = "time_window", y_var = "AVG_COST", cohort_col = "cohort", facet_var = "care_setting", facet_var_n = 3, title = "Average cost by domain and cohort", x_label = "Healthcare Setting (Domain)", y_label = "Average cost", fill_label = "Cohort" ) p2 ```