diff --git a/02_OBSERVATIONAL/OBSERVATIONAL_00_R_environment.R b/02_OBSERVATIONAL/OBSERVATIONAL_00_R_environment.R index ef3c615e8e0a82894efcef5795f667c20289a263..d1987f2bf24a6bcbeaf63493254ab581041d7534 100644 --- a/02_OBSERVATIONAL/OBSERVATIONAL_00_R_environment.R +++ b/02_OBSERVATIONAL/OBSERVATIONAL_00_R_environment.R @@ -44,7 +44,7 @@ dotenv::load_dot_env("./02_OBSERVATIONAL/.env") # - TRUE : data will be dumped # - FALSE: data will not be dumped DATA_SOURCE_REDCAP_IPP_OBS <- FALSE -DATA_SOURCE_REDCAP_IPM_OBS <- FALSE +DATA_SOURCE_REDCAP_IPM_OBS <- TRUE DATA_SOURCE_REDCAP_AHRI_OBS <- TRUE @@ -89,4 +89,5 @@ SEED <- 12345 ## the raw data dumped from REDCap or not. # - TRUE : curation rule will be enforced # - FALSE: curation rule will not be enforced (default) -CURATE_DATA_RECALCULATE_AGEY <- TRUE +CURATE_DATA_RECALCULATE_AGEY_ETHIOPIA <- TRUE +CURATE_DATA_RECALCULATE_AGEY_MADAGASCAR <- FALSE diff --git a/02_OBSERVATIONAL/OBSERVATIONAL_02_curate_REDCap_raw_data.R b/02_OBSERVATIONAL/OBSERVATIONAL_02_curate_REDCap_raw_data.R index 3c0c2a1b92ff30f5b2785a4a7611f29ee1f9c2c0..9be600b0a73b2638b134b535eabe7a03376ebfa7 100644 --- a/02_OBSERVATIONAL/OBSERVATIONAL_02_curate_REDCap_raw_data.R +++ b/02_OBSERVATIONAL/OBSERVATIONAL_02_curate_REDCap_raw_data.R @@ -32,16 +32,28 @@ source("./02_OBSERVATIONAL/OBSERVATIONAL_01_dump_REDCap_database.R") ## Start from the raw dataset generated in OBSERVATIONAL_01_dump_REDCap_database.R dat_observational_curated <- dat_observational_raw %>% # Go through each curation flag - mutate(agey = case_when(CURATE_DATA_RECALCULATE_AGEY & (dob_yn %in% c(1, "Yes") & !is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, - time2 = dob, - units = "days")) / 365.25, - digits = 0), - CURATE_DATA_RECALCULATE_AGEY & (dob_yn %in% c(0, "No") | is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, - time2 = as.Date(x = calc_dob_from_myob, - format = "%d-%m-%Y"), - units = "days")) / 365.25, - digits = 0), - .default = agey)) + mutate( + # agey: distinct curation flages for Ethiopia & Madagascar + agey = case_when(CURATE_DATA_RECALCULATE_AGEY_ETHIOPIA & country %in% c("E", "Ethiopia") & (dob_yn %in% c(1, "Yes") & !is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, + time2 = dob, + units = "days")) / 365.25, + digits = 0), + CURATE_DATA_RECALCULATE_AGEY_ETHIOPIA & country %in% c("E", "Ethiopia") & (dob_yn %in% c(0, "No") | is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, + time2 = as.Date(x = calc_dob_from_myob, + format = "%d-%m-%Y"), + units = "days")) / 365.25, + digits = 0), + + CURATE_DATA_RECALCULATE_AGEY_MADAGASCAR & country %in% c("M", "Madagascar") & (dob_yn %in% c(1, "Yes") & !is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, + time2 = dob, + units = "days")) / 365.25, + digits = 0), + CURATE_DATA_RECALCULATE_AGEY_MADAGASCAR & country %in% c("M", "Madagascar") & (dob_yn %in% c(0, "No") | is.na(dob)) ~ round(x = as.numeric(difftime(time1 = visdat, + time2 = as.Date(x = calc_dob_from_myob, + format = "%d-%m-%Y"), + units = "days")) / 365.25, + digits = 0), + .default = agey))