5 Data Collection and Processing
library(magrittr)
library(dplyr)
library(kableExtra)
library(readxl)
library(sjmisc)
library(purrr)
library(tidyr)
main_dataset <- read.csv("inputs/UKR2007_MSNA20_HH_dataset_main_rcop.csv", na.strings = "", stringsAsFactors = F)
questions <- read_xlsx("inputs/UKR2007_MSNA20_HH_Questionnaire_24JUL2020.xlsx",sheet="survey")
choices <- read_xlsx("inputs/UKR2007_MSNA20_HH_Questionnaire_24JUL2020.xlsx",sheet="choices")
#** un-comment those if you need them to be installed
# devtools::install_github("https://github.com/impact-initiatives/xlsformfill/")
# devtools::install_github("https://github.com/impact-initiatives/cleaninginspectoR/")
- Notes on cleaninginspectoR:
- The function will return a dataframe with indexes not the uuid.
- cleanninginspectoR uses function from the magrittr and dplyr packages. Don’t forget to load them before using it.
5.1 Testing the tool
5.1.1 Creating dummy data
xlsformfill has a function xlsform_fill that will create dataset based on your KOBO questionnaire. It takes 3 arguments: your questions, your choices and how many rows you want.
Notes: - All questions will be filled. - Skip logic are not implemented. - Constraints are not implemented. - Integers and text will be generated randomly
start | end | deviceid | enum_office_city | enum_id | a1_informed_consent | a2_hh_representative_name | a3_consent_to_follow_up_calls | a3_1_phone | a4_are_you_hohh | a5_respond_behalf_hh | b4_gender | b5_age | b7_hohh_age | b8_hohh_sex | b9_hohh_marital_status | b10_hohh_vulnerability | b10_hohh_vulnerability/no | b10_hohh_vulnerability/older_person | b10_hohh_vulnerability/disability_not_including_chronic_illness | b10_hohh_vulnerability/unemployed | b10_hohh_vulnerability/veteran_of_war_ato | b10_hohh_vulnerability/single_parent | b10_hohh_vulnerability/family_with_3_or_more_children | b10_hohh_vulnerability/family_with_foster_children | b10_hohh_vulnerability/chronic_illness | b10_hohh_vulnerability/other_specify | b10_1_hohh_vulnerability_other | b11_hohh_chronic_illness | b11_hohh_chronic_illness/blood_pressure_diseases | b11_hohh_chronic_illness/cardiovascular_disease | b11_hohh_chronic_illness/diabetes_need_insulin | b11_hohh_chronic_illness/diabetes_does_not_need_insulin | b11_hohh_chronic_illness/chronic_respiratory_condition | b11_hohh_chronic_illness/musculoskeletal_system_and_joints | b11_hohh_chronic_illness/cancer | b11_hohh_chronic_illness/neurological | b11_hohh_chronic_illness/sensory_disorder | b11_hohh_chronic_illness/gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases | b11_hohh_chronic_illness/genitourinary_system_diseases | b11_hohh_chronic_illness/endocrine_system_thyroid_gland_and_other_diseases | b11_hohh_chronic_illness/other_specify | b11_1_hohh_chronic_illness_other | b12_situation_description | b12_1_situation_description_other | b13_why_hohh_unemployed | b13_1_why_hohh_unemployed_other | b14_sector_hohh_employed | b14_1_sector_hohh_employed_other | b15_hohh_income | b16_hohh_pension_eligible | b17_hohh_pension_receive | b18_hohh_benefit_eligible | b19_hohh_benefit_receive | b20_hohh_level_education | hohh_age_18 | age_18 | b21_num_additional_hh_members | c1_hh_memb_age | age_5_18 | age_5_12 | age_13_15 | age_16_18 | c2_hh_memb_sex | c3_hh_member_description | c4_hh_member_description_other | c5_hh_memb_income | age_5_18_number | age_5_12_number | age_13_15_number | age_16_18_number | d1_hh_displacement_status | d2_year_first_displaced | d2_1_year_first_displaced_other | e1_shelter_type | e1_1_shelter_type_other | e2_home_type | e2_1_home_type_other | e3_shelter_enclosure_issues | e3_shelter_enclosure_issues/no_issues | e3_shelter_enclosure_issues/lack_of_insulation_from_cold | e3_shelter_enclosure_issues/leaks_during_light_rain_snow | e3_shelter_enclosure_issues/leaks_during_heavy_rain_snow | e3_shelter_enclosure_issues/limited_ventilation_less_than_05m2_ventilation_in_each_room_including_kitchen | e3_shelter_enclosure_issues/presence_of_dirt_or_debris_removable | e3_shelter_enclosure_issues/presence_of_dirt_or_debris_nonremovable | e3_shelter_enclosure_issues/none_of_the_above | e3_shelter_enclosure_issues/other_specify | e3_shelter_enclosure_issues/dont_know | e3_1_shelter_enclosure_issues_other | e4_damaged_accomodation | e4_damaged_accomodation/none | e4_damaged_accomodation/opening_or_cracks_in_roof | e4_damaged_accomodation/roof_partially_collapsed | e4_damaged_accomodation/broken_or_cracked_windows | e4_damaged_accomodation/exterior_doors_broken_unable_to_shut_properly | e4_damaged_accomodation/exterior_doors_or_windows_missing | e4_damaged_accomodation/large_cracks_openings_in_most_walls | e4_damaged_accomodation/some_cracks_in_some_walls | e4_damaged_accomodation/some_walls_fully_collapsed | e4_damaged_accomodation/damaged_floors | e4_damaged_accomodation/severe_structural_damage_and_unsafe_for_living | e4_damaged_accomodation/total_structural_collapse | e4_damaged_accomodation/foundation_damaged_or_shifted | e4_damaged_accomodation/gas_water_or_sewage_system_damaged | e4_damaged_accomodation/electricity_supply_line_damaged_and_not_functional | e4_damaged_accomodation/other_specify_none_of_the_above | e4_damaged_accomodation/dont_know_prefer_not_to_say | e4_1_damaged_accomodation_other | e5_damaged_accomodation_severity | e6_ownership_documents | e7_rent_agreement | e8_ownership_documents_name | e9_cost_of_month_rent | e9_1_hh_have_ability_to_pay_rent | e10_gpc_eviction_risk | e11_items_do_not_have_per_hh | e11_items_do_not_have_per_hh/refigerator | e11_items_do_not_have_per_hh/functional_stove | e11_items_do_not_have_per_hh/functional_heater_movable | e11_items_do_not_have_per_hh/hh_has_all_items | e12_items_not_every_hh_member | e12_items_not_every_hh_member/mattress | e12_items_not_every_hh_member/bedsheets | e12_items_not_every_hh_member/towel | e12_items_not_every_hh_member/blanket | e12_items_not_every_hh_member/winter_jacket | e12_items_not_every_hh_member/warm_winter_boots | e12_items_not_every_hh_member/thick_socks | e12_items_not_every_hh_member/warm_gloves | e12_items_not_every_hh_member/warm_scarf | e12_items_not_every_hh_member/thermal_underwear | e12_items_not_every_hh_member/adult_warm_clothing | e12_items_not_every_hh_member/child_warm_clothing | e12_items_not_every_hh_member/each_member_has_all_items | e13_need_but_do_not_have | e13_need_but_do_not_have/adult_diapers | e13_need_but_do_not_have/child_diapers | e13_need_but_do_not_have/sanitary_pads | e13_need_but_do_not_have/none_needed | f1_utility_services_used | f1_utility_services_used/central_heating | f1_utility_services_used/centralised_piped_hot_water_supply | f1_utility_services_used/centralised_piped_cold_water_supply | f1_utility_services_used/electricity | f1_utility_services_used/gas | f1_utility_services_used/none | f2_spend_on_utilities | f2_1_why_if_spend_on_utilities_0 | f3_spend_on_heating | f3_1_if_0_for_heating | f4_type_fuel_heating | f4_type_fuel_heating/central_heating | f4_type_fuel_heating/electricity | f4_type_fuel_heating/gas | f4_type_fuel_heating/kerosene | f4_type_fuel_heating/wood | f4_type_fuel_heating/coal | f4_type_fuel_heating/briquettes_not_coal | f4_type_fuel_heating/briquettes_coal | f4_type_fuel_heating/other_specify | f4_2_type_fuel_heating_other | f5_type_fuel_heating_amount | f6_how_many_wood_hh_consumed_last_winter | f7_how_many_briquettes_hh_consumed_last_winter | f7_1_how_many_briquettes_coal_hh_consumed_last_winter | f8_do_you_receive_state_subsidies_for_utilities_gas | f9_electricity_shortages | f10_gas_shortages | f11_dinking_water_source | f11_1_dinking_water_source_other | f12_drinking_water_treat | f12_drinking_water_treat/do_not_process_purify | f12_drinking_water_treat/cleaning_with_chemicals_chlorination | f12_drinking_water_treat/water_precipitation | f12_drinking_water_treat/filtering_the_water_pitcher_filter | f12_drinking_water_treat/filtering_the_water_reverse_osmosis_filter | f12_drinking_water_treat/boiling | f12_drinking_water_treat/percolation | f12_drinking_water_treat/other_specify | f12_drinking_water_treat/dont_know_ns | f12_drinking_water_treat/refuse_to_answer | f12_1_drinking_water_treat_other | f13_treatment_whynot | f13_1_treatment_whynot_other | f14_technical_water_source | f14_1_technical_water_source_other | f15_water_shortages | f16_duration_water_shortages | f17_store_drinking_water | f17_store_drinking_water/do_not_store_water | f17_store_drinking_water/plastic_bottles | f17_store_drinking_water/glass_bottles | f17_store_drinking_water/a_bucket_with_a_lid | f17_store_drinking_water/a_bucket_without_a_lid | f17_store_drinking_water/a_canister | f17_store_drinking_water/a_barrel_tank | f17_store_drinking_water/we_fill_in_the_bathtub | f17_store_drinking_water/other_specify | f17_store_drinking_water/dont_know_ns | f17_store_drinking_water/refuse_to_answer | f17_1_store_drinking_water_other | f18_water_sufficient | f18_water_sufficient/drinking | f18_water_sufficient/cooking | f18_water_sufficient/personal_hygiene | f18_water_sufficient/other_domestic_purposes | f18_water_sufficient/none_of_the_previous | f18_water_sufficient/dont_know_ns | f19_type_toilets | f19_1_type_toilets_other | f20_problms_pump_sewage | f21_method_garbage_dispose | g1_cereals_consumption | g2_roots_consumption | g3_vegetables_consumption | g4_fruits_consumption | g5_meat_consumption | g6_eggs_consumption | g7_pulses_consumption | g8_dairy_consumption | g9_oil_consumption | g10_sugar_consumption | g11_condiments_consumption | h1_nofood_noresources | h1_1_how_often_nofood_noresources | h2_sleep_hungry | h2_1_how_often_sleep_hungry | h3_day_and_night_hungry | h3_1_how_often_day_and_night_hungry | i1_coping_strategies | i2_spent_savings | i3_borrowed_food | i4_live_another_family | i5_sold_assets | i6_removed_children_from_school_kindergarten | i7_reduced_health_care | i8_reduced_education | i9_sold_house | i10_hh_migrated | i11_moved_for_work | i12_risk_job | j1_edu_facility_hh_access | j1_edu_facility_hh_access/none | j1_edu_facility_hh_access/kindergarten | j1_edu_facility_hh_access/school | j1_edu_facility_hh_access/boarding_school | j1_edu_facility_hh_access/specialized_school_for_children_with_disabilities | j1_edu_facility_hh_access/vocational_school | j1_1_edu_facility_not_access_why | j1_1_edu_facility_not_access_why/school_too_far_and_no_transport | j1_1_edu_facility_not_access_why/cannot_afford_supplies | j1_1_edu_facility_not_access_why/children_at_home_as_carer | j1_1_edu_facility_not_access_why/children_working_at_home | j1_1_edu_facility_not_access_why/children_in_paid_employment | j1_1_edu_facility_not_access_why/children_has_disability_that_school_does_not_have_infrastructure_for | j1_1_edu_facility_not_access_why/other_specify | j1_2_other_edu_facility_not_access_why | j2_precovid_number_children_school | j2_1_boys_5_12_precovid_attend | j2_2_girls_5_12_precovid_attend | j2_3_boys_13_15_precovid_attend | j2_4_girls_13_15_precovid_attend | j2_5_boys_16_18_precovid_attend | j2_6_girls_16_18_precovid_attend | j3_precovid_number_children_dropped | j3_1_boys_5_12_precovid_dropped | j3_2_girls_5_12_precovid_dropped | j3_3_boys_13_15_precovid_dropped | j3_4_girls_13_15_precovid_dropped | j3_5_boys_16_18_precovid_dropped | j3_6_girls_16_18_precovid_dropped | j4_number_children_follow_curriculum | j4_1_boys_5_12_follow_curriculum | j4_2_girls_5_12_follow_curriculum | j4_3_boys_13_15_follow_curriculum | j4_4_girls_13_15_follow_curriculum | j4_5_boys_16_18_follow_curriculum | j4_6_girls_16_18_follow_curriculum | j5_unable_attend_school_more_than_month | j5_1_boys_5_12_unable_attend_school_more_than_month | j5_2_girls_5_12_unable_attend_school_more_than_month | j5_3_boys_13_15_unable_attend_school_more_than_month | j5_4_girls_13_15_unable_attend_school_more_than_month | j5_5_boys_16_18_unable_attend_school_more_than_month | j5_6_girls_16_18_unable_attend_school_more_than_month | j6_reason_gap_education | j6_reason_gap_education/school_closed_due_to_security | j6_reason_gap_education/school_closed_other | j6_reason_gap_education/insufficient_teachers | j6_reason_gap_education/security_concerns_by_parent | j6_reason_gap_education/school_is_damaged | j6_reason_gap_education/health_issues | j6_reason_gap_education/family_personal_reasons | j6_reason_gap_education/too_expensive_school_fees_supplies_transport_etc | j6_reason_gap_education/transport_unavavailable | j6_reason_gap_education/a_child_contributes_to_hh_income | j6_reason_gap_education/other_specify | j6_reason_gap_education/refuse_to_answer | j6_1_reason_gap_education_other | j7_gap_education_length | j8_problems_school | j8_problems_school/no_problems | j8_problems_school/distance_to_school | j8_problems_school/quality_of_teaching_staff | j8_problems_school/quantity_of_teaching_staff | j8_problems_school/lack_of_pss | j8_problems_school/price_for_service | j8_problems_school/conditions_of_the_venue | j8_problems_school/overcrowded_classrooms | j8_problems_school/lack_of_medical_support | j8_problems_school/school_is_unsafe | j8_problems_school/problems_with_distance_learning_due_to_closure_of_school_for_covid_eg_bad_internet_connection | j8_problems_school/other_specify | j8_1_problems_school_other | j9_education_security_concerns_childs_commute_to_school | j9_education_security_concerns_childs_commute_to_school/none | j9_education_security_concerns_childs_commute_to_school/uxos | j9_education_security_concerns_childs_commute_to_school/shelling | j9_education_security_concerns_childs_commute_to_school/shooting | j9_education_security_concerns_childs_commute_to_school/military_presence | j9_education_security_concerns_childs_commute_to_school/danger_at_checkpoints | j9_education_security_concerns_childs_commute_to_school/wildanimals_stray_dogs | j9_education_security_concerns_childs_commute_to_school/other_specify | j9_1_education_security_concerns_childs_commute_to_school_other | j10_education_security_concerns_in_the_vicinity_of_facility | j10_education_security_concerns_in_the_vicinity_of_facility/none | j10_education_security_concerns_in_the_vicinity_of_facility/uxos_on_school_grounds | j10_education_security_concerns_in_the_vicinity_of_facility/shelling_in_the_vicinity_of_the_school | j10_education_security_concerns_in_the_vicinity_of_facility/shooting_in_the_vicinity_of_the_school | j10_education_security_concerns_in_the_vicinity_of_facility/military_presence_inside_of_schools | j10_education_security_concerns_in_the_vicinity_of_facility/military_presence_in_the_vicinity_of_schools | j10_education_security_concerns_in_the_vicinity_of_facility/other_specify | j10_1_education_security_concerns_in_the_vicinity_of_facility_other | j11_school_supplies_affordable | j12_children_under18_absent | j12_1_number_children_under18_absent | j12_2_why | l1_specialist_care_available | l1_specialist_care_available/obstetricgynaecological | l1_specialist_care_available/paediatrics | l1_specialist_care_available/gastroentrology | l1_specialist_care_available/mental_health_care | l1_specialist_care_available/ear_nose_throat_ent | l1_specialist_care_available/ambulance | l1_specialist_care_available/inpatient_facility | l1_specialist_care_available/outpatient_care | l1_specialist_care_available/laboratory | l1_specialist_care_available/x_ray | l1_specialist_care_available/ultrasound | l1_specialist_care_available/chest_photofluorography | l1_specialist_care_available/post_trauma_rehabilitation | l1_specialist_care_available/dont_know_ns | l1_specialist_care_available/none_of_listed | l2_HH_access_healthcare | l3_difficult_access_health | l4_which_difficult_access_health | l4_which_difficult_access_health/lack_of_facilities | l4_which_difficult_access_health/cost_of_medicine | l4_which_difficult_access_health/distance_to_facility | l4_which_difficult_access_health/cost_of_travel_to_facility | l4_which_difficult_access_health/lack_of_documents | l4_which_difficult_access_health/security_problems_in_travelling_to_facility | l4_which_difficult_access_health/cost_of_appointment | l4_which_difficult_access_health/lack_of_referral_system | l4_which_difficult_access_health/have_to_pass_through_entry_exit_checkpoint_for_medical_facility_in_the_ngca | l4_which_difficult_access_health/irregular_presence_of_doctors | l4_which_difficult_access_health/required_a_covid_test_prior_to_treatment | l4_which_difficult_access_health/unable_to_leave_the_house_due_to_covid19 | l4_which_difficult_access_health/other_specify | l4_which_difficult_access_health/lack_of_doctors | l4_which_difficult_access_health/insufficient_qualifications_of_doctors | l4_which_difficult_access_health/long_queues | l4_1_which_difficult_access_health_other | l5_state_medication_aware | l6_state_medication_received | l7_pss | l8_trauma_rehab | l9_time_walk_health_facility | m1_probl_food_market_access | m2_probl3_food_market_access | m2_probl3_food_market_access/no_problems | m2_probl3_food_market_access/opening_hours_insufficient | m2_probl3_food_market_access/items_not_available | m2_probl3_food_market_access/items_too_expensive | m2_probl3_food_market_access/items_poor_quality | m2_probl3_food_market_access/market_damaged | m2_probl3_food_market_access/distance | m2_probl3_food_market_access/security | m2_probl3_food_market_access/other_specify | m2_1_probl3_food_market_access_other | m3_items_too_expensive | m3_items_too_expensive/cereals_grains_bread_pasta | m3_items_too_expensive/roots_and_tubers_potato_onion_beet | m3_items_too_expensive/vegetables_and_leaves_tomato_lettuce_spinach_carrot | m3_items_too_expensive/fruits_apple_orange_strawberry | m3_items_too_expensive/meat_or_fish_chicken_pork_beef_fish | m3_items_too_expensive/eggs | m3_items_too_expensive/pulses_nuts_seeds_lentils_beans_nuts | m3_items_too_expensive/dairy_products | m3_items_too_expensive/oil_and_fat_salo_butter_sunflower_oil | m3_items_too_expensive/sugar_or_sweets_cakes_chocolate_sugary_cold_drinks | m3_items_too_expensive/condiments_and_spices_tea_coffee_spices | m3_items_too_expensive/other_specify | m3_1_other | n1_HH_total_expenditure | n2_spend_on_food | n3_in_debt | n4_spend_debt | n4_1_if_0_for_debt | n5_current_debt_of_hh | n6_hhmember_security_incident_30days | n7_gpc_docs_passport | n8_HHmembers_ID_missing | n9_gpc_docs_passport_obtain | n10_gpc_docs_birthcert | n11_birth_certificates_issued | n12_HHmembers_birth_certificate_missing | n13_gpc_docs_birthcert_obtain | n14_docs_legal_assistance_needed | n15_legal_assistance_needed | n16_gpc_access_justice | n17_community_affectedby_mines | n18_aware_mine_incident | n19_extent_mines_affect | n20_mines_affect_reason | n20_mines_affect_reason/fear_for_physical_safety | n20_mines_affect_reason/movement_and_access_constraints | n20_mines_affect_reason/psychological_safety | n20_mines_affect_reason/has_affected_hh_budget | n20_mines_affect_reason/other_specify | n20_1_mines_affect_reason_other | n21_ewr_report | n21_ewr_report/administration_head_of_the_village) | n21_ewr_report/state_emergency_services | n21_ewr_report/mine_clearance_ngo | n21_ewr_report/police | n21_ewr_report/army | n21_ewr_report/to_relatives | n21_ewr_report/other_specify | n21_ewr_report/dont_know_ns | n21_1_ewr_report_other | o1_restrictions_impact_hh | o1_restrictions_impact_hh/diminished_lost_source_of_income | o1_restrictions_impact_hh/limited_access_to_food | o1_restrictions_impact_hh/loss_of_or_severely_diminished_access_to_basic_services | o1_restrictions_impact_hh/loss_of_or_diminished_access_to_education | o1_restrictions_impact_hh/loss_of_or_diminished_access_to_clean_water_and_sanitation | o1_restrictions_impact_hh/sickness_of_household_members | o1_restrictions_impact_hh/death_of_household_members | o1_restrictions_impact_hh/other_specify | o1_restrictions_impact_hh/no_covid19_impacts_on_my_household | o1_restrictions_impact_hh/restriction_in_movement | o1_restrictions_impact_hh/breaking_up_with_family_or_relatives | o1_restrictions_impact_hh/psychological_deterioration | o1_1_restrictions_impact_hh_other | o2_hh_action_prevent_covid | o2_hh_action_prevent_covid/no_no_action_taken_cannot_select_with_any_other_option | o2_hh_action_prevent_covid/not_leaving_the_house_at_all | o2_hh_action_prevent_covid/reducing_movement_outside_the_house | o2_hh_action_prevent_covid/stopping_handshakes_or_physical_contact | o2_hh_action_prevent_covid/keeping_distance_from_people | o2_hh_action_prevent_covid/avoiding_public_places_and_gatherings | o2_hh_action_prevent_covid/avoiding_public_transport | o2_hh_action_prevent_covid/wearing_a_face_mask | o2_hh_action_prevent_covid/wearing_gloves | o2_hh_action_prevent_covid/washing_hands_more_regularly | o2_hh_action_prevent_covid/keeping_surfaces_clean | o2_hh_action_prevent_covid/praying_to_god | o2_hh_action_prevent_covid/staying_away_from_animals | o2_hh_action_prevent_covid/other_specify | o2_hh_action_prevent_covid/dont_know | o2_1_hh_action_prevent_covid_other | o3_hh_activity_member_ill_or_deceased | o5_treatment_member_of_household_was_ill_or_deceased | o6_pay_for_health_care_at_clinic | o7_going_into_debt_to_pay_at_clinic | o8_seeking_community_support_to_pay_at_clinic | o9_free_healthcare_service | o10_home_treatment_due_to_lack_of_money | o11_home_treatment_due_to_fear_of_contracting_covid | o12_home_treatment_due_to_inaccessibility_of_treatment_other_than_covid | o13_home_treatment_due_to_fear_if_tested_positive_for_covid | o14_home_treatment_for_other_reasons | o15_seeking_cheaper_health_care | p1_informed_availability | p2_informed_rights | p3_informed_registration | p4_informed_behaviour | p5_priority_needs | p5_priority_needs/shelter_housing | p5_priority_needs/food | p5_priority_needs/healthcare | p5_priority_needs/seeds_or_other_agricultural_inputs | p5_priority_needs/livelihoods_support_employment | p5_priority_needs/drinking_water | p5_priority_needs/hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines | p5_priority_needs/need_to_repay_debt | p5_priority_needs/education_for_children_under_18 | p5_priority_needs/psychosocial_support | p5_priority_needs/fuel_for_heating | p5_priority_needs/none | p5_priority_needs/other_specify | p5_priority_needs/house_repairs | p5_1_priority_needs_other | p6_HH_received_aid_12_months | p7_hh_received_aid_30_days | p8_satisfaction_sufficiency | p9_satisfaction_behaviour | p10_complaint_system | p11_needs_consulted | p12_type_information | p12_type_information/dont_want_to_get_information | p12_type_information/how_to_register_for_aid | p12_type_information/how_to_get_water | p12_type_information/how_to_get_food | p12_type_information/how_to_get_shelter_accomodation_shelter_materials | p12_type_information/how_to_get_healthcare_medical_attention | p12_type_information/how_to_get_help_after_attack_or_harassment | p12_type_information/how_to_stay_safe_to_prevent_attack_harassment | p12_type_information/how_to_access_education | p12_type_information/how_to_find_work | p12_type_information/how_to_provide_feedback_on_aid_you_are_receiving | p12_type_information/other | p12_1_type_information_other | p13_information_source | p13_1_information_source_other | p14_preferred_means_information | p14_1_preferred_means_information_other | p15_delivery_mode_type | p15_delivery_mode_type/do_not_want_to_receive_humanitarian_assistance | p15_delivery_mode_type/inkind_food | p15_delivery_mode_type/inkind_nfis | p15_delivery_mode_type/physical_cash | p15_delivery_mode_type/cash_via_bank_transfer | p15_delivery_mode_type/cash_via_prepaid_cards | p15_delivery_mode_type/cash_via_mobile_money | p15_delivery_mode_type/vouchers | p15_delivery_mode_type/services_eg_healthcare_education_etc | p15_delivery_mode_type/other_please_specify | p15_delivery_mode_type/dont_know | p15_delivery_mode_type/prefer_not_to_answer | p15_delivery_mode_type/fuel_for_heating | p15_delivery_mode_type/construction_materials | p15_1_delivery_mode_type_other | p16_soap_household | p17_follow_up | q1_comments_enumerators | r1_current_oblast | r2_current_raion | r3_current_settlement | r4_current_rectangle_id | r5_gps_work | uuid |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023-08-16T08:42:20+0200 | 2023-08-16T09:04:34+0200 | deviceID00000005 | sievero | mari_008 | yes | GcoYukAxNMOXPEFhYtMZPaPvHiCd StkjpjBclpJylyayvCPKAayKvRpFgucDIjzIfLZOfNGHK | no | fbyMuMnqwYXgNExilgbWJgfDFxYTgzuFNagCNAtqmnCmdMDf KdOwQ | no | no | female | 25 | 17 | male | widowed | veteran_of_war_ato single_parent family_with_3_or_more_children family_with_foster_children | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | CAEaKeMTMcvNfqSqiDVbTqHNhmX | blood_pressure_diseases cardiovascular_disease chronic_respiratory_condition musculoskeletal_system_and_joints cancer gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases genitourinary_system_diseases other_specify | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | VqlIWcLAkTArtNsWLXRwMmwnqKaHqLgbjBCcGMNhXJcdZDeoOnhXbSs YdrUzpQDeCyCaUmvwMYXEryfprLowVqTnPij | paid_work | k FaZxEzXwOQMxekEtfCqHRjSVdisafXuMnLthcGjWKdYKRSQKPn UzdzDTrgbjXisqaJUeWdKmzHGQrKqNZFM mhlRRzi | personal_family_reasons | jXINxBlmYIgAUeTtwBBMZoiCzUKTWgcTVgqLqERoJsMuBQSnZnaqzpYKmogtPjzwQpnrcagcpHxTN | state_service | NRwnzimeezOzxCMgcTZysCwjNMVwxTbJayxhPWtlfbsyHbFyRBPkhqrQTtNmpJwMBJrZDNjNpcDDq czV | 17 | no | yes | dont_know_ns | refuse_to_answer | vocational | 0 | 0 | 24 | 20 | 0 | 0 | 0 | 0 | male | retired_but_still_working | tIb yqEbszonyZFqtXLbOAFJDOANDaBeecPd | 21 | 0 | 0 | 0 | 0 | partially_displaced_and_dont_have_idp_status | other_specify | BpoHQSXSttVLDgWhfgFUqrZBymHOXXoj | other_specify | OkjV UUoVow lO | hosted_by_someone | slWtJSxexZRwaSqaC | no_issues leaks_during_heavy_rain_snow limited_ventilation_less_than_05m2_ventilation_in_each_room_including_kitchen none_of_the_above dont_know | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | pAGSmVRjSZZluWeTvUetVBk | opening_or_cracks_in_roof exterior_doors_broken_unable_to_shut_properly total_structural_collapse gas_water_or_sewage_system_damaged electricity_supply_line_damaged_and_not_functional other_specify_none_of_the_above | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | JHgSJWusrcJvQUmEvkcoXRPZcqlVVGYnRrRtv | dont_know_ns | dont_know_ns | dont_know_ns | no | 18 | refuse_to_answer | yes_within_the_next_3_months | refigerator functional_stove | TRUE | TRUE | FALSE | FALSE | towel winter_jacket warm_winter_boots thick_socks warm_scarf thermal_underwear adult_warm_clothing child_warm_clothing | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | adult_diapers child_diapers | TRUE | TRUE | FALSE | FALSE | electricity gas | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | 22 | J fiHYbPXNLPxhBiEocSgGNGuRydFHqDsOpXABZfUPrViCs EsUYyvbomeLoIOrXqoOXmcpxj | 16 | BGDenTMLLaBaEbQXWsgnJuhIrzcNRhDU bUnDyPzyGdHOoSNqvfoVSktS PRLLJazkkztONEkeAulrOc | electricity gas kerosene wood other_specify | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | DJIAeghtZXqbzAbDpVqquUKEnMuMEGsSZzQmxOSwTsdMpOApOYEPahDXgEnMsFdTqpCdnpXUeLSelGMEhgnSblDXBolZbnB | 21.22525 | 19.38395 | 20.65138 | 17.45102 | yes | no_shortages | yes_infrequently_irregularly | public_well_or_boreholes_shared_access | ysmHaAU sAqJEnReXtQNbpTYFfoZcqGoGIwWiKyYIUqtPbcIuWXItgwaFzJEltraskiQVTpNMBf | filtering_the_water_pitcher_filter percolation refuse_to_answer | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | nGIceCbexFyXLqPQgjJffruVgleTWIcJgubLOyVUiBrfjwtNerDqqkwouLWdzVilTCLpmITtYgglDRGewHxnncTaPT | refuse_to_answer | GoLcZXfCsqdEiICoIGQEYbxZoqMaOpGQnzrAKFOrSCUGi KKjoYj ZbvNrwzgXjEUi | trucked_in_water_truck_with_a_tank_etc | ASrsunMYBBVtnaRmPDuSTBORRZzbbloyOWtFAVMgcNhutUpipyqomwfyRiDvHGTLxGWWvBJrRpAzySS | 1_time_a_week | 20 | a_bucket_without_a_lid we_fill_in_the_bathtub other_specify | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | nlhHrSIIoWudSS BeWBsXRCMThuPvUwHQFISIYnrEIRSRatVtMZmJrflqKY cOhGIJzSTomqgCEooYtzNhITuqbUfSkApN | cooking personal_hygiene none_of_the_previous dont_know_ns | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | none_of_the_above | GqSFLADZJtSIvsNeJFlkfCgYecWiCTMHCkjYzrhEvFtpfh | not_applicable | we_burn_all_the_garbage | 6 | 6 | 7 | 2 | 4 | 1 | 0 | 0 | 0 | 5 | 2 | 0_no | 2_sometimes_3_10 | 1_yes | 1_rarely_1_2 | 1_yes | 3_often_10plus_times | no_was_not_needed | no_but_needed | yes | yes | yes | no_already_done_so_cant_do_it_anymore | no_but_needed | no_was_not_needed | no_was_not_needed | no_but_needed | yes | no_was_not_needed | none kindergarten school | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | school_too_far_and_no_transport cannot_afford_supplies children_working_at_home children_in_paid_employment | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | UdAjxUaAeXIeoJESkoiBCuQiMXrXDNBapR | 21 | 17 | 18 | 22 | 22 | 18 | 18 | 21 | 20 | 21 | 16 | 23 | 24 | 20 | 21 | 19 | 20 | 19 | 22 | 24 | 17 | dont_know_ns | 21 | 24 | 23 | 23 | 22 | 19 | security_concerns_by_parent school_is_damaged family_personal_reasons transport_unavavailable a_child_contributes_to_hh_income refuse_to_answer | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | iUEqbbwpMhgMTcUSdmLOnkeHFEhK | more_4_months | no_problems overcrowded_classrooms other_specify | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | hdWsDmgOQDOZTFrAHbbzDryKJvaKyNjnXdEbqIktfoLebURfISarZx | shelling shooting danger_at_checkpoints other_specify | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | SaszsWatZNZhVTKjfHyCHZwycjMTfPnRnxwXENqiNEWZdTM | uxos_on_school_grounds other_specify | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | pbeHBQDRru pS BTeyJNsJdoJsbzANYjxiiUdgHaWc msvVLRrKomVsypVHLMPaDDCaLb | refuse_to_answer | refuse_to_answer | 21 | jlfNCQXMvYNWMepkptymfPSafqvktiNoswQODNUkWJrNTrgJazwykuhjFYUdEEIlzDJJ | paediatrics mental_health_care ear_nose_throat_ent ambulance outpatient_care x_ray ultrasound post_trauma_rehabilitation none_of_listed | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | no | all_of_the_time | lack_of_facilities cost_of_medicine distance_to_facility cost_of_travel_to_facility lack_of_documents security_problems_in_travelling_to_facility lack_of_referral_system insufficient_qualifications_of_doctors | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | CKniIqxvvjTiXYzHjKXUZyNDQmVIsVUVpMFTacRsthLpjWWowjY | yes | yes | dont_know_ns | no | less_than_15_mins | no | items_not_available distance security other_specify | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | csuktdDzqvGoRhE | cereals_grains_bread_pasta vegetables_and_leaves_tomato_lettuce_spinach_carrot pulses_nuts_seeds_lentils_beans_nuts oil_and_fat_salo_butter_sunflower_oil sugar_or_sweets_cakes_chocolate_sugary_cold_drinks | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | hPFKYBgaSTLbnFcm | 19 | 18 | no | 21 | PQmRzltWDhCeUMsuzqInwrPzsWi gpdqBvBIdxMGBPObqozUzrzWAkFjOCvZH | 22 | dont_know | yes_in_our_possession | 17 | yes | dont_know | both | 23 | yes | refuse_to_answer | refuse_to_answer | dont_know | no | yes | 2_i_am_aware_of_mines_but_it_doesnt_affect_my_life | movement_and_access_constraints | FALSE | TRUE | FALSE | FALSE | FALSE | pbyMoDJaWvkXbTRJwGsMNEzKiXoQdAQFQo djPkJZzwNRPAOffySlCPejuGncYCXpdRVoTnVQtIWgrZVfHFja vzvLxaiaBnhhw | administration_head_of_the_village) mine_clearance_ngo police to_relatives dont_know_ns | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | loss_of_or_diminished_access_to_education loss_of_or_diminished_access_to_clean_water_and_sanitation sickness_of_household_members other_specify no_covid19_impacts_on_my_household restriction_in_movement breaking_up_with_family_or_relatives psychological_deterioration | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | GGqElBvsrWuT Z | not_leaving_the_house_at_all stopping_handshakes_or_physical_contact keeping_distance_from_people wearing_a_face_mask washing_hands_more_regularly keeping_surfaces_clean staying_away_from_animals dont_know | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | ZZRAPhFPOKoLJdBKp npt chqEgjAdloWBo PYCqixBb | no | no | refuse_to_answer | no | yes | no | yes | refuse_to_answer | yes | yes | refuse_to_answer | yes | dont_know_ns | dont_know_ns | dont_know_ns | dont_know_ns | food healthcare drinking_water hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines psychosocial_support fuel_for_heating none other_specify house_repairs | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | ETPckfqdfCH XAy QUhVMxCJdHeaHknLpftmeofjIibhFBEAiWzNFtvLpxuMdTLwdcUZmQFdBAyzq kkYCLrEJaF W | dont_know_ns | dont_know_ns | no | dont_know_ns | dont_know_ns | dont_know_ns | dont_want_to_get_information how_to_get_water how_to_get_food how_to_get_shelter_accomodation_shelter_materials how_to_get_help_after_attack_or_harassment how_to_access_education how_to_provide_feedback_on_aid_you_are_receiving other | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | XZHfBnGPDCqDAyzenYCEdrWsJqcfuYWPBJpgoIFP | other | LAwnTTNIQxeFTfZMmdjkWwngJIwqzZRhEetAmMlPwjhWgYgOAQCYkuELbpdpdBUjfHU | telegram_viber_or_other_mobile_phone_based_platform | BHYjuYSIDxECthMCuHyMsBfmztqOxgRjEKdksNjgUUqNnLmKYP | do_not_want_to_receive_humanitarian_assistance inkind_food physical_cash cash_via_bank_transfer vouchers services_eg_healthcare_education_etc other_please_specify dont_know | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | KQKPBZZDvGNJWKXhaSGwAyCKNatVhKApAieBkzsHiQXkLGGc WLAxNPpdFmiG | no | no | mWFKpFzcIy NcNWIZLCdQPNiweswFofqwjDApjjBXK | UA44 | UA14126 | UKR1422485502 | BO_1 | no | c3fd519b-03d8-4d4147-8a8581-2eadb6831059 | |
2023-08-16T10:53:02+0200 | 2023-08-16T09:48:51+0200 | deviceID00000007 | sievero | siev_006 | yes | kCsTIOpmDMEZzxxiLqjpqvUOcahvqLuiBZ | no | IV eHLVwWUEZGJIRFkENMvSLCQHa | yes | no | female | 20 | 21 | female | widowed | no older_person unemployed family_with_3_or_more_children family_with_foster_children other_specify | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | IIhEt | diabetes_need_insulin diabetes_does_not_need_insulin musculoskeletal_system_and_joints cancer neurological genitourinary_system_diseases | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | JjZeLVFFzLeoOWaNCTWgzKSoASlaTiIJvXHnYNkbFLfUWPKjFMymUpLaRNbLfRoL | retired_but_still_working | kDD | pay_too_low | mFvgygPXVkPethjWFlaTvajwOeo | health_care | OxCElIqq nOkmHihLSemIBFhYibnSDDmTZZXWHHDDPJqzCpQbumlWkltcvsiauVstuoMjLPCuCwWbcnnuzQLtQ sWIk | 19 | no | yes | refuse_to_answer | refuse_to_answer | none | 0 | 0 | 19 | 20 | 0 | 0 | 0 | 0 | male | in_education_doesnt_work | rcP APUixICtDpSDGqPwkuiYDCStZTMWdJHIY | 21 | 0 | 0 | 0 | 0 | used_to_be_displaced_but_returned_and_has_no_status_of_idp | 2014 | VyUUQzYiDBvIoGmwEv TKm | tent | WFYSbfCRpULuoNdupTsHpzHrZPnsgbYmirEpHuPRquoOnNIqMrOtjzSq s | no_collective_centre | TiwkEOSEZacduNmIwPiRHjYKJbNgcZTPRYRzJ wUz lAJwFwyjygnYcxGZUkub | no_issues lack_of_insulation_from_cold leaks_during_heavy_rain_snow limited_ventilation_less_than_05m2_ventilation_in_each_room_including_kitchen presence_of_dirt_or_debris_removable presence_of_dirt_or_debris_nonremovable dont_know | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | dUZj | none broken_or_cracked_windows exterior_doors_broken_unable_to_shut_properly exterior_doors_or_windows_missing large_cracks_openings_in_most_walls damaged_floors severe_structural_damage_and_unsafe_for_living | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | cKkHqRILDIuddnfLtCtabtrBHMYeJFSqKhxlawo NaTjXKWfI FRponmoFQpzRYlcOOhhQrGNclEXRUScfaRJgksVAzWbPxcOu | yes | dont_know_ns | yes | no | 17 | yes | yes_after_3_months | refigerator | TRUE | FALSE | FALSE | FALSE | thick_socks warm_gloves child_warm_clothing | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | child_diapers sanitary_pads | FALSE | TRUE | TRUE | FALSE | central_heating centralised_piped_cold_water_supply none | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | 18 | FMrnmshnbUtYacOjpfdp rpqgkTeCsMZLBsPhWgpdMFDiawmNDbuGUcyGsooyGmbRwzCPWebJVQGWpiDFFJOj acUavLafo | 21 | tgilhVEZbHYbtDJIahkGMZOmWbuQrSKSYBF | central_heating electricity wood briquettes_coal | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | JoYvRUtEdE ZLOnSGnROCKbHkpakxUMubRbFGgdcqaALCnsckyTifLkmvytzzXzcduqmLOp WxNvoWxHIhxHlptxrnsjnBM hk | 15.40725 | 17.15860 | 17.23396 | 19.69760 | no | yes_infrequently_irregularly | yes_daily_every_day | personal_well | CiSmZwTXtjCOZubEUNPNyqwNlHvdVPvfACyxbNeqGLHuSZRRWeRDNsHjjMCWXDIqNCKYUcDLrRhAelePFMFZPO ByXeMYzV | cleaning_with_chemicals_chlorination filtering_the_water_reverse_osmosis_filter boiling dont_know_ns | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | KxGlssIxuLONeFLwwAGVdgDmzHnHRoXsdUhQGSRyoTQa | no_need | RSQhcftnofYLzaw | personal_well | CjlNZOHqaQTSasiuc URTUQnNKoKhwqpqX d qwCDgWMCffRHFJjkbkLYEuXQuTVH ZAKBpInwbqoNTYNHXfBiIeWJgTE | from_time_to_time_more_rarely_than_once_a_month | 19 | do_not_store_water glass_bottles a_bucket_with_a_lid a_canister we_fill_in_the_bathtub | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | eKlNQBpsZdOuYtDyngEgiAfpIufTjBuUKyZGDMISuMXoVqsGzUmsmosLBZowbfyK | drinking cooking personal_hygiene none_of_the_previous dont_know_ns | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | flush_toilet_central_sewerage | YkWYsUVWtqjJcZeAozHjGDxlvTediOiByduAXYMOBKAO mRmrkWFhshcWrCndSrBePZgBDfCZwL | dont_know | we_burn_a_part_of_the_garbage_and_the_other_part_is_thrown_down_the_pit_latrine | 5 | 6 | 3 | 3 | 6 | 4 | 6 | 1 | 7 | 6 | 0 | 0_no | 2_sometimes_3_10 | 1_yes | 1_rarely_1_2 | 0_no | 1_rarely_12 | no_already_done_so_cant_do_it_anymore | no_already_done_so_cant_do_it_anymore | no_was_not_needed | yes | no_already_done_so_cant_do_it_anymore | no_but_needed | no_was_not_needed | no_but_needed | no_but_needed | yes | no_already_done_so_cant_do_it_anymore | no_was_not_needed | none vocational_school | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | school_too_far_and_no_transport children_working_at_home children_in_paid_employment children_has_disability_that_school_does_not_have_infrastructure_for | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | WTotpnqPsYxeWGgZJBUuKPGDcxVWxIRFPbWSZZrFQTNaPFaphpMlkkGQfbhIoGVASOsBSMQDK | 19 | 17 | 18 | 21 | 21 | 22 | 20 | 18 | 20 | 20 | 21 | 17 | 21 | 24 | 21 | 18 | 20 | 20 | 19 | 19 | 20 | yes | 19 | 17 | 19 | 20 | 17 | 19 | school_closed_due_to_security security_concerns_by_parent school_is_damaged family_personal_reasons refuse_to_answer | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | WtDXUCFoFxsyfwGGUPSKSoMdgTdEIaDqQCrB | 2_4_months | no_problems overcrowded_classrooms other_specify | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | OLDD NxhYBNLrVkuXdToZAWixYozTqbZNAZxbPEzQZitxsyDzS | none uxos shelling military_presence | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | VcpXXwTLeRifkteAOxACh | shelling_in_the_vicinity_of_the_school shooting_in_the_vicinity_of_the_school military_presence_inside_of_schools military_presence_in_the_vicinity_of_schools | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | qvRbHJaCfactnUdSLbY yLiifXwijHbWjseoCkrvZtIKnUfDQljYYTFEan GUvJhRgfRNYKpXDYgNboAHyKUQhDAOzkDEEXW | yes | refuse_to_answer | 18 | OgJDGRjNmevpHZvrB | gastroentrology ambulance outpatient_care chest_photofluorography none_of_listed | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | yes | all_of_the_time | cost_of_medicine required_a_covid_test_prior_to_treatment other_specify long_queues | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | PYfjLuBOXjSVdEexuGahiUaRS mDKLqsn koukXqSSUqeHlPBTHRweENkfanzoIKDFbXtECdneoAJamp | yes | dont_know_ns | no | no | less_than_30_mins | no | no_problems opening_hours_insufficient items_not_available items_poor_quality distance security other_specify | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | cRmXUFibxqAlAO auEYYZlSpFzTBAUfbxLIjAuJgmdBMTqaGkuhktzzyUFK zkKDNOIQgMWYr | eggs pulses_nuts_seeds_lentils_beans_nuts other_specify | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | CdxLUaz kl FzUbbzxNvbCjWeNWz | 23 | 18 | no | 20 | nRfVkEYjUrxYEojIeRZgmjxRBlSxQqWPrkffQCoIuGlYNxtSpzW RHxuuLp osHbWv | 20 | no | dont_know | 21 | no | no_some_hh_members_are_missing_birth_certificates | refuse_to_answer | 18 | yes | dont_know_ns | no | yes | dont_know | dont_know | 3_sometimes_i_need_to_change_my_behaviour_due_to_mines | fear_for_physical_safety movement_and_access_constraints psychological_safety | TRUE | TRUE | TRUE | FALSE | FALSE | hMrEewnfNmlwNvV AXBJ | administration_head_of_the_village) state_emergency_services mine_clearance_ngo police dont_know_ns | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | dkQpVGtR | diminished_lost_source_of_income loss_of_or_diminished_access_to_education sickness_of_household_members other_specify restriction_in_movement | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | LZYdwSZdSEruAcgOCRKGdiDNYCpWlRDeBdQyMeXRJqGPlijbDGLocXUocXLvVdXtVzSJFSdu | no_no_action_taken_cannot_select_with_any_other_option not_leaving_the_house_at_all reducing_movement_outside_the_house keeping_distance_from_people avoiding_public_places_and_gatherings avoiding_public_transport wearing_a_face_mask wearing_gloves washing_hands_more_regularly keeping_surfaces_clean other_specify | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | PiSIisZVMykMTwAHwufRx | yes_other_non_covid_related_reason | no | refuse_to_answer | no | refuse_to_answer | no | yes | no | yes | yes | yes | refuse_to_answer | yes | refuse_to_answer | yes | no | seeds_or_other_agricultural_inputs livelihoods_support_employment need_to_repay_debt education_for_children_under_18 fuel_for_heating none other_specify house_repairs | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | QtIqdthFOVcJRTfeVqApPSKiroFuoisrUYJwSCKmLnfLAaTjHTSmeiormgfX vkWDzPcvSnCcgiJyMbmfEnkBwcwSifA | no | dont_know_ns | yes | yes | refuse_to_answer | dont_know_ns | dont_want_to_get_information how_to_get_water how_to_provide_feedback_on_aid_you_are_receiving other | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | zORVNALPYHkuQrgfGufhT | friends_family_members | GebAZWeLcqcDMJRZgmAUBGPjakLKjNJiKTEaXbMOWNDYh QpVrbkdGqwyFSsWSZYjSfLUgCGOrVJVBhoRmAQgTDV | billboards_posters_leaflets | Gb jsKB RYlvCAlOaepXrBOEnNqleYlwSnsSIpNGZPPhLqzbHH mKohLRcluuYxuc | do_not_want_to_receive_humanitarian_assistance inkind_food inkind_nfis cash_via_prepaid_cards cash_via_mobile_money construction_materials | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | BEhzbVOAmfDiEeNaptlZrFKbGCCMnOyvThpJkeRSl PkcrxXBzkhqZvGyVysUauRLYyBJZUrukRWDFAUzAIwriFETxWsM | yes_soap_is_not_shown | yes | Szi | UA14 | UA44238 | UKR1421588801 | GJ_5 | no | 2abf4e71-97ed-494347-a0ada9-2e165d8ca73b |
2023-08-16T10:43:06+0200 | 2023-08-16T08:14:21+0200 | deviceID00000003 | sievero | slov_002 | yes | pY OZlxHGgToZ gffjs jNWkXRblqbJ | no | thLAVIexzlwpyUcetUDYOdGvTDvyvHRVPjEXp AYQogYomVgFlPNSwbuawZuRqTmdXZYeTMVqCaEqoFtupmwp | yes | no | male | 19 | 20 | female | single | no veteran_of_war_ato family_with_3_or_more_children other_specify | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | AVcHbVeBPBYYfWoBpBJbfqVRlDUVUkYHYDbVObhznPCcnHPFHUYkigsWJqJWNxUsrLE rZIplzFcuAkLakXe | cardiovascular_disease diabetes_need_insulin chronic_respiratory_condition musculoskeletal_system_and_joints sensory_disorder gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | fhLEsgndMOTlXUuWKBgYYTLraSdnJ trCP | retired_not_working | NTmwqkHcqFrRfakGHMVIHjSuMEnJjzvBGeqgHVwiEPiINXAGxDdafoYCprfTSGUsXjVXFOzkQIlAmwPXk | lack_of_relevant_vacancies_in_the_settlement | zVsFaYppxuOfCtAd JvSKGYnniPEgFdONMuxIDtltKXzCQzcMIhgDhggUOgylzIMBnxOZFjtiXKDzTZXxgfZLLqWRjXDLgF | education | ElxtHUOcLQdZnhNvdiaN | 21 | refuse_to_answer | no | yes | no | preschool | 0 | 0 | 20 | 18 | 1 | 0 | 0 | 1 | male | doing_housework_looking_after_children_or_other_persons_unpaid | MiHwwnACsjwqaKyMJOcUDJTpTGehzabbXDKFLnGCvbVKrCrGZoqHPYbVoJeqBWgyAbz rzT UamfrDihpuE | 22 | 1 | 0 | 0 | 1 | partially_displaced_and_dont_have_idp_status | 2014 | KSUixXNTjDppbAXQSQOoSSivfbvkDDcbA | none_sleeping_in_open | FmnVQuhsLNtrqtSEGIkqYPcUlvplXcTdqHvPQvAOxjQexhHYFGbCYrMfiyidGfqqleBwa | no_but_free_accommodation_paying_utilities | UOiGecUGPYtvjpscVa M atptDCOFGLaOPjmaahQmzoHesEDwuGJyW etIwXswVfbqKj | leaks_during_light_rain_snow presence_of_dirt_or_debris_removable other_specify | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | lNLQtamciOPdosdxSRyktDGDP nCwyVYttLggOWqnCsPfSIzWp MFBs tdVxpQlrzIspeJy | none roof_partially_collapsed exterior_doors_broken_unable_to_shut_properly large_cracks_openings_in_most_walls some_walls_fully_collapsed damaged_floors foundation_damaged_or_shifted gas_water_or_sewage_system_damaged electricity_supply_line_damaged_and_not_functional | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | rYAzUJPTTVmOmElRySqOXdo | dont_know_ns | dont_know_ns | yes | dont_know_ns | 23 | yes | no | refigerator functional_stove hh_has_all_items | TRUE | TRUE | FALSE | TRUE | winter_jacket warm_winter_boots thick_socks warm_gloves warm_scarf adult_warm_clothing child_warm_clothing | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | sanitary_pads | FALSE | FALSE | TRUE | FALSE | central_heating centralised_piped_hot_water_supply electricity none | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | 27 | mqtWAbYmYm GcypydVeRDNSwuMgvjVxvLqMsxIyshrRjEwnqozsHqUZpOGIFJDnQBBwft | 20 | NOl dbQTVGvkkqjkBQgZwYKjVrNQ | central_heating gas kerosene coal briquettes_not_coal briquettes_coal | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | WMHOyxAJPWopTcGoFgJUmQhGTGVkVBlIdsTMtMoervazialrXGTkEGyqdqTmnkcCsmnWMeFJHfDQghaUBonEvy | 18.83563 | 16.70274 | 20.52742 | 20.83264 | no | difficult_to_say | yes_weekly_min_once_per_week | other_specify | zZMpFnDBigkNObgPVzzXHRqYJbHuJozplXnevLIpSlEyXNbvdAJxJWyFTtvBxs | filtering_the_water_pitcher_filter boiling percolation other_specify refuse_to_answer | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | OSH cgktPharlVfaduKtxRIdSRqCh | other_specify | LKpeNZ XYpwkHnOnNNHSeYgjCOtdlqYgoMe LYGBDCB | bottled_water_water_purchased_in_bottles | qiCLikEHUWSwklnDHRVeoRrIcOQGkqRFmIvUGybxUqqQbIe FkqcTlDZNhBlGBldusmws | 1_time_a_week | 23 | a_bucket_with_a_lid a_barrel_tank we_fill_in_the_bathtub other_specify refuse_to_answer | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | UfGcvDDmJWdBKIBLNgOMnOpMMyVvHCuwyqOBSDCDSYSqAdbtnNlrmyoxta | drinking cooking other_domestic_purposes none_of_the_previous dont_know_ns | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | dont_know_refuse_to_answer | tNrBbQZlTWLpTlOcHYyhmlXgqfkmQdMbyxOZbGtUOpBbCeXkkYv | no | dont_know_ns | 4 | 1 | 6 | 6 | 2 | 7 | 2 | 7 | 1 | 4 | 0 | 1_yes | 3_often_10plus_times | 0_no | 2_sometimes_3_10 | 1_yes | 1_rarely_12 | no_already_done_so_cant_do_it_anymore | no_but_needed | no_but_needed | no_already_done_so_cant_do_it_anymore | no_already_done_so_cant_do_it_anymore | no_was_not_needed | yes | no_but_needed | no_was_not_needed | no_already_done_so_cant_do_it_anymore | no_but_needed | no_but_needed | none kindergarten boarding_school specialized_school_for_children_with_disabilities vocational_school | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | school_too_far_and_no_transport children_at_home_as_carer children_working_at_home children_in_paid_employment | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | jyKgXAWQTcQsvvadZnqjxyRR | 21 | 18 | 20 | 20 | 21 | 21 | 20 | 22 | 23 | 21 | 21 | 19 | 21 | 20 | 18 | 19 | 20 | 17 | 20 | 20 | 17 | dont_know_ns | 19 | 20 | 21 | 17 | 19 | 23 | school_closed_due_to_security insufficient_teachers school_is_damaged family_personal_reasons refuse_to_answer | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | ojndsxfYGXudcexSBrQxBFNqJX ZGhFFSAGbEUtwYZnDxxmRmIRwBTtxTZuKEkddn | more_4_months | no_problems quantity_of_teaching_staff lack_of_medical_support school_is_unsafe other_specify | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | swbJcQde ADXXVbQykmBlPXGqRZrLtuEAgFnIahTkZFopHuTACCZzfgCXnJGqgPVYmhhLaejr | uxos shelling shooting danger_at_checkpoints wildanimals_stray_dogs | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | xhgrxrlgvdkVRJBFeXDcwjvqloRqVHWua | shelling_in_the_vicinity_of_the_school shooting_in_the_vicinity_of_the_school | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | XbaRpLKZaUgjHNtBfRIAkQTyRMuafJpERbqxR tbfMistPXaBacBxoBSqXSAQnuQXTZSeVCeh | yes | refuse_to_answer | 20 | etACZk y hhkDGeSIiXMdGivgjlVVskJMrQmmzERfORwbD cGwVLHOeHzthzHbNyA | obstetricgynaecological mental_health_care ambulance inpatient_facility | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | refuse_to_answer | rarely | lack_of_documents irregular_presence_of_doctors unable_to_leave_the_house_due_to_covid19 other_specify lack_of_doctors long_queues | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | tYjtOzvIeLLNNCbfwmABiZTyWIxSLZjTBRmpTeAc EKvheElytraaLucQUPZ | refuse_to_answer | no | yes | no | less_than_3h | no | opening_hours_insufficient items_not_available market_damaged distance | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | GsLtVgrMXAqP | cereals_grains_bread_pasta eggs dairy_products condiments_and_spices_tea_coffee_spices | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | cvPjfNWhSrkRvdnywHIlRFpcuDy buxFvLwocUUgbdnbORiupegfdDrlKYhrQ BYiHa aqQXogKEiUSZPnKSTofS | 20 | 19 | no | 21 | bwczniLgVZDUMhqCPHXsBDgKfNBYXdV mcElVQMjSaE Cn | 21 | dont_know | yes_in_our_possession | 20 | yes | yes_we_all_have_birth_certificates_but_they_are_not_in_our_possession | refuse_to_answer | 20 | no | refuse_to_answer | no | no | dont_know | refuse_to_answer | 5_they_severely_affect_my_everyday_life | fear_for_physical_safety psychological_safety other_specify | TRUE | FALSE | TRUE | FALSE | TRUE | OBZYMCZjjWVNTLoATexKNHgCqKPDhbNcE | administration_head_of_the_village) mine_clearance_ngo to_relatives | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | ncMXfwvqhIiuDalKZjEuopRqXGuuBEMfasWRbGbGeDQwTDAxLhcXF | limited_access_to_food loss_of_or_severely_diminished_access_to_basic_services loss_of_or_diminished_access_to_education sickness_of_household_members death_of_household_members breaking_up_with_family_or_relatives psychological_deterioration | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | MPYQqMco | no_no_action_taken_cannot_select_with_any_other_option stopping_handshakes_or_physical_contact avoiding_public_transport keeping_surfaces_clean praying_to_god other_specify | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | rIOkQtfo QQsCEXQvRIiFoqlnqhZZHxy cDLbVIRPqfyyHFqgushBMFwMUBtpjIhZJiISZVmmRpVAmyvxYCbkAOCmWj | yes_covid_related_reason | refuse_to_answer | yes | refuse_to_answer | refuse_to_answer | no | yes | yes | no | yes | refuse_to_answer | no | refuse_to_answer | no | refuse_to_answer | no | shelter_housing healthcare seeds_or_other_agricultural_inputs livelihoods_support_employment drinking_water education_for_children_under_18 psychosocial_support none other_specify | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | XZtoFCgT | yes | no | no | refuse_to_answer | yes | dont_know_ns | dont_want_to_get_information how_to_get_water how_to_get_food how_to_get_shelter_accomodation_shelter_materials how_to_get_healthcare_medical_attention how_to_get_help_after_attack_or_harassment how_to_stay_safe_to_prevent_attack_harassment how_to_find_work | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | cMWeGbHemRfBeVhFI zNCuHXqkYjKxVbeHxCimiNuSlwZUfuwlWVLiRWfqieViMnxjQWpFKoTcrzXQPoMUwDlrqHbyo f | aid_workers_from_local_ngos_or_civil_society_organisations | USFYFdbzkBBWacSkXVLkuDn | newspapers | DshZFYeJlIQhDqqtczveuNlZSO qwOmtvvLsBKsZxeoGKCsZpkMvRWjnEknfmBjFleGLQ | inkind_food physical_cash cash_via_mobile_money vouchers other_please_specify dont_know prefer_not_to_answer | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | KFUoXJrrcEZESxaWK BJLFilqBhjR | yes_soap_is_not_shown | refuse_to_answer | NStIKpXYlZfyHSyXPqNWYApEERSFGy lxUgBAXZglHvPqYLPaWEGssuyNCpsJidnbAgmYJaAOZuTW | UA44 | UA14112 | UKR4423857504 | KM_1 | no | 15db32c0-04ab-4d4341-a2a6ac-dcb6f07182a5 |
2023-08-16T10:53:46+0200 | 2023-08-16T08:22:19+0200 | deviceID00000004 | mariupol | mari_006 | yes | IiBtVNQkhLXYAE DIlwwGKbDgmdppUvqbfMbeqVNLCxbApivFGVPvf | yes | OLdUVTtrnXUOewafcLxRnYLbOcTaBApDwgxGDRDpodhwbLHCay | no | no | female | 21 | 19 | female | single | no unemployed veteran_of_war_ato single_parent chronic_illness | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | G | diabetes_need_insulin chronic_respiratory_condition musculoskeletal_system_and_joints cancer neurological endocrine_system_thyroid_gland_and_other_diseases other_specify | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | dmrSXsYgCMLfmDSaLIAbAxX | other_specify | MpsjSmfosSsGPWMKWEJnxbypQLBULJhwsghNsfRlKfHyEWdgFdxHwVAiKIfjzGlMdSgvEjZcvHOy | health_reasons | YuDyVSwaeJuWIXXdhtULmUdQIispoiGVTFmqvrpmEGcoqdOeKXHHroOVqhXYsDBDItrOVyi | other_specify | OYgsXzCirzqWUSykpvWDnSICPBBNRLJgcnkgeLJxeMmuzj | 20 | yes | refuse_to_answer | dont_know_ns | no | preschool | 0 | 0 | 23 | 20 | 0 | 0 | 0 | 0 | female | military_service | GtFszZoSrNcoguJc | 20 | 0 | 0 | 0 | 0 | refuse_to_answer | 2014 | ZqoQefmGqXTweJPaOFaAtkwmrqBSTzqgFGAGxSfMfwrwKxHbK VcoYdDjyUukDoKqNkvwuaFgje FShZaQvSHGdNkPSpozAZc | makeshift_shelter | xnIb | other_specify | blKQoCYqUDKtwnCZsRLPV | no_issues leaks_during_light_rain_snow leaks_during_heavy_rain_snow limited_ventilation_less_than_05m2_ventilation_in_each_room_including_kitchen presence_of_dirt_or_debris_removable presence_of_dirt_or_debris_nonremovable none_of_the_above dont_know | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | eHrDSkrdQPil ejJBcwjWKASotM | opening_or_cracks_in_roof roof_partially_collapsed broken_or_cracked_windows some_cracks_in_some_walls damaged_floors severe_structural_damage_and_unsafe_for_living foundation_damaged_or_shifted gas_water_or_sewage_system_damaged electricity_supply_line_damaged_and_not_functional other_specify_none_of_the_above dont_know_prefer_not_to_say | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | HiGOnyW | yes | yes | yes | no | 21 | no | no | refigerator functional_heater_movable | TRUE | FALSE | TRUE | FALSE | towel blanket winter_jacket warm_winter_boots thick_socks child_warm_clothing each_member_has_all_items | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | adult_diapers child_diapers none_needed | TRUE | TRUE | FALSE | TRUE | central_heating centralised_piped_hot_water_supply electricity gas | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | 18 | eVLCWPPjWsobSFbMoPLRTDYYGTDohIliedlqjfFSVRWMZctzVoeGoaMhFteCakeXRtoSCcQZCp xVyeQqmVKBvGavDsZEG | 19 | SGrWkaqwbpDrU | electricity coal briquettes_coal other_specify | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | UchGlwyQe PGhwqjGegNDVuBrwYNdtflikhfuTDfGxZsgfyEUimGVZqn ntcIYoCctXr ghSBocoxXZTjNXwqNzoooGDfdu | 21.93732 | 21.54397 | 17.25838 | 19.70407 | yes | yes_infrequently_irregularly | not_connected_to_this_service | tap_drinking_water_centralized_water_supply | YnaHUe | water_precipitation filtering_the_water_pitcher_filter boiling dont_know_ns refuse_to_answer | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | nEyxtIMWvdosvXRYqZvoyZMYQFkUQztNYSLSsvC eAJEKMPQnQzJcURpYBAcvIiYTtJMwQL | we_cant_afford_necessary_means_filters_chemicals_for_chlorination | BZvIuegWkIPeLBoqaWI yUzhOMoIuPqJZxAIszkgRRCqGipctdQVuUiCPdZOdHmTuBppjmMcgSwkVvXVTAnrRd | water_from_water_kiosk_booth_with_water_for_bottling | MIyLKIdjJTmCEeHNVGdwzgqAmaDmutnbHxWoLeA A PXpaBpYZyXJfEpVJvoGvqL | 2_3_times_a_week | 18 | do_not_store_water plastic_bottles a_bucket_with_a_lid a_bucket_without_a_lid we_fill_in_the_bathtub other_specify dont_know_ns | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | UTFLBzwFAYOwLTJGXcsdmfjEQPGTAGGPhFJRGbJqEnV VKIURmgKxMFTaXhDXLgzpPbsy | cooking | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | bucket_toilet | fWXjM NDTAl MMOvzpfvlWVTlNlTiDvaMeerhQniOgDIodEneBtvMQVNvBMjyPRcVHIkFgTJcQiJQCBuAjVMYynYWqtb | yes | we_will_take_garbage_to_the_garbage_dump_by_ourselves | 0 | 3 | 7 | 4 | 6 | 4 | 1 | 7 | 0 | 1 | 7 | 1_yes | 3_often_10plus_times | 0_no | 1_rarely_1_2 | 1_yes | 1_rarely_12 | no_already_done_so_cant_do_it_anymore | yes | no_was_not_needed | yes | no_already_done_so_cant_do_it_anymore | no_was_not_needed | no_but_needed | no_but_needed | no_was_not_needed | yes | no_was_not_needed | no_already_done_so_cant_do_it_anymore | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | school_too_far_and_no_transport cannot_afford_supplies children_working_at_home children_has_disability_that_school_does_not_have_infrastructure_for | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | NAmLkzOLNEZOMkvGXEnngoDPyqNiuQftQOEHbhlulmXmvrwXWXEHhvbOIfFio | 17 | 18 | 20 | 19 | 17 | 17 | 23 | 17 | 20 | 21 | 21 | 17 | 18 | 22 | 18 | 21 | 19 | 20 | 20 | 21 | 18 | dont_know_ns | 22 | 21 | 21 | 18 | 17 | 19 | school_closed_due_to_security health_issues too_expensive_school_fees_supplies_transport_etc transport_unavavailable a_child_contributes_to_hh_income other_specify refuse_to_answer | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | hdykpVFqyPyqpyjEXtnmAOGYTUqAXamGbDl GGwU zjCCMqFDOxIfzXsVpBgoQYAkZvureQuBsiZvKbcbJIgoY | refuse_to_answer | distance_to_school quantity_of_teaching_staff lack_of_pss price_for_service conditions_of_the_venue school_is_unsafe problems_with_distance_learning_due_to_closure_of_school_for_covid_eg_bad_internet_connection | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | HCbtAENBigTPXPOoDETMCaIA hpoE lZTNDBGWfrfNcVAMfLftTaAXRSCbIloxPttoMtfjjyzYscNEkchtfktdU | uxos shelling shooting military_presence wildanimals_stray_dogs other_specify | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | WeMrtNxHtyC fbUdFQACMFBgOHlBJtHG CwQVoNpDUgUysQhHiR | uxos_on_school_grounds shelling_in_the_vicinity_of_the_school shooting_in_the_vicinity_of_the_school | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | fyrWOFUAN FrKWtltCXsDm | refuse_to_answer | no | 18 | MJPPpuvdiGHpzvyNMQQOnBKJVgPy fFAVVSpcDPg | paediatrics ear_nose_throat_ent ambulance x_ray post_trauma_rehabilitation none_of_listed | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | yes | never | distance_to_facility cost_of_travel_to_facility lack_of_referral_system irregular_presence_of_doctors unable_to_leave_the_house_due_to_covid19 lack_of_doctors long_queues | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | jrUv Azqk kw ltGTCSmHcGtlwpJcyJRnCFNMUOJxPhLrJ EnxthfWiVIy SSlYWJwwxhuVZWhgKfSYsIlxA | dont_know | dont_know_ns | dont_know_ns | refuse_to_answer | less_than_15_mins | no | items_not_available items_poor_quality market_damaged | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | dKwymITPQwQlJUiArkaVnyVEAwflk BEzRHTRyFZCfcXDIXoSFuoENoFwzQWGQWAKFDriJmqltySHJexVywsyunCseLGWo | cereals_grains_bread_pasta vegetables_and_leaves_tomato_lettuce_spinach_carrot meat_or_fish_chicken_pork_beef_fish eggs dairy_products | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | oFyBIXMIxrVEABBApLgjurvBSAWkTKXdZnUlyHFiekRHEnnrsuWhprS zoi | 17 | 21 | no | 18 | nmwxLFZhTrNHaqBuidwCGsVgmbHleWYgzevgPcEhoMArAlxNEnXsbXzlfFJtOgfgkWVLKWLnJTjHFtFRRWUJxMeHMWuBgc | 21 | no | yes_in_our_possession | 17 | no | yes_we_all_have_birth_certificates_but_they_are_not_in_our_possession | refuse_to_answer | 21 | yes | dont_know_ns | no | yes | dont_know | no | 1_not_at_all | has_affected_hh_budget other_specify | FALSE | FALSE | FALSE | TRUE | TRUE | GPM vgppbOxiiXTEiDEOwwpyMkWhYwDKvpmvEcnwIqzRpZPJYQTHKDBVEqrStXWTzHuDurQfNW | state_emergency_services army to_relatives | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | UAKTGabmjessiNKNjwRwDnOhHunprrdukRQzAImFqqEjln Cjticn | diminished_lost_source_of_income limited_access_to_food loss_of_or_diminished_access_to_clean_water_and_sanitation death_of_household_members other_specify restriction_in_movement breaking_up_with_family_or_relatives | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | QBHrNyTfzuzGcjxqPYpByjLjyi | no_no_action_taken_cannot_select_with_any_other_option not_leaving_the_house_at_all reducing_movement_outside_the_house stopping_handshakes_or_physical_contact keeping_distance_from_people avoiding_public_places_and_gatherings avoiding_public_transport wearing_a_face_mask wearing_gloves keeping_surfaces_clean other_specify dont_know | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | zxiDHvjVBqOoPdpSkpIYZxhSHERxanzAxMdaEgBzYyQgLbsxrwYWmplBemhllOKqPnUgCanqKrbsuut | no | refuse_to_answer | no | yes | refuse_to_answer | no | no | yes | yes | refuse_to_answer | refuse_to_answer | yes | dont_know_ns | yes | yes | dont_know_ns | food healthcare seeds_or_other_agricultural_inputs drinking_water hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines need_to_repay_debt education_for_children_under_18 psychosocial_support fuel_for_heating none | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | vTbqlmjjvfEBi | yes | no | dont_know_ns | refuse_to_answer | refuse_to_answer | no | how_to_register_for_aid how_to_get_water how_to_get_healthcare_medical_attention how_to_get_help_after_attack_or_harassment how_to_stay_safe_to_prevent_attack_harassment how_to_provide_feedback_on_aid_you_are_receiving | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | jSQvuRwkvxfshqFKjfDnxeKYEEzgZXFHGiBshPEthPQZBSlhwvzlJPzAmePcoSMHeJEYIjIco W | places_of_worship | REQfMdHYxvJ rQPtRnkXbiNC bdNBkPLWTrTfCEWKrUsxHJLOcrBxwrhW | television | LVZhjldUmsAf qVrlTbNNJUnSmGGazvnvqaHFEorKjjqSkiTBupcAbaRapiArS jedIIpPRalkTRbCcsodWRFPNqCZvkFBY | inkind_nfis physical_cash cash_via_bank_transfer cash_via_prepaid_cards cash_via_mobile_money vouchers services_eg_healthcare_education_etc other_please_specify dont_know | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | r fCyVJxDAEYtBqAfxHOcuCAvioigQQgoA | yes_soap_is_not_shown | refuse_to_answer | TJtTnDsWfWlfQsSIUexCsbSMVVOkyJpSSTDHqds | UA44 | UA44129 | UKR1421557200 | LB_4 | no | 170e35f9-856b-4c4948-94989e-3c6abd29f701 | |
2023-08-16T09:45:42+0200 | 2023-08-16T10:46:07+0200 | deviceID00000006 | sloviansk | siev_001 | yes | zAAbmbq | yes | JlHDOYhvgh QUg HyJTfQrorlVMCErLGlgw | no | yes | female | 21 | 20 | male | married | disability_not_including_chronic_illness unemployed single_parent family_with_foster_children | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | mYvFpSzn avSoIvTaMcMIRLjBDsadhLeBwyaIgeHKnosNwvPOkLUxULvK HYZYpiqgJUvvWBR | blood_pressure_diseases cardiovascular_disease diabetes_need_insulin chronic_respiratory_condition musculoskeletal_system_and_joints gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases genitourinary_system_diseases endocrine_system_thyroid_gland_and_other_diseases | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | qkJPnFqGspDSGfHCrLfLzKacpOtZTbcgsgc nyRJFFsHWVdNNXoZUjuVWFkHjkqDKoNOrndVtLEvPKyoiXOHxTYqxkzIVpjeu | unemployed_not_looking | KLrzIYdSlppVFAxYCpxvXNVnHMrVhAMmOeEcXfscdHgTdqVlQRocbRq | health_reasons | cSRkehWUQlGWvioz | mines | gamhZkQeRHdmooemNVArXqAdfWXrGkxANQpxpBwpSNceGpx aKhmyAyuzCXfSimWCKJqDfKjwcxXzwrDZuGUhBLfeglUgAxWPL | 21 | no | yes | yes | no | complete_higher | 0 | 0 | 21 | 17 | 1 | 0 | 0 | 1 | female | doing_housework_looking_after_children_or_other_persons_unpaid | ciSyoDVJUGOnYdBKRAEsiZBAqKpRUGemTrgoXaRQQLIuOTjHOErxNzyNJeUkpKzLZrusYZJrmsDLJY | 24 | 1 | 0 | 0 | 1 | displaced_and_idp_status | 2019 | nmfHGuCmBeyrPLU QOhEDqNQehtlReVXkHaDjFXowQBqmFsoVjkagUB | tent | bImcoNdtwQdOZllSFQIoAZClqghZyYDOmeDQyvIRAcoobFMHgRPrmU | no_but_free_accommodation_paying_utilities | uxxetguigLv PLTLouv qjEysTdsiLPwTT | presence_of_dirt_or_debris_removable dont_know | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TSPURVVihIdmtDpDFsmzUvOkTxMosNLCXzSJvpdaHitTbhjFlavDRuccUnXWpIYOQEeesvX hbEjrB iYMscs | opening_or_cracks_in_roof roof_partially_collapsed broken_or_cracked_windows exterior_doors_broken_unable_to_shut_properly large_cracks_openings_in_most_walls some_walls_fully_collapsed severe_structural_damage_and_unsafe_for_living total_structural_collapse foundation_damaged_or_shifted gas_water_or_sewage_system_damaged other_specify_none_of_the_above dont_know_prefer_not_to_say | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | RgcHwVSFvTgpvQQcgoU syVjXeDB bxYhpHLBbHMNPRnlhjrpjDXLNLvwye | yes | no | dont_know_ns | dont_know_ns | 20 | yes | yes_after_3_months | functional_stove functional_heater_movable hh_has_all_items | FALSE | TRUE | TRUE | TRUE | bedsheets towel thermal_underwear | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | central_heating electricity none | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | 20 | VMxUHFztzlgpHOBbKKXYNZXCTiLwrxjVrQtit hNPniAmuVmLksYxbJTJqFtlGr | 19 | NSNVkuyUfmTnhGf fUDVKIjqUWPNtK sdxtdzslLPOybdkAKsmyMMO bKNTBIONxXrTBynBoOOBrT | wood briquettes_not_coal other_specify | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | saWRLiROIDIKSzoROkdzpkdKFSemcNOMRhlAnixhjbwfkfiZf | 20.32529 | 19.38777 | 17.69224 | 15.47431 | no | yes_infrequently_irregularly | yes_infrequently_irregularly | public_well_or_boreholes_shared_access | cYWSBBVhRMjLCBovRFOs EHZWYDph | do_not_process_purify filtering_the_water_pitcher_filter boiling other_specify | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | PkuWzDBwXIBaLEGJVPxZbHRzXU aSfjcYPHyE JoNv | refuse_to_answer | wzilYWfNR OOVvNDjybHTDQrmctKzEkRlmGSgzLCguOcvtKHbqEFCfhGemS EYllLRJcGXKPoHqnZlNF CsK DaYsecef | tap_water_centralized_water_supply_appropriate_for_drinking | YOCQfYcKMDSRiFUkLyysURnMehmcThKgHqhJcjzuhKzMWfmGurNPjlAJSBjXtT | dont_know_ns | 19 | do_not_store_water glass_bottles a_bucket_with_a_lid a_canister a_barrel_tank other_specify refuse_to_answer | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | KncSlhcwjDLduQQYR ATEhRmTUoQA ZQ mvQnNpGdJHHgXRouIHxNPFdWlIAzqTZEn cdzIDscpleKXcVxAbKuVyMY | drinking personal_hygiene dont_know_ns | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | pit_latrine_without_a_slab_or_platform | MwenG QaTEblMhHXadRIqUW YuIJTpABNULgOytrTCrhxscjsqRxYaQOFZMEFOLKOOygbPqIaDsEvh | not_applicable | we_use_services_of_a_special_service_which_regularly_takes_out_garbage | 6 | 2 | 0 | 6 | 1 | 6 | 1 | 3 | 1 | 7 | 0 | 0_no | 3_often_10plus_times | 0_no | 1_rarely_1_2 | 0_no | 1_rarely_12 | no_but_needed | no_but_needed | yes | no_already_done_so_cant_do_it_anymore | no_already_done_so_cant_do_it_anymore | no_but_needed | no_was_not_needed | no_already_done_so_cant_do_it_anymore | no_was_not_needed | yes | no_was_not_needed | no_but_needed | kindergarten boarding_school vocational_school | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | school_too_far_and_no_transport cannot_afford_supplies children_at_home_as_carer | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | tOEYBrtELZdFSiWZxZ RCghhaWnTgJbsbMRYZxuohskXIMwmKUQQIHopwkaTQIrBDgPeSkmTeOKtIUYK | 21 | 19 | 19 | 21 | 18 | 19 | 21 | 17 | 17 | 22 | 18 | 20 | 18 | 22 | 22 | 17 | 22 | 21 | 19 | 20 | 22 | refuse_to_answer | 20 | 19 | 16 | 21 | 18 | 17 | school_closed_due_to_security insufficient_teachers security_concerns_by_parent health_issues family_personal_reasons too_expensive_school_fees_supplies_transport_etc transport_unavavailable | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | RtzQUTDyqIynnrsNQTTukLRVrtrEgvZWTJbCjOvh mucspGhuleSFyVCgYbneUuo fwPHeNJHUO ulko | more_4_months | no_problems quality_of_teaching_staff quantity_of_teaching_staff lack_of_pss lack_of_medical_support other_specify | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | samAwiEATQQbHNaucPPRwowNGsldMnJuJHnFLtDB uLwMgdzjvuIKQsuwQqctAlCIGtSaODlbqiSgOcbBMEBMd | uxos wildanimals_stray_dogs other_specify | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | tSsyokI | none uxos_on_school_grounds shooting_in_the_vicinity_of_the_school military_presence_in_the_vicinity_of_schools other_specify | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | OHIKuNlSvyarXNCxYGwIOuIUJm xUjIpPQyOse YmreuzBcHWjRqaSbjipvzicLvdoyZSk | no | no | 21 | hFfKenChvPFxfxyPPJTSVktiCBmBicsGiqpNTwb | obstetricgynaecological mental_health_care ear_nose_throat_ent inpatient_facility laboratory x_ray chest_photofluorography post_trauma_rehabilitation dont_know_ns | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | no | dont_know_ns | lack_of_facilities distance_to_facility cost_of_travel_to_facility lack_of_documents security_problems_in_travelling_to_facility irregular_presence_of_doctors required_a_covid_test_prior_to_treatment other_specify long_queues | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | QraIX VB xiCCnJxzWtOrqibzruRnzsgJvJwXGxStFrymZqdVPHhVqYQrCEnoRHeTlHaHKcMWGeCTlTgDtfedty | no | yes | refuse_to_answer | refuse_to_answer | less_than_3h | yes | items_not_available items_too_expensive distance | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | gPCjFBoTgBRF | cereals_grains_bread_pasta roots_and_tubers_potato_onion_beet fruits_apple_orange_strawberry meat_or_fish_chicken_pork_beef_fish pulses_nuts_seeds_lentils_beans_nuts oil_and_fat_salo_butter_sunflower_oil sugar_or_sweets_cakes_chocolate_sugary_cold_drinks other_specify | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | tULryqwSCYBIubzqBO g | 23 | 20 | refuse_to_answer | 19 | LHkHOAkuDvGRMtaDxn | 21 | dont_want_to_say | dont_know | 21 | yes | yes_we_all_have_birth_certificates_but_they_are_not_in_our_possession | dont_know | 21 | yes | refuse_to_answer | yes | no | refuse_to_answer | no | 3_sometimes_i_need_to_change_my_behaviour_due_to_mines | psychological_safety has_affected_hh_budget | FALSE | FALSE | TRUE | TRUE | FALSE | HTEEcDZQKaQzvdtbvWrwzoIeCRhxuwjcDVLbG l | state_emergency_services mine_clearance_ngo police army to_relatives | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | jPaxcSUlPePDhVqpb EcLITnvZUOLoMqWgWUhnTQxZDLVqGbaagzyeniPJXPXHPDetsCFyQqMuuUVSTJVZ | diminished_lost_source_of_income limited_access_to_food loss_of_or_severely_diminished_access_to_basic_services sickness_of_household_members other_specify no_covid19_impacts_on_my_household psychological_deterioration | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | GTWGcQYIZdaufPLKgT | no_no_action_taken_cannot_select_with_any_other_option stopping_handshakes_or_physical_contact keeping_distance_from_people avoiding_public_places_and_gatherings wearing_gloves washing_hands_more_regularly praying_to_god | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | CnuDkQSAyiLhwFXMqQycUoZibCjroWsmr | refuse_to_answer | no | refuse_to_answer | refuse_to_answer | refuse_to_answer | no | no | refuse_to_answer | refuse_to_answer | yes | yes | yes | yes | dont_know_ns | no | no | shelter_housing fuel_for_heating other_specify | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | XApYA Ku hylaoVMycDqBBjGie | dont_know_ns | yes | dont_know_ns | dont_know_ns | refuse_to_answer | no | dont_want_to_get_information how_to_register_for_aid how_to_get_water how_to_stay_safe_to_prevent_attack_harassment how_to_access_education | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | YoAYvxeyKuCHmi AbEgsCNiUcOnZVhwgWKH qjMM | community_leader | Bm bwobQdANqMLDWEn | social_media_twitter_facebook_etc | GSiqrOeqpdHLve PIaRkZtfU | physical_cash cash_via_bank_transfer cash_via_mobile_money vouchers services_eg_healthcare_education_etc other_please_specify prefer_not_to_answer fuel_for_heating construction_materials | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | kuoAkYXQbHYkfLHXrSYOzIguaJjgHUvOZNPzLpUeowZIbGiKecHeguUqWnN | no | yes | cNwKjkDKzowzXOkxxwDJnoJEwgSKxtWxgbxa jvShkcmzCO | UA14 | UA14123 | UKR1421588202 | EA_1 | no | 5bd1af64-e731-454a42-9f9798-0dbef257a341 | |
2023-08-16T10:25:37+0200 | 2023-08-16T09:50:00+0200 | deviceID00000006 | mariupol | mari_003 | no | RDolWTIdRBL | no | DnqYRZaUveDhgc | yes | no | female | 20 | 23 | male | single | unemployed family_with_foster_children chronic_illness | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | eVnTXvbtqShySUhRKaaEHKml eREczPKaJkYhhqXtDBENCCRbXPEtEUgQnwoyGJfoK ArMbbyYyiqAsBWFmkKHJamn | cardiovascular_disease diabetes_need_insulin diabetes_does_not_need_insulin chronic_respiratory_condition neurological gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases endocrine_system_thyroid_gland_and_other_diseases | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | deG hfDzcZWpfseZNkKDkRybsZJYEfUNHSoCxoOgCAUWZRCfjecTrTWHCFcunyQRxIUIXmzi | paid_work | aYnFcLsMzGdzFBTOSZezOaYzSAJWew | lack_of_relevant_vacancies_in_the_settlement | DKjQboQYRQzDqDGUXirUTmmUuTpjSxVGiUEvno XFrQAecxTcqAUiVDsyOnpBKYZOeTcOUuFcmrfXkLaOCkbxzWhIZm | it | JkCfFyKqRl JLEDRMgTbPuizFqups | 20 | no | refuse_to_answer | yes | refuse_to_answer | basic_secondary | 0 | 0 | 20 | 19 | 0 | 0 | 0 | 0 | male | doing_housework_looking_after_children_or_other_persons_unpaid | CWRfXfCKfbk RvsrSQQmk BuvLRgBaGcJooPFGgyIsWncLJqGMpuPRI upctHOilsiZzRZttMxZcpFewYhIvowmF | 17 | 0 | 0 | 0 | 0 | displaced_and_idp_status | 2014 | HRaoKDjKhLsyroNMSMwVpWcCmmgpiRlhYFkrDCWwxIHAKpZgFY | collective_shelter | HNkScfGzZkVjezNdhCFeoV | other_specify | VffIKRrAVn BYFzqV GqacNVAcvnfGrprbvBjBpTZgZZG MvTRLfjZER | no_issues lack_of_insulation_from_cold presence_of_dirt_or_debris_removable presence_of_dirt_or_debris_nonremovable dont_know | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | vGzefIKH cAPI | opening_or_cracks_in_roof some_walls_fully_collapsed severe_structural_damage_and_unsafe_for_living gas_water_or_sewage_system_damaged electricity_supply_line_damaged_and_not_functional other_specify_none_of_the_above dont_know_prefer_not_to_say | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | DiLDM hzTThtWFdQuViUjmsbpvBCzkAcoSvffpHrshAuSUzKKw JbKDDIqfssK aUZYmRWawSrXQLWrNRkdvzpbny | dont_know_ns | no | dont_know_ns | dont_know_ns | 18 | yes | no | refigerator | TRUE | FALSE | FALSE | FALSE | bedsheets towel winter_jacket thermal_underwear adult_warm_clothing each_member_has_all_items | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | adult_diapers none_needed | TRUE | FALSE | FALSE | TRUE | centralised_piped_hot_water_supply centralised_piped_cold_water_supply gas | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | 20 | iVgcqwNffyKQP tysaRDkoK EhNfxZjRSPjnzZprismczniT | 22 | JpNZwEeARucjXOaDPvbxvquzqdRTfNH | central_heating electricity gas kerosene coal briquettes_not_coal | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | bcgynnvTExCOWJTHgNsQAWYANgLkQMknVUQBFsWDNAi Ev | 22.67407 | 21.27733 | 18.85252 | 18.88043 | no | not_connected_to_this_service | yes_daily_every_day | trucked_in_water_truck_with_a_tank_etc | FTzfQbJEAZCFfUcgyvkkqOQkJiNtSpMJqQzHjDQN | do_not_process_purify water_precipitation filtering_the_water_reverse_osmosis_filter boiling percolation other_specify | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | HFvHczVqrrKZgCbSJODdHIqQovEyIyLNpfiIXlVrcPlUj vfIlIFwjG yWMSHFhRjNSLFyViGhUdqMXHePITkvTchiQvzxfZ | refuse_to_answer | AyI | personal_well | IsiqOWXZWiOqwAIAoeKIfFtMGPwBfdhBwXCHsEZQBEjJkJ | no_shortages | 22 | glass_bottles we_fill_in_the_bathtub other_specify refuse_to_answer | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | qrkHwUzMsRYRkEgvVfIdJpT VqgNHfHKbjtODfuAZUsMUzeNJylCHR | cooking personal_hygiene other_domestic_purposes | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | open_defecation | EwxNnuyfGxBOhgUsApQVmnyN | refuse_to_answer | we_sort_garbage_and_submit_it_for_recycling | 0 | 0 | 7 | 2 | 7 | 7 | 6 | 3 | 3 | 7 | 6 | 1_yes | 1_rarely_1_2 | 0_no | 1_rarely_1_2 | 0_no | 1_rarely_12 | no_but_needed | no_already_done_so_cant_do_it_anymore | yes | no_but_needed | no_already_done_so_cant_do_it_anymore | no_was_not_needed | no_already_done_so_cant_do_it_anymore | no_but_needed | no_was_not_needed | no_but_needed | no_but_needed | yes | school boarding_school | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | children_at_home_as_carer other_specify | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | RejtGJwQohDYHbbSXQmcmDwO jQXYoVbcBnuArOdaDAafDtdZCnSMx PRTa | 21 | 18 | 19 | 19 | 20 | 17 | 24 | 23 | 22 | 18 | 19 | 22 | 15 | 21 | 18 | 19 | 19 | 23 | 19 | 20 | 21 | dont_know_ns | 21 | 20 | 23 | 25 | 17 | 19 | insufficient_teachers school_is_damaged transport_unavavailable a_child_contributes_to_hh_income refuse_to_answer | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | wCMQXyEKCWsedBbE sYdoueKHoUJKZBBWaVkIdbtO lTBOPN | 2_4_months | no_problems lack_of_medical_support other_specify | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | leeZnUZOwJJedaYuynJjYUgsMMQrRZdtfoSnVyBPXIDJHVVDgkzoziQRkfze | shooting military_presence | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | cThsjjMEshekLwlgKPxgQjJEZQpDzoVqVqLQSQjvVNZUvVaRzjzImQUyrFxEIrKOmdj | none uxos_on_school_grounds shelling_in_the_vicinity_of_the_school military_presence_in_the_vicinity_of_schools | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | KRgIjDYhlMgxf | no | refuse_to_answer | 17 | MEbsdMIdnAbELxhwupfpoYeTBkqZwerEYEJqndLziGuRAoZBLtsoMQuQmksEKYZPJSAOOpbWWMIbhyHcZfWeTYuknjYqV | gastroentrology mental_health_care ear_nose_throat_ent ambulance laboratory x_ray ultrasound chest_photofluorography post_trauma_rehabilitation | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | refuse_to_answer | never | security_problems_in_travelling_to_facility irregular_presence_of_doctors | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | frLMsiwIeCxlVNDzygilqPgfTnWYZvwNFudlDP GNxESNpIfWm nuu | dont_know | refuse_to_answer | no | refuse_to_answer | less_than_3h | yes | no_problems items_poor_quality | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | owPWntLiBQqiFvnxYtGCOSIvlIFhNp | cereals_grains_bread_pasta roots_and_tubers_potato_onion_beet fruits_apple_orange_strawberry meat_or_fish_chicken_pork_beef_fish oil_and_fat_salo_butter_sunflower_oil sugar_or_sweets_cakes_chocolate_sugary_cold_drinks | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | UoOMTlFexfJVvEtHNsCEoaY crHjYKHoRVXXuuN Qp | 22 | 21 | yes | 21 | juLmUHndFngkmidRVyGXqrZGXkmzkHZwGkXEJKBdLBKTamUoaFSjeIyDAQIfGAlZ | 17 | dont_want_to_say | no_some_hh_members_are_missing_ids | 17 | no | yes_in_our_possession | both | 20 | yes | refuse_to_answer | refuse_to_answer | dont_know | yes | refuse_to_answer | 5_they_severely_affect_my_everyday_life | fear_for_physical_safety | TRUE | FALSE | FALSE | FALSE | FALSE | XLDzpwCHCYrH UchIgrDGrmMcxFaewUIVAxED | state_emergency_services police other_specify dont_know_ns | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | nWTGiJhlVMODBccYCMPmARVFXoSJBvcbu zNllDnhYFvoTtoLmummVpJCeoWVgXKgrbdeZzQQZkVXavRxskUmMgMvjClkdvyXW | diminished_lost_source_of_income loss_of_or_severely_diminished_access_to_basic_services loss_of_or_diminished_access_to_clean_water_and_sanitation sickness_of_household_members no_covid19_impacts_on_my_household | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | gwBlquVTihwxEtuoytEWVlNQobZLhX | reducing_movement_outside_the_house stopping_handshakes_or_physical_contact avoiding_public_places_and_gatherings avoiding_public_transport wearing_a_face_mask keeping_surfaces_clean dont_know | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | LzvUXzmRkKfDEScHXTXaKeeKItfcUSbQhFxugtqeMlAUZTwgRCawBr V | yes_covid_related_reason | refuse_to_answer | refuse_to_answer | refuse_to_answer | refuse_to_answer | no | no | no | refuse_to_answer | no | no | no | no | yes | no | dont_know_ns | food livelihoods_support_employment drinking_water psychosocial_support fuel_for_heating none | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | yes | refuse_to_answer | refuse_to_answer | dont_know_ns | dont_know_ns | refuse_to_answer | dont_want_to_get_information how_to_register_for_aid how_to_get_healthcare_medical_attention how_to_access_education how_to_find_work other | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | amTqkwvIJvFC | friends_family_members | wODuACSTNozz | sms | bteCSOvZezFKGaWh wLeHXfYCNkAhVklZwXAcCQWcKPTXzCplpFMknbhIbHGa | inkind_food cash_via_bank_transfer cash_via_prepaid_cards other_please_specify dont_know fuel_for_heating | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | WTlBVGlZhC pgvJTVUuFZo wQbQcSdwKOuLLDawRdwffGKXIOIbsTUfudMrJhp | yes_soap_is_not_shown | dont_know_ns | wcgsVTAViBHIAkCyTdKJBCwnBcnnhylsFmRJwOXdSeOAcelqtcypRCWwmEWOtKfsKbSfQsKasBCArfZvBxOUQFtjGjU | UA44 | UA44129 | UKR1425583101 | DK_1 | no | 82dea9f1-719f-4a4d4e-b8beb4-f92450e3da87 | |
2023-08-16T10:00:51+0200 | 2023-08-16T08:25:39+0200 | deviceID00000005 | sievero | slov_008 | yes | SsOsgzUmixrPvpmFMYuQustwpzalDBSFaXHGtqBfMEGnQVGJrPlciiXIL BuXWjS nQCbtkHgyeIpvxGIlnDDSt h | yes | btWyLTGRIfZEqvKSZDvWZgEqmVmwdoWmBRiOSvdI | yes | yes | male | 20 | 20 | female | single | older_person unemployed single_parent family_with_foster_children chronic_illness | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | qcHNEuDYuEWb bYbMgstcwOnlLUhyBcpGWBlSNLtIeNaL | cardiovascular_disease musculoskeletal_system_and_joints cancer genitourinary_system_diseases endocrine_system_thyroid_gland_and_other_diseases | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FBESXRhejuoWMwTbXLXrAjlPdrdWVqAeJ bxOdKniJqkcZkYMxMHBcDYwnsMsxyRmQvAHcLzr | paid_work | CyjPNZCzzTboYLLHVDKYMkVMjwjxavoICYTRbZnOnNwoFHqcfLWCmlu hXPxO | personal_family_reasons | MsbUWdAgMYZHtGcE | education | QyJSUYHMXcdAIGijXQObc | 19 | dont_know_ns | refuse_to_answer | yes | refuse_to_answer | vocational | 0 | 0 | 16 | 18 | 1 | 0 | 0 | 1 | male | military_service | xxwEmPyInoQfMAQXriwrPrlMEAVSLWZUaWPCTqyhSElqcDmCvrGlOnCTIAVJJ GvrTNSnqtHyPmjlzYoNpTx | 19 | 1 | 0 | 0 | 1 | displaced_but_does_not_have_idp_status | other_specify | cpxJHPtxFeusGrGdHpwbyx lZFkxpUfV igvHWQlSCdlWIal fpswhQGSCR | other_specify | wpqEpFLVZDQCfUfmXZKvqFprMKRe | no_free_accommodation_free_utilities | rIIxIquVQwtHJnSSdiwXTST | no_issues lack_of_insulation_from_cold leaks_during_heavy_rain_snow presence_of_dirt_or_debris_removable presence_of_dirt_or_debris_nonremovable | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | CHLOWGtKGd JWiTzbMOrVN ooSOaCegGylnAJzpeqtbAJrUXgUBrdXyfruuEjsYyN Z | none roof_partially_collapsed broken_or_cracked_windows exterior_doors_broken_unable_to_shut_properly some_walls_fully_collapsed other_specify_none_of_the_above dont_know_prefer_not_to_say | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | HGeulsrrH | dont_know_ns | no | dont_know_ns | no | 19 | refuse_to_answer | yes_after_3_months | refigerator functional_stove functional_heater_movable | TRUE | TRUE | TRUE | FALSE | mattress towel winter_jacket warm_winter_boots warm_scarf thermal_underwear child_warm_clothing each_member_has_all_items | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | adult_diapers child_diapers none_needed | TRUE | TRUE | FALSE | TRUE | centralised_piped_hot_water_supply electricity gas | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | 19 | mTXcqEfsJOgAFvakoAzAuRJwbXZsSxtSoZwjUaJyAt | 19 | rszbUSkwiCdRsTuNNpEljuxfgYobKAVmPbEnCYOqYBIPVlD rZ NzNpadqIqwOtQmkmWMkQixcPpcvxWMHWRaO | electricity wood coal briquettes_coal other_specify | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | pBBWyndUpZqqEPhjvKuEWMDNMfkUAKFoZhpLBXRcuYwaEXLLGHdenjPbSPGwKlZDktqXRYzkuhStpZuOHfwXuUnsTxhhAavcY | 18.06702 | 18.64185 | 16.69118 | 20.96493 | yes | yes_infrequently_irregularly | yes_daily_every_day | drinking_water_from_water_kiosk_booth_with_water_for_bottling | hGsWEyJgwvWKOYAISUlXPLFqRGdaFwBVfieTEZK | do_not_process_purify cleaning_with_chemicals_chlorination water_precipitation filtering_the_water_reverse_osmosis_filter boiling dont_know_ns refuse_to_answer | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | SUhkIbzHkgAIwsNbJOMrfDDAYKxnRGjUIGwRbzoeYQOLuTsauVvpfehUdkumJNmgmHsfVJpvqatYSxqInRzmWvBhRWgRUukcDbG | dont_know_ns | ADdsj y bZyQvwHZTuILn JCVfCcNL jANegCeSvi | personal_well | EvpcOKogiJHgPsHVVsWoVaZMrPXEnxZOKScWovKGLpQCIr HOUfKtDlplqKZfJbNxifJYSjDpLvQD | no_shortages | 19 | a_bucket_with_a_lid a_bucket_without_a_lid a_canister we_fill_in_the_bathtub | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | rNRVcziZGYSIbUKFDCdgQceTBExyXrEYPZhFfg | drinking personal_hygiene dont_know_ns | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | pit_latrine_with_a_slab_and_platform | CooCZUZVX GkgopcVnXIoIrmxrtjgCUdqFNwJczvkFGccR DJywursqIKTLTG | yes | refuse_to_answer | 5 | 1 | 0 | 7 | 0 | 2 | 0 | 4 | 3 | 3 | 5 | 0_no | 3_often_10plus_times | 1_yes | 2_sometimes_3_10 | 1_yes | 3_often_10plus_times | no_already_done_so_cant_do_it_anymore | no_already_done_so_cant_do_it_anymore | yes | no_but_needed | no_was_not_needed | no_but_needed | no_already_done_so_cant_do_it_anymore | no_was_not_needed | no_already_done_so_cant_do_it_anymore | no_but_needed | no_already_done_so_cant_do_it_anymore | no_already_done_so_cant_do_it_anymore | none kindergarten boarding_school vocational_school | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | school_too_far_and_no_transport children_at_home_as_carer children_in_paid_employment children_has_disability_that_school_does_not_have_infrastructure_for other_specify | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | AyQCtwNlVHYQIXvMZobAMMSLsZHUb HWkDdppOVZtCJKiGseJnpGbgpuSkBSPcZJdUBkBxvbHml | 21 | 23 | 21 | 22 | 18 | 18 | 23 | 22 | 18 | 23 | 20 | 17 | 18 | 16 | 20 | 22 | 17 | 20 | 20 | 17 | 19 | yes | 20 | 18 | 23 | 16 | 18 | 17 | school_closed_other school_is_damaged transport_unavavailable a_child_contributes_to_hh_income other_specify refuse_to_answer | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | PBlHEhMlLplmTYRVvkeDfAtPSEPdcYVWbKTe cLwQXHZv OwLZfvlc | 1_2_months | price_for_service school_is_unsafe problems_with_distance_learning_due_to_closure_of_school_for_covid_eg_bad_internet_connection | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | LEuyRRkUQGiNlBKpkBRyNRUakliwPZMeLrLeCdsnYmeYVkLtKHgQEglJGlYpZXDCX MTYFCSaKYyy KddE | none shooting military_presence wildanimals_stray_dogs | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | sLstkKAlVTdqLTBNKboUZUmEllJwvqlPkfwCKWulsJYdyAayEnHEykMSMWyatxUjyXRLKeRyWCNrYVXtlDNHo | none shelling_in_the_vicinity_of_the_school military_presence_in_the_vicinity_of_schools other_specify | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | cobQBZNnRObWADbxJodFRMhvceiUNLuG yDsXmnzUXQzQ PQWFEqRsacN dhURQ LLicMLMjowtXPeSfGwqbSXDOdsOZFbEP | no | no | 19 | WQooQcCUbHwAXr kOjkfwCOTrtBsFumtmUJqslSbEeOePlWcEmUelioyXuvCYvXsGmlTGTqTZZaDwIvZKP | obstetricgynaecological ambulance inpatient_facility outpatient_care x_ray ultrasound none_of_listed | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | yes | often | lack_of_facilities distance_to_facility security_problems_in_travelling_to_facility cost_of_appointment lack_of_referral_system have_to_pass_through_entry_exit_checkpoint_for_medical_facility_in_the_ngca insufficient_qualifications_of_doctors | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | JisybKahRyCPSIgXBqdhetiobeH fvvOnhLEMjyZvaRxsgdj IWVqiixPoWQCuRodVYCPJoYtmxXrAzoXVmSkgmJliiKPUvev | yes | refuse_to_answer | no | yes | less_than_3h | no | items_not_available items_too_expensive market_damaged distance | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | pgDFqaXIYyRnSnHHxmeacFxYzOzYTWzdJzplkvEOjg | vegetables_and_leaves_tomato_lettuce_spinach_carrot fruits_apple_orange_strawberry eggs pulses_nuts_seeds_lentils_beans_nuts condiments_and_spices_tea_coffee_spices | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | wCQGlBTgeKDWKSAUrqoLnNTLQjBjnsYIXThzLwhCnxTTsXSWkksRcSwmAJEvoHDZbGDLJbVGq gRMiWBG | 19 | 22 | no | 19 | nCdiNdawTWYXkkJWWXpUzTGFZB | 23 | dont_want_to_say | yes_we_all_have_ids_but_they_are_not_in_our_possession | 19 | no | no_some_hh_members_are_missing_birth_certificates | refuse_to_answer | 22 | no | yes | no | no | no | dont_know | 1_not_at_all | fear_for_physical_safety movement_and_access_constraints | TRUE | TRUE | FALSE | FALSE | FALSE | TjnkukS | state_emergency_services army to_relatives dont_know_ns | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | xmvAYHOkmfPWENjihmbgrFFBBWcVyvLyJSR I | diminished_lost_source_of_income loss_of_or_severely_diminished_access_to_basic_services loss_of_or_diminished_access_to_education loss_of_or_diminished_access_to_clean_water_and_sanitation sickness_of_household_members other_specify restriction_in_movement | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | GOhwPNUNbdiVtZpDxxdcuLyAcdKYWeRI | no_no_action_taken_cannot_select_with_any_other_option avoiding_public_places_and_gatherings wearing_a_face_mask washing_hands_more_regularly praying_to_god | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | i | no | refuse_to_answer | yes | no | refuse_to_answer | no | refuse_to_answer | yes | refuse_to_answer | no | yes | no | yes | refuse_to_answer | refuse_to_answer | refuse_to_answer | food seeds_or_other_agricultural_inputs livelihoods_support_employment drinking_water hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines psychosocial_support none house_repairs | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | LXDNuuyGEhK | yes | refuse_to_answer | no | refuse_to_answer | no | refuse_to_answer | dont_want_to_get_information how_to_get_water how_to_get_food how_to_stay_safe_to_prevent_attack_harassment how_to_access_education how_to_find_work how_to_provide_feedback_on_aid_you_are_receiving other | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | xLxdoKAkRZqZiURdpcbzEBsTGtUkVkHYNwgAfxQlRopkukl oVFqiRmibTYHCbLBQhOaCbchCltb | aid_workers_from_local_ngos_or_civil_society_organisations | AL VNsxmhmYWGiDGKZiNgtdSjCSEhsJRjNKYrnpKArSRIUKuRgBCyKmUgfWuodA vrsesBjARJiPlLiCT | billboards_posters_leaflets | ciYGRDlXndEEILBOTfQqVSlLCQQZjDOEqGNydqoJYmBKLmbfKPCZT | do_not_want_to_receive_humanitarian_assistance inkind_food inkind_nfis physical_cash cash_via_prepaid_cards dont_know | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | mecFYfmIIXVZVLPCubCEXZvXdzQQmqTVvnbDNSwVaCLKLlKwWoyEHw kNOmqNLILpoB UGUCTPOjRCwKHgmwLw | no | refuse_to_answer | DWNXjHaxubpcrzfY TtDArBwQjNisrXsXyxzj | UA44 | UA44238 | UKR4423180701 | BD_3 | no | b31c7654-ac65-464148-878681-072cfead9b53 |
2023-08-16T09:13:38+0200 | 2023-08-16T09:52:27+0200 | deviceID00000003 | sievero | slov_007 | yes | CZIRcuDJvzQRzawZBVUGUokxTJ vGXYmwjSqN hxciw GyMAH tNntWnkksJbzlCekurDzvGHaXDsRIFptLpoULlFia | no | YurkpfICATSaepNuWwGLWEVWLOapAAEcMRhzdcMXoQlINgUWABXus | no | yes | female | 16 | 18 | female | separated_married_but_not_living_together | no family_with_3_or_more_children | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | IZvYbsaNhoMMjximXmkbMgpcyQDjjZEFlzLilIENkvZBtcYuzi | diabetes_does_not_need_insulin musculoskeletal_system_and_joints cancer sensory_disorder gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | ClWlnUTKosVKeOenujYvL | permanently_sick_or_disabled_cant_work | dUJpEopZElJun gdYUFMLEGqkauqSAZNHUmgJkge | no_employment_opportunities_in_settlement | yVZeyNLwme | construction | hVfsqeQIeykJolqUmBBmBOwgXoQt | 21 | refuse_to_answer | no | no | yes | primary_education | 1 | 0 | 16 | 18 | 1 | 0 | 0 | 1 | male | retired_not_working | rFgmZXatqpojSlt VVNJouIQFsXalFPjjjZcFK MXmDx | 21 | 1 | 0 | 0 | 1 | refuse_to_answer | 2016 | piozjmEWvQRPFydTeDFjAWnRHXMKwKwzKhiicxkYEXilMLbKcGGndVhDxOaTU TKlVSsNvsh | solid_finished_house | icwboI kpPNuGIWRupYDMBTkzIlMmqzlYjZqjmhIMyjYmjCgaOcyGOmttYuTdpgNsctZGrmcvkwDzMNRNmauooPOUHbWMENXpahE | other_specify | AXcCLtqcrlSkuEYjSuhdTsayf | presence_of_dirt_or_debris_nonremovable none_of_the_above other_specify | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | NbKMdAEmnIShPYdFTGycOWNkAzAETzUzazPRVBfxOlEmfCCGuTxkh | none roof_partially_collapsed broken_or_cracked_windows large_cracks_openings_in_most_walls some_cracks_in_some_walls damaged_floors gas_water_or_sewage_system_damaged electricity_supply_line_damaged_and_not_functional other_specify_none_of_the_above | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | PvZMJM IWslPKYPsIgVctC | no | dont_know_ns | yes | yes | 21 | yes | yes_after_3_months | functional_stove functional_heater_movable | FALSE | TRUE | TRUE | FALSE | bedsheets towel warm_winter_boots warm_gloves adult_warm_clothing child_warm_clothing each_member_has_all_items | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | adult_diapers child_diapers sanitary_pads none_needed | TRUE | TRUE | TRUE | TRUE | electricity gas none | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | 23 | EUeRYTgrHqyIPlsMlEQywFhoJpTfAyFslH | 17 | uufdtUpQZLz lvmnRlhAYnIEEDepwkbQfhjgmnuDOpuGoYwPTByavcUsFxFXVLQtRXuJHeIsGgaIeVRQhBxQXDO | gas kerosene wood coal briquettes_coal | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | IKXrKteqFtIRjzixKvI YtVfxDNLsNQHKCIAgRpg tFOKBsJbufOthwHWXMHXUAORDtw | 21.73913 | 21.28984 | 16.24886 | 22.00986 | yes | yes_infrequently_irregularly | not_connected_to_this_service | drinking_water_from_water_kiosk_booth_with_water_for_bottling | jNnlNBJTJREGFpdSnkacYIQpTVddGokNYdlZyMMNJZlZeyM | filtering_the_water_reverse_osmosis_filter boiling other_specify dont_know_ns | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | yOF wWMqXOXnddNrOFvuDprfJRhBmVbS | we_cant_afford_necessary_means_filters_chemicals_for_chlorination | GI Durkf SpeLAPNwEFC | trucked_in_water_truck_with_a_tank_etc | AchjHV | 1_time_a_week | 17 | glass_bottles a_bucket_without_a_lid other_specify dont_know_ns | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | dRxRojGUPNFxDnQHuabPAqpNqhxtCKKqkYMm | personal_hygiene none_of_the_previous | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | other_specify | PDmvsdeqIfyahITiMZuLkUGMXaEgkqywuxjGAXOJrziIrbZYhIbVwe | refuse_to_answer | we_sort_garbage_and_submit_it_for_recycling | 5 | 1 | 2 | 6 | 0 | 5 | 7 | 5 | 1 | 0 | 5 | 0_no | 1_rarely_1_2 | 0_no | 1_rarely_1_2 | 1_yes | 3_often_10plus_times | no_was_not_needed | no_was_not_needed | yes | yes | yes | no_already_done_so_cant_do_it_anymore | yes | no_but_needed | no_was_not_needed | yes | yes | no_already_done_so_cant_do_it_anymore | kindergarten vocational_school | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | children_at_home_as_carer children_working_at_home children_in_paid_employment other_specify | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | LAnQJXLayFzILD kvzojXsNuideVdiwDXVABIdrrqpht | 18 | 19 | 20 | 23 | 17 | 21 | 19 | 21 | 21 | 20 | 20 | 21 | 23 | 18 | 17 | 14 | 20 | 17 | 20 | 21 | 21 | refuse_to_answer | 16 | 22 | 19 | 18 | 15 | 24 | school_closed_other security_concerns_by_parent school_is_damaged health_issues too_expensive_school_fees_supplies_transport_etc refuse_to_answer | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | mLWKRbghOVQPwcgQAujimEpjbqrdLpFyV A hnkhSLCEdRxpJyuYKeuvmjvcCqraPYVWGbiCdXXmVaKZgBdCLiZFxLXgEUHfa | 2_4_months | quality_of_teaching_staff lack_of_pss conditions_of_the_venue lack_of_medical_support | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | y CYxZi | none uxos wildanimals_stray_dogs | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | QUAWMjlcEMZgJGMvtPDfbrvFNZxEcxbcKUCV RFmZctRJRoqFwmWmyDpBdlySADk | uxos_on_school_grounds shelling_in_the_vicinity_of_the_school other_specify | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | HFOSPrV | no | yes | 20 | OR Xmg ctmcODJMmloMZAiaqUFRxEPaTukVnYisWNGUFIfjtBhGnAoi | obstetricgynaecological paediatrics gastroentrology ear_nose_throat_ent ambulance inpatient_facility outpatient_care laboratory chest_photofluorography post_trauma_rehabilitation dont_know_ns | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | yes | often | lack_of_facilities distance_to_facility lack_of_documents have_to_pass_through_entry_exit_checkpoint_for_medical_facility_in_the_ngca required_a_covid_test_prior_to_treatment unable_to_leave_the_house_due_to_covid19 lack_of_doctors insufficient_qualifications_of_doctors | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | HxoXkKeytAepLXlDHvbudwiaA PXaBo | no | refuse_to_answer | no | dont_know_ns | less_than_3h | no | items_too_expensive market_damaged distance | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | fMhICdCEHRjcrjOI zOkdXzrfkzgaJkz qGNLtH dRzzmpeohWhGJInUR poRRUFLW | cereals_grains_bread_pasta meat_or_fish_chicken_pork_beef_fish pulses_nuts_seeds_lentils_beans_nuts oil_and_fat_salo_butter_sunflower_oil sugar_or_sweets_cakes_chocolate_sugary_cold_drinks condiments_and_spices_tea_coffee_spices | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | LfZsWn | 18 | 20 | dont_know_ns | 22 | kWLalcZsziwgGAI BetbVnpZXVULSbegwYWQYKwOYoioVBuyORHMHxHsDKrPDwDWuGDJaFqncKNN | 21 | dont_know | no_some_hh_members_are_missing_ids | 22 | yes | no_some_hh_members_are_missing_birth_certificates | government_of_ukraine | 21 | yes | refuse_to_answer | no | yes | dont_know | refuse_to_answer | 3_sometimes_i_need_to_change_my_behaviour_due_to_mines | has_affected_hh_budget other_specify | FALSE | FALSE | FALSE | TRUE | TRUE | NmwqJQXagkkoxe | administration_head_of_the_village) state_emergency_services mine_clearance_ngo army | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | PaRwrGrfDHNwUUZUYbdCLfXJKPCkfCVrqzpHTklPivuZcseWfUWmBTKhOSgk DLMhoPgimtYZ | diminished_lost_source_of_income limited_access_to_food loss_of_or_diminished_access_to_education loss_of_or_diminished_access_to_clean_water_and_sanitation other_specify no_covid19_impacts_on_my_household | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | MovoMWPkhnsFcgULupqlVUUIoYWtKoqTperjZalMtrXiXfmffUtzXOAJvjRHWlIucVaBNgQJxqHUbeCyaSwmwNTQYm | stopping_handshakes_or_physical_contact keeping_distance_from_people avoiding_public_places_and_gatherings avoiding_public_transport wearing_gloves washing_hands_more_regularly keeping_surfaces_clean praying_to_god staying_away_from_animals | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | BovuuPMnQw JuTdtwrCiBGUwyvwiqBvDiL | refuse_to_answer | yes | refuse_to_answer | yes | no | no | refuse_to_answer | yes | yes | refuse_to_answer | refuse_to_answer | no | dont_know_ns | refuse_to_answer | no | no | shelter_housing food healthcare seeds_or_other_agricultural_inputs education_for_children_under_18 psychosocial_support | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | UkHHDqBUfnkvEdSYiyEhdCgSxAjOGsZYqq | yes | dont_know_ns | no | refuse_to_answer | no | refuse_to_answer | dont_want_to_get_information how_to_register_for_aid how_to_get_help_after_attack_or_harassment how_to_stay_safe_to_prevent_attack_harassment how_to_provide_feedback_on_aid_you_are_receiving other | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | igmUQRhjJgEoFpzvKKNLIWsFfPmJdMKXbSnGbdhiIwcCNcqCcSwzmt | places_of_worship | auagSVhcxYmWC | sms | FH RQItZ FGTtJtYTWSzzXLKCjXGPxsHePGDdQI NpEakFvLTwhDtaWiuIYBPhlYwb | inkind_nfis vouchers services_eg_healthcare_education_etc dont_know prefer_not_to_answer fuel_for_heating | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | SrrSgokSggiOndsXRZUQNqxMsUipAz KYGk | dont_know_refuse_to_answer | dont_know_ns | AvMRTRLsEGpxpQVxKOdEprGSAf | UA44 | UA14138 | UKR1421587701 | BA_1 | yes | e10ba53f-fbd9-4f484b-afa5a9-d0c39ba865ef |
2023-08-16T10:06:26+0200 | 2023-08-16T09:25:19+0200 | deviceID00000008 | sloviansk | mari_004 | no | KyayDKvzMPSaxhmFSnDcMaeZQyXplDUHblotzapkeczCxGY XsunuRSSuozhAOuVbZAreByRpmMbm cVszgCZFOUYhywUMUCEVs | no | oUSgDLboQGUVBljVbOSnUE | yes | no | male | 20 | 21 | female | divorced | disability_not_including_chronic_illness veteran_of_war_ato single_parent family_with_foster_children other_specify | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | WqZfUJulUXioSucDBCBzPksWgMdiycdbvPUgcSkcqluSCQxJjrioXFVwfGMapAC | cardiovascular_disease diabetes_does_not_need_insulin musculoskeletal_system_and_joints sensory_disorder | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | nOwzPdsukbMiikfVUK PAKlEpEztA lGHtCCpIAFt uKvSqrUEcmuzKvdKHjnJrUzDnHaBCPzmgAZzQerBu | paid_work | cAtigFLFkDwowSvLHNQMXiyBSWA | no_employment_opportunities_in_settlement | eJkWuXjYtcomvLmtgSXWRsGsXKzHqjnbiT | agriculture | L | 20 | dont_know_ns | no | refuse_to_answer | refuse_to_answer | postgraduate | 0 | 0 | 17 | 22 | 0 | 0 | 0 | 0 | female | permanently_sick_or_disabled_cant_work | LLBFfbVtBDVioWBmiXNhdmMNcbMJphFbxbKppwTULHTXncPDWpeQEmuKbJYAMfPAD | 17 | 0 | 0 | 0 | 0 | used_to_be_displaced_but_returned_and_has_a_status_of_idp | 2014 | srBoPoHmakwMjnBlsARNzKOUwHMDxVheZVXNdATVZdApyjZerNPHlSijDSAfCcVEegyhKrJlvRE | makeshift_shelter | csKweBnejqnfdNujzmZ | no_but_free_accommodation_paying_utilities | bnCJXzriCUqWCrAtFkNOyWfEYoeWsm GdlswiwllwGLNAHTLqAXZCX | no_issues leaks_during_light_rain_snow presence_of_dirt_or_debris_removable presence_of_dirt_or_debris_nonremovable dont_know | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | iqtlmoRViRVbjK wYATFBjYMLcFEeSeZkPNYpphfpHrcTi SecNQwPmPoLnBKBNGVQhMhBqzfpQrIwulwFUBuCdsHWFbaYkEV | none roof_partially_collapsed exterior_doors_broken_unable_to_shut_properly total_structural_collapse electricity_supply_line_damaged_and_not_functional | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | nvD IkZJRdDIPufvemezSSErwOtwRovXhxaJWPqJghY | yes | dont_know_ns | no | dont_know_ns | 17 | no | yes_within_the_next_3_months | functional_stove hh_has_all_items | FALSE | TRUE | FALSE | TRUE | bedsheets blanket winter_jacket adult_warm_clothing child_warm_clothing each_member_has_all_items | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | sanitary_pads | FALSE | FALSE | TRUE | FALSE | centralised_piped_cold_water_supply none | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | 20 | JnklUrhEhyaQeJxuIoplFnFXnPQjWdwELntPJHNCWyIYJlhnOMr | 20 | ejzyKpfKoxKGdKmEEAzWATbngNB DMXbbgQGQYZwPoUSHCFXIfVLlfqIMScytlIPm | central_heating gas kerosene wood briquettes_coal other_specify | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | UybksebG TcrLGMktwduOVT | 16.64820 | 18.02282 | 20.38760 | 22.04191 | yes | yes_weekly_min_once_per_week | not_connected_to_this_service | tap_drinking_water_centralized_water_supply | iP | do_not_process_purify boiling refuse_to_answer | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | EbNHyBfpdIWBluXePUTcWaSNnhYRcMUpSUZNyL vItrn | dont_know_ns | uzDetwz VhkXbcQsWRqbTOGUtwORhCvbLXLY sqG | water_from_water_kiosk_booth_with_water_for_bottling | HFdQUFpvGgQ hFPCRZaKSoqsueaCEVEdCHhvMMiIAXIhBRYWgt mnTMuFiVkvdEJgODIiHBz | once_a_month | 23 | plastic_bottles a_bucket_with_a_lid a_canister a_barrel_tank | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | chGezQBqEkGGYPvtVJHhpwFoIulPfWiWBltEWqwNqV rAVFAhvSKcmmwbmtCpwrIPghthFnxdbWWbHezSFJaardyTMZfrJBcAHWV | drinking cooking personal_hygiene dont_know_ns | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | bucket_toilet | jWLRHeeXZocFMvH | no | we_burn_a_part_of_the_garbage_and_the_other_part_is_thrown_down_the_pit_latrine | 4 | 5 | 6 | 6 | 4 | 7 | 2 | 5 | 6 | 1 | 7 | 1_yes | 1_rarely_1_2 | 1_yes | 2_sometimes_3_10 | 0_no | 2_sometimes_3_10 | no_was_not_needed | no_was_not_needed | no_was_not_needed | no_but_needed | yes | yes | no_already_done_so_cant_do_it_anymore | no_was_not_needed | no_but_needed | no_already_done_so_cant_do_it_anymore | no_but_needed | no_was_not_needed | kindergarten vocational_school | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | children_at_home_as_carer children_in_paid_employment other_specify | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TserMkAMdCmbtEPHrtVJPH EpYqCJVYvBSXeVOQhbgNnrKJSxjbsXjUEDjGLrRNvQtDTklyqDOjaiUIWgohKKmcOMOTQGZ | 21 | 20 | 21 | 21 | 20 | 21 | 21 | 18 | 20 | 17 | 16 | 17 | 25 | 21 | 23 | 19 | 18 | 21 | 21 | 19 | 23 | refuse_to_answer | 19 | 17 | 19 | 20 | 20 | 15 | school_closed_due_to_security school_is_damaged health_issues family_personal_reasons too_expensive_school_fees_supplies_transport_etc other_specify | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | IugTguYlFnQBIJRkRzLIrQeWTA lASJpZMeLoIwHLOWAg | refuse_to_answer | quantity_of_teaching_staff price_for_service conditions_of_the_venue overcrowded_classrooms lack_of_medical_support other_specify | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | KyfgugoCQdQkoe IEiLlRjhzirDekspZAhWlf iBMnTKzyRrNehzOXCyTdGYBtjdoQJNuFK DNhnVxWxouu | none shooting danger_at_checkpoints | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | zbDjTstsylzNCH bjFNCWXgZYvcNDxUltNKbJRBzztwUKLaRaIQ qiDiDgSXcvulXfkpPunez | none uxos_on_school_grounds military_presence_inside_of_schools military_presence_in_the_vicinity_of_schools | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | jxeiTyIeFCDmLffsUCqdbABvEeSJWzzXhyfzZUoy | yes | refuse_to_answer | 23 | sxdsfOWFjuWVnwMPEtvXKHOMFCEspROHGFFWKuAsUzMgzxm | mental_health_care inpatient_facility laboratory x_ray | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | yes | sometimes | lack_of_facilities distance_to_facility unable_to_leave_the_house_due_to_covid19 other_specify lack_of_doctors long_queues | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | xcUexuzkeLHFywyMVsuHDEyYeUkNmGOSPhdSGesBdzqLqAdqrbvzXKYda | no | no | no | no | less_than_1h | yes | no_problems items_too_expensive items_poor_quality distance security | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | PuaTMqawdXbmmakizTLuCOesSyYliIpfmDirFIZxbVWgxrXYPoGGngUkYMEING cKl | roots_and_tubers_potato_onion_beet meat_or_fish_chicken_pork_beef_fish eggs oil_and_fat_salo_butter_sunflower_oil sugar_or_sweets_cakes_chocolate_sugary_cold_drinks | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | KWkBpxSFN hflnQaivzswQckKjZVKNzyznsGseCrhOmtDMXZQfD vlWFgtpsydvfblPHxrieAzHCVGWgOBjaIvKrJRVadtykW | 20 | 22 | no | 20 | IziiJCbuEdhkIbIqVMrupHrlZZbxqmlKiWxJqypkhVbZUWkxwLzXhjZOvzi IhxkYkhoxCcGTobBMvlVZoByQXgrrd | 21 | yes | yes_we_all_have_ids_but_they_are_not_in_our_possession | 21 | no | yes_we_all_have_birth_certificates_but_they_are_not_in_our_possession | government_of_ukraine | 19 | yes | refuse_to_answer | refuse_to_answer | yes | yes | yes | 1_not_at_all | movement_and_access_constraints psychological_safety | FALSE | TRUE | TRUE | FALSE | FALSE | rAQXmRAmeIGZZSNyRAvelcANZwRFIAlRKHNdfj | mine_clearance_ngo army to_relatives other_specify | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | hHvfOMIYfVyxviWVFutpdPsolWuslwYZdZqqIfoYVNilidPuIZanJcUnwjuevMkaEsJeSwVcQI | diminished_lost_source_of_income limited_access_to_food loss_of_or_severely_diminished_access_to_basic_services loss_of_or_diminished_access_to_education loss_of_or_diminished_access_to_clean_water_and_sanitation sickness_of_household_members death_of_household_members restriction_in_movement | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | ryTgSJopHA | not_leaving_the_house_at_all stopping_handshakes_or_physical_contact keeping_distance_from_people avoiding_public_transport wearing_a_face_mask wearing_gloves washing_hands_more_regularly praying_to_god other_specify dont_know | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | NPSfRokBYOBLUTwOnfyfhtxHgaOjGHJXabeokaYWDVHkZujHYwqnXfngHNQDIrIDfqKhdCzKAGrxULd | yes_covid_related_reason | yes | yes | yes | no | yes | yes | no | no | yes | refuse_to_answer | yes | refuse_to_answer | refuse_to_answer | no | yes | food healthcare seeds_or_other_agricultural_inputs drinking_water hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines education_for_children_under_18 other_specify | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TVUhROkSEbtymUphYZFsvvmvQknsCKkdzin xneDZaBifTroAK | dont_know_ns | yes | refuse_to_answer | no | yes | dont_know_ns | dont_want_to_get_information how_to_get_food how_to_get_healthcare_medical_attention how_to_stay_safe_to_prevent_attack_harassment | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | bQXTPNphm WOYxoTxyDdniXNVzBtkeslrLWLglOLZbWXbnDlmlbNKCYMaSbrMfpKt | government_officials | newspapers | Gd | do_not_want_to_receive_humanitarian_assistance inkind_food inkind_nfis physical_cash services_eg_healthcare_education_etc other_please_specify construction_materials | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | RsVlxNaOOFkDjMGhoTWcxQnVJEnicKQlfp KZkCLIFqTjMRvmmVveARGkTmReIznuygMqfmEGHMiIfEoLitYKVrj | dont_know_refuse_to_answer | yes | IxgZDmjqeZYsyxlQEfIXlzNXxZhyxrWnBkfbBvLcvwNxhTSNIwvYYmfOoMVwcFSvQXfUFtSZGwddKHtcaEKURT | UA14 | UA14217 | UKR1421556600 | JP_2 | no | 12738f49-3b9c-4e4449-939d9e-dcb58192764e | |
2023-08-16T09:29:31+0200 | 2023-08-16T10:02:19+0200 | deviceID00000010 | sievero | slov_004 | no | XPYnWZYkbFSGCLHtNmHazWipOBirFnXIoyEAEhgITUWbEEjZguqbBqTAwAqmcZ | yes | NnTVHB | yes | no | female | 17 | 21 | female | divorced | no older_person family_with_3_or_more_children chronic_illness other_specify | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | PaiLLqPHJirvQcwvsZD | diabetes_need_insulin diabetes_does_not_need_insulin chronic_respiratory_condition cancer sensory_disorder gastrointestinal_digestive_tract_incl_liver_gallbladder_pancreas_diseases endocrine_system_thyroid_gland_and_other_diseases other_specify | FALSE | FALSE | TRUE | TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | amfSwvXazsJTUPhTHFmmMbWYt wElkaGcwiJsGkCR | retired_not_working | ETMtLrgWCOTG NSZeh LqT | closing_the_enterprise | DXcYqGtJhGrJHHImPR XnFEkPGqORVbXRUcAVBZnCFMPXtOhLOctmGnyotATDIELUDkgLdbVEYflfLCOyyDaXZdxIEPkdlc | agriculture | frOm ZDlCGYTcJythUpGtJCrgnTCEKFfPUAPoL | 18 | no | refuse_to_answer | refuse_to_answer | yes | primary_education | 0 | 0 | 24 | 19 | 0 | 0 | 0 | 0 | female | in_paid_work_employee_self_employed_working_for_family_business | zkeaxtNyLBOgmKbTxAAAQZHlR dBaRMRESDBpeZdhTxGtGsHDgYssEKeoNjGgfMqXHUevolDsVYhlaVIgBTdpc | 19 | 0 | 0 | 0 | 0 | partially_displaced_and_have_idp_status | 2016 | LQkDiZKdabKJkL | solid_finished_house | KjOytAdIWpcFnVYZvUEKwJnbCDBThqrykbBxxubvSvUhOpEsCaIVXHqQJcUSwrQM | no_collective_centre | becfOabxHqiXWemEdDfjtGCCqwkIoLDpmmEGIpAGVCedyuphLesguuToteCUa | leaks_during_light_rain_snow presence_of_dirt_or_debris_removable dont_know | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | TRUE | SuUrL nLOwjhDdaEkewcaxRTgIag | none roof_partially_collapsed broken_or_cracked_windows exterior_doors_or_windows_missing large_cracks_openings_in_most_walls some_cracks_in_some_walls some_walls_fully_collapsed foundation_damaged_or_shifted electricity_supply_line_damaged_and_not_functional | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | kSavMdsJyTljirScjInkdKfrdQHdBNQqUGncuhmfTvpNkoZpSu KFRSZofIcvTHugojZQIFoHIf kBdpztbLksNLeaTQS | yes | no | dont_know_ns | yes | 23 | refuse_to_answer | yes_after_3_months | refigerator functional_stove hh_has_all_items | TRUE | TRUE | FALSE | TRUE | winter_jacket thick_socks warm_gloves adult_warm_clothing child_warm_clothing each_member_has_all_items | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | adult_diapers | TRUE | FALSE | FALSE | FALSE | central_heating gas | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | 18 | VsptVWLOnAlPrQdSozFWqw ZHxHEnQNRBrVMzIbGWHSsYxaILteOwoTm | 16 | JFStxhkdIuyJFiKBPNRmG | central_heating gas kerosene wood briquettes_coal other_specify | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | TRUE | TRUE | fcxb OJUMBcn | 20.31742 | 24.42986 | 21.73002 | 19.48783 | refuse_to_answer | yes_daily_every_day | dont_know_ns | personal_well | tTSoNceJcazeGzpQd | do_not_process_purify water_precipitation filtering_the_water_pitcher_filter filtering_the_water_reverse_osmosis_filter dont_know_ns | TRUE | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | GjYOciNdcHnQaBINSAvMApIsJfIRluKd CGcWTlgsjruUkiJMgodwuRLVBhXhAU | dont_know_ns | rGJsnlZPTJTxXMybsokbwNJMwChrWFNzrNtORKYLA | bottled_water_water_purchased_in_bottles | iUlWqidWiAjJidNxZyy UFLCJFnPzWfvauGEmGWsYEbpmZSHNkqREBsXgpynhqybKbcqcZoFyTR oRzwSitOrEDnTFcQKPPTV | every_day | 20 | do_not_store_water glass_bottles a_bucket_with_a_lid a_bucket_without_a_lid a_canister we_fill_in_the_bathtub other_specify | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | TUVWviqFeGmVjTpqskSmedoYUzYxFTJAgIUufgCMbOHMDcouWvWBXEp | drinking | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | pit_latrine_without_a_slab_or_platform | soNfXiPHrZjYObqqkg OrtGOkHnBWvKMwnkGlKET kyMlbkMiHdSlfdjefcodDufT BTnOWISfqNr | yes | refuse_to_answer | 5 | 0 | 6 | 7 | 7 | 0 | 2 | 6 | 1 | 7 | 5 | 0_no | 3_often_10plus_times | 1_yes | 2_sometimes_3_10 | 0_no | 2_sometimes_3_10 | no_but_needed | no_was_not_needed | yes | no_already_done_so_cant_do_it_anymore | no_but_needed | no_already_done_so_cant_do_it_anymore | no_was_not_needed | no_already_done_so_cant_do_it_anymore | no_but_needed | no_but_needed | no_was_not_needed | no_but_needed | boarding_school specialized_school_for_children_with_disabilities vocational_school | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | children_at_home_as_carer children_in_paid_employment children_has_disability_that_school_does_not_have_infrastructure_for | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | mXqRaFFPIPuGPBuOiQWzGmVMLsjEZJCRPqcVqtHnAlrddoh | 20 | 18 | 17 | 22 | 22 | 18 | 18 | 22 | 18 | 21 | 20 | 21 | 20 | 20 | 16 | 23 | 18 | 21 | 18 | 18 | 19 | yes | 21 | 22 | 15 | 20 | 21 | 17 | school_closed_other insufficient_teachers security_concerns_by_parent too_expensive_school_fees_supplies_transport_etc a_child_contributes_to_hh_income refuse_to_answer | FALSE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | imhwevZMNzKVH | 1_2_months | no_problems quantity_of_teaching_staff price_for_service conditions_of_the_venue problems_with_distance_learning_due_to_closure_of_school_for_covid_eg_bad_internet_connection other_specify | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | wMxlkkUdMwVjFGLieUPrYbjhUJPcaBngbwluuozYdwc | none shelling military_presence | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | eRhRJmcAthnrxWzbDAEfYshkXtbJTBAEeEShUCmjvFtbuTFslBrsodGmNKsOTgYbjlcupL | none uxos_on_school_grounds shooting_in_the_vicinity_of_the_school military_presence_inside_of_schools | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | IPYVgwcoXwtYJJihGgMyyVQxCgOnwPDFTBRgDZAmDDXes | yes | no | 20 | MusJfUwyvBDSLLT gLeXPPbUVKdRMuVireL eHPwpShPS | obstetricgynaecological ambulance outpatient_care x_ray post_trauma_rehabilitation dont_know_ns none_of_listed | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | no | rarely | cost_of_medicine distance_to_facility cost_of_appointment lack_of_referral_system have_to_pass_through_entry_exit_checkpoint_for_medical_facility_in_the_ngca irregular_presence_of_doctors lack_of_doctors insufficient_qualifications_of_doctors | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | jpCyVDBAFheAVHzfJjNeKRFTCUOwfbLeKi uKhHhkdxrgVmFhQJwsakKFywtUYkVFADyWfuBI | no | yes | refuse_to_answer | refuse_to_answer | less_than_15_mins | yes | no_problems items_not_available items_poor_quality distance security other_specify | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | TRUE | ShftXFihwRYVTHPryWSkWMAZnNfMMSwmVogLGujgELHZrwjFxGRZvgSjsTGORRGtnoyrtsusQlcbWjUWxP | meat_or_fish_chicken_pork_beef_fish pulses_nuts_seeds_lentils_beans_nuts oil_and_fat_salo_butter_sunflower_oil condiments_and_spices_tea_coffee_spices | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | FALSE | bYmXNNtPDFdIdjQrbDuSC | 21 | 20 | dont_know_ns | 19 | rhimMyps gYk | 24 | dont_want_to_say | no_some_hh_members_are_missing_ids | 17 | no | yes_in_our_possession | authorities_in_non_government_controlled_area | 19 | no | refuse_to_answer | yes | yes | refuse_to_answer | yes | 2_i_am_aware_of_mines_but_it_doesnt_affect_my_life | fear_for_physical_safety has_affected_hh_budget other_specify | TRUE | FALSE | FALSE | TRUE | TRUE | jHpWuwZjtgKN PabJmzIUQyuOkMllCfmlQIfKniWZPtubrlLuUn | administration_head_of_the_village) army other_specify | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | MhtsSYnkRqtKsmbWKfOMldEgxEimuXzeYoPDXlxbMelXlHbeFHOMBRYuzqMwjJjczIzHRRurzAeTlfYLWQdzVDh | limited_access_to_food loss_of_or_severely_diminished_access_to_basic_services loss_of_or_diminished_access_to_clean_water_and_sanitation other_specify no_covid19_impacts_on_my_household restriction_in_movement breaking_up_with_family_or_relatives psychological_deterioration | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | XKKlfSSECfaiXMctGosAwSqfITDFFWvRgaCLzKfwYdzPPL ZXJGIYzLbLzr LCuIKqkHtClxb BHDoTALHWvixgr | not_leaving_the_house_at_all stopping_handshakes_or_physical_contact keeping_distance_from_people wearing_gloves keeping_surfaces_clean staying_away_from_animals other_specify | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | KdvIZotMl | yes_covid_related_reason | refuse_to_answer | refuse_to_answer | refuse_to_answer | refuse_to_answer | refuse_to_answer | yes | refuse_to_answer | yes | yes | no | no | refuse_to_answer | refuse_to_answer | no | yes | food healthcare seeds_or_other_agricultural_inputs livelihoods_support_employment drinking_water hygiene_nfis_eg_soap_sanitary_pads_and_sanitation_services_eg_latrines fuel_for_heating none other_specify house_repairs | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | QzZyfwbrWddxHAwotiYcYSCARMGniPQezrSIy | yes | refuse_to_answer | dont_know_ns | refuse_to_answer | no | yes | how_to_stay_safe_to_prevent_attack_harassment how_to_access_education other | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | TRUE | mQutfUcmDGGPuaSKEvBGsWYwGtEoEMAHBWCjlvDpYOfqeEsEyFvmpgesNTJFWHzFJHkgQDaFoJlAviXyzfn | other | CSDAdOGIBBoCYLcVODHudkoaTCcKTlzXKKpAPPfafFUVqxPUkihvMKWCKqqZntvKRNsQccLfZAKdzkZjfJUSHVySu aniZtDXpnn | film_or_theatre | vmZKtmAyqEiIaWwFpcHH | inkind_nfis cash_via_prepaid_cards cash_via_mobile_money vouchers services_eg_healthcare_education_etc other_please_specify dont_know | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | FALSE | JTmelNcYRRqItfpuqjRZiNqCEFwykyQhL ExLWoXAiQkVDWvslD Ze | yes_soap_is_shown | refuse_to_answer | vtTIBuKnmRzsRTXMvVYlJlocWXujIdlLUDJPpLKRBknyRS | UA14 | UA14123 | UKR1423385404 | AK_3 | no | e93b068c-7069-424c40-808f88-fae429b73cd5 |
5.2 Download data
5.2.1 Downloading Audit files using audit_URL
Required Libraries: httr
“download_audit_files” will download audit files using the endpoint that is included in your data set, it’s available in column called “audit_URL”. The function will create a folder named by the uuid of each form/interview, and write the audit.csv inside it. The advantage of using the API over downloading manually from server is that you can download the audit files of each form that has recently been submitted to the server separately, rather than downloading cumulatively the whole audit files each time. One the top of that, you can benefit from the advantage of automation.
download_audit_files <- function(df, uuid_column = "_uuid", audit_dir, usr, pass){
if (!"httr" %in% installed.packages())
stop("The package is httr is required!")
if (is.na(audit_dir) || audit_dir == "")
stop("The path for storing audit files can't be empty!")
if (is.na(usr) || usr == "")
stop("Username can't be empty!")
if (is.na(pass) || pass == "")
stop("Password can't be empty!")
# checking if the output directory is already available
if (!dir.exists(audit_dir)) {
dir.create(audit_dir)
if (dir.exists(audit_dir)) {
cat("Attention: The audit file directory was created in", audit_dir,"\n")
}
}
# checking if creating output directory was successful
if (!dir.exists(audit_dir))
stop("download_audit_fils was not able to create the output directory!")
# checking if uuid column exists in data set
if (!uuid_column %in% names(df))
stop("The column ", uuid_column, " is not available in data set.")
# checking if column audit_URL exists in data set
if (!uuid_column %in% names(df))
stop("The column ", uuid_column, " is not available in data set.")
if (!"audit_URL" %in% names(df))
stop("Error: the column audit_URL is not available in data set.")
# getting the list of uuids that are already downloaded
available_audits <- dir(audit_dir)
# excluding uuids that their audit files are already downloaded
df <- df[!df[[uuid_column]] %in% available_audits,]
audits_endpoint_link <- df[["audit_URL"]]
names(audits_endpoint_link) <- df[[uuid_column]]
audits_endpoint_link <- na.omit(audits_endpoint_link)
if (length(audits_endpoint_link) > 0) {
# iterating over each audit endpoint from data
for (i in 1:length(audits_endpoint_link)) {
uuid = names(audits_endpoint_link[i])
endpoint_link_i <- audits_endpoint_link[i]
cat("Downloading audit file for", uuid, "\n")
# requesting data
audit_file <- content(GET(endpoint_link_i,
authenticate(usr, pass),
timeout(1000),
progress()), "text", encoding = "UTF-8")
if (!is.na(audit_file)) {
if (length(audit_file) > 2) {
dir.create(paste0(audit_dir, "/", uuid), showWarnings = F)
write.csv(audit_file, paste0(audit_dir, "/", uuid, "/audit.csv"), row.names = F)
}else if(!audit_file == "Attachment not found"){
if (grepl("[eventnodestartend]", audit_file)) {
dir.create(paste0(audit_dir, "/", uuid), showWarnings = F)
write.table(audit_file, paste0(audit_dir, "/", uuid, "/audit.csv"), row.names = F, col.names = FALSE, quote = F)
} else{
cat("Error: Downloading audit was unsucessful!\n")
}
}
} else{
cat("Error: Downloading audit was unsucessful!\n")
}
}
} else{
cat("Attention: All audit files for given data set is downloaded!")
}
}
5.2.2 Download audit files using form name
Required Libraries: httr, jsonlite, dplyr, stringr
“download_audit_files_2” is a different version of “download_audit_files” module that will help you to download audit files using the form id directly from KOBO API. The rest of it’s specifications best matches the download_audit_files.
download_audit_files_2 <- function(form_id, output_dir, user, pass) {
if (!"stringr" %in% installed.packages())
stop("Could not find the package stringr!")
if (!"dplyr" %in% installed.packages())
stop("Could not find the package dplyr!")
if (!"httr" %in% installed.packages())
stop("Could not find the package httr!")
if (!"jsonlite" %in% installed.packages())
stop("Could not find the package jsonlite!")
if (is.na(output_dir) || output_dir == "")
stop("The path for storing audit files can't be empty!")
if (is.na(user) || user == "")
stop("Username can't be empty!")
if (is.na(pass) || pass == "")
stop("Password can't be empty!")
require(httr)
require(dplyr)
require(jsonlite)
require(stringr)
# checking if the output directory is already available
if (!dir.exists(output_dir)) {
dir.create(output_dir)
if (dir.exists(output_dir)) {
cat("Attention: The audit file directory was created in", output_dir,"\n")
}
}
# checking if creating output directory was successful
if (!dir.exists(output_dir))
stop("download_audit_fils was not able to create the output directory!")
# listing audit files that are already available
available_audits <- dir(output_dir)
# getting form url
form_url <- GET("https://kc.humanitarianresponse.info/api/v1/data", authenticate(user, pass), timeout(1000)) %>%
content(., "text", encoding = "UTF-8") %>%
fromJSON(., flatten = T) %>%
filter(id_string == form_id) %>%
select(url) %>%
unlist()
if (length(form_url) > 0) {
# getting attachment links of uuids that their audit is already downloaded
form_data <- GET(form_url, authenticate(user, pass), timeout(1000)) %>%
content(., "text", encoding = "UTF-8") %>%
fromJSON(., flatten = T) %>%
as.data.frame() %>%
filter(!`_uuid` %in% available_audits)
attachment_url <- form_data[["_attachments"]]
audit_file_links <- unlist(attachment_url)[names(unlist(attachment_url)) == "download_large_url"] %>% unname()
# uuids <- form_data[["_uuid"]][lapply(attachment_url, length) %>% unlist() != 0]
# uuids <- str_extract(audit_file_links, "(?<=%2F)[a-z-0-9]*(?=%2Faudit.csv$)")
# names(audit_file_links) <- uuids
download_audit <- function(audit_link, user, pass, output_dir, uuid) {
uuid <- str_extract(audit_link, "(?<=%2F)[a-z-0-9]*(?=%2Faudit.csv$)")
audit_file <- GET(audit_link, authenticate(user, pass), timeout(1000), progress()) %>%
content(., "text", encoding = "UTF-8")
cat("Downloading audit file for", uuid, "\n")
dir.create(paste0(output_dir, "/", uuid))
output_file_name <- paste0(output_dir, "/", uuid,"/audit.csv")
# write.csv(audit_file, output_file_name)
if (!is.na(audit_file)) {
if (length(audit_file) > 2) {
write.csv(audit_file, output_file_name, row.names = F)
}else if(!audit_file == "Attachment not found"){
if (grepl("[eventnodestartend]", audit_file)) {
write.table(audit_file, output_file_name, row.names = F, col.names = FALSE, quote = F)
}
}
}
}
downloaded_uuids <- sapply(audit_file_links, download_audit, user = user, pass = pass, output_dir = output_dir)
} else{
cat("Attention: All audit files for given form is downloaded!")
}
}
5.3 Data collection follow-up
5.3.1 checking surveys against the sampling frame
It is important to ensure that number of interviews that have been collected in each sampling unit corresponds with the initial sampling frame. The best choice will be to check it on daily basis during the data collection and follow-up with the Field Team in case there were not enough interviews (or some extra surveys) in certain locations. But it is also a good practice to make a final check to understand the overall difference between the sampling frame and collected data.
First let’s open initial sampling frame generated by the Probability sampling tool
Now we should create summary table that will show number of interviews actually collected for each primary sampling unit (in our case it was settlement). Keep in mind that you should use correct settlement codes that were verified during the data collection. In case you are not sure that settlement codes in the dataset are correct you should cross-check them with GPS-coordinates using Spatial verification checks
The next step will be left join of samples collected dataset to the sampling frame and finding the difference in collected surveys for each settlement.
sampling_frame <- sampling_frame %>%
select(Survey, strata_id, adm4Pcode, adm4NameLat) %>%
left_join(samples_collected, by = c("adm4Pcode" = "r3_current_settlement"))%>%
tidyr::replace_na(list(n = 0))%>%
mutate(sample_difference = n - Survey)%>%
arrange(sample_difference)
sampling_frame %>%
head(10) %>%
kable() %>%
kable_styling(font_size=12)
Survey | strata_id | adm4Pcode | adm4NameLat | n | sample_difference |
---|---|---|---|---|---|
1 | 5km_rural | UKR1421586403 | Tarasivka | 0 | -1 |
56 | 20km_urban | UKR1410200000 | Avdiivka | 56 | 0 |
9 | 20km_urban | UKR1420955200 | Zaitseve | 9 | 0 |
5 | 5km_rural | UKR1423384001 | Kostiantynivka | 5 | 0 |
3 | 5km_rural | UKR1422783201 | Mykhailivka | 3 | 0 |
7 | 5km_rural | UKR1421581401 | Dmytrivka | 7 | 0 |
6 | 5km_rural | UKR4423180701 | Bakhmutivka | 6 | 0 |
4 | 5km_rural | UKR4424881001 | Velyka Chernihivka | 4 | 0 |
8 | 5km_rural | UKR1420980501 | Berestove | 8 | 0 |
1 | 5km_rural | UKR1420982001 | Volodymyrivka | 1 | 0 |
As we can see from the table above, there was only one settlement where the target number of the interviews was not collected. And considering that it’s only one survey it will not affect our results and we can proceed with other checks. After checking how a number of collected surveys corresponds with the sampling frame for each primary sampling unit it will be also good to make the same check on strata level. To do that we can use summarise function from dplyr library
strata_level_check <- sampling_frame %>%
group_by(strata_id)%>%
summarise(Survey_Planned = sum(Survey),
Survey_Collected = sum(n))%>%
mutate(Difference = Survey_Collected - Survey_Planned)%>%
arrange(desc(Difference))
strata_level_check %>%
kable() %>%
kable_styling(font_size=12)
strata_id | Survey_Planned | Survey_Collected | Difference |
---|---|---|---|
5km_rural | 403 | 407 | 4 |
20km_rural | 399 | 402 | 3 |
20km_urban | 404 | 404 | 0 |
5km_urban | 404 | 404 | 0 |
After this check, we can see that for two strata we collected the exact number of interviews that were initially planned. And for two strata there is slight overachievement in 4 and 3 surveys.
5.4 Data falsification
5.4.1 Check for time (in the dataset)
Required Libraries: “dplyr” and “lubridate”
“time_check” will return the elapsed time for each interview based on it’s start and end columns also classifies if it’s “too short”, “too long”, or “okay”. As an example, we will use a dummy data set to apply the function to it. The function also needs a time_min (the minimum time in minutes that an interview should take to be completed) and a time_max (the maximum time in minutes that an interview should take to be completed) parameters.
library(dplyr)
library(lubridate)
# Creating a dummy data set
start <- c("2020-12-01T09:40:05.750+04:30","2020-12-01T09:40:18.709+04:30","2020-12-01T09:45:40.879+04:30","2020-12-01T09:46:28.328+05:00")
end <- c("2020-12-01T09:44:44.438+04:30","2020-12-01T10:01:27.890+04:30","2020-12-01T10:17:44.021+04:30","2020-12-01T10:18:32.717+05:00")
my_df <- data.frame(start, end)
# Initializing variables
time_min <- 8
time_max <- 30
# declaring the function
time_check <- function(df, time_min, time_max){
df <- df %>% mutate(interview_duration = difftime(as.POSIXct(ymd_hms(end)), as.POSIXct(ymd_hms(start)), units = "mins"),
CHECK_interview_duration = case_when(
interview_duration < time_min ~ "Too short",
interview_duration > time_max ~ "Too long",
TRUE ~ "Okay"
)
)
return(df)
}
# Applying the function to data frame
processed_df <- time_check(my_df, time_min, time_max)
start | end | interview_duration | CHECK_interview_duration |
---|---|---|---|
2020-12-01T09:40:05.750+04:30 | 2020-12-01T09:44:44.438+04:30 | 4.64480 mins | Too short |
2020-12-01T09:40:18.709+04:30 | 2020-12-01T10:01:27.890+04:30 | 21.15302 mins | Okay |
2020-12-01T09:45:40.879+04:30 | 2020-12-01T10:17:44.021+04:30 | 32.05237 mins | Too long |
2020-12-01T09:46:28.328+05:00 | 2020-12-01T10:18:32.717+05:00 | 32.07315 mins | Too long |
5.4.2 Check for time (audit files)
Required Libraries: “dplyr”, “lubridate”, and “expss”
“time_check_audit” will calculate the interview duration using the audit files. And, if the audit file for that particular uuid is not found in the audit directory (where you paste the audit files), it will calculate it using start and end time columns in the data set. Audit files should be stored inside a folder (to avoid redefining its name while calling the function, call it “audit_files”) in the project folder.
library(dplyr)
library(lubridate)
library(expss)
# reading files.
main_dataset <- read.csv("inputs/UKR2007_MSNA20_HH_dataset_main_rcop.csv", na.strings = "")
# Initializing variables
time_min <- 8
time_max <- 30
# declaring the function
time_check_audit <- function(df_raw, x_uuid="_uuid", time_min, time_max, audit_dir_path = "./audit_files/", today = "today"){
if (!any(duplicated(df_raw[[x_uuid]]))) {
# Audit Checks
# audit_dir_path < -audit_dir_path
uuids <- dir(audit_dir_path)
dfl <- list()
all_uuids <- length(uuids)
for(i in 1: length(uuids)){
df <- read.csv(paste0(audit_dir_path, uuids[i], "/audit.csv"))
df <- df %>% filter(node != "")
duration_ms <- sum(df$end - df$start)
duration_secs <-duration_ms/1000
duration_minutes <- round(duration_secs/60,1)
dfl[[i]] <- data.frame(uuid = uuids[i], duration_ms=duration_ms,
durations_secs=duration_secs, duration_minutes = duration_minutes)
cat("\014","Running audit: ", round((i/all_uuids) * 100,0),"%\n", sep = "")
}
duration_df <- do.call("rbind", dfl)
duration_df <- dplyr::rename(duration_df, `_uuid` = uuid)
#time check based on start end time
df_str_audit_all <- df_raw %>%
mutate(start_end = difftime(as.POSIXct(ymd_hms(end)), as.POSIXct(ymd_hms(start)), units = "mins"))
#creating a binding column with same name.
df_str_audit_all$`_uuid` <- df_str_audit_all[[x_uuid]]
# Join Audit checks and main data set
df_str_audit_all <- df_str_audit_all %>%
left_join(select(duration_df, `_uuid`, duration_minutes), by = "_uuid")
# Checking time duration with audit file, if not available, from dataset start/end.
df_str_audit_all <- df_str_audit_all %>%
mutate(interview_duration = if_na(duration_minutes, start_end),
CHECK_interview_duration = case_when(
interview_duration < time_min ~ "Too short",
interview_duration > time_max ~ "Too long",
TRUE ~ "Okay")
) %>% select( -c(duration_minutes,start_end))
return(df_str_audit_all)
}else{
stop("Error: df_raw has duplicate in uuid column, resolve the duplication to proceed!")
}
}
# Applying the function to data frame
processed_df <- time_check_audit(main_dataset,
x_uuid = "X_uuid",
time_min, time_max,
audit_dir_path = "inputs/reach_global/attachments/dc4b0f40bf934293aedd3f31ff43f6d1/")
_uuid | interview_duration | CHECK_interview_duration |
---|---|---|
e88800ab-c514-4074-b938-b618ec874255 | 14.3 | Okay |
15aa02bd-ce32-4cd3-afcb-6d590db3baa4 | 14.8 | Okay |
1a8f5939-fc1e-43f8-ac75-86fb6de3ae4c | 14.4 | Okay |
ed87c6df-d78d-47bc-92dc-27d478073a53 | 18.2 | Okay |
df76de17-ffda-4f11-9cb7-6342f3d49940 | 15.6 | Okay |
e6f50033-ec7a-4016-850d-8be2c0302324 | 24.3 | Okay |
c9f30357-05bc-4228-8223-e1143b5293c8 | 48.4 | Too long |
2d5b8a48-52fa-45a6-b776-fa32242abf0d | 19.5 | Okay |
022a6393-6d31-4958-926c-b5955aa4e215 | 18.5 | Okay |
98bb4c67-2bda-4848-9b19-b960a8506157 | 22.9 | Okay |
5.4.3 Check for time - calculating the elapsed time between each interview
Required Libraries: lubridate
“time_btwn_ints” will calculate the elapsed time between the ending time of the first interview of an enumerator and the start time of its second interview, and the process applies for all interviews of each enumerator. It needs a location identifier as a parameter to check if the elapsed time is matching with the threshold (given as a parameter) in the same location or not. Also it will be checked if the elapsed time matches the given threshold for interviews in different locations by the same enumerator.
library(lubridate)
# Creating a dummy data set
start <- c("2020-12-01T09:40:05.750+04:30",
"2020-12-01T09:45:18.709+04:30",
"2020-12-01T09:45:40.879+04:30",
"2020-12-01T10:02:40.879+04:30",
"2020-12-01T10:25:28.32+04:30")
end <- c("2020-12-01T09:44:44.438+04:30",
"2020-12-01T10:01:27.890+04:30",
"2020-12-01T10:17:44.021+04:30",
"2020-12-01T10:05:40.879+04:30",
"2020-12-01T10:38:32.717+04:30")
device_id <- c("000215",
"000215",
"000216",
"000215",
"000216")
village <- c("Village A",
"Village A",
"Village B",
"Village A",
"Village C")
my_df <- data.frame(start, end, device_id, village)
# declaring the function
time_btwn_ints <- function(df, device_id, start_col = "start", end_col = "end",
village_col, same_village_threshold = 3, diff_village_threshold = 5){
checked_df <- df
# sort by device_id and start_col
checked_df <- checked_df[order(checked_df[[start_col]]), ]
checked_df <- checked_df[order(checked_df[[device_id]]), ]
# For each row starting from the second row:
# 1) calculate the time between the end of the (r-1) survey and the start of the (r) survey
# 2) insert the eight check-message based on the calculated time and the village
issue.same.village <- paste0("The elapsed time between two interviews in the same village is less than ",same_village_threshold, " minutes")
issue.diff.village <- paste0("The elapsed time between two interviews in different villages is less than ", diff_village_threshold, " minutes")
checked_df$check <- "OK"
checked_df$gap_between_ints <- NA
for (r in 2:nrow(checked_df)){
if (as.character(checked_df[r, device_id])==as.character(checked_df[r-1, device_id])){
checked_df$gap_between_ints[r] <- difftime(as.POSIXct(ymd_hms(checked_df[r, start_col])),
as.POSIXct(ymd_hms(checked_df[r-1, end_col])),
units = "mins")
if (as.character(checked_df[r, village_col])==as.character(checked_df[r-1, village_col])){
if (checked_df$gap_between_ints[r] < same_village_threshold) checked_df[r, "check"] <- issue.same.village
} else{
if (checked_df$gap_between_ints[r] < diff_village_threshold) checked_df[r, "check"] <- issue.diff.village
}
}
}
return(checked_df)
}
# Applying the function to data frame
processed_df <- time_btwn_ints(df = my_df, device_id = "device_id",village_col = "village", same_village_threshold = 2,diff_village_threshold = 10)
start | end | device_id | village | check | gap_between_ints | |
---|---|---|---|---|---|---|
1 | 2020-12-01T09:40:05.750+04:30 | 2020-12-01T09:44:44.438+04:30 | 000215 | Village A | OK | NA |
2 | 2020-12-01T09:45:18.709+04:30 | 2020-12-01T10:01:27.890+04:30 | 000215 | Village A | The elapsed time between two interviews in the same village is less than 2 minutes | 0.5711833 |
4 | 2020-12-01T10:02:40.879+04:30 | 2020-12-01T10:05:40.879+04:30 | 000215 | Village A | The elapsed time between two interviews in the same village is less than 2 minutes | 1.2164833 |
3 | 2020-12-01T09:45:40.879+04:30 | 2020-12-01T10:17:44.021+04:30 | 000216 | Village B | OK | NA |
5 | 2020-12-01T10:25:28.32+04:30 | 2020-12-01T10:38:32.717+04:30 | 000216 | Village C | The elapsed time between two interviews in different villages is less than 10 minutes | 7.7383167 |
5.4.5 Check for duplicates
5.4.5.1 cleaninginspectoR - find_duplicates
find_duplicates will take the dataset and a column name to look for duplicates as arguments.
## [1] index value variable has_issue issue_type
## <0 rows> (or 0-length row.names)
dummy_dataset[301, ] <- dummy_dataset[300, ]
cleaninginspectoR::find_duplicates(dummy_dataset, duplicate.column.name = "uuid")
## index value variable has_issue
## 1 301 91e2b6c3-3124-4f4341-afa7a5-78dcaebf6139 uuid TRUE
## issue_type
## 1 duplicate in uuid
## index value variable has_issue issue_type
## 1 202 2023-08-16T08:19:48+0200 start TRUE duplicate in start
## 2 204 2023-08-16T10:00:50+0200 start TRUE duplicate in start
## 3 235 2023-08-16T08:29:20+0200 start TRUE duplicate in start
## 4 247 2023-08-16T09:46:06+0200 start TRUE duplicate in start
## 5 265 2023-08-16T08:56:56+0200 start TRUE duplicate in start
## 6 293 2023-08-16T10:38:17+0200 start TRUE duplicate in start
## 7 301 2023-08-16T10:12:09+0200 start TRUE duplicate in start
5.4.5.2 base - duplicated
If you are looking in duplicates value in several columns (first and second name, names and ID number,etc.), you can use the duplicated.
## col_a col_b
## 1 a b
## 2 a b
## 3 c f
Rows 1 and 2 are duplications.
## [1] FALSE TRUE FALSE
find_duplicates() and duplicated() functions will return position or value only of one duplicated record. But after identification of the duplicate, it will be good to check how many of such duplicated records in the dataset and check if they have any other duplicated columns. Based on your investigation, you will need to delete one or several records. e.g. Enumerator submitted the first survey by mistake and after some time submitted a corrected survey with the same id (in case we allow for the enumerator to select the id of the enterprise or sample). In such a way, find_duplicates() will identify the second survey but we will need to delete the first one.
5.4.5.3 Find most similar surveys
The function find_similar_surveys() compares each survey with each other survey in the dataset and finds the most similar one, i.e., the one with the lowest number of different answers. The function uses the gower matrix to make the comparison more efficient. The function returns a dataframe with the same number of rows (all surveys) and a few additional columns indicating the ID of the most similar survey and how many columns are different.
Depending on the size of the questionnaire and on the data collection methodology, we can set a maximum threshold on the number of differences and follow up on all the surveys that have a matching survey with a lower number of differences than the threshold. For example, in the MSNA in Syria, we used a maximum threshold of 7 differences.
In the version below, the function uses only the data from the main sheet of the survey. If the tools includes loop(s), it makes sense to add a few relevant columns from the loops to the main dataframe so that they are also used in the search of the most similar survey. For example, for an HH survey with a loop for the HH composition, one can add to the main dataframe one column with the concatenation of the genders of the HH components and one column with the concatenation of the ages of the HH components (from the loop).
find_similar_surveys <- function(raw.data, tool.survey, uuid="_uuid"){
# 1) store UUIDs
uuids <- raw.data[[uuid]]
# 2) convert all columns to character and tolower
raw.data <- mutate_all(raw.data, as.character)
raw.data <- mutate_all(raw.data, tolower)
# 3) remove columns that are naturally different in each survey:
# - columns of type = "start", "end", "text" (for the other responses), etc.
# - columns starting with "_"
# - option columns for the select multiple -> keeping only the concatenation column
types_to_remove <- c("start", "end", "today", "deviceid", "date", "geopoint", "audit",
"note", "calculate", "text")
cols_to_keep <- data.frame(column=colnames(raw.data)) %>%
left_join(select(tool.survey, name, type), by=c("column"="name")) %>%
filter(!(type %in% types_to_remove) & !str_starts(column, "_") & !str_detect(column, "/"))
raw.data <- raw.data[, all_of(cols$column)]
# 4) remove columns with all NA; convert remaining NA to "NA"; convert all columns to factor
raw.data <- raw.data[, colSums(is.na(raw.data))<nrow(raw.data)]
raw.data[is.na(raw.data)] <- "NA"
raw.data <- raw.data %>% mutate_if(is.character, factor)
error.message <- "NAs detected, remove them before proceeding (it can happen when converting to factor)"
if (sum(is.na(raw.data))>0) stop(error.message)
# 5) calculate gower distance
gower_dist <- daisy(raw.data, metric="gower", warnBin=F, warnAsym=F, warnConst=F)
gower_mat <- as.matrix(gower_dist)
# 6) convert distance to number of differences and determine closest matching survey
r <- unlist(lapply(1:nrow(raw.data), function(i) sort(gower_mat[i,]*ncol(raw.data))[2]))
# 7) add relevant columns
raw.data[["num_cols_not_NA"]] <- rowSums(raw.data!="NA")
raw.data[[uuid]] <- uuids
raw.data[["_id_most_similar_survey"]] <- uuids[as.numeric(names(r))]
raw.data[["number_different_columns"]] <- as.numeric(r)
raw.data <- raw.data %>% arrange(number_different_columns, uuid)
return(raw.data)
}
5.5 Data checks
5.5.1 Check for outliers
There are 2 commons ways to detect outliers :
- Using the range of 3 standards deviations from the mean.
- Using the range of 1.5 inter quartile from the 1st and 3rd quartile.
Outliers can exist but it is important to check them.
5.5.1.1 cleaninginspectoR - find_outliers
The function find_outliers will use the rule of the 3 standards deviations from the mean for normal values and log values.
index | value | variable | has_issue | issue_type |
---|---|---|---|---|
26 | 30000.0 | b15_hohh_income | TRUE | log normal distribution outlier |
117 | 210.0 | b15_hohh_income | TRUE | log normal distribution outlier |
225 | 400.0 | b15_hohh_income | TRUE | log normal distribution outlier |
384 | 300.0 | b15_hohh_income | TRUE | log normal distribution outlier |
517 | 300.0 | b15_hohh_income | TRUE | log normal distribution outlier |
710 | 24000.0 | b15_hohh_income | TRUE | log normal distribution outlier |
742 | 400.0 | b15_hohh_income | TRUE | log normal distribution outlier |
1126 | 50000.0 | b15_hohh_income | TRUE | log normal distribution outlier |
1384 | 400.0 | b15_hohh_income | TRUE | log normal distribution outlier |
1399 | 200.0 | b15_hohh_income | TRUE | log normal distribution outlier |
1417 | 400.0 | b15_hohh_income | TRUE | log normal distribution outlier |
5 | 20.0 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
89 | 5000.0 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
272 | 20.0 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
918 | 20.0 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
141 | 4800.0 | f3_spend_on_heating | TRUE | normal distribution outlier |
48 | 0.5 | f5_type_fuel_heating_amount | TRUE | log normal distribution outlier |
357 | 0.5 | f5_type_fuel_heating_amount | TRUE | log normal distribution outlier |
161 | 90.0 | f16_duration_water_shortages | TRUE | log normal distribution outlier |
1392 | 90.0 | f16_duration_water_shortages | TRUE | log normal distribution outlier |
5.5.2 Check others
5.5.2.1 cleaninginspectoR - find_other_responses
find_other_responses will look for all columns with “other”, “Other”, “autre”, “Autre”, and return their values.
Notes: - If your other* questions do not have those 4 strings in their names, the function will not pick it. *
index | value | variable | has_issue | issue_type |
---|---|---|---|---|
NA | “Child of war” status /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | “Child of war” status, “Veteran of labour” status /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | A carer for a disabled child /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | A carer for a disabled person /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Chernobyl liquidator /// instances: 3 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Child custody /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Deprived orphan /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Family with a child with disability /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Has a status of the victim of human trafficing /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
NA | Husband has disability group 3 /// instances: 1 | b10_1_hohh_vulnerability_other | TRUE | ‘other’ response. may need recoding. |
5.5.2.2 base + dplyr
This example will take all the text type from the questionnaire, filter for the ones that are in the dataset and return all the values.
oth <- questions$name[questions$type == "text"]
oth <- oth[oth %in% names(main_dataset)]
oth_log <- oth %>%
lapply(function(x) {
main_dataset %>%
select("X_uuid", !!sym(x)) %>%
filter(!is.na(!!sym(x))) %>%
as.data.frame() %>%
mutate(col_names = x) %>%
rename(other_text = !!sym(x)) %>%
arrange(other_text)}) %>%
do.call(rbind,.)
X_uuid | other_text | col_names |
---|---|---|
54e2b9b9-f3c4-477c-bd49-778183cae303 | “Child of war” status | b10_1_hohh_vulnerability_other |
7b8e753b-1aa6-493a-81c8-9c7caee74613 | “Child of war” status, “Veteran of labour” status | b10_1_hohh_vulnerability_other |
8e2a77cc-a81a-4319-8595-02dae93f0bd3 | A carer for a disabled child | b10_1_hohh_vulnerability_other |
2c08b929-63f0-42bc-80d1-ce87a0373787 | A carer for a disabled person | b10_1_hohh_vulnerability_other |
b8e0bb37-b2eb-439e-bc5b-03c12c87c7f6 | Chernobyl liquidator | b10_1_hohh_vulnerability_other |
0250339d-7a9c-4cd1-a72d-2fb5f9ec8439 | Chernobyl liquidator | b10_1_hohh_vulnerability_other |
83f40ea5-6882-4e46-824e-fcc7f734cc78 | Chernobyl liquidator | b10_1_hohh_vulnerability_other |
1113ae1b-80a3-41ce-951f-74ea18719bde | Child custody | b10_1_hohh_vulnerability_other |
64285d7a-51fc-4256-b089-1a13d4521e97 | Deprived orphan | b10_1_hohh_vulnerability_other |
5ddae31b-90d1-4c96-a991-1958ff14719c | Family with a child with disability | b10_1_hohh_vulnerability_other |
69615c4d-8fac-404e-bb45-fafccd498d92 | Has a status of the victim of human trafficing | b10_1_hohh_vulnerability_other |
2d5b8a48-52fa-45a6-b776-fa32242abf0d | Husband has disability group 3 | b10_1_hohh_vulnerability_other |
aad51ad7-7ea6-4589-bf06-ee8b53781303 | Low-income family | b10_1_hohh_vulnerability_other |
1d21d712-f98d-4cbc-af52-710f535ef2bd | Low-income family | b10_1_hohh_vulnerability_other |
acbb66b9-31c5-44f7-84d4-53553aaa2f8c | Low-income family | b10_1_hohh_vulnerability_other |
075ec034-4681-4d59-bce7-403dffb3c03c | Low-income family | b10_1_hohh_vulnerability_other |
a4e91a4d-c176-43b2-ab2f-1953a1780bec | Own apartment destroyed, rented housing | b10_1_hohh_vulnerability_other |
b98ef6c0-39df-4383-96e7-5f569f6fdc33 | Pensioner because takes care of the sun, who has born disability (currently 33 y.o., 2 level of disability, lives in another HH) | b10_1_hohh_vulnerability_other |
2b275831-e4d6-4b9b-8192-c58bcc13bcba | Raises a nephew | b10_1_hohh_vulnerability_other |
956f170d-2bf0-40bf-848e-f8129aecd0fd | Was injured during the conflict | b10_1_hohh_vulnerability_other |
Please note that it takes the values as they are. You may want to trim and remove caps or any other regex work if you want better summary
This other example looks at the frequency of a given other option, it could be used to see if some should be recoded as options directly.
oth_prop <- oth %>%
lapply(function(x) {
main_dataset %>%
group_by(!!sym(x)) %>%
tally(sort = T) %>%
rename(other_text = !!sym(x)) %>%
filter(!is.na(other_text)) %>%
mutate(col_names = x,
prop = n/nrow(main_dataset))
}) %>%
do.call(rbind,.)
other_text | n | col_names | prop |
---|---|---|---|
Low-income family | 4 | b10_1_hohh_vulnerability_other | 0.0024737 |
Chernobyl liquidator | 3 | b10_1_hohh_vulnerability_other | 0.0018553 |
“Child of war” status | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
“Child of war” status, “Veteran of labour” status | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
A carer for a disabled child | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
A carer for a disabled person | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Child custody | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Deprived orphan | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Family with a child with disability | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Has a status of the victim of human trafficing | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Husband has disability group 3 | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Own apartment destroyed, rented housing | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Pensioner because takes care of the sun, who has born disability (currently 33 y.o., 2 level of disability, lives in another HH) | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Raises a nephew | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Was injured during the conflict | 1 | b10_1_hohh_vulnerability_other | 0.0006184 |
Psoriasis | 3 | b11_1_hohh_chronic_illness_other | 0.0018553 |
Blood pressure | 2 | b11_1_hohh_chronic_illness_other | 0.0012369 |
Allergy | 1 | b11_1_hohh_chronic_illness_other | 0.0006184 |
Aseptic necrosis, deforming arthritus | 1 | b11_1_hohh_chronic_illness_other | 0.0006184 |
Asthma | 1 | b11_1_hohh_chronic_illness_other | 0.0006184 |
5.5.3 Issue log Function
this function will help the generation of standard cleaning log file that holds issues that need clarification. first we need to subset or filter data based on the check list, then that is the log_sheet function will help us to transform that subsetted data into standard cleaning log format.
log_sheet <- function(data, question.name, issue, action){
cleaning_logbook <- data.frame("uuid" = as.character(),
"question.name" = as.character(),
"issue" = as.character(),
"feedback" = as.character(),
"action" = as.character(),
"old.value" = as.character(),
"new.value" = as.character(),
stringsAsFactors = F)
if(nrow(data) > 0){
for(a in 1:nrow(data)) {
cleaning_logbook <- cleaning_logbook %>%
add_row(
tibble_row(
uuid = as.character(data[a, "X_uuid"]),
question.name = as.character(question.name),
issue = as.character(issue),
feedback = as.character(""),
action = as.character(action),
old.value = as.character(data[a, question.name]),
new.value = as.character("")
)
)
}
}
return(cleaning_logbook)
}
Now, lets use the function to log an issue where consent to calls follow-up is no and log them into standard cleaning log format
5.6 cleaninginspectoR - inspect_all
cleanninginspectoR has a function inspect inspect_all that will look for outliers, others responses that may need recoding, duplicated uuid and possible sensitive columns. It takes as arguments the dataset and the uuid column name.
index | value | variable | has_issue | issue_type |
---|---|---|---|---|
NA | NA | a3_1_phone | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | r5_gps_work | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | r6_gpslocation | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | X_r6_gpslocation_latitude | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | X_r6_gpslocation_longitude | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | X_r6_gpslocation_altitude | TRUE | Potentially sensitive information. Please ensure all PII is removed |
NA | NA | X_r6_gpslocation_precision | TRUE | Potentially sensitive information. Please ensure all PII is removed |
26 | 30000 | b15_hohh_income | TRUE | log normal distribution outlier |
117 | 210 | b15_hohh_income | TRUE | log normal distribution outlier |
225 | 400 | b15_hohh_income | TRUE | log normal distribution outlier |
384 | 300 | b15_hohh_income | TRUE | log normal distribution outlier |
517 | 300 | b15_hohh_income | TRUE | log normal distribution outlier |
710 | 24000 | b15_hohh_income | TRUE | log normal distribution outlier |
742 | 400 | b15_hohh_income | TRUE | log normal distribution outlier |
1126 | 50000 | b15_hohh_income | TRUE | log normal distribution outlier |
1384 | 400 | b15_hohh_income | TRUE | log normal distribution outlier |
1399 | 200 | b15_hohh_income | TRUE | log normal distribution outlier |
1417 | 400 | b15_hohh_income | TRUE | log normal distribution outlier |
5 | 20 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
89 | 5000 | f2_spend_on_utilities | TRUE | log normal distribution outlier |
5.7 Data cleaning
5.7.1 Re-generate text column for select multiple questions
Description: During data cleaning (when recoding the other options for example), there is a high chance that the dummies and text columns become inconsistent. That can cause issues when analyzing the data if both the dummies and text columns are used. To avoid that, the following function can be used to regenerate and update the text columns based on the dummies columns.
Usage: 1- Create a list of the questions to regenerate:
select_multiple_questions = c("b10_hohh_vulnerability","f17_store_drinking_water","b11_hohh_chronic_illness")
2- Define the function
generate_from_binaries <- function(data,select_multiple_questions) {
do.call("cbind",map(select_multiple_questions,function(question_name,data) {
df <- data %>% select(grep(paste0("^",question_name,"\\."), names(data))) ## Subseting the dataset to include only dummies related to one question
df <- mutate_all(df,as.numeric) ## Making sure the dummies columns are numerical
colnames(df) <- gsub(paste0(question_name,"\\."),"",colnames(df)) ## Keeping only the options names in the colnames
df <- map2_df(df, names(df), ~ replace(.x, .x==1, .y) %>% replace(. == 0, NA)) ## Replacing a cell with a value of '1' with its respective column name and '0' with NA
df %>%
unite(!!sym(question_name),names(df),remove=TRUE,na.rm=TRUE,sep=" ") %>% ## concatenate the columns using " " as a seperator
as.data.frame() %>% ## Convert to dataframe
mutate_all(list(~na_if(.,""))) ## replace empty string with NA
},data))
}
3- Call the function the generate the columns and replace directely in the data set using replace_columns
5.7.2 Clean data base on cleaning log
Required Libraries: Base R Packages
The function “incorporate_logs” applies cleaning log on raw data. It gets cleaning log in a format that must contain 5 mandatory columns including uuid, question.name, old.value, new.value, and changed. as result it would return the cleaned data frame, master cleaning log (logs that are both applied and not applied on data), the version of cleaning log that was applied on raw data, a report of duplicate logs, and logs that their question name or uuid is not available in raw data frame.
# Creating a dummy data set
city_name <- c("kabul", "new dlehi", "peshawar","new york")
population <- c(4430000, 21750000, 1970000, 8419000)
uuid <- c("eae001", "eae002", "eae003","eae004")
my_df <- data.frame(city_name, population, uuid)
# Creating a dummy cleaning log
old.value <- c("kabul", 4430000, "europe","kabul")
question.name <- c("city_name", "population", "continent","city_name")
new.value <- c("moscow",11920000,"asia","moscow")
uuid <- c("eae001","eae001","eae001","eae001")
changed <- c("yes","yes","yes","yes")
cleaning_log <- data.frame(uuid,question.name, old.value, new.value, changed)
### declaring the function
incorporate_logs = function(raw_df, cleaning_log, df_group_seprator = "/", uuid_col = "_uuid"){
error <- "Error!
Execution was haulted due to one of the following issues:
- Cleaning log is empty
- There is no changes in data (in cleaning log changed property for all logs is set to 'NO')
- One/morethan one of the (uuid, question.name, old.value, new.value, and changed) columns are missing or column names are misspelled
"
if (sum(grepl("uuid|question.name|old.value|new.value|changed", names(cleaning_log)))==5) {
`%nin%` = Negate(`%in%`)
# changing the group seprator (operator) from "/" to "."
names(raw_df) <- gsub(df_group_seprator,".",names(raw_df))
cleaning_log$question.name <- gsub(df_group_seprator,".", cleaning_log$question.name)
# subsetting logs that their question is not (available) in dataset
logs_not_in_rawdf <- cleaning_log[cleaning_log$question.name %nin% names(raw_df) | cleaning_log$uuid %nin% raw_df[[uuid_col]], ]
logs_not_in_rawdf <- logs_not_in_rawdf[logs_not_in_rawdf$changed %in% c("yes","Yes"),]
# subsetting logs that their question exist in raw data frame and its new value is changed
cleaning_log.changed <- cleaning_log[cleaning_log$question.name %in% names(raw_df) & cleaning_log$uuid %in% raw_df[[uuid_col]], ]
cleaning_log.changed <- cleaning_log.changed[cleaning_log.changed$changed %in% c("yes","Yes"),]
# capturing duplicate logs
cleaning_log$unique_key <- paste(cleaning_log$uuid, cleaning_log$question.name, sep = "_")
duplicate_logs <- cleaning_log[(duplicated(cleaning_log$unique_key) | duplicated(cleaning_log$unique_key, fromLast = T)),]
# cleaning master cleaning log
cleaning_log <- cleaning_log[cleaning_log$uuid %nin% logs_not_in_rawdf$uuid | cleaning_log$question.name %nin% logs_not_in_rawdf$question.name,]
cleaning_log <- cleaning_log[!is.na(cleaning_log$question.name), ]
cleaning_log <- cleaning_log[!is.na(cleaning_log$uuid), ]
raw_df_valid <- raw_df
if (nrow(cleaning_log.changed)>0) {
# Apply cleaning log on raw data
for (rowi in 1:nrow(cleaning_log.changed)){
uuid_i <- cleaning_log.changed$uuid[rowi]
var_i <- cleaning_log.changed$question.name[rowi]
old_i <- cleaning_log.changed$old.value[rowi]
new_i <- cleaning_log.changed$new.value[rowi]
if(class(raw_df_valid[[var_i]]) == "character"){
new_i <- as.character(new_i)
}else if(class(raw_df_valid[[var_i]]) == "numeric"){
new_i <- as.numeric(new_i)
}else if(class(raw_df_valid[[var_i]]) == "logical"){
new_i <- as.integer(new_i)
}else if(class(raw_df_valid[[var_i]]) == "integer"){
new_i <- as.integer(new_i)
}
# Find the variable according to the row of the cleaning log
raw_df_valid[raw_df_valid[[uuid_col]] == uuid_i, var_i] <- new_i
print(paste(rowi,"uuid:", uuid_i, "Old value:", old_i, "changed to", new_i, "for", var_i))
}
return(list(cleaned_df = raw_df_valid, cleaning_log.applied = cleaning_log.changed, logs_not_in_rawDF = logs_not_in_rawdf, duplicate_logs = duplicate_logs, master_cleaning_log = cleaning_log))
}else{
cat(error)
return(list(cleaned_df = raw_df_valid, cleaning_log.applied = cleaning_log.changed,logs_not_in_rawdf = logs_not_in_rawdf))
}
}else{
cat(error)
}
}
### Applying the function to data frame
incorprated_logs <- incorporate_logs(my_df, cleaning_log, uuid_col = "uuid")
## [1] "1 uuid: eae001 Old value: kabul changed to moscow for city_name"
## [1] "2 uuid: eae001 Old value: 4430000 changed to 11920000 for population"
## [1] "3 uuid: eae001 Old value: kabul changed to moscow for city_name"
cleaned_data <- incorprated_logs$cleaned_df
master_cleaning_log <- incorprated_logs$master_cleaning_log
logs_not_in_rawDf <- incorprated_logs$logs_not_in_rawDF
cleaning_log.applied <- incorprated_logs$cleaning_log.applied
duplicate_log <- incorprated_logs$duplicate_logs
city_name | population | uuid |
---|---|---|
moscow | 11920000 | eae001 |
new dlehi | 21750000 | eae002 |
peshawar | 1970000 | eae003 |
new york | 8419000 | eae004 |
uuid | question.name | old.value | new.value | changed | unique_key | |
---|---|---|---|---|---|---|
1 | eae001 | city_name | kabul | moscow | yes | eae001_city_name |
2 | eae001 | population | 4430000 | 11920000 | yes | eae001_population |
4 | eae001 | city_name | kabul | moscow | yes | eae001_city_name |
uuid | question.name | old.value | new.value | changed | |
---|---|---|---|---|---|
3 | eae001 | continent | europe | asia | yes |
uuid | question.name | old.value | new.value | changed | |
---|---|---|---|---|---|
1 | eae001 | city_name | kabul | moscow | yes |
2 | eae001 | population | 4430000 | 11920000 | yes |
4 | eae001 | city_name | kabul | moscow | yes |
uuid | question.name | old.value | new.value | changed | unique_key | |
---|---|---|---|---|---|---|
1 | eae001 | city_name | kabul | moscow | yes | eae001_city_name |
4 | eae001 | city_name | kabul | moscow | yes | eae001_city_name |
5.8 Data cleaning - miscellaneous
5.9 Translation using Microsoft API
These functions will allow you to find specific vectors that needs to be translated in your data and automatically translate them using the Microsoft Azure Translator API.
API instances are setup at mission request and a normal procurement process applies. Once purchased, HQ hands over the API to the mission to configure and manage.
- Find Responses
This function takes raw dataframe and find all the responses for a given set of questions.
find.responses <- function(data, questions, values_to="response.uk"){
#' Look up a raw Kobo dataframe to find all responses to a given set of questions.
#'
#' The set of `questions` needs to contain all columns for translation which will be used to look up `data`.
#' The input `data` needs to contain a column "uuid"
#' The vector containing found responses is stored in column specified by parameter `values_to`.
#'
#' Be warned: all responses will be converted to character.sou
#' @param values_to Name of the column in which found responses will be stored.
#' @returns A dataframe containing columns "uuid", "question.name", and the column specified by `values_to`. Additionally, "loop_index" if `is.loop` is TRUE.
#' @example
#' q.db <- data.frame(name = c("age", "occupation"))
#' raw.data <- data.frame(age = c(21,32), occupation = c("cook", "train conductor"), uuid = c("abc","def"))
#' find.responses(raw.data, q.db, "responses")
# list of choices for each list_name (from TOOL_CHOICES)
list.choices <- tool.choices %>% filter(!is.na(list_name)) %>% group_by(list_name) %>%
mutate(choices=paste(name, collapse=";\n"),
choices.label=paste(!!sym(label_colname), collapse=";\n")) %>%
summarise(choices=choices[1], choices.label=choices.label[1])
# list of choices for each question
select.questions <- tool.survey %>%
rename(q.label=label_colname) %>%
select(type, name, q.label) %>%
mutate(q.type=as.character(lapply(type, function(x) return(str_split(x, " ")[[1]][1]))),
list_name=as.character(lapply(type, function(q_type){
#' finds the choice list for a question basing on its type
q_type.1 <- str_split(q_type, " ")[[1]]
if (length(q_type.1)==1) return(NA)
else return(q_type.1[2])
}))) %>%
filter(list_name!="NA" & list_name!="group" & list_name!="repeat") %>%
left_join(list.choices, by="list_name") %>%
filter(!is.na(choices))
# create a data frame with the questions selected
question.db <- tool.survey %>% filter(name %in% questions) %>%
rename(label=label_colname) %>%
select("name", "label", "relevant") %>%
mutate(ref.name=as.character(lapply(relevant, function(x) {
x.1 <- str_split(x, "\\{")[[1]][2]
return(str_split(x.1,"\\}")[[1]][1])
}))) %>%
left_join(select(select.questions, "name", "q.type", "q.label", "list_name", "choices", "choices.label"),
by=c("ref.name"="name")) %>%
rename(ref.label=q.label, ref.type=q.type) %>%
mutate(full.label=paste0(ref.label, " - ", label)) %>%
select(name, ref.name, full.label, ref.type, choices, choices.label)
if(nrow(question.db) == 0){
warning("questions is empty - returning an empty dataframe.")
return(data.frame())
}
if(nrow(data) == 0){
warning("data is empty - returning an empty dataframe.")
return(data.frame())
}
responses <- data %>%
select(c("uuid", any_of(question.db$name))) %>%
pivot_longer(cols = any_of(question.db$name),
names_to="question.name", values_to=values_to,
values_transform = as.character) %>%
filter(!is.na(!!sym(values_to))) %>%
select(uuid, question.name, !!sym(values_to))
responses.j <- responses %>%
left_join(question.db, by=c("question.name"="name")) %>% dplyr::rename(name="question.name") %>%
left_join(select(data, uuid), by="uuid")
return(responses.j)
}
- Translate Responses
This function translate a vector from a given dataframe.
It will return the same dataframe as the find.responses function above but with a new column containing the translation. Also, it will return a logframe csv file in the same directory of the running script.
This function will require the remote package translateREACH
.
This package can be installed by:
install.packages(“devtools”) devtools::install_github(“REACH-WoU-Regional/translateR”)
translate.responses <- function(responses, values_from = "response.uk", language_codes = 'uk', target_lang = "en", microsoft.api.key = NULL, threshold = 200000){
#' Translate a vector from a given dataframe.
#'
#' The provided dataframe `responses` must contain the column `values_from` which will be used as input vector for the translation.
#' Also outputs informative logs to file named "translate_info.csv". Specify the target language using `target_lang` parameter
#'
#' Warning: If more than one source language code is provided, the entire translation WILL BE REPEATED. You are advised against that,
#' because we do not want to hit our monthly limits for the API.
#'
#' @param respones Dataframe containing a column which shall be translated.
#' @param values_from Name of the column from `responses` which shall be translated.
#' @param language_codes Character vector of two-letter language codes. The input vector will be translated from both of these languages.
#' @param target_lang Input vector will be translated into this language.
#' @param microsoft.api.key Character input of the microsoft.api.key.
#' @param threshold Input threshold to interrupt the user if the number of characters is exceeding 200,000 by default.
#' @returns The same dataframe as `responses`, but with a new column, containing the translation.
#' The column will be named according to the given source and target languages. By default, the output will be stored in column named 'response.en.from.uk'
if(is.null(microsoft.api.key)) stop("Please provide a microsoft.api.key while calling the function.")
info_df <- data.frame()
responses_batch <- data.frame()
temp_resp_whole <- data.frame()
start_time <- Sys.time()
# extract unique responses from the source dataframe
responses <- responses %>% mutate(resp_lower = str_to_lower(!!sym(values_from)))
input_vec <- responses %>% distinct(resp_lower) %>% pull(resp_lower)
# cleaning up html leftovers:
input_vec <- gsub("'", "'", input_vec)
# counts characters which will be translated
char_counter <- sum(str_length(input_vec))
# TODO: pause here, print the char_counter, and ask the user if the translation should go ahead
if (char_counter > threshold){
yes_no <- svDialogs::dlgInput(paste0("The number of characters exceeds ", threshold, ". Please enter [YES] if you would like to proceed or [NO] to kill:"), "YES or NO")$res
} else{
yes_no <- "YES"
}
batching <- svDialogs::dlgInput(paste0("How many batches would you like to split your translation (",char_counter," characters)? (please only integer)"), 0)$res
batching <- as.numeric(batching)
if(yes_no == "YES"){
if(length(input_vec) > 0){
for (code in language_codes) {
col_name <- paste0("response.",target_lang, ".from.",code)
temp_resp <- tibble(input_vec)
temp_resp[[col_name]] <- NA
temp_resp <- temp_resp[sample(1:nrow(temp_resp)),]
## create batches
temp_resp_batches <- split(temp_resp, factor(sort(rank(row.names(temp_resp))%%batching)))
progress.bar.title <- as.character(Sys.time())
pb <- tcltk::tkProgressBar(progress.bar.title, "Number of batches executed", 0, batching, 0, width = 600)
prog <- 1
for (temp_resp_batch in temp_resp_batches){
tcltk::setTkProgressBar(pb, prog, progress.bar.title, paste0("Number of batches executed: ", prog, " of ", batching,"\n",length(temp_resp_batch$input_vec)," responses will be translated from ",code," to ",target_lang, "\nThis means ",sum(str_length(temp_resp_batch$input_vec))," utf-8 characters."))
prog <- prog + 1
# actual translation:
result_vec <- NULL
result_vec <- try(translateR::translate(content.vec = temp_resp_batch$input_vec,
microsoft.api.key = microsoft.api.key,
microsoft.api.region = "switzerlandnorth",
source.lang = code, target.lang = target_lang))
if(inherits(result_vec,"try-error")) break
# checking the results
info_df <- rbind(info_df, data.frame(## DEBUGG IT HERE
"input_responses_num" = length(temp_resp_batch$input_vec),
"translated_characters_num" = sum(str_length(temp_resp_batch$input_vec)),
"language_from" = code,
"result_num" = length(result_vec),
"time_elapsed" = as.numeric(Sys.time() - start_time),
"date"=Sys.Date(),
"status"=NA))
if(is.null(result_vec)){
warning("Error while translating responses: result_vec is NULL\n")
info_df$status <- "error"
}else{
temp_resp_batch[[col_name]] <- gsub("'", "'", result_vec)
if(length(result_vec) == length(temp_resp_batch$input_vec)){
info_df$status <- "success"
# bind the translated and source dfs
temp_resp_whole <- rbind(temp_resp_whole,temp_resp_batch)
}else{
info_df$status <- "partial success"
}
}
}
close(pb)
if("partial success" %in% info_df$status){
svDialogs::msgBox("translate.responses: finished - PARTIAL SUCCESS?")
} else{
svDialogs::msgBox("translate.responses: finished - SUCCESS")
}
responses <- responses %>% left_join(temp_resp_whole, by = c("resp_lower" = "input_vec"))
}
}else{
warning("Nothing to be translated")
}
}
# dump info about the results of translation
log_filename <- "translate_info.csv"
if(file.exists(log_filename)) write.table(info_df, file = log_filename, append = T, row.names = F, col.names = F, sep = ',')
else write.table(info_df, file = log_filename, row.names = F, col.names = T, sep = ',')
responses <- responses %>% select(-resp_lower)
return(responses)
}
- Example: