/* QWB-SA v1.04 scoring algorithm written February 2005 by Janel Hanmer coding was checked against an independently written program by Shani Herrington*/ /* feilds named by the following scheme: QWB[section number][question letter][question part, if applicable] if the question part is yesterday, 2 days ago, 3 days ago the corresponding code is _1, _2, _3 for example, QWB1b = "speech problems such as stuttering, or being unable to speak clearly?" QWB2b_1 = "any eye pain, irritation, idscharge, or excessive sensitivity to light" yesterday QWB2b_2 = "any eye pain, irritation, idscharge, or excessive sensitivity to light" 2 days ago QWB2b_3 = "any eye pain, irritation, idscharge, or excessive sensitivity to light" 3 days ago a copy of the QWB-SA v1.04 is available at http://www.openhealthmeasures.org scoring is presumed to be 0=no and 1=yes */ /* scores are computed with any amount of missing data */ /*insert path location here */ data xyz; set 'C:\ . . .'; run; data xyz; set xyz; CPX1=0; CPX2=0; CPX3=0; MOB1=0; MOB2=0; MOB3=0; PAC1=0; PAC2=0; PAC3=0; SAC1=0; SAC2=0; SAC3=0; run; data xyz; set xyz; if QWB1l4=1 then CPX1=.066; if QWB1l5=1 then CPX1=.148; if QWB1l1=1 then CPX1=.153; if QWB3l_1=1 then CPX1=.160; if QWB2f_1=1 then CPX1=.178; if QWB1j=1 then CPX1=.187; if QWB1k=1 then CPX1=.187; if QWB2c_1=1 then CPX1=.189; if QWB3m_1=1 then CPX1=.201; if QWB1h=1 then CPX1=.204; if QWB2g_1=1 then CPX1=.204; if QWB2k_1=1 then CPX1=.208; if QWB3n_1=1 then CPX1=.223; if QWB1g=1 then CPX1=.225; if QWB1f=1 then CPX1=.233; if QWB3k_1=1 then CPX1=.255; if QWB1e=1 then CPX1=.256; if QWB2p_1=1 then CPX1=.259; if QWB2m_1=1 then CPX1=.260; if QWB2i_1=1 then CPX1=.271; if QWB1i=1 then CPX1=.274; if QWB2n_1=1 then CPX1=.278; if QWB3b_1=1 then CPX1=.286; if QWB2a_1=1 then CPX1=.293; if QWB3a_1=1 then CPX1=.296; if QWB1c2=1 then CPX1=.297; if QWB3h_1=1 then CPX1=.297; if QWB2h_1=1 then CPX1=.298; if QWB2d_1=1 then CPX1=.299; if QWB2v_1=1 then CPX1=.306; if QWB3i_1=1 then CPX1=.307; if QWB3f_1=1 then CPX1=.311; if QWB2s_1=1 then CPX1=.318; if QWB2u_1=1 then CPX1=.318; if QWB2w_1=1 then CPX1=.320; if QWB3d_1=1 then CPX1=.324; if QWB3c_1=1 then CPX1=.327; if QWB2l_1=1 then CPX1=.343; if QWB2e_1=1 then CPX1=.350; if QWB1a2=1 then CPX1=.358; if QWB1b=1 then CPX1=.358; if QWB2r_1=1 then CPX1=.365; if QWB2t_1=1 then CPX1=.365; if QWB2q_1=1 then CPX1=.369; if QWB2y_1=1 then CPX1=.377; if QWB3g_1=1 then CPX1=.378; if QWB2j_1=1 then CPX1=.386; if QWB2b_1=1 then CPX1=.389; if QWB1d=1 then CPX1=.408; if QWB1c1=1 then CPX1=.423; if QWB2o_1=1 then CPX1=.424; if QWB3e_1=1 then CPX1=.430; if QWB2x_1=1 then CPX1=.517; if QWB1a1=1 then CPX1=.523; if QWB3j_1=1 then CPX1=.559; run; data xyz; set xyz; if QWB1l4=1 then CPX2=.066; if QWB1l5=1 then CPX2=.148; if QWB1l1=1 then CPX2=.153; if QWB3l_2=1 then CPX2=.160; if QWB2f_2=1 then CPX2=.178; if QWB1j=1 then CPX2=.187; if QWB1k=1 then CPX2=.187; if QWB2c_2=1 then CPX2=.189; if QWB3m_2=1 then CPX2=.201; if QWB1h=1 then CPX2=.204; if QWB2g_2=1 then CPX2=.204; if QWB2k_2=1 then CPX2=.208; if QWB3n_2=1 then CPX2=.223; if QWB1g=1 then CPX2=.225; if QWB1f=1 then CPX2=.233; if QWB3k_2=1 then CPX2=.255; if QWB1e=1 then CPX2=.256; if QWB2p_2=1 then CPX2=.259; if QWB2m_2=1 then CPX2=.260; if QWB2i_2=1 then CPX2=.271; if QWB1i=1 then CPX2=.274; if QWB2n_2=1 then CPX2=.278; if QWB3b_2=1 then CPX2=.286; if QWB2a_2=1 then CPX2=.293; if QWB3a_2=1 then CPX2=.296; if QWB1c2=1 then CPX2=.297; if QWB3h_2=1 then CPX2=.297; if QWB2h_2=1 then CPX2=.298; if QWB2d_2=1 then CPX2=.299; if QWB2v_2=1 then CPX2=.306; if QWB3i_2=1 then CPX2=.307; if QWB3f_2=1 then CPX2=.311; if QWB2s_2=1 then CPX2=.318; if QWB2u_2=1 then CPX2=.318; if QWB2w_2=1 then CPX2=.320; if QWB3d_2=1 then CPX2=.324; if QWB3c_2=1 then CPX2=.327; if QWB2l_2=1 then CPX2=.343; if QWB2e_2=1 then CPX2=.350; if QWB1a2=1 then CPX2=.358; if QWB1b=1 then CPX2=.358; if QWB2r_2=1 then CPX2=.365; if QWB2t_2=1 then CPX2=.365; if QWB2q_2=1 then CPX2=.369; if QWB2y_2=1 then CPX2=.377; if QWB3g_2=1 then CPX2=.378; if QWB2j_2=1 then CPX2=.386; if QWB2b_2=1 then CPX2=.389; if QWB1d=1 then CPX2=.408; if QWB1c1=1 then CPX2=.423; if QWB2o_2=1 then CPX2=.424; if QWB3e_2=1 then CPX2=.430; if QWB2x_2=1 then CPX2=.517; if QWB1a1=1 then CPX2=.523; if QWB3j_2=1 then CPX2=.559; run; data xyz; set xyz; if QWB1l4=1 then CPX3=.066; if QWB1l5=1 then CPX3=.148; if QWB1l1=1 then CPX3=.153; if QWB3l_3=1 then CPX3=.160; if QWB2f_3=1 then CPX3=.178; if QWB1j=1 then CPX3=.187; if QWB1k=1 then CPX3=.187; if QWB2c_3=1 then CPX3=.189; if QWB3m_3=1 then CPX3=.201; if QWB1h=1 then CPX3=.204; if QWB2g_3=1 then CPX3=.204; if QWB2k_3=1 then CPX3=.208; if QWB3n_3=1 then CPX3=.223; if QWB1g=1 then CPX3=.225; if QWB1f=1 then CPX3=.233; if QWB3k_3=1 then CPX3=.255; if QWB1e=1 then CPX3=.256; if QWB2p_3=1 then CPX3=.259; if QWB2m_3=1 then CPX3=.260; if QWB2i_3=1 then CPX3=.271; if QWB1i=1 then CPX3=.274; if QWB2n_3=1 then CPX3=.278; if QWB3b_3=1 then CPX3=.286; if QWB2a_3=1 then CPX3=.293; if QWB3a_3=1 then CPX3=.296; if QWB1c2=1 then CPX3=.297; if QWB3h_3=1 then CPX3=.297; if QWB2h_3=1 then CPX3=.298; if QWB2d_3=1 then CPX3=.299; if QWB2v_3=1 then CPX3=.306; if QWB3i_3=1 then CPX3=.307; if QWB3f_3=1 then CPX3=.311; if QWB2s_3=1 then CPX3=.318; if QWB2u_3=1 then CPX3=.318; if QWB2w_3=1 then CPX3=.320; if QWB3d_3=1 then CPX3=.324; if QWB3c_3=1 then CPX3=.327; if QWB2l_3=1 then CPX3=.343; if QWB2e_3=1 then CPX3=.350; if QWB1a2=1 then CPX3=.358; if QWB1b=1 then CPX3=.358; if QWB2r_3=1 then CPX3=.365; if QWB2t_3=1 then CPX3=.365; if QWB2q_3=1 then CPX3=.369; if QWB2y_3=1 then CPX3=.377; if QWB3g_3=1 then CPX3=.378; if QWB2j_3=1 then CPX3=.386; if QWB2b_3=1 then CPX3=.389; if QWB1d=1 then CPX3=.408; if QWB1c1=1 then CPX3=.423; if QWB2o_3=1 then CPX3=.424; if QWB3e_3=1 then CPX3=.430; if QWB2x_3=1 then CPX3=.517; if QWB1a1=1 then CPX3=.523; if QWB3j_3=1 then CPX3=.559; run; data xyz; set xyz; if QWB6c_1=1 then MOB1=.031; if QWB5a_1=1 then MOB1=.089; run; data xyz; set xyz; if QWB6c_2=1 then MOB2=.031; if QWB5a_2=1 then MOB2=.089; run; data xyz; set xyz; if QWB6c_3=1 then MOB3=.031; if QWB5a_3=1 then MOB3=.089; run; data xyz; set xyz; if QWB7a_1=1 then PAC1=.072; if QWB7b_1=1 then PAC1=.072; if QWB7c_1=1 then PAC1=.072; if QWB7d_1=1 then PAC1=.072; if QWB7e_1=1 then PAC1=.072; if QWB7f_1=1 then PAC1=.072; if QWB7h_1=1 then PAC1=.102; if QWB7g_1=1 then PAC1=.163; if QWB7i_1=1 then PAC1=.163; run; data xyz; set xyz; if QWB7a_2=1 then PAC2=.072; if QWB7b_2=1 then PAC2=.072; if QWB7c_2=1 then PAC2=.072; if QWB7d_2=1 then PAC2=.072; if QWB7e_2=1 then PAC2=.072; if QWB7f_2=1 then PAC2=.072; if QWB7h_2=1 then PAC2=.102; if QWB7g_2=1 then PAC2=.163; if QWB7i_2=1 then PAC2=.163; run; data xyz; set xyz; if QWB7a_3=1 then PAC3=.072; if QWB7b_3=1 then PAC3=.072; if QWB7c_3=1 then PAC3=.072; if QWB7d_3=1 then PAC3=.072; if QWB7e_3=1 then PAC3=.072; if QWB7f_3=1 then PAC3=.072; if QWB7h_3=1 then PAC3=.102; if QWB7g_3=1 then PAC3=.163; if QWB7i_3=1 then PAC3=.163; run; data xyz; set xyz; if QWB8a_1=1 then SAC1=.054; if QWB8b_1=1 then SAC1=.054; if QWB8c_1=1 then SAC1=.054; if QWB5b_1=1 then SAC1=.096; run; data xyz; set xyz; if QWB8a_2=1 then SAC2=.054; if QWB8b_2=1 then SAC2=.054; if QWB8c_2=1 then SAC2=.054; if QWB5b_2=1 then SAC2=.096; run; data xyz; set xyz; if QWB8a_3=1 then SAC3=.054; if QWB8b_3=1 then SAC3=.054; if QWB8c_3=1 then SAC3=.054; if QWB5b_3=1 then SAC3=.096; run; data xyz; set xyz; Score1= 1 - CPX1 - MOB1 - PAC1 - SAC1; Score2= 1 - CPX2 - MOB2 - PAC2 - SAC2; Score3= 1 - CPX3 - MOB3 - PAC3 - SAC3; TotalScore= Score1 + Score2 + Score3; QWB= TotalScore/3; run;