clear all cd e:\chililabdata\data use individual sort individid save, replace use observation sort observeid save, replace use indmarstatus rename mar_sobserveid observeid sort observeid merge m:1 observeid using observation, keepusing(obs_entry_date) keep if _merge ==3 gen year = year( obs_entry_date/86400000) gen h = halfyear(obs_entry_date/86400000) gen round = yh(year,h) sort individid round gen period = round[_n+1]-round replace period = 109-round if individid!=individid[_n+1] expand period replace round = round-89 sort individid round by individid round: gen p= _n-1 replace round = round + p drop period p _merge tostring round, generate(rounds) replace rounds = "0" + rounds if strlen(rounds) == 1 gen individkey = individid + rounds sort individkey duplicates drop individkey, force sort individid merge m:1 individid using individual, keepusing(gender ethnicid) drop mar_episodeid observeid mar_eobserveid obs_entry_date year h _merge save rMarstatus, replace