/* Lundberg L, Johannesson M, Isacson DG, Borgquist L. The relationship between health-state utilities and the SF-12 in a general population. Med Decis Making. 1999 Apr-Jun;19(2):128-40. The program only includes the algorithm for rating scale reduced model, becuase this algorithm had a highest R2. By: Joanne Wu If you found a bug or would like to comment on this program, please email qfw@usc.edu */ **reverse sf12 items--> higher score better QOL**; RBP2=6-BP2; RGH1=6-GH1; RVT2=7-VT2; RMH3=7-MH3; *-- dummy variables for SF12 --*; **CREATE DUMMY VARIABLES FOR SF12 ITEMS**; **GH1, GENERAL HEALTH IS**; IF GH1=4 THEN GH_FAIR=1; ELSE IF GH1 NE . THEN GH_FAIR=0; IF GH1=3 THEN GH_GOOD=1; ELSE IF GH1 NE . THEN GH_GOOD=0; IF GH1=2 THEN GH_VGD=1; ELSE IF GH1 NE . THEN GH_VGD=0; IF GH1=1 THEN GH_EXCEL=1; ELSE IF GH1 NE . THEN GH_EXCEL=0; LABEL GH_FAIR='GENERAL HEALTH=FAIR' GH_GOOD='GENERAL HEALTH=GOOD' GH_VGD='GENERAL HEALTH=VERY GOOD' GH_EXCEL='GENERAL HEALTH=EXCELLENT'; **PF02, HEALTH LIMIT MODERATE ACTIVITIES**; IF PF02=2 THEN MACT_LIT=1; ELSE IF PF02 NE . THEN MACT_LIT=0; IF PF02=3 THEN MACT_NOT=1; ELSE IF PF02 NE . THEN MACT_NOT=0; LABEL MACT_LIT='LIMITS MODERATE ACT=A LITTLE' MACT_NOT='LIMITS MODERATE ACT=NOT AT ALL'; **PF04, HEALTH LIMITS CLIMBING FLIGHTS OF STAIRS**; IF PF04=2 THEN CLB_LIT=1; ELSE IF PF04 NE . THEN CLB_LIT=0; IF PF04=3 THEN CLB_NOT=1; ELSE IF PF04 NE . THEN CLB_NOT=0; LABEL CLB_LIT='HLTH LIMITS CLIMB STAIRS=A LITTLE' CLB_NOT='HLTH LIMIT CLIMB STAIRS=NOT AT ALL'; **RP2, PHYSICAL HEALTH LIMITS ACCOMPLISHED LESS THAN LIKE**; IF RP2=2 THEN PACC_NO=1; ELSE IF RP2 NE . THEN PACC_NO=0; LABEL PACC_NO='ACCOMPLISHED < LIKE=NO'; **RP3, PHYSICAL HEALTH LIMITS IN THE KIND OF WORK**; IF RP3=2 THEN LTWK_NO=1; ELSE IF RP3 NE . THEN LTWK_NO=0; LABEL LTWK_NO='LIMITED IN KIND OF WORK=NO'; **RE2, EMOTIONAL HEALTH LIMITS ACCOMPLISHED LESS THAN LIKE**; IF RE2=2 THEN EACC_NO=1; ELSE IF RE2 NE . THEN EACC_NO=0; LABEL EACC_NO='EMOTION HLTH LIMIT ACCOMPLISH=NO'; **RE3, EMOTIONAL HEALTH LIMITS DO WARK AS CAREFULLY**; IF RE3=2 THEN CARE_NO=1; ELSE IF RE3 NE . THEN CARE_NO=0; LABEL CARE_NO="DIDN'T DO WOEK AS CAREFULLY=NO"; **SF2, INTERFERE WITH SOCIAL ACTIVITIES**; IF SF2=2 THEN HLSA_MST=1; ELSE IF SF2 NE . THEN HLSA_MST=0; IF SF2=3 THEN HLSA_SME=1; ELSE IF SF2 NE . THEN HLSA_SME=0; IF SF2=4 THEN HLSA_LIT=1; ELSE IF SF2 NE . THEN HLSA_LIT=0; IF SF2=5 THEN HLSA_NON=1; ELSE IF SF2 NE . THEN HLSA_NON=0; LABEL HLSA_LIT='INTERFERE SOCIAL ACTIVITIES=MOST' HLSA_SME='INTERFERE SOCIAL ACTIVITIES=SOME' HLSA_LIT='INTERFERE SOCIAL ACTIVITIES=LITTLE' HLSA_NON='INTERFERE SOCIAL ACTIVITIES=NONE'; **BP2, PAIN INTERFERED WITH WORK**; IF BP2=4 THEN PAIN_QUT=1; ELSE IF BP2 NE . THEN PAIN_QUT=0; IF BP2=3 THEN PAIN_MOD=1; ELSE IF BP2 NE . THEN PAIN_MOD=0; IF BP2=2 THEN PAIN_LIT=1; ELSE IF BP2 NE . THEN PAIN_LIT=0; IF BP2=1 THEN PAIN_NOT=1; ELSE IF BP2 NE . THEN PAIN_NOT=0; LABEL PAIN_QUT='PAIN INTERFERED WK=QUITE A BIT' PAIN_MOD='PAIN INTERFERED WK=MODERATELY' PAIN_LIT='PAIN INTERFERED WK=A LITTLE BIT' PAIN_NOT='PAIN INTERFERED WK=NOT AT ALL'; **MH3, FELT CALM AND PEACEFUL**; IF MH3=5 THEN CALM_LIT=1; ELSE IF MH3 NE . THEN CALM_LIT=0; IF MH3=4 THEN CALM_SME=1; ELSE IF MH3 NE . THEN CALM_SME=0; IF MH3=3 THEN CALM_GOD=1; ELSE IF MH3 NE . THEN CALM_GOD=0; IF MH3=2 THEN CALM_MST=1; ELSE IF MH3 NE . THEN CALM_MST=0; IF MH3=1 THEN CALM_ALL=1; ELSE IF MH3 NE . THEN CALM_ALL=0; LABEL CALM_LIT='FELT CALM AND PEACEFUL=LITTLE' CALM_SME='FELT CALM AND PEACEFUL=SOME' CALM_GOD='FELT CALM AND PEACEFUL=GOOD BIT' CALM_MST='FELT CALM AND PEACEFUL=MOST' CALM_ALL='FELT CALM AND PEACEFUL=ALL'; **VT2, DID YOU HAVE A LOT OF ENERGY**; IF VT2=5 THEN ENGY_LIT=1; ELSE IF VT2 NE . THEN ENGY_LIT=0; IF VT2=4 THEN ENGY_SME=1; ELSE IF VT2 NE . THEN ENGY_SME=0; IF VT2=3 THEN ENGY_GOD=1; ELSE IF VT2 NE . THEN ENGY_GOD=0; IF VT2=2 THEN ENGY_MST=1; ELSE IF VT2 NE . THEN ENGY_MST=0; IF VT2=1 THEN ENGY_ALL=1; ELSE IF VT2 NE . THEN ENGY_ALL=0; LABEL ENGY_LIT='YOU HAVE ENERGY=LITTLE' ENGY_SME='YOU HAVE ENERGY=SOME' ENGY_GOD='YOU HAVE ENERGY=GOOD BIT' ENGY_MST='YOU HAVE ENERGY=MOST' ENGY_ALL='YOU HAVE ENERGY=ALL'; **MH4, HAVE YOU FELT DOWNHEARTED AND BLUE**; IF MH4=6 THEN BLUE_NON=1; ELSE IF MH4 NE . THEN BLUE_NON=0; IF MH4=5 THEN BLUE_LIT=1; ELSE IF MH4 NE . THEN BLUE_LIT=0; IF MH4=4 THEN BLUE_SME=1; ELSE IF MH4 NE . THEN BLUE_SME=0; IF MH4=3 THEN BLUE_GOD=1; ELSE IF MH4 NE . THEN BLUE_GOD=0; IF MH4=2 THEN BLUE_MST=1; ELSE IF MH4 NE . THEN BLUE_MST=0; LABEL BLUE_NON='DOWNHEARTED ADN BLUE=LITTLE' BLUE_LIT='DOWNHEARTED ADN BLUE=ALL' BLUE_SME='DOWNHEARTED ADN BLUE=SOME' BLUE_GOD='DOWNHEARTED ADN BLUE=GOOD BIT' BLUE_MST='DOWNHEARTED ADN BLUE=MOST'; /**utility from Lundberg:REDUCED RATING SCALE MODEL**/ if 0=80 then age80=1; else if age ne . then age80=0; Lundberg= 0.3491 +0*age29 +0.0064*age39 -0.0110*age49 -0.0169*age59 -0.0283*age69 -0.0542*age79 -0.0815*age80 +0.0154*female +0.0232*MACT_LIT +0.0811*MACT_NOT +0.0227*CLB_LIT +0.0635*CLB_NOT +0.0173*PACC_NO +0.0166*LTWK_NO +0.0519*PAIN_QUT +0.0921*PAIN_MOD +0.1190*PAIN_LIT +0.136*PAIN_NOT +0.0222*ENGY_LIT +0.0454*ENGY_SME +0.0506*ENGY_GOD +0.0764*ENGY_MST +0.1020*ENGY_ALL +0.0474*HLSA_MST +0.0684*HLSA_SME +0.0850*HLSA_LIT +0.0992*HLSA_NON +0.0014*CARE_NO +0.0041*CALM_LIT +0.0041*CALM_SME +0.0093*CALM_GOD +0.0244*CALM_MST +0.0356*CALM_ALL +0.0512*BLUE_LIT +0.0382*BLUE_SME +0.0035*BLUE_GOD +0.0035*BLUE_MST +0.0539*BLUE_NON; label Lundberg='Lundberg-VAS: reduced VAS model';