/// This do file accompanies the PCOQ user guide, and creates four scores using PCOQ data, based on the user guide. global xlist q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 q16 q17 q18 q19 q20 q21 q22 q23 q24 ///code creates 27 new variables from the PCOQ data generate q1mod = q1 generate q2mod = q2 generate q3mod = q3 generate q4mod = q4 generate q5mod = q5 generate q6mod = q6 generate q7mod = q7 generate q8mod = q8 generate q9mod = q9 generate q10mod = q10 generate q11mod = q11 generate q12mod = q12 generate q13mod = q13 generate q14mod = q14 generate q15mod = q15 generate q16mod = q16 generate q17mod = q17 generate q18mod = q18 generate q19mod = q19 generate q20mod = q20 generate q21mod = q21 generate q22mod = q22 generate q23mod = q23 generate q24mod = q24 //recode so that higher scores are better, as this makes output easier to interprent global xmodfulllist q1mod q2mod q3mod q4mod q5mod q6mod q7mod q8mod q9mod q10mod q11mod q12mod q13mod q14mod q15mod q16mod q17mod q18mod q19mod q20mod q21mod q22mod q23mod q24mod ///code changes the number 6 to 1 (i.e. not applicable equivalent to no problems) recode $xmodfulllist (6 = 1) //recode so that higher scores are better, as this makes output easier to interprent recode $xmodfulllist (1 = 0.1) recode $xmodfulllist (2 = 0.2) recode $xmodfulllist (3 = 0.3) recode $xmodfulllist (4 = 0.4) recode $xmodfulllist (5 = 0.5) recode $xmodfulllist (0.1 = 5) recode $xmodfulllist (0.2 = 4) recode $xmodfulllist (0.3 = 3) recode $xmodfulllist (0.4 = 2) recode $xmodfulllist (0.5 = 1) ///code generates a temporary variable for each domain, which represents the number of items which need to be completed generate nMissHS = 4 generate nMissHK = 2 generate nMissCPr = 3 generate nMissCPl = 4 ///code generates the four PCOQ domain scores egen HealthWell=rmean( q1mod q2mod q3mod q4mod q5mod q6mod q7mod q8mod) if missing( q1mod) + missing(q2mod) + missing(q3mod) + missing(q4mod) + missing(q5mod) + missing(q6mod) + missing(q7mod) + missing(q8mod) < 8 - nMissHS + 1 egen ConProvide=rmean( q9mod q10mod q11mod q12mod q13mod q14mod ) if missing( q9mod) + missing( q10mod ) + missing(q11mod ) + missing(q12mod) + missing(q13mod) + missing(q14mod) < 6 - nMissCPr +1 egen HealthKnow=rmean(q15mod q16mod q17mod q18mod) if missing(q15mod) + missing(q16mod) + missing(q17mod) + missing(q18mod) < 4 - nMissHK + 1 egen ConPlan=rmean(q19mod q20mod q21mod q22mod q23mod q24mod) if missing(q19mod) + missing(q20mod) + missing(q21mod) + missing(q22mod) + missing(q23mod) + missing(q24mod) < 6 - nMissCPl +1 ///code drops all newly created variables, apart from the domain scores drop nMissHS nMissHK nMissCPr nMissCPl