/* coded by Janel Hanmer, July 2005 Updated 2007 after personal communication with John Brazier and Quality Metric about imputing level location Incorporated some code from Jenny Beuchner*/ /* This version of the SF-6D uses 11 questions from the SF-36 version 2. This code presumes they are numbered and coded as follows: sf3 = vigorous activities where 1="limited a lot" to 3="not limited at all" sf4 = moderate activities where 1="limited a lot" to 3="not limited at all" sf12 = bathing and dressing where 1="limited a lot" to 3="not limited at all" sf15 = physical limited work where 1="all of the time" to 5="none of the time" sf18 = emotional accomplish less where 1="all of the time" to 5="none of the time" sf21 = bodily pain where 1="none" to 6="very severe" sf22 = pain interferes with work where 1="not at all" to 5="extremely" sf24 = nervous where 1="all the time" to 5="none of the time" sf27 = energy where 1="all the time" to 5="none of the time" sf28 = downhearted and blue where 1="all the time" to 5="none of the time" sf32 = social activities where 1="all the time" to 5="none of the time" This code presumes that all missing, "don't know", and "refused" responses are coded as "." This code uses the Consistent model (Column 2, Table 4) from Brazier JE, Roberts J. The estimation of a preference-based measure of health from the SF-12. Medical Care. 2004; 42: 851-859 */ /* insert the location of your dataset below */ data SF6D; set 'C: . . .'; run; /* first, recode questions 15 and 18 to have 2 response categories instead of 5 */ data SF6D; set SF6D; If 05) then SFMental=.; IF (sf28<1 or sf28>5) then SFMental=.; SFVital=.; IF (sf27=1) then SFVital = 1 ; IF (sf27=2) then SFVital = 2 ; IF (sf27=3) then SFVital = 3 ; IF (sf27=4) then SFVital = 4 ; IF (sf27=5) then SFVital = 5 ; run; /*create MOST category if any dimention is at its worst state */ data SF6D; set SF6D; most=0; if SFPhys=4 or SFPhys=5 or SFPhys=6 or SFRole=3 or SFRole=4 or SFSocial=4 or SFSocial=5 or SFPain=5 or SFPain=6 or SFMental=4 or SFMental=5 or SFVital=4 or SFVital=5 then most=1; run; /*assign decriments based on level from the consistent model in table 4 and calcuate score*/ data SF6D; set SF6D; If (SFPhys=1) then pf1 = 0 ; IF (SFPhys=2) then pf1 = -.035 ; IF (SFPhys=3) then pf1 = -.035 ; IF (SFPhys=4) then pf1 = -.044 ; IF (SFPhys=5) then pf1 = -.056 ; If (SFPhys=6) then pf1 = -.117 ; If (SFRole=1) then rl1 = 0 ; IF (SFRole=2) then rl1 = -.053 ; IF (SFRole=3) then rl1 = -.053 ; IF (SFRole=4) then rl1 = -.053 ; IF (SFSocial=1) then sc1 = 0 ; IF (SFSocial=2) then sc1 = -.057 ; IF (SFSocial=3) then sc1 = -.059 ; IF (SFSocial=4) then sc1 = -.072 ; IF (SFsocial=5) then sc1 = -.087 ; If (SFPain=1) then pn1 = 0 ; IF (SFPain=2) then pn1 = -.042 ; IF (SFPain=3) then pn1 = -.042 ; IF (SFPain=4) then pn1 = -.065 ; IF (SFPain=5) then pn1 = -.102 ; If (SFPain=6) then pn1 = -.171 ; If (SFMental=1) then mh1 = 0 ; IF (SFMental=2) then mh1 = -.042 ; IF (SFMental=3) then mh1 = -.042 ; IF (SFMental=4) then mh1 = -.100 ; IF (SFMental=5) then mh1 = -.118 ; IF (SFVital=1) then v1 = 0 ; IF (SFVital=2) then v1 = -.071 ; IF (SFVital=3) then v1 = -.071 ; IF (SFVital=4) then v1 = -.071 ; IF (SFVital=5) then v1 = -.092 ; if most=0 then mst1 = 0; if most=1 then mst1 = -.061; SFIndex = 1 + pf1+rl1+sc1+pn1+mh1+v1+mst1 ; run; data sf6d; set sf6d; if pf1=. or rl1=. or sc1=. or pn1=. or mh1=. or v1=. or mst1=. then SFIndex=.; run;