library(tidyverse)
library(reshape2)
library(tidyr)
library(MMWRweek)

#2018
country_iso='GIN'
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=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,
         reporting_date="2018_weekly_csv_report")%>%
  rename(sCh=value)%>%
  select(Location,TL,TR,sCh,Primary,Phantom,reporting_date)%>%
  subset(is.na(sCh)==F)

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=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,
         reporting_date="2019_weekly_csv_report")%>%
  rename(sCh=value)%>%
  select(Location,TL,TR,sCh,Primary,Phantom,reporting_date)  

#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=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,
         reporting_date="2019_weekly_csv_report")%>%
  rename(deaths=value)%>%
  select(Location,TL,TR,deaths,Primary,Phantom,reporting_date)


new_data_2019=full_join(new_deaths,new_sCh,by=c('Location','TL','TR',"Primary","Phantom","reporting_date"))%>%
  subset(!(is.na(deaths)&is.na(sCh)))

write.csv(new_data_2019,paste0('OC_',file_name),na='',row.names = F)