library(tidyverse)
library(reshape2)
library(tidyr)
library(MMWRweek)
library(stringr)
#2018
country_iso='BFA'
file_name=paste(country_iso,'UNICEF_2018.csv',sep='_')
data=read.csv(file_name,fileEncoding = 'UTF-8-BOM',na.strings=c("","NA"))
data$ISO_A2=str_to_title(data$ISO_A2)
data$ISO_A3=ifelse(str_detect(data$ISO_A3,'CHR |CHU '),data$ISO_A3,paste(data$ISO_A3,'Health District'))

data=data[,!colnames(data)%in%c('Row.Labels')]
new_data=
  data%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        ISO_A3,
        na.rm=T,
        sep='::')%>%
  melt(id.vars="Location")%>%
  arrange(Location)%>%
  mutate(year=2018,
         epiweek=parse_number(as.character(variable),
                              locale=locale(grouping_mark=". ", decimal_mark=",")),
         TL=MMWRweek2Date(MMWRyear = year,
                          MMWRweek = epiweek,
                          MMWRday = 2),
         TR=TL+6,
         Primary=T,
         Phantom=F,
         Report="2018_weekly_csv_report")%>%
  rename(sCh=value)%>%
  select(Location,TL,TR,sCh,Primary,Phantom,Report)%>%
  subset(is.na(sCh)==F)

write.csv(new_data,paste0('OC_',file_name),na='',row.names = F)

#2019 sCh
file_name=paste(country_iso,'UNICEF_2019.csv',sep='_')
sCh_file_name=paste(country_iso,'UNICEF_2019_sCh.csv',sep='_')
sCh=read.csv(sCh_file_name,fileEncoding = 'UTF-8-BOM',na.strings=c("","NA"))
sCh$ISO_A2=str_to_title(sCh$ISO_A2)
sCh$ISO_A3=ifelse(str_detect(sCh$ISO_A3,'CHR '),sCh$ISO_A3,paste(sCh$ISO_A3,'Health District'))

sCh=sCh[,!colnames(sCh)%in%c('Row.Labels')]
new_sCh=
  sCh%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        ISO_A3,
        na.rm=T,
        sep='::')%>%
  melt(id.vars="Location")%>%
  arrange(Location)%>%
  mutate(year=2019,
         epiweek=parse_number(as.character(variable),
                              locale=locale(grouping_mark=". ", decimal_mark=",")),
         TL=MMWRweek2Date(MMWRyear = year,
                          MMWRweek = epiweek,
                          MMWRday = 2),
         TR=TL+6,
         Primary=T,
         Phantom=F,
         Report="2019_weekly_csv_report")%>%
  rename(sCh=value)%>%
  select(Location,TL,TR,sCh,Primary,Phantom,Report)  

#2019 deaths
death_file_name=paste(country_iso,'UNICEF_2019_deaths.csv',sep='_')
deaths=read.csv(death_file_name,fileEncoding = 'UTF-8-BOM',na.strings=c("","NA"))
deaths$ISO_A2=str_to_title(deaths$ISO_A2)
deaths$ISO_A3=ifelse(str_detect(deaths$ISO_A3,'CHR '),deaths$ISO_A3,paste(deaths$ISO_A3,'Health District'))

deaths=deaths[,!colnames(deaths)%in%c('Row.Labels')]
new_deaths=
  deaths%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        ISO_A3,
        na.rm=T,
        sep='::')%>%
  melt(id.vars="Location")%>%
  arrange(Location)%>%
  mutate(year=2019,
         epiweek=parse_number(as.character(variable),
                              locale=locale(grouping_mark=". ", decimal_mark=",")),
         TL=MMWRweek2Date(MMWRyear = year,
                          MMWRweek = epiweek,
                          MMWRday = 2),
         TR=TL+6,
         Primary=T,
         Phantom=F,
         Report="2019_weekly_csv_report")%>%
  rename(deaths=value)%>%
  select(Location,TL,TR,deaths,Primary,Phantom,Report)


new_data_2019=full_join(new_deaths,new_sCh,by=c('Location','TL','TR',"Primary","Phantom","Report"))%>%
  subset(!(is.na(deaths)&is.na(sCh)))

write.csv(new_data_2019,paste0('OC_',file_name),na='',row.names = F)

##create a sample of dataset to create new locations in the database
all_data=read.csv(paste0('OC_',file_name))
sample=all_data[which(all_data$TL=='2018-12-31'),]
head(sample)
write.csv(sample,'sample_for_locations.csv',row.names = F)
