library(qrcode) library(magrittr) knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
crf_day7_fid <- Sys.getenv("TIMCI_CRF_DAY7_FID") if (!is.null(params$pii)) { pii <- params$pii raw_day7fu_data <- params$raw_day7fu_data raw_withdrawal_data <- params$raw_withdrawal_data } else { rctls_pid <- Sys.getenv("TIMCI_RCTLS_PID") rctls_pp <- Sys.getenv("TIMCI_RCTLS_PP") ################ # Set up ruODK # ################ ruODK::ru_setup( svc = Sys.getenv("ODKC_SVC"), un = Sys.getenv("ODKC_UN"), pw = Sys.getenv("ODKC_PW"), tz = Sys.getenv("TZ"), verbose = TRUE # Can be switched to TRUE for demo or debugging ) # List of projects visible with the credentials `ODKC_UN` and `ODKC_PW` odkc_project_list <- ruODK::project_list()$id wd_fid <- Sys.getenv("TIMCI_WD_FID") # RCT / LS environment variables crf_facility_fid <- Sys.getenv("TIMCI_CRF_FACILITY_FID") crf_day7_fid <- Sys.getenv("TIMCI_CRF_DAY7_FID") ####################### # Load TIMCI ODK data # ####################### # List of forms visible in the RCT / LS project rct_ls_form_list <- ruODK::form_list(pid = rctls_pid)$fid # Load facility data print("Load facility data") raw_facility_zip <- ruODK::submission_export(local_dir = tempdir(), pid = rctls_pid, fid = crf_facility_fid, pp = rctls_pp) raw_facility_data <- timci::extract_data_from_odk_zip(raw_facility_zip, paste0(crf_facility_fid,".csv")) facility_data <- timci::process_facility_data(raw_facility_data) pii <- timci::extract_enrolled_participants(facility_data)[[2]] #To do copy audit trail in folder # local_dir = file.path(mdb_dir, "facility_crf_media") # Load day 7 follow-up data print("Load day 7 follow-up data") raw_day7fu_data <- NULL if (crf_day7_fid %in% rct_ls_form_list) { raw_day7fu_zip <- ruODK::submission_export(local_dir = tempdir(), pid = rctls_pid, fid = crf_day7_fid, pp = rctls_pp, media = FALSE) raw_day7fu_data <- timci::extract_data_from_odk_zip(raw_day7fu_zip, paste0(crf_day7_fid,".csv")) } # Load widthdrawal data print("Load withdrawal data") raw_withdrawal_data <- NULL if (wd_fid %in% rct_ls_form_list) { raw_withdrawal_zip <- ruODK::submission_export(local_dir = tempdir(), pid = rctls_pid, fid = wd_fid, pp = rctls_pp, media = FALSE) raw_withdrawal_data <- timci::extract_data_from_odk_zip(raw_withdrawal_zip, paste0(wd_fid,".csv")) } }
# Create `odk_external_files` folder if it does not exist dir.create(file.path(params$qual1_dir, "odk_external_files"), showWarnings = FALSE) cg_selection <- NULL if (!is.null(raw_day7fu_data)) { if (nrow(raw_day7fu_data) > 0) { res <- timci::format_day7_data(raw_day7fu_data) day7fu_data <- res[[1]] cg_selection <- timci::generate_cg_log(pii, day7fu_data) tmp <- timci::export_df2xlsx(cg_selection, params$qual1_dir, "cg_idi_contact") tmp <- timci::export_df2csv(cg_selection, file.path(params$qual1_dir, "odk_external_files"), "cg_idi_contact") } }
if (!is.null(cg_selection)) { for (i in 1:nrow(cg_selection)) { pid <- toString(cg_selection[i,'child_id']) png_file <- file.path(tempdir(), paste0(pid,".png")) png(png_file) qrcode::qr_code(pid) dev.off() } df <- cg_selection %>% dplyr::mutate( code = paste0(', paste0(cg_selection$child_id,".png")), ')', '{width=0.75in}') ) %>% dplyr::select('code', dplyr::everything()) # Order columns df$cg_name <- paste0(df$cg_fs_name, " ", df$cg_ls_name) tmp <- timci::export_df2csv(df, file.path(params$qual1_dir, "odk_external_files"), "test") col_order <- c('code', 'child_id', 'cg_name', 'main_cg', 'phone_nb') df <- df[, col_order] df %>% knitr::kable() }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.