library(tidyverse)
library(reshape2)
library(tidyr)
library(MMWRweek)
#2018
country_iso='TCD'
file_name=paste(country_iso,'UNICEF_2018.csv',sep='_')
data=read.csv(file_name,fileEncoding = 'UTF-8-BOM',na.strings=c("","NA"))
data$ISO_A1=trimws(data$ISO_A1,which = 'both')
data$ISO_A2=trimws(data$ISO_A2,which = 'both')
data[which(is.na(data$ISO_A2)==F),]$ISO_A2=paste(data[which(is.na(data$ISO_A2)==F),]$ISO_A2,'Health District')
data[which(data$ISO_A2=="(N'Djamena Centre Health District|N'Djamena Est Health District) Health District"),]$ISO_A2="(N'Djamena Centre Health District|N'Djamena Est Health District)"
data=data[,!colnames(data)%in%c('Row.Labels')]
new_data_2018=
  data%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        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,epiweek)%>%
  subset(is.na(sCh)==F)
new_data_2018$epiweek=paste0('2018-W',new_data_2018$epiweek)
write.csv(new_data_2018,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_A1=trimws(sCh$ISO_A1,which = 'both')
sCh$ISO_A2=trimws(sCh$ISO_A2,which = 'both')
sCh[which(is.na(sCh$ISO_A2)==F),]$ISO_A2=paste(sCh[which(is.na(sCh$ISO_A2)==F),]$ISO_A2,'Health District')
sCh[which(sCh$ISO_A2=="(N'Djamena Centre Health District|N'Djamena Est Health District) Health District"),]$ISO_A2="(N'Djamena Centre Health District|N'Djamena Est Health District)"
sCh=sCh[,!colnames(sCh)%in%c('Row.Labels')]
new_sCh=
  sCh%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        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,epiweek) %>%
  subset(is.na(sCh)==F)

#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_A1=trimws(deaths$ISO_A1,which = 'both')
deaths$ISO_A2=trimws(deaths$ISO_A2,which = 'both')
deaths[which(is.na(deaths$ISO_A2)==F),]$ISO_A2=paste(deaths[which(is.na(deaths$ISO_A2)==F),]$ISO_A2,'Health District')
deaths[which(deaths$ISO_A2=="(N'Djamena Centre Health District|N'Djamena Est Health District) Health District"),]$ISO_A2="(N'Djamena Centre Health District|N'Djamena Est Health District)"

deaths=deaths[,!colnames(deaths)%in%c('Row.Labels')]
new_deaths=
  deaths%>%
  unite(Location,
        who_region,
        Country,
        ISO_A1,
        ISO_A2,
        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,epiweek)%>%
  subset(is.na(deaths)==F)

new_data_2019=merge(new_deaths,new_sCh,by=c('Location','TL','TR',"Primary","Phantom","Report","epiweek"),all = TRUE)
new_data_2019=new_data_2019[which(is.na(new_data_2019$deaths)==F|is.na(new_data_2019$sCh)==F),]
new_data_2019$epiweek=paste0('2019-W',new_data_2019$epiweek)

write.csv(new_data_2019,paste0('OC_',file_name),na='',row.names = F)
