/************************************************************************************************ ******** This SAS program is used to: ******** ******** Calculate PCS MCS scores in mail survey mode for cohorts 1-12 in input dataset ******** ******** Calculate 8 scales from rescored HOS SF-36 and VR-12 items; ******** ******** Obtain rescored SF-36 items that match with corresponding VR-12 items; ******** ******** Calculate adjusted PCS MCS, 8 scales and VR-12/SF-12 items by phone, proxy, ******** ******** phone/proxy, and Chinese, Spanish languages and save the results in new ******** ******** dataset AdjustedScores_PPL ******** ************************************************************************************************/ /************************************************************************************************ ********* A. Generate Norm 90 PCS MCS scores in mail survey mode for cohorts 1 to 12 ******** ********* For VR-12 (cohort 9-12 and cohort 7-8 follow up) – Recalculate scores with mail coefficients ******** ********* For SF-36 (cohort 1-6 and cohort 7-8 baseline) – Use embedded SF12 (from SF-36) missing ******** ********* imputed norm 90 scores at mail survey mode ******** ************************************************************************************************/ /********************************************************************************************* * For VR-12: Users need to edit following two lines of code: * 1. Provide the path of the input data file and coefficients files * ( pcs90_vr12_mar14_native_mail and mcs90_vr12_mar14_native_mail are stored in the * same directory with input dataset) ; * 2. Provide the path of scale.sas file that includes macro scale to impute VR-12 PCS MCS scores *********************************************************************************************/ LIBNAME pbgh 'C:\NCI Project\data'; %INCLUDE 'C:\NCI Project\Program\scale.sas'; OPTION nofmterr; /********************************************************************************************* * Provide input dataset name that have combined SF-36 and VR-12 data cohorts * Provide output dataset name that will save the adjusted scale scores and SF-12 items *********************************************************************************************/ %Let inDS = Noseer_ch1to12; %Let outDS = AdjustedScores_PPL; /******************************************************************************************** * Calculate norm 90 mail survey mode PCS MCS scores for input dataset Noseer_ch1to12 * * For SF-36: Use embedded SF-12 (from SF-36) missing imputed norm 90 scores * at mail survey mode, which are PCS12 and MCS12 in the input dataset. * Because PCS12 MCS12 had been corrected for phone effect (subtracted 1.9 from PCS, * 4.5 from MCS), so this correction need to be undone. * For VR-12: Use MRE missing imputation algorithm to impute VR-12 PCS MCS scores for all * phone survey sample with mail survey coefficients pcs90_vr12_mar14_native_mail and * mcs90_vr12_mar14_native_mail. *******************************************************************************************/ DATA VR12Cohorts; SET pbgh.&inDS; PF02=MODACT; PF04=CLMBSV; VRP2=vrpaccl; VRP3=vrpwork; VRE2=vrmaccl; VRE3=vrmwork; BP2=PNINTF; GH1=GENHTH; SF2=SCLACT; VT2=ENERGY; MH3=PCEFUL; MH4=BLSAD; IF ((srvtype=1 AND cohort >=9) OR (srvtype=2 AND cohort >=7)); KEEP linkID cohort srvtype srvdsp PF02 PF04 VRP2 VRP3 BP2 GH1 VT2 SF2 VRE2 VRE3 MH3 MH4; RUN; /****************************************************************************************** * Input dataset has to include SF-12 items with following variable names: * GH1 PF02 PF04 VRP2 VRP3 VRE2 VRE3 BP2 MH3 VT2 MH4 SF2 * Transform SF-12 items into scales of 0-100 points ******************************************************************************************/ DATA SF12data; SET VR12Cohorts; IF GH1=1 THEN gh1x=100; IF GH1=2 THEN gh1x=85 ; IF GH1=3 THEN gh1x=60; IF GH1=4 THEN gh1x=35 ; IF GH1=5 THEN gh1x=0; pf02x = (PF02-1)*50; pf04x = (PF04-1)*50; rp2x = (5-VRP2)*25; rp3x = (5-VRP3)*25; re2x = (5-VRE2)*25; re3x = (5-VRE3)*25; bp2x = (5-BP2)*25; mh3x = (6-MH3)*20; vt2x = (6-VT2)*20; mh4x = (MH4-1)*20; sf2x = (SF2-1)*25; RUN; /**************************************************************************************** * Confirm that above data step were performed correctly * The correlation coefficients for the x variables should all be positive, * and each variable spans a 0-100 range ***************************************************************************************/ PROC CORR DATA=SF12data; VAR gh1x pf02x pf04x rp2x rp3x re2x re3x bp2x mh3x vt2x mh4x sf2x; RUN; /*************************************************************************************** * Impute norm 90 VR-12 scores for the mail survey mode for cohorts 9-12 and 7-8 follow-up ***************************************************************************************/ DATA one; SET SF12data; key=0; mergekey=_n_; RUN; DATA temp1; SET one; RUN; %scale(PCS_m, pcs90_vr12_mar14_native_mail, gh1x pf02x pf04x rp2x rp3x re2x re3x bp2x mh3x vt2x mh4x sf2x, mergekey); %scale(MCS_m, mcs90_vr12_mar14_native_mail, gh1x pf02x pf04x rp2x rp3x re2x re3x bp2x mh3x vt2x mh4x sf2x, mergekey); /************************************************************************************* * Merge VR-12 mail survey norm90 PCS MCS results into original dataset. * Calculate embedded SF-12 (from SF-36) missing imputed norm 90 scores at mail survey mode *************************************************************************************/ DATA NewPCSMCS; SET one ; KEEP linkID cohort srvtype PCS_m MCS_m; RUN; PROC SORT; BY linkID cohort srvtype; RUN; PROC SORT DATA=pbgh.&inDS; by linkID cohort srvtype; RUN; DATA pbgh.&inDS; MERGE pbgh.&inDS NewPCSMCS; BY linkID cohort srvtype; IF (srvtype=1 AND cohort <= 8) OR (srvtype=2 AND cohort <= 6) THEN DO; PCS_m = PCS12; MCS_m = MCS12; IF substr(srvdsp,1,1)='T' THEN DO; PCS_m = PCS_m + 1.9; MCS_m = MCS_m + 4.5; END; END; LABEL PCS_m='Norm90 PCS in Mail Survey Mode'; LABEL MCS_m='Norm90 MCS in Mail Survey Mode'; RUN; /************************************************************************************************ ********* B. Generate rescored HOS SF-36 and VR-12 items and 8 scales ******** ********* Calculate adjusted PCS MCS, 8 scales and VR-12/SF-12 items by phone, proxy, ******** ********* phone/proxy, and Chinese, Spanish languages offsets. ******** ********* Save the results in dataset AdjustedScores_PPL ******** ***********************************************************************************************/ DATA pbgh.&outDS; LENGTH GH PF SF BP RP RE VT MH PCS MCS PF2 PF4 RP2 RP3 BP2 GH1 VT2 SF2 RE2 RE3 MH3 MH4 8; SET pbgh.&inDS(drop=SF2 BP2); /********************************************************* * Calculate 8 SF-36 scales from rescored SF-36 items. Rescored SF-36 * items will not be kept in the output dataset ********************************************************/ IF (srvtype=1 AND cohort <= 8) OR (srvtype=2 AND cohort <= 6) THEN DO; IF NMISS(OF VIGACT, MODACT, LIFT, CLMBSV, CLMBON, BEND, WLKMI, WLKBKS, WLK1BK, BATHDR) = 0 THEN DO; PF = (SUM(OF VIGACT, MODACT, LIFT, CLMBSV, CLMBON, BEND, WLKMI, WLKBKS, WLK1BK, BATHDR)- 10)/(30-10) * 100; END; ELSE DO; IF VIGACT =1 THEN PF1=23.42; /* Vigorous Activities: Yes, Limited A Lot */ IF VIGACT =2 THEN PF1=103.96; /* Vigorous Activities: Yes Limited A Little */ IF VIGACT =3 THEN PF1=107.23; /* Vigorous Activities: No, Not Limited At All*/ IF MODACT =1 THEN PF2=5.91; /* Moderate Activities: Yes, Limited A Lot */ IF MODACT =2 THEN PF2=51.74; /* Moderate Activities: Yes Limited A Little */ IF MODACT =3 THEN PF2=95.72; /* Moderate Activities: No, Not Limited At All*/ IF LIFT =1 THEN PF3=12.40; /* Lifting or carrying groceries: Yes, Limited A Lot */ IF LIFT =2 THEN PF3=28.70; /* Lifting or carrying groceries: Yes Limited A Little */ IF LIFT =3 THEN PF3=92.89; /* Lifting or carrying groceries: No, Not Limited At All*/ IF CLMBSV =1 THEN PF4=11.26; /* Climbing several flights of stairs: Yes, Limited A Lot */ IF CLMBSV =2 THEN PF4=72.75; /* Climbing several flights of stairs: Yes Limited A Little */ IF CLMBSV =3 THEN PF4=95.81; /* Climbing several flights of stairs: No, Not Limited At All*/ IF CLMBON =1 THEN PF5=13.10; /* Climbing one flight of stairs: Yes, Limited A Lot */ IF CLMBON =2 THEN PF5=28.84; /* Climbing one flight of stairs: Yes Limited A Little */ IF CLMBON =3 THEN PF5=90.32; /* Climbing one flight of stairs: No, Not Limited At All*/ IF BEND =1 THEN PF6=-4.72; /* Bending, kneeling, or stooping: Yes, Limited A Lot */ IF BEND =2 THEN PF6=67.45; /* Bending, kneeling, or stooping: Yes Limited A Little */ IF BEND =3 THEN PF6=98.29; /* Bending, kneeling, or stooping: No, Not Limited At All*/ IF WLKMI =1 THEN PF7=16.94; /* Walking > 1 mile: Yes, Limited A Lot */ IF WLKMI =2 THEN PF7=80.50; /* Walking > 1 mile: Yes Limited A Little */ IF WLKMI =3 THEN PF7=94.30; /* Walking > 1 mile: No, Not Limited At All*/ IF WLKBKS =1 THEN PF8=14.54; /* Walking several blocks: Yes, Limited A Lot */ IF WLKBKS =2 THEN PF8=50.48; /* Walking several blocks: Yes Limited A Little */ IF WLKBKS =3 THEN PF8=93.01; /* Walking several blocks: No, Not Limited At All*/ IF WLK1BK =1 THEN PF9=11.58; /* Walking 1 block: Yes, Limited A Lot */ IF WLK1BK =2 THEN PF9=13.66; /* Walking 1 block: Yes Limited A Little */ IF WLK1BK =3 THEN PF9=86.80; /* Walking 1 block: No, Not Limited At All*/ IF BATHDR =1 THEN PF10=-28.72; /* Bathing or dressing: Yes, Limited A Lot */ IF BATHDR =2 THEN PF10=-28.72; /* Bathing or dressing: Yes Limited A Little */ IF BATHDR =3 THEN PF10=80.28; /* Bathing or dressing: No, Not Limited At All*/ PF = MEAN(OF PF1 PF2 PF3 PF4 PF5 PF6 PF7 PF8 PF9 PF10 ); END; IF NMISS(OF PCUTTM, PACMPL, PLMTKW, PDIFWK) = 0 THEN DO; RP = (SUM(OF PCUTTM, PACMPL, PLMTKW, PDIFWK)- 4)/(8-4) * 100; END; ELSE DO; IF PCUTTM =1 THEN RP1=-15.52; /* Physical Health Limiting Time Spent on Activities: Yes */ IF PCUTTM =2 THEN RP1=93.45; /* Physical Health Limiting Time Spent on Activities: No */ IF PACMPL =1 THEN RP2=6.56; /* Physical Health Limiting Amount Accomplished: Yes */ IF PACMPL =2 THEN RP2=105.35; /* Physical Health Limiting Amount Accomplished: No */ IF PLMTKW =1 THEN RP3=4.48; /* Physical Health Limiting the Kind of Activities: Yes */ IF PLMTKW =2 THEN RP3=100.28; /* Physical Health Limiting the Kind of Activities: No */ IF PDIFWK =1 THEN RP4=4.18; /* Physical Health Causing Difficulty Performing Activities: Yes */ IF PDIFWK =2 THEN RP4=99.14; /* Physical Health Causing Difficulty Performing Activities: No */ RP= MEAN(OF RP1 RP2 RP3 RP4); /* Mean of the items that are not missing */ END; IF NMISS(OF ECUTTM, EACMPL, ENTCRF) = 0 THEN DO; RE = (SUM(OF ECUTTM, EACMPL, ENTCRF)- 3)/(6-3) * 100; END; ELSE DO; IF ECUTTM =1 THEN RE1=-5.78; /* Emotional Problems Limiting Time Spent on Activities: Yes */ IF ECUTTM =2 THEN RE1=96.90; /* Emotional Problems Limiting Time Spent on Activities: No */ IF EACMPL =1 THEN RE2=12.90; /* Emotional Problems Limiting Amount Accomplished: Yes */ IF EACMPL =2 THEN RE2=103.70; /* Emotional Problems Limiting Amount Accomplished: No */ IF ENTCRF =1 THEN RE3=-7.43; /* Emotional Problems Limiting Carefulness: Yes */ IF ENTCRF =2 THEN RE3=98.38; /* Emotional Problems Limiting Carefulness: No */ RE= MEAN(OF RE1 RE2 RE3); /* Mean of the items that are not missing */ END; IF NMISS(OF SOCLMT, SCLACT) = 0 THEN DO; RSF1 = 6 - SOCLMT; SF = (SUM(OF RSF1, SCLACT)- 2)/(10-2) * 100; END; ELSE DO; IF SOCLMT=1 THEN SF1=99.92; /* Extent PH or EP Interfered with Social Activities: Not at All */ IF SOCLMT=2 THEN SF1=77.62; /* Extent PH or EP Interfered with Social Activities: Slightly */ IF SOCLMT=3 THEN SF1=52.10; /* Extent PH or EP Interfered with Social Activities: Moderately */ IF SOCLMT=4 THEN SF1=24.82; /* Extent PH or EP Interfered with Social Activities: Quite a bit */ IF SOCLMT=5 THEN SF1=-0.98; /* Extent PH or EP Interfered with Social Activities: Extremely */ IF SCLACT=1 THEN SF2=-2.62; /* Amount of Time PH or EP Interfered with Social Activities: All of the time*/ IF SCLACT=2 THEN SF2=26.04; /* Time PH or EP Interfered with Social Activities: Most of the time*/ IF SCLACT=3 THEN SF2=49.82; /* Time PH or EP Interfered with Social Activities: Some of the time*/ IF SCLACT=4 THEN SF2=70.35; /* Time PH or EP Interfered with Social Activities: A little of the time*/ IF SCLACT=5 THEN SF2=100.16; /* Time PH or EP Interfered with Social Activities: None of the time*/ SF= MEAN(OF SF1 SF2); /* Mean of the items that are not missing */ END; IF NMISS(OF PNMAGT, PNINTF) = 0 THEN DO; IF PNMAGT = 1 THEN RBP1 = 6; IF PNMAGT = 2 THEN RBP1 = 5.4; IF PNMAGT = 3 THEN RBP1 = 4.2; IF PNMAGT = 4 THEN RBP1 = 3.1; IF PNMAGT = 5 THEN RBP1 = 2.2; IF PNMAGT = 6 THEN RBP1 = 1; IF PNINTF = 1 AND PNMAGT = 1 THEN RBP2 = 6; IF PNINTF = 1 AND 2 LE PNMAGT LE 6 THEN RBP2 = 5; IF PNINTF = 2 AND 1 LE PNMAGT LE 6 THEN RBP2 = 4; IF PNINTF = 3 AND 1 LE PNMAGT LE 6 THEN RBP2 = 3; IF PNINTF = 4 AND 1 LE PNMAGT LE 6 THEN RBP2 = 2; IF PNINTF = 5 AND 1 LE PNMAGT LE 6 THEN RBP2 = 1; BP = (SUM(OF RBP1-RBP2)- 2)/(12-2) * 100; END; ELSE DO; IF PNMAGT=1 THEN BP1=99.34; /* Bodily Pain: None */ IF PNMAGT=2 THEN BP1=84.10; /* Bodily Pain: Very Mild*/ IF PNMAGT=3 THEN BP1=64.16; /* Bodily Pain: Mild */ IF PNMAGT=4 THEN BP1=39.00; /* Bodily Pain: Moderately */ IF PNMAGT=5 THEN BP1=18.34; /* Bodily Pain: Severe */ IF PNMAGT=6 THEN BP1=-4.92; /* Bodily Pain: Very Severe */ IF PNINTF=1 THEN BP2=94.47; /* Pain Interfering with Work: Not at All */ IF PNINTF=2 THEN BP2=52.10; /* Pain Interfering with Work: A little bit*/ IF PNINTF=3 THEN BP2=47.37; /* Pain Interfering with Work: Moderately */ IF PNINTF=4 THEN BP2=24.65; /* Pain Interfering with Work: Quite a bit */ IF PNINTF=5 THEN BP2=2.73; /* Pain Interfering with Work: Extremely */ BP= MEAN(OF BP1 BP2); /* Mean of the items that are not missing */ END; IF NMISS(OF FULPEP, ENERGY, WRNOUT, TIRED) = 0 THEN DO; RVT1 = 7- FULPEP; RVT2 = 7- ENERGY; VT = (SUM(OF RVT1,RVT2, WRNOUT, TIRED)- 4)/(24-4) * 100; END; ELSE DO; IF FULPEP=1 THEN VT1=97.76; /* Full of Pep: All of the time */ IF FULPEP=2 THEN VT1=86.18; /* Full of Pep: Most of the time */ IF FULPEP=3 THEN VT1=65.96; /* Full of Pep: A good bit of the time */ IF FULPEP=4 THEN VT1=52.22; /* Full of Pep: Some of the time */ IF FULPEP=5 THEN VT1=34.88; /* Full of Pep: A little of the time */ IF FULPEP=6 THEN VT1=-5.58; /* Full of Pep: None of the time */ IF ENERGY=1 THEN VT2=100.82; /* A lot of energy: All of the time */ IF ENERGY=2 THEN VT2=83.36; /* A lot of energy: Most of the time */ IF ENERGY=3 THEN VT2=64.57; /* A lot of energy: A good bit of the time */ IF ENERGY=4 THEN VT2=53.74; /* A lot of energy: Some of the time */ IF ENERGY=5 THEN VT2=32.52; /* A lot of energy: A little of the time */ IF ENERGY=6 THEN VT2=6.15; /* A lot of energy: None of the time */ IF WRNOUT=1 THEN VT3=0.01; /* Worn out: All of the time */ IF WRNOUT=2 THEN VT3=10.60; /* Worn out: Most of the time */ IF WRNOUT=3 THEN VT3=26.59 ; /* Worn out: A good bit of the time */ IF WRNOUT=4 THEN VT3=39.53 ; /* Worn out: Some of the time */ IF WRNOUT=5 THEN VT3=72.76; /* Worn out: A little of the time */ IF WRNOUT=6 THEN VT3=90.93; /* Worn out: None of the time */ IF TIRED=1 THEN VT4=3.52; /* Tired: All of the time */ IF TIRED=2 THEN VT4=15.04; /* Tired: Most of the time */ IF TIRED=3 THEN VT4=31.47; /* Tired: A good bit of the time */ IF TIRED=4 THEN VT4=53.16; /* Tired: Some of the time */ IF TIRED=5 THEN VT4=81.94; /* Tired: A little of the time */ IF TIRED=6 THEN VT4=97.16; /* Tired: None of the time */ VT= MEAN(OF VT1 VT2 VT3 VT4); /* Mean of the items that are not missing */ END; IF NMISS(OF NERVS, DNDMPS, PCEFUL, BLSAD, HAPPY) = 0 THEN DO; RMH3 = 7- PCEFUL; RMH5 = 7- HAPPY; MH = (SUM(OF NERVS, DNDMPS,RMH3, BLSAD,RMH5) - 5)/(30-5) * 100; END; ELSE DO; IF NERVS=1 THEN MH1=5.86; /* Nervous: All of the time */ IF NERVS=2 THEN MH1=8.12; /* Nervous: Most of the time */ IF NERVS=3 THEN MH1=26.80; /* Nervous: A good bit of the time */ IF NERVS=4 THEN MH1=51.97; /* Nervous: Some of the time */ IF NERVS=5 THEN MH1=82.10; /* Nervous: A little of the time */ IF NERVS=6 THEN MH1=96.32; /* Nervous: None of the time */ IF DNDMPS=1 THEN MH2=15.81; /* Down in the dumps: All of the time */ IF DNDMPS=2 THEN MH2=21.42; /* Down in the dumps: Most of the time */ IF DNDMPS=3 THEN MH2=38.28; /* Down in the dumps: A good bit of the time */ IF DNDMPS=4 THEN MH2=49.95; /* Down in the dumps: Some of the time */ IF DNDMPS=5 THEN MH2=57.16; /* Down in the dumps: A little of the time */ IF DNDMPS=6 THEN MH2=89.98; /* Down in the dumps: None of the time */ IF PCEFUL=1 THEN MH3=101.08; /* Calm and Peaceful: All of the time */ IF PCEFUL=2 THEN MH3=91.23; /* Calm and Peaceful: Most of the time */ IF PCEFUL=3 THEN MH3=82.49; /* Calm and Peaceful: A good bit of the time */ IF PCEFUL=4 THEN MH3=67.54; /* Calm and Peaceful: Some of the time */ IF PCEFUL=5 THEN MH3=18.88; /* Calm and Peaceful: A little of the time */ IF PCEFUL=6 THEN MH3=10.45; /* Calm and Peaceful: None of the time */ IF BLSAD=1 THEN MH4=-11.04; /* Downhearted and Blue: All of the time */ IF BLSAD=2 THEN MH4=26.42; /* Downhearted and Blue: Most of the time */ IF BLSAD=3 THEN MH4=38.13; /* Downhearted and Blue: A good bit of the time */ IF BLSAD=4 THEN MH4=54.73; /* Downhearted and Blue: Some of the time */ IF BLSAD=5 THEN MH4=73.09; /* Downhearted and Blue: A little of the time */ IF BLSAD=6 THEN MH4=93.98; /* Downhearted and Blue: None of the time */ IF HAPPY=1 THEN MH5=101.76; /* Happy: All of the time */ IF HAPPY=2 THEN MH5=90.49; /* Happy: Most of the time */ IF HAPPY=3 THEN MH5=64.72; /* Happy: A good bit of the time */ IF HAPPY=4 THEN MH5=46.30; /* Happy: Some of the time */ IF HAPPY=5 THEN MH5=19.42; /* Happy: A little of the time */ IF HAPPY=6 THEN MH5=3.25; /* Happy: None of the time */ MH= MEAN(OF MH1 MH2 MH3 MH4 MH5); /* Mean of the items that are not missing */ END; IF NMISS(OF GENHTH, SCKESY, ASHLTH, HTHWSE, HTHEXT) = 0 THEN DO; IF GENHTH = 1 THEN RGH1 = 5; IF GENHTH = 2 THEN RGH1 = 4.4; IF GENHTH = 3 THEN RGH1 = 3.4; IF GENHTH = 4 THEN RGH1 = 2; IF GENHTH = 5 THEN RGH1 = 1; RGH3 = 6 - ASHLTH; RGH5 = 6 - HTHEXT; GH = (SUM(OF RGH1, SCKESY,RGH3, HTHWSE,RGH5) - 5)/(25-5) * 100; END; ELSE DO; IF GENHTH=1 THEN GH1=100.60; /* General Health: Excellent */ IF GENHTH=2 THEN GH1=85.52; /* General Health: Very good */ IF GENHTH=3 THEN GH1=64.57; /* General Health: Good */ IF GENHTH=4 THEN GH1=33.34; /* General Health: Fair */ IF GENHTH=5 THEN GH1=7.72; /* General Health: Poor */ IF SCKESY=1 THEN GH2=0.05; /* Sick easier than other people: Definitely true */ IF SCKESY=2 THEN GH2=19.33; /* Sick easier than other people: Mostly true */ IF SCKESY=3 THEN GH2=28.94; /* Sick easier than other people: Not sure */ IF SCKESY=4 THEN GH2=39.28; /* Sick easier than other people: Mostly false */ IF SCKESY=5 THEN GH2=89.24; /* Sick easier than other people: Definitely false */ IF ASHLTH=1 THEN GH3=98.58; /* As healthy as anybody I know: Definitely true */ IF ASHLTH=2 THEN GH3=75.09; /* As healthy as anybody I know: Mostly true */ IF ASHLTH=3 THEN GH3=43.52; /* As healthy as anybody I know: Not sure */ IF ASHLTH=4 THEN GH3=29.26; /* As healthy as anybody I know: Mostly false */ IF ASHLTH=5 THEN GH3=3.13; /* As healthy as anybody I know: Definitely false */ IF HTHWSE=1 THEN GH4=-31.12; /* Expect health to get worse: Definitely true */ IF HTHWSE=2 THEN GH4=33.08; /* Expect health to get worse: Mostly true */ IF HTHWSE=3 THEN GH4=45.00; /* Expect health to get worse: Not sure */ IF HTHWSE=4 THEN GH4=96.90; /* Expect health to get worse: Mostly false */ IF HTHWSE=5 THEN GH4=106.27; /* Expect health to get worse: Definitely false */ IF HTHEXT=1 THEN GH5=98.15; /* Excellent Health: Definitely true */ IF HTHEXT=2 THEN GH5=74.18; /* Excellent Health: Mostly true */ IF HTHEXT=3 THEN GH5=57.89; /* Excellent Health: Not sure */ IF HTHEXT=4 THEN GH5=47.32; /* Excellent Health: Mostly false */ IF HTHEXT=5 THEN GH5=15.78; /* Excellent Health: Definitely false */ GH = MEAN(OF GH1 GH2 GH3 GH4 GH5); /* Mean of the items that are not missing */ END; END; /************************************************************** * Calculate 8 VR-12 scales from rescored VR-12 items. **************************************************************/ IF (srvtype=1 AND cohort >=9) OR (srvtype=2 AND cohort >=7) THEN DO; IF MODACT =1 THEN PF2=5.65; /* Moderate Activities: Yes, Limited A Lot */ IF MODACT =2 THEN PF2=49.04; /* Moderate Activities: Yes Limited A Little */ IF MODACT =3 THEN PF2=93.21; /* Moderate Activities: No, Not Limited At All*/ IF CLMBSV =1 THEN PF4=9.88; /* Climbing several flights of stairs: Yes, Limited A Lot */ IF CLMBSV =2 THEN PF4=67.54; /* Climbing several flights of stairs: Yes Limited A Little */ IF CLMBSV =3 THEN PF4=93.76; /* Climbing several flights of stairs: No, Not Limited At All*/ PF = MEAN(OF PF2 PF4); IF vrpaccl=1 THEN RP2=101.90; /* Physical health limiting amount accomplished: None of the time*/ IF vrpaccl=2 THEN RP2=79.86; /* Physical health limiting amount accomplished: A little of the time*/ IF vrpaccl=3 THEN RP2=9.97; /* Physical health limiting amount accomplished: Some of the time*/ IF vrpaccl=4 THEN RP2=0.46; /* Physical health limiting amount accomplished: Most of the time*/ IF vrpaccl=5 THEN RP2=-7.81; /* Physical health limiting amount accomplished: All of the time*/ IF vrpwork=1 THEN RP3=99.48; /* Physical health limiting the kind of activities: None of the time */ IF vrpwork=2 THEN RP3=78.95; /* Physical health limiting the kind of activities: A little of the time*/ IF vrpwork=3 THEN RP3=9.58; /* Physical health limiting the kind of activities: Some of the time*/ IF vrpwork=4 THEN RP3=0.52; /* Physical health limiting the kind of activities: Most of the time*/ IF vrpwork=5 THEN RP3=0.47; /* Physical health limiting the kind of activities: All of the time */ RP=MEAN(OF RP2 RP3); /* Mean of the items that are not missing */ IF vrmaccl=1 THEN RE2=103.32; /* Emotional problems limiting amount accomplished: None of the time*/ IF vrmaccl=2 THEN RE2=58.69; /* Emotional problems limiting amount accomplished: A little of the time*/ IF vrmaccl=3 THEN RE2=31.81; /* Emotional problems limiting amount accomplished: Some of the time*/ IF vrmaccl=4 THEN RE2=-22.36; /* Emotional problems limiting amount accomplished: Most of the time*/ IF vrmaccl=5 THEN RE2=-34.83; /* Emotional problems limiting amount accomplished: All of the time*/ IF vrmwork=1 THEN RE3=104.93; /* Emotional problems limiting carefulness: None of the time*/ IF vrmwork=2 THEN RE3=50.69; /* Emotional problems limiting carefulness: A little of the time*/ IF vrmwork=3 THEN RE3=26.86; /* Emotional problems limiting carefulness: Some of the time*/ IF vrmwork=4 THEN RE3=-5.31; /* Emotional problems limiting carefulness: Most of the time*/ IF vrmwork=5 THEN RE3=-32.00; /* Emotional problems limiting carefulness: All of the time*/ RE=MEAN(OF RE2 RE3); /* Mean of the items that are not missing */ IF PNINTF=1 THEN BP2=95.20; /* Pain Interfering with Work: Not at All */ IF PNINTF=2 THEN BP2=56.25; /* Pain Interfering with Work: A little bit*/ IF PNINTF=3 THEN BP2=43.89; /* Pain Interfering with Work: Moderately */ IF PNINTF=4 THEN BP2=31.50; /* Pain Interfering with Work: Quite a bit */ IF PNINTF=5 THEN BP2=2.28; /* Pain Interfering with Work: Extremely */ BP=BP2; IF GENHTH=1 THEN GH1=101.84; /* General Health: Excellent */ IF GENHTH=2 THEN GH1=83.71; /* General Health: Very good */ IF GENHTH=3 THEN GH1=61.50; /* General Health: Good */ IF GENHTH=4 THEN GH1=37.50; /* General Health: Fair */ IF GENHTH=5 THEN GH1=0.58; /* General Health: Poor */ GH=GH1; IF SCLACT=1 THEN SF2=2.78; /* Amount of Time PH or EP Interfered with Social Activities: All of the time*/ IF SCLACT=2 THEN SF2=24.91; /* Time PH or EP Interfered with Social Activities: Most of the time*/ IF SCLACT=3 THEN SF2=48.87; /* Time PH or EP Interfered with Social Activities: Some of the time*/ IF SCLACT=4 THEN SF2=66.87; /* Time PH or EP Interfered with Social Activities: A little of the time*/ IF SCLACT=5 THEN SF2=99.32; /* Time PH or EP Interfered with Social Activities: None of the time*/ SF=SF2; IF ENERGY=1 THEN VT2=95.34; /* A lot of energy: All of the time */ IF ENERGY=2 THEN VT2=79.25; /* A lot of energy: Most of the time */ IF ENERGY=3 THEN VT2=54.55; /* A lot of energy: A good bit of the time */ IF ENERGY=4 THEN VT2=45.90; /* A lot of energy: Some of the time */ IF ENERGY=5 THEN VT2=31.93; /* A lot of energy: A little of the time */ IF ENERGY=6 THEN VT2=1.80; /* A lot of energy: None of the time */ VT=VT2; IF PCEFUL=1 THEN MH3=99.94; /* Calm and Peaceful: All of the time */ IF PCEFUL=2 THEN MH3=88.05; /* Calm and Peaceful: Most of the time */ IF PCEFUL=3 THEN MH3=70.44; /* Calm and Peaceful: A good bit of the time */ IF PCEFUL=4 THEN MH3=51.72; /* Calm and Peaceful: Some of the time */ IF PCEFUL=5 THEN MH3=31.95; /* Calm and Peaceful: A little of the time */ IF PCEFUL=6 THEN MH3=1.84; /* Calm and Peaceful: None of the time */ IF BLSAD=1 THEN MH4=-3.90; /* Downhearted and Blue: All of the time */ IF BLSAD=2 THEN MH4=10.17; /* Downhearted and Blue: Most of the time */ IF BLSAD=3 THEN MH4=31.65; /* Downhearted and Blue: A good bit of the time */ IF BLSAD=4 THEN MH4=50.93; /* Downhearted and Blue: Some of the time */ IF BLSAD=5 THEN MH4=79.29; /* Downhearted and Blue: A little of the time */ IF BLSAD=6 THEN MH4=97.25; /* Downhearted and Blue: None of the time */ MH=MEAN(OF MH3 MH4); /* Mean of the items that are not missing */ END; /*************************************************************************************** * For SF-36, generate rescored SF-12 items that match with corresponding VR-12 items. * SF-12 items and corresponding VR-12 items will be adjusted later by survey mode, proxy and language * and saved in the output dataset. **************************************************************************************/ IF (srvtype=1 AND cohort <= 8) OR (srvtype=2 AND cohort <= 6) THEN DO; IF MODACT =1 THEN PF2=6.30; /* Moderate Activities: Yes, Limited A Lot */ IF MODACT =2 THEN PF2=49.83; /* Moderate Activities: Yes Limited A Little */ IF MODACT =3 THEN PF2=93.33; /* Moderate Activities: No, Not Limited At All*/ IF CLMBSV =1 THEN PF4=10.82; /* Climbing several flights of stairs: Yes, Limited A Lot */ IF CLMBSV =2 THEN PF4=69.26; /* Climbing several flights of stairs: Yes Limited A Little */ IF CLMBSV =3 THEN PF4=94.14; /* Climbing several flights of stairs: No, Not Limited At All*/ IF PACMPL =1 THEN RP2=-12.42; /* Physical Health Limiting Amount Accomplished: Yes */ IF PACMPL =2 THEN RP2=115.55; /* Physical Health Limiting Amount Accomplished: No */ IF PLMTKW =1 THEN RP3=-15.01; /* Physical Health Limiting the Kind of Activities: Yes */ IF PLMTKW =2 THEN RP3=109.42; /* Physical Health Limiting the Kind of Activities: No */ IF EACMPL =1 THEN RE2=-19.07; /* Emotional Problems Limiting Amount Accomplished: Yes */ IF EACMPL =2 THEN RE2=113.08; /* Emotional Problems Limiting Amount Accomplished: No */ IF ENTCRF =1 THEN RE3=-48.01; /* Emotional Problems Limiting Carefulness: Yes */ IF ENTCRF =2 THEN RE3=103.55; /* Emotional Problems Limiting Carefulness: No */ IF SCLACT=1 THEN SF2=1.84; /* Time PH or EP Interfered with Social Activities: All of the time*/ IF SCLACT=2 THEN SF2=24.9; /* Time PH or EP Interfered with Social Activities: Most of the time*/ IF SCLACT=3 THEN SF2=49.1; /* Time PH or EP Interfered with Social Activities: Some of the time*/ IF SCLACT=4 THEN SF2=68.17; /* Time PH or EP Interfered with Social Activities: A little of the time*/ IF SCLACT=5 THEN SF2=98.97; /* Time PH or EP Interfered with Social Activities: None of the time*/ IF PNINTF=1 THEN BP2=93.68; /* Pain Interfering with Work: Not at All */ IF PNINTF=2 THEN BP2=55.56; /* Pain Interfering with Work: A little bit*/ IF PNINTF=3 THEN BP2=43.47; /* Pain Interfering with Work: Moderately */ IF PNINTF=4 THEN BP2=30.85; /* Pain Interfering with Work: Quite a bit */ IF PNINTF=5 THEN BP2=-0.62; /* Pain Interfering with Work: Extremely */ IF ENERGY=1 THEN VT2=96.49; /* A lot of energy: All of the time */ IF ENERGY=2 THEN VT2=81.55; /* A lot of energy: Most of the time */ IF ENERGY=3 THEN VT2=57.30; /* A lot of energy: A good bit of the time */ IF ENERGY=4 THEN VT2=47.82; /* A lot of energy: Some of the time */ IF ENERGY=5 THEN VT2=34.78; /* A lot of energy: A little of the time */ IF ENERGY=6 THEN VT2=3.91; /* A lot of energy: None of the time */ IF PCEFUL=1 THEN MH3=103.43; /* Calm and Peaceful: All of the time */ IF PCEFUL=2 THEN MH3=89.95; /* Calm and Peaceful: Most of the time */ IF PCEFUL=3 THEN MH3=73.3; /* Calm and Peaceful: A good bit of the time */ IF PCEFUL=4 THEN MH3=54.13; /* Calm and Peaceful: Some of the time */ IF PCEFUL=5 THEN MH3=33.79; /* Calm and Peaceful: A little of the time */ IF PCEFUL=6 THEN MH3=4.99; /* Calm and Peaceful: None of the time */ IF BLSAD=1 THEN MH4=-7.62; /* Downhearted and Blue: All of the time */ IF BLSAD=2 THEN MH4=10.23; /* Downhearted and Blue: Most of the time */ IF BLSAD=3 THEN MH4=31.86; /* Downhearted and Blue: A good bit of the time */ IF BLSAD=4 THEN MH4=50.10; /* Downhearted and Blue: Some of the time */ IF BLSAD=5 THEN MH4=78.72; /* Downhearted and Blue: A little of the time */ IF BLSAD=6 THEN MH4=94.53; /* Downhearted and Blue: None of the time */ IF GENHTH=1 THEN GH1=105.69; /* General Health: Excellent */ IF GENHTH=2 THEN GH1=83.99; /* General Health: Very good */ IF GENHTH=3 THEN GH1=61.81; /* General Health: Good */ IF GENHTH=4 THEN GH1=37.73; /* General Health: Fair */ IF GENHTH=5 THEN GH1=0.95; /* General Health: Poor */ END; PCS = PCS_m; MCS = MCS_m; /********************************************************************************* * IF PHONE AND SELF REPORTED SURVEY *********************************************************************************/ IF substr(srvdsp,1,1)='T' AND whocmp=1 THEN DO; /******************************************************************* * Correction for VR-12 Items and SF-12 items from SF-36 for all cohorts *******************************************************************/ PF2=PF2-3.0; PF4=PF4-2.6; RP2=RP2-10.7; RP3=RP3-9.9; BP2=BP2-3.2; GH1=GH1-(-0.8); VT2=VT2-3.2; SF2=SF2-1.1; RE2=RE2-11.0; RE3=RE3-15.7; MH3=MH3-2.3; MH4=MH4-0.8; /***************************************************************** * Correction for VR-12 and SF-36 8 scales for all cohorts *****************************************************************/ PF=PF-2.8; RP=RP-10.3; RE=RE-13.4; MH=MH-1.6; BP=BP-3.2; GH=GH-(-0.8); VT=VT-3.2; SF=SF-1.1; /***************************************************************** * Correction for PCS MCS for all cohorts *****************************************************************/ PCS=PCS-2.8; MCS=MCS-5.4; END; /**************************************************************************** * IF MAIL AND PROXY SURVEY ****************************************************************************/ IF substr(srvdsp,1,1)='M' AND whocmp IN (2,3,4) THEN DO; /******************************************************************* * Correction for VR-12 Items and SF-12 items from SF-36 for all cohorts *******************************************************************/ PF2=PF2-(-2.0); PF4=PF4-(-2.0); RP2=RP2-0.5; RP3=RP3-1.4; BP2=BP2-(-1.5); GH1=GH1-(-0.4); VT2=VT2-(-3.0); SF2=SF2-(-1.6); RE2=RE2-4.1; RE3=RE3-0; MH3=MH3-(-3.4); MH4=MH4-(-0.3); /****************************************************************** * Correction for 8 scales for all cohorts ******************************************************************/ PF=PF-(-2.0); RP=RP-1.0; RE=RE-2.1; MH=MH-(-1.9); BP=BP-(-1.5); GH=GH-(-0.4); VT=VT-(-3.0); SF=SF-(-1.6); /****************************************************************** * Correction for PCS MCS for all cohorts ******************************************************************/ PCS=PCS-(-1.2); MCS=MCS-(-0.6); END; /************************************************************************** * IF PHONE AND PROXY SURVEY **************************************************************************/ IF substr(srvdsp,1,1)='T' AND whocmp IN (2,3,4) THEN DO; /******************************************************************* * Correction for VR-12 Items and SF-12 items from SF-36 for all cohorts *******************************************************************/ PF2=PF2-(-1.2); PF4=PF4-(-0.2); RP2=RP2-10.4; RP3=RP3-10.9; BP2=BP2-2.0; GH1=GH1-(-0.2); VT2=VT2-1.1; SF2=SF2-1.6; RE2=RE2-15.2; RE3=RE3-17.8; MH3=MH3-2.0; MH4=MH4-0.8; /****************************************************************** * Correction for 8 scales for all cohorts ******************************************************************/ PF=PF-(-0.7); RP=RP-10.7; RE=RE-16.5; MH=MH-1.4; BP=BP-2.0; GH=GH-(-0.2); VT=VT-1.1; SF=SF-1.6; /****************************************************************** * Correction for PCS MCS for all cohorts ******************************************************************/ PCS=PCS-0.6; MCS=MCS-7.2; END; /*************************************************************************** * IF SURVEY LANGUAGE IS SPANISH ***************************************************************************/ IF svlang=2 THEN DO; /******************************************************************* * Correction for VR-12 Items and SF-12 items from SF-36 for all cohorts *******************************************************************/ PF2=PF2-2.7; PF4=PF4-2.0; RP2=RP2-(-1.4); RP3=RP3-(-0.2); BP2=BP2-1.1; GH1=GH1-0.7; VT2=VT2-9.1; SF2=SF2-(-2.2); RE2=RE2-(-5.0); RE3=RE3-5.6; MH3=MH3-5.3; MH4=MH4-(-8.4); /***************************************************************** * Correction for 8 scales *****************************************************************/ PF=PF-2.3; RP=RP-(-0.8); RE=RE-0.3; MH=MH-(-1.6); BP=BP-1.1; GH=GH-0.7; VT=VT-9.1; SF=SF-(-2.2); /***************************************************************** * Correction for PCS MCS *****************************************************************/ PCS=PCS-1.8; MCS=MCS-0.4; END; /************************************************************************** * IF SURVEY LANGUAGE IS CHINESE ***************************************************************************/ IF svlang=4 THEN DO; /******************************************************************* * Correction for VR-12 Items and SF-12 items from SF-36 for all cohorts *******************************************************************/ PF2=PF2-(-4.7); PF4=PF4-2.4; RP2=RP2-(-7.8); RP3=RP3-(-20.1); BP2=BP2-(-4.3); GH1=GH1-(-12.1); VT2=VT2-(-6.3); SF2=SF2-(-2.8); RE2=RE2-(-20.8); RE3=RE3-(-14.4); MH3=MH3-(-8.2); MH4=MH4-(-6.0); /***************************************************************** * Correction for 8 scales for all cohorts *****************************************************************/ PF=PF-(-1.1); RP=RP-(-13.9); RE=RE-(-17.6); MH=MH-(-7.1); BP=BP-(-4.3); GH=GH-(-12.1); VT=VT-(-6.3); SF=SF-(-2.8); /***************************************************************** * Correction for PCS MCS for all cohorts *****************************************************************/ PCS=PCS-(-5.0); MCS=MCS-(-10.7); END; LABEL PCS='NORM90 PCS ADJUSTED BY SURVEY MODE AND LANGUAGE' MCS='NORM90 MCS ADJUSTED BY SURVEY MODE AND LANGUAGE' PF='PF SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' RP='RP SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' RE='RE SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' MH='MH SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' BP='BP SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' GH='GH SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' VT='VT SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' SF='SF SCALE ADJUSTED BY SURVEY MODE AND LANGUAGE' PF2='PF2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' PF4='PF4 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' RP2='RP2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' RP3='RP3 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' BP2='BP2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' GH1='GH1 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' VT2='VT2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' SF2='SF2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' RE2='RE2 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' RE3='RE3 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' MH3='MH3 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE' MH4='MH4 ITEM ADJUSTED BY SURVEY MODE AND LANGUAGE'; KEEP LinkID Cohort Srvtype svlang srvdsp whocmp GH PF SF BP RP RE VT MH PCS MCS PF2 PF4 RP2 RP3 BP2 GH1 VT2 SF2 RE2 RE3 MH3 MH4; RUN;