cap program drop SmokingCessation_intervene program define SmokingCessation_intervene syntax [varlist] [if] [in], cyr(integer) * Smoking Cessation Intervention * Changes probability of smoking now by asmoken marksample touse, zeroweight strok novarlist cap drop ltreat_now gen ltreat_now = treat_now replace ltreat_ever = treat_ever * Record Status before intervention cap drop old_smoken gen old_smoken = smoken * Update treatment status replace treat_now = (lsmoken == 1) & died == 0 if `touse' replace treat_effective = 0 if `touse' replace treat_ever = 1 if treat_now == 1 * Update the probabilities replace psmkstat3 = 1 - min((1 - psmkstat3)*asmoken, 1) if d_smkstat & treat_now replace treat_effective = 1 if normal(x_smkstat`cyr') < 1 - psmkstat3 & treat_now replace smoken = 0 if treat_effective == 1 end