clear all set mem 800M cd data use observation sort observeid save observation, replace use indmarstatus keep individid marstatusid mar_sobserveid rename mar_sobserveid observeid sort observeid merge observeid using observation, nokeep keep (obs_de_date) keep if _merge ==3 global refdate = mdy(12,31,2011) drop if $refdate < obs_de_date gen year = year(obs_de_date) gen period = year($refdate )-year(obs_de_date ) +1 drop obs_de_date expand period sort individid year by individid year: gen p= _n-1 gen rYear = year + p sort individ rYear gen refyear = year($refdate ) sort individid year egen maxYear = max(year), by(individid rYear) sort individ rYear keep if year == maxYear