# share-data-health.R
gc()
rm(list=ls())
setwd('C:/SHARE/R')
options(warn=0) 
options(error=utils::recover)
options(max.print=99999)
closeAllConnections() 

source('share-libraries.R')
source('share-functions.R')

########################################################################
# VARIABLES
###################################
vars 		= ""
varsno 	= "flag|_f$|ub|raw|dot$|v1$|v2$|v3$|12$|13$|14$|15$|16$|17$|18$|19$|20$|21$|22$|23$|24$|25$|26$|27$|28$|29$|30$"

# mergeid         str12   %12s                  Person identifier (fix across modules and waves)
# hhid1           str11   %11s                  Household identifier (wave 1)
# mergeidp1       str12   %12s                  Partner identifier (wave 1)
# coupleid1       str15   %15s                  Couple identifier (wave 1)
# country         byte    %14.0g     country    Country identifier
# language        byte    %44.0g     language   Language of questionnaire
# adl             byte    %10.0g     dkrf     * Number of limitations with activities of daily living (adl)
# adl2            byte    %18.0g     adl2       1+ adl limitations
# bmi             float   %28.0g     bmi        Body mass index
# bmi2            byte    %27.0g     bmi2       Bmi categories
# casp            byte    %10.0g     dkrf       CASP index for quality of life and well-being
# chronic2w1      byte    %20.0g     chronic2   2+ chronic diseases
# chronicw1       byte    %10.0g     dkrf     * Number of chronic diseases
# cusmoke         byte    %40.0g     cusmoke    Current smoking
# drinkin2        byte    %52.0g     drinkin2   Drinking more than 2 glasses of alcohol almost every or 5/6 days a week
# euro1           byte    %12.0g     dummi      Depression(part of EURO-D)
# euro2           byte    %12.0g     dummi      Pessimism (part of EURO-D)
# euro3           byte    %12.0g     dummi      Suicidality (part of EURO-D)
# euro4           byte    %12.0g     dummi      Guilt (part of EURO-D)
# euro5           byte    %12.0g     dummi      Sleep (part of EURO-D)
# euro6           byte    %12.0g     dummi      Interest (part of EURO-D)
# euro7           byte    %12.0g     dummi      Irritability (part of EURO-D)
# euro8           byte    %12.0g     dummi      Appetite (part of EURO-D)
# euro9           byte    %12.0g     dummi      Fatigue (part of EURO-D)
# euro10          byte    %12.0g     dummi      Concentration (part of EURO-D)
# euro11          byte    %12.0g     dummi      Enjoyment (part of EURO-D)
# euro12          byte    %12.0g     dummi      Tearfulness (part of EURO-D)
# eurod           byte    %14.0g     eurod      Depression scale EURO-D - high is depressed
# eurodcat        byte    %10.0g     zero_one   EURO-D caseness
# gali            byte    %11.0g     gali       Limitations with activities - gali
# iadl            byte    %10.0g     dkrf     * Limitations with instrumental activities of daily living (iadl)
# iadl2           byte    %19.0g     iadl2      1+ iadl limitations
# maxgrip         byte    %10.0g     dkrf       Max. of grip strength measure
# mobilit2        byte    %10.0g     mobilit2   1+ mobility, arm function and fine motor limitations
# mobilit3        byte    %15.0g     mobilit3   3+ mobility, arm function and fine motor limitations
# mobility        byte    %10.0g     dkrf     * Mobility, arm function and fine motor limitations
# numeracy        byte    %10.0g     numeracy   Numeracy score: mathematical performance (percentage)
# orienti         byte    %10.0g     orienti    Orientation to date, month,year and day of week
# phactiv         byte    %45.0g     phactiv    Physical inactivity
# spheu           byte    %10.0g     spheu      Self-perceived health - european version
# spheu2          byte    %14.0g     spheu2     Spheu-less than good health
# sphus           byte    %10.0g     rate       Self-perceived health - us version
# sphus2          byte    %19.0g     sphus2     Sphus-less than very good health
# symptoms2w1     byte    %20.0g     symptom2   2+ symptoms
# symptomsw1      byte    %10.0g     dkrf     * Number of symptoms
# wspeed          float   %9.0g                 Walking speed
# wspeed2         byte    %25.0g     wspeed2    Walking speed: cut-off point
                                            # * indicated variables have notes


setwd('C:/SHARE/Data/sharew1')
d <- setDT(read.dta13(file = 'sharew1_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d1 <- f_wave(d, 'w1', 'mergeid')
	
setwd('C:/SHARE/Data/sharew2')
d <- setDT(read.dta13(file = 'sharew2_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d2 <- f_wave(d, 'w2', 'mergeid')

setwd('C:/SHARE/Data/sharew4')
d <- setDT(read.dta13(file = 'sharew4_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d4 <- f_wave(d, 'w4', 'mergeid')

setwd('C:/SHARE/Data/sharew5')
d <- setDT(read.dta13(file = 'sharew5_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d5 <- f_wave(d, 'w5', 'mergeid')

setwd('C:/SHARE/Data/sharew6')
d <- setDT(read.dta13(file = 'sharew6_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d6 <- f_wave(d, 'w6', 'mergeid')

setwd('C:/SHARE/Data/sharew7')
d <- setDT(read.dta13(file = 'sharew7_rel7-0-0_gv_health.dta'))
f_dt_NULL(d, varsno)  	
d7 <- f_wave(d, 'w7', 'mergeid')

################################################################################################################3
# MERGE WAVES
################################################################################################################3
rm(d)
d <- merge(d1, d2, by = "mergeid", all = TRUE)
d <- merge(d,  d4, by = "mergeid", all = TRUE)
d <- merge(d,  d5, by = "mergeid", all = TRUE)
d <- merge(d,  d6, by = "mergeid", all = TRUE)
d <- merge(d,  d7, by = "mergeid", all = TRUE)

f_cn(d,'')
f_cn(d, "_s7$|_w1$|_w2$|_w3$|_w4$|_w5$|_w6$|_w7$")
colnames(d) <- gsub("_s7$|_w1$|_w2$|_w3$|_w4$|_w5$|_w6$|_w7$", "", colnames(d))
f_cn(d, "w1$|w2$|w3$|w4$|w5$|w6$|w7$")
colnames(d) <- gsub("w1$|w2$|w3$|w4$|w5$|w6$|w7$", "", colnames(d))

f_cn(d,varsno)
f_dt_NULL(d, varsno)  	
unique(d, by="mergeid")
d <- setorder(d, mergeid)
d <- d[ !grepl('^no int', mergeid) ]

d
colnames(d)
	
################################################################################################################3
# SAVE DATA 
###############################################################################################################3
setwd('C:/SHARE/R/data')
	fwrite(d, file = "data-raw-health.csv", na=NA)
	dcz <- d[ grepl('CZ', mergeid) ]
	fwrite(dcz, file = "data-raw-health-CZ.csv", na=NA)
	cat("Data saved", "\n")
setwd('C:/SHARE/R')

	