knitr::opts_chunk$set(echo = FALSE,
                      warning = FALSE,
                      message = FALSE)

Caregiver in-depth interview (IDI)

write("Export caregiver in-depth interview (IDI) data", stderr())

No data cleaning for the lock.

if (!is.null(day0_data) && !is.null(day7fu_data)) {
  cg_qual_export_data <- timci::generate_cg_log(day0_data, day7fu_data)
}
if (is_tanzania) {
  uq_facilities <- params$research_facilities[, c("facility_id", "intervention")] %>%
  distinct()

  if (!is.null(cg_qual_export_data)) {
    cg_qual_export_data <- merge(x = cg_qual_export_data,
                                 y = uq_facilities,
                                 by.x = 'fid',
                                 by.y = 'facility_id',
                                 all = FALSE)
    cg_qual_export_data <- cg_qual_export_data %>% 
      dplyr::filter(intervention == 1 | intervention == 2)
  }

}
if (!is.null(cg_qual_export_data)) {
  fn <- timci::export_df2csvxlsx(cg_qual_export_data,
                                 qualcg_dir,
                                 "01_cg_idi_participants")
}
if (!is.null(cgidi_invitation_data)) {
  fn <- timci::export_df2csvxlsx(cgidi_invitation_data,
                                 qualcg_dir,
                                 "01_timci_cg_invitation_data")
}
if (!is.null(cgidi_interview_data)) {

  # Filter data
  drops <- c("encryption-name",
             "encryption-child_name",
             "encryption-phonenb1",
             "encryption-phonenb2",
             "other_participant-cg2_name")
  cgidi_interview_data <- cgidi_interview_data[, !(names(cgidi_interview_data) %in% drops)]

  fn <- timci::export_df2csvxlsx(cgidi_interview_data,
                                 qualcg_dir,
                                 "02_timci_cg_interview_data")
}
if (!is.null(cgidi_interview_data)) {

  sl <- ruODK::submission_list(pid = qpid,
                               fid = cgidi3_fid)

  # Loop on all rows
  for (i in 1:nrow(sl)) {

    crow <- cgidi_interview_data[i,]
    uuid <- crow$'meta-instanceID'
    cpath <- file.path(qualcg_dir, crow$'encryption-participant')

    write(paste0("Participant: ", crow$'encryption-participant'), stderr())

    dir.create(cpath, showWarnings = FALSE)
    # Create a new dataframe using the transpose of crow
    tcrow <- as.data.frame(t(as.matrix(crow)))
    names(tcrow)[names(tcrow) == "V1"] <- "values"
    fn <- export_df2xlsx(tcrow, cpath, "data", rnames = TRUE)

    # Download attachments
    media_list <- ruODK::get_one_submission_attachment_list(pid = qpid,
                                                            fid = cgidi3_fid,
                                                            uuid)
    for (j in 1:nrow(media_list)) {
      aid <- media_list$name[[j]]
      write(paste0("\tAttachment: ", aid), stderr())
      ruODK::attachment_get(pid = qpid,
                            fid = cgidi3_fid,
                            uuid, 
                            aid,
                            local_dir = cpath)
    }
  }
}


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