knitr::opts_chunk$set(echo = FALSE,
                      warning = FALSE,
                      message = FALSE)
cfid <- facilities[[i, 'facility_id']]
fname <- facilities[[i, 'facility_name']]
ftype <- tolower(facilities[[i, 'type']])

noneligible_tmp <- noneligible %>% 
  dplyr::filter(fid == cfid)
baseline_data_tmp <- baseline_data %>% 
  dplyr::filter(fid == cfid)
repeat_data_tmp <- repeat_data %>% 
  dplyr::filter(fid == cfid)
facility_data_tmp <- facility_data %>% 
  dplyr::filter(fid == cfid)

wfa_data_tmp <- NULL
if (!is.null(wfa_data)) {
  if (length(wfa_data) > 0 & nrow(wfa_data) > 0) {
    wfa_data_tmp <- wfa_data %>% 
      dplyr::filter(fcode == cfid)
  }
}

# Day 7 follow-up
raw_day7fu_data_tmp <- raw_day7fu_data %>%
  dplyr::filter(raw_day7fu_data$'a1-fid' == cfid)
 write(paste0("Appendix: ", fname), stderr())

r fname

if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Recrutement hebdomadaire\n\n")
} else {
  cat("### Weekly enrolment\n\n")
}
if (!is.null(baseline_data_tmp)){
  if (length(baseline_data_tmp) > 0 & nrow(baseline_data_tmp) > 0) {
    if (Sys.getenv('TIMCI_COUNTRY') == "Tanzania" | Sys.getenv('TIMCI_COUNTRY') == "Kenya") {
      if (ftype == "dispensary") {
        val <- 5 * dispensary_enrolment_target
      } else{
        val <- 5 * hc_enrolment_target
      }
    } else{
      val <- 5 * enrolment_target
    }
    p <- timci::generate_week_bar_plot(date_vec = baseline_data_tmp$date_visit,
                                       date_min = as.Date(start_date),
                                       date_max = as.Date(as.Date(end_date) + 7),
                                       ylbl = paste0(enrolment_str),
                                       rref = val,
                                       relative = FALSE)
    plot(p)
  }
}
if (!is.null(baseline_data_tmp)){
    if (length(baseline_data_tmp) > 0 & nrow(baseline_data_tmp) > 0) {
       baseline_data_tmp %>%
        dplyr::mutate(Week = lubridate::floor_date(as.Date(baseline_data_tmp$date_visit),
                                                   "week",
                                                   week_start = getOption("lubridate.week.start", 1))) %>%
        dplyr::count(Week) %>%
        dplyr::mutate(csum = cumsum(n)) %>%
        dplyr::rename('Weekly recruitment' = 'n') %>%
        dplyr::rename('Cumulative recruitment' = 'csum') %>%
        kableExtra::kbl(booktabs = TRUE,
                        linesep = "",
                        align = c("l", "c", "c"),
                        caption = paste0(fname, " - ", tcap_weekly_enrolment)) %>% 
        kableExtra::kable_styling(latex_options = c("HOLD_position", "repeat_header"), font_size = table_fs) %>%
        kableExtra::row_spec(0, bold = TRUE) %>%
        kableExtra::row_spec(1:(nrow(baseline_data_tmp)/2) * 2, background = striped_row_bg)
  }
}
if (!is.null(baseline_data_tmp)){
    if (length(baseline_data_tmp) > 0 & nrow(baseline_data_tmp) > 0) {
       baseline_data_tmp %>%
        dplyr::mutate(Month = format.Date(as.Date(date_visit), "%Y-%m")) %>%
        dplyr::count(Month) %>%
        dplyr::mutate(csum = cumsum(n)) %>%
        dplyr::rename('Monthly recruitment' = 'n') %>%
        dplyr::rename('Cumulative recruitment' = 'csum') %>%
        kableExtra::kbl(booktabs = TRUE,
                        linesep = "",
                        align = c("l", "c", "c"),
                        caption = tcap_monthly_enrolment) %>% 
        kableExtra::kable_styling(latex_options = c("HOLD_position", "repeat_header"), font_size = table_fs) %>%
        kableExtra::row_spec(0, bold = TRUE) %>%
        kableExtra::row_spec(1:(nrow(baseline_data_tmp)/2) * 2, background = striped_row_bg)
  }
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Fréquentation hebdomadaire de la clinique\n\n")
} else {
  cat("### Clinic weekly attendance\n\n")
}
# if (!is.null(wfa_data_tmp)) {
#   if (length(wfa_data_tmp) > 0 & nrow(wfa_data_tmp) > 0) {
#     p <- timci::generate_week_bar_plot2(date_vec = wfa_data_tmp$date_week,
#                                         values = wfa_data_tmp$u5_attendance_last_week,
#                                         date_min = as.Date(start_date),
#                                         date_max = as.Date(as.Date(end_date) + 7),
#                                         ylbl = "Under 5 attendance")
#     plot(p)
#   }
# }
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Recrutement quotidien\n\n")
} else {
  cat("### Daily enrolment\n\n")
}
w <- 29

if (!is.null(baseline_data_tmp) & length(baseline_data_tmp) > 0 & nrow(baseline_data_tmp) > 0) {
  if (Sys.getenv('TIMCI_COUNTRY') == "Tanzania" | Sys.getenv('TIMCI_COUNTRY') == "Kenya") {
    if (ftype == "dispensary" ) {
      val <- dispensary_enrolment_target
    } else{
      val <- hc_enrolment_target
    }
  } else{
    val <- enrolment_target
  }
  p <- timci::generate_day_bar_plot(date_vec = baseline_data_tmp$date_visit,
                                    date_min = as.Date(as.Date(end_date) - w),
                                    date_max = as.Date(as.Date(end_date) + 1),
                                    ylbl = paste0(enrolment_str),
                                    rref = val)
  plot(p)
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat(paste0("### Visites primaires et secondaires\n\n"))
} else {
  cat(paste0("### Baseline and repeat visits\n\n"))
}

# Frequency
if (nrow(baseline_data_tmp) > 0) {
  timci::generate_day_cumbar_plot(list(noneligible_tmp$date_visit,
                                       baseline_data_tmp$date_visit,
                                       repeat_data_tmp$date_visit),
                                  c("Non-eligible", baseline_str, repeat_str),
                                  as.Date(as.Date(end_date) - w),
                                  as.Date(as.Date(end_date) + 1),
                                  ylbl = submission_str)
} else{
  cat('N/A\n\n')
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Cartes thermiques calendaires\n\n")
} else {
  cat("### Calendar heatmaps\n\n")
}
if (!is.null(baseline_data_tmp) & length(baseline_data_tmp) > 0 & nrow(baseline_data_tmp) > 0) {
  timci::generate_calendar_heatmap2(baseline_data_tmp,
                                    date_visit,
                                    legendtitle = "Number of enrolments")
}
yi_data_tmp <- NULL
if (timci::is_not_empty(baseline_data_tmp)) {
  yi_data_tmp <- baseline_data_tmp %>% dplyr::filter(yg_infant == 1)
}
if (timci::is_not_empty(yi_data_tmp)) {
  timci::generate_calendar_heatmap2(yi_data_tmp,
                                    date_visit,
                                    legendtitle = "Number of young infant enrolments")
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Heures de screening\n\n")
} else {
  cat("### Screening times\n\n")
}
if (!is.null(facility_data_tmp) & length(facility_data_tmp) > 0 & nrow(facility_data_tmp) > 0) {
  timci::heatmap_wday_hourofday(facility_data_tmp,
                               'start')
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Référence\n\n")
} else {
  cat("### Referral\n\n")
}
referral_data_tmp <- NULL
if (timci::is_not_empty(baseline_data_tmp)) {
  referral_data_tmp <- baseline_data_tmp %>% dplyr::filter(referral_cg == 1 | referral_hf == 1)
}
if (timci::is_not_empty(referral_data_tmp)) {
  timci::generate_calendar_heatmap2(referral_data_tmp,
                                    date_visit,
                                    legendtitle = "Number of referrals")
}
if (Sys.getenv('TIMCI_COUNTRY') == 'Senegal') {
  cat("### Suivi à Jour 7\n\n")
} else {
  cat("### Day 7 follow-up\n\n")
}
if (!is.null(raw_day7fu_data_tmp) & length(raw_day7fu_data_tmp) > 0 & nrow(raw_day7fu_data_tmp) > 0) {
  p <- timci::generate_week_bar_plot(date_vec = raw_day7fu_data_tmp$date,
                                     date_min = as.Date(start_date),
                                     date_max = as.Date(Sys.Date() + 7),
                                     ylbl = "Calls",
                                     relative = FALSE)
  plot(p)
} else {
  cat("To be completed\n\n")
}
rm(facility_data_tmp)
rm(baseline_data_tmp)
rm(repeat_data_tmp)
rm(raw_day7fu_data_tmp)
tmp <- gc() # garbage collection


Thaliehln/timci documentation built on April 8, 2024, 3:38 p.m.