apply_checks<-function(db, pays){
logbook<-data.frame(
today=character(),
base= character(),
enumerator= character(),
uuid= character(),
question.name = character(),
old.value = character(),
new.value = character(),
parent.other.question = character(),
parent.other.answer = character(),
probleme = character(),
checkid= character(),
action=character()
)
sm_autre <- names(db)[grep(".[.]autre", names(db))]
sm_nsp <- names(db)[grep(".[.](nsp|ne_sait_pas|je_ne_sais_pas)", names(db))]
sm_dwta <- names(db)[grep(".[.](prefere_pas|ne_souhaite_pas_repondre|je_prefere_ne_pas_repondre|sans_reponse)", names(db))]
# new variables
data<-db
data$difftime<-calc_duration(data)
##Transversal (nsp)
data$nb_nsp <-apply(data,1,function(x) {grep("nsp|ne_sait_pas|je_ne_sais_pas",x) %>% unlist %>% length}) +apply(data[sm_nsp],1,sum,na.rm=T)
index<-pulluuid(data,data$nb_nsp>3)
logbook<- makeslog(data,logbook,"id02",index, "nb_nsp", "Nombre important de reponses nsp par enqueteur")
##Transversal (sans_reponse)
data$nb_dwta <-apply(data,1,function(x) {grep("prefere_pas|sans_reponse",x) %>% unlist %>% length}) +apply(data[sm_dwta],1,sum,na.rm=T)
index<-pulluuid(data,data$nb_dwta>3)
logbook<- makeslog(data,logbook,"id03",index, "nb_dwta", "Nombre important de reponses sans_reponse par enqueteur")
##Transversal (autre)
data$nb_autre <-apply(data,1,function(x) {grep("autre",x) %>% unlist %>% length}) + apply(data[sm_autre],1,sum,na.rm=T)
index<-pulluuid(data,data$nb_autre>3)
logbook<- makeslog(data,logbook,"id04",index, "nb_autre", "Nombre important de reponses autre par enqueteur")
# consentement suppression
index<-pulluuid(data,data$consensus_note=="non")
logbook<- makeslog(data,logbook,"id05",index,"consensus_note","pas de consentement pour enquete",action = "remove")
##duree d'enquete ne depasse pas quinze minte
index<-pulluuid(data,data$difftime< 20)
logbook<- makeslog(data,logbook,"id06",index,"difftime","enquete plus courte que 20min")
##duree d'enquete ne depasse pas vingt minutes
# index<-pulluuid(data,data$difftime> 15 & data$difftime<=20)
# logbook<- makeslog(data,logbook,"id07",index,"difftime","enquete plus courte que 20min")
##duree d'enquete depasse 110mins
index<-pulluuid(data,data$difftime> 110)
logbook<- makeslog(data,logbook,"id08",index,"difftime","enquete plus long que 110min")
##manque de pluie dans une saison seche
index<-pulluuid(data, composr::sm_selected(data$activite_agricole_perturbe,any = c("manque_pluie")))
logbook<-makeslog(data,logbook,"id09",index,"activite_agricole_perturbe","manque de pluie dans une saison seche et agriculture contre saison",NA)
## pas d'acces a des services d'edu /vacances scolaire
index<-pulluuid(data, data$edu_raisons=="vacances")
logbook<-makeslog(data,logbook,"id10",index,"edu_raisons","s'agit-il bien des vacances ? Est-ce que y a des localites dans lesquelles jusqu'ici les eleves sont en vacances?")
index<-pulluuid(data, data$abris_destruction_raison=="inondations")
logbook<-makeslog(data,logbook,"id11",index,"abris_destruction_raison","S'agit-il d'inondation causee par la crue d'un cours d'eau ou les eaux de pluies, au cours des 30 derniers jours?")
temp<-data %>% group_by(deviceid) %>% summarise(n=n_distinct(global_enum_id)) %>% mutate(check=n>1)
index<-pulluuid(data, data$deviceid%in% temp$deviceid[which(temp$check==T)])
logbook<-makeslog(data,logbook,"id12",index,"global_enum_id","Meme identifiant de smartphone mais differents numeros d'enqueteurs")
index<-pulluuid(data, data$ic_age>50&data$profession_ic=="etudiant")
logbook<-makeslog(data,logbook,"id13",index,"ic_age","Un informateur cle qui a plus de 50 avec comme profil etudiant")
index<-pulluuid(data, composr::sm_selected(data$groupes_presents,any = c("refugie"))&data$refugies_source_admin0==pays)
logbook<-makeslog(data,logbook,"id14",index,"groupes_presents",paste0("Pays d'origine des réfugiés ",pays))
index<-pulluuid(data, composr::sm_selected(data$groupes_presents,none = c("non_deplaces","retourne","rapatrie")))
logbook<-makeslog(data,logbook,"id15",index,"groupes_presents","Groupe de population present dans la localite uniquement PDI et / ou Réfugie")
temp<-c("acces_sante","acces_edu","acces_marche","acces_eau")
index<-pulluuid(data, grepl(paste(temp,collapse = "|"),data$pdi_raison))
logbook<-makeslog(data,logbook,"id16",index,"pdi_raison","Raison de deplacement des populations qui peut ne pas avoir un caractere force, qui peut etre liee a une saison ou un besoin specifique")
index<-pulluuid(data, grepl(paste(temp,collapse = "|"),data$refugies_raison))
logbook<-makeslog(data,logbook,"id17",index,"refugies_raison","Raison de deplacement des populations qui peut ne pas avoir un caractere force, qui peut etre liee à une saison ou un besoin specifique")
index<-pulluuid(data, composr::sm_selected(data$pas_nourriture_raison, any = c("pas_marche"))&data$marche_maintenant=="oui")
logbook<-makeslog(data,logbook,"id18",index,"pas_nourriture_raison","presence d'un marche fonctionnel mais raison non acces a suffisamment de nourriture est : Le marche ne fonctionne pas")
index<-pulluuid(data, composr::sm_selected(data$pas_nourriture_raison, any = c("marche_limite"))&data$marche_maintenant=="non")
logbook<-makeslog(data,logbook,"id19",index,"pas_nourriture_raison","Pas de marche fonctionnel a distance de marche mais raison non acces a suffisamment de nourriture est : Le marche existe mais la disponibilite des produits est limitee")
permanenet<-c("permanent","concession")
temp<-c("paille","abri_transition","abri_fortune","abri_urgence","rhu","batiment_public","ecole","batiment_abandonne","construction","aucun")
index<-pulluuid(data, data$pdi_abris_type1%in%permanenet&data$cl_abris_type1%in%temp)
logbook<-makeslog(data,logbook,"id20",index,"pdi_abris_type1","Maison construite en dur mais le type d'abri des populations non deplacees est un autre type")
index<-pulluuid(data, data$rf_abris_type1%in%permanenet&data$cl_abris_type1%in%temp)
logbook<-makeslog(data,logbook,"id20",index,"rf_abris_type1","Maison construite en dur mais le type d'abri des populations non deplacees est un autre type")
index<-pulluuid(data, data$marche_maintenant=="non"&data$besoin_bna=="aucun")
logbook<-makeslog(data,logbook,"id21",index,"besoin_bna","Tous les articles non alimentaires cites sont disponibles mais pas de marche a distance de marche dans la localite")
index<-pulluuid(data, data$marche_maintenant=="oui"&data$savon_difficultes=="marches_non_fonctionnels")
logbook<-makeslog(data,logbook,"id22",index,"savon_difficultes","Le marche ne fonctionne pas alors que la reponse a la question concernant la presence d'un marche fontionnel est : oui")
index<-pulluuid(data, data$info_source=="appel_telephone"&data$tel_mobile=="non")
logbook<-makeslog(data,logbook,"id23",index,"tel_mobile","Pour la majorite de la population la pricipale source d'information est : telephone alors qu'a la question concernant l'acces aux telephones la reponse est non")
index<-pulluuid(data, data$info_source=="facebook"&data$tel_mobile=="non")
logbook<-makeslog(data,logbook,"id23",index,"tel_mobile","Pour la majorite de la population la pricipale source d'information est :Medias sociaux (Facebook, Whatsapp, etc.) / internet alors qu'a la question concernant l'acces aux telephones la reponse est non")
index<-pulluuid(data, data$info_source=="internet"&data$tel_mobile=="non")
logbook<-makeslog(data,logbook,"id23",index,"tel_mobile","Pour la majorite de la population la pricipale source d'information est :internet alors qu'a la question concernant l'acces aux telephones la reponse est non")
index<-pulluuid(data, data$info_source=="telephone_sat"&data$tel_mobile=="non")
logbook<-makeslog(data,logbook,"id23",index,"tel_mobile","Pour la majorite de la population la pricipale source d'information est :internet alors qu'a la question concernant l'acces aux telephones la reponse est non")
index<-pulluuid(data, data$reseau_mobile=="oui"&data$info_obstacle1=="reseau_mobile_limite")
logbook<-makeslog(data,logbook,"id24",index,"reseau_mobile","Reponse reseau_mobile_limite alors que la reponse à l question de savoir si le reseau telephonique mobile stable etait disponible est oui")
index<-pulluuid(data, data$reseau_mobile=="oui"&data$info_obstacle1=="pas_reseau_mobile")
logbook<-makeslog(data,logbook,"id24",index,"reseau_mobile","Reponse pas_reseau_mobile alors que la reponse à l question de savoir si le reseau telephonique mobile stable etait disponible est oui")
index<-pulluuid(data, data$source_eau=="robinet_maison"&data$eau_maintenant_distance!="moins_30_min")
logbook<-makeslog(data,logbook,"id24",index,"eau_maintenant_distance","Source eau est robinet de la maison mais la distance a la source d'eau est > 30min")
# duplicated uuid
index<-pulluuid(data,duplicated(data$uuid))
logbook<- makeslog(data,logbook,"id25",index,"uuid","UUID doublons")
index<-pulluuid(data,data$assistance=="non"&data$nourriture_source=="ong")
logbook<- makeslog(data,logbook,"id26",index,"assistance","L'IC a signale la presence d'une assistance alimentaire dans la localite dans la question nourriture_source")
index<-pulluuid(data,data$nourriture_maintenant=="oui"&data$nourriture_source=="ong")
logbook<- makeslog(data,logbook,"id27",index,"nourriture_source","La source de nourriture est Aide humanitaire/aide alimentaire gouvernementale alors qu'il a dit que les gens ont suffisamment à manger")
if(pays!="niger"){
index<-pulluuid(data,data$sante_maintenant=="oui"&data$nutri=="non")
logbook<- makeslog(data,logbook,"id28",index,"nutri","Présence de services de santé accessibles mais pas de Programmes nutritionnels mis en oeuvre")
} else{
index<-pulluuid(data,data$sante_maintenant=="oui"&data$nutri=="non"&composr::sm_selected(data$services_sante_niger, any = c("csi_i","csi_ii","hd","chr","hr","chu")))
logbook<- makeslog(data,logbook,"id28",index,"nutri","Présence de services de santé accessibles mais pas de Programmes nutritionnels mis en oeuvre")
}
index<-pulluuid(data,data$distr_nourriture=="oui"&data$assistance=="non")
logbook<- makeslog(data,logbook,"id29",index,"assistance","une partie de la population n'a pas reçu une assistance humanitaire ? alors que Au cours des 30 derniers jours, y a des personnes qui ont reçu une assistance alimentaire")
index<-pulluuid(data,data$nourriture_source=="ong"&composr::sm_selected(data$pas_nourriture_raison,any = c("distrib_arretes")))
logbook<- makeslog(data,logbook,"id30",index,"pas_nourriture_raison","Dons humanitaires / de l'Etat comme principale source de nourriture alors que Les distributions alimentaires n'ont plus lieu")
index<-pulluuid(data,data$pdi_pourcent=="tous"|data$retournes_pourcent=="tous"|data$refugies_pourcent=="tous"|data$rapatries_pourcent=="tous"&composr::sm_selected(data$groupes_presents,none = c("non_deplaces")))
logbook<- makeslog(data,logbook,"id31",index,"groupes_presents","Proportion des PDIs ou Retournés ou Réfugiées est 'Tous/Toutes' or il doit y avoir la population locale")
index<-pulluuid(data,composr::sm_selected(data$groupes_presents,none = c("non_deplaces")))
logbook<- makeslog(data,logbook,"id32",index,"groupes_presents","group de population 'non_deplace' n'est pas present dans cette localité")
index<-pulluuid(data,data$info_source=="radio"&data$info_source_qui%!in%c("journaliste","chef_communautaire","chef_religieux","autorite_locale"))
logbook<- makeslog(data,logbook,"id33",index,"info_source","Le canal d'information est 'Station de radio' mais les fournisseurs d'information sont canaux d'information directs")
index<-pulluuid(data,data$moyens_existence_obstacle=="non"&data$moyens_existence_obstacle_raison=="insecurite"&data$prot_maintenant=="oui")
logbook<- makeslog(data,logbook,"id34",index,"prot_maintenant","ous aviez mentionné que les gens n'ont pas accès à leur moyen d'existence pour raison d'insécurité et vous ajouté qu'ils se sont sentis en sécurité")
index<-pulluuid(data,composr::sm_selected(data$revenu_source,any = c("dons_humanitaire"))&data$distr_nourriture=="non")
logbook<- makeslog(data,logbook,"id35",index,"revenu_source","Source de revenu Dons humanitaires / de l'Etat alors qu'il n y a pas eu d'assistance humanitaire dans la localité")
if(pays=="mali"){
index<-pulluuid(data,composr::sm_selected(data$pas_nourriture_raison,any = c("pas_marche"))&data$marche_raison%in%c("pas_marche","pas_marche_distance_marche"))
logbook<- makeslog(data,logbook,"id36",index,"marche_raison","Incoherence entre existence et fonctionnement du marché")
index<-pulluuid(data,composr::sm_selected(data$pas_nourriture_raison,any = c("pas_marche"))&data$marche_raison%in%c("marche_transport"))
logbook<- makeslog(data,logbook,"id37",index,"marche_raison","Incoherence entre existence et distanciation du marché")
index<-pulluuid(data,composr::sm_selected(data$pas_nourriture_raison,any = c("insecurite_acces_terre"))&data$moyens_existence_obstacle=="oui")
logbook<- makeslog(data,logbook,"id38",index,"pas_nourriture_raison","L'insecutrite fais que la majorité n'a pas acces à suffisament de nourriture et les moyens d'existence sont accessibles")
index<-pulluuid(data,composr::sm_selected(data$pas_nourriture_raison,any = c("pas_de_terre"))&composr::sm_selected(data$activites_actuelles_non,any = c("agri_vente")))
logbook<- makeslog(data,logbook,"id39",index,"pas_nourriture_raison","La majorite de la population n'a pas acces à suffisament de nourriture et elle cultive pour vendre")
index<-pulluuid(data,data$eau_protection=="oui"&data$prot_maintenant=="oui")
logbook<- makeslog(data,logbook,"id40",index,"eau_protection","La majorité de la population se sente en securite alors des gens n'ont pas pu acceder à leurs point d'eau de preference pour cause d'insecurité")
}
return(logbook)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.