*Below follows the SPSS-syntax for the construction of the TAAQOL scales. *It is important that data-entry is always done the following way: *Frequency of a problem: V1, V2, V3, V4, etc. etc. t/m V45 (Score every item 1, 2, 3, or 4). *Second part of every item, i.e. "How much did that bother you?": R1, R2, R3, R4, etc. etc., R28, R29, R30 (Score every item 1, 2, 3, or 4) *Note: For questions 31 and higher there are no R-variables!! *See paragraph 4.1 of the manual for details on naming of variables and assigning values. *The following syntax constructs scales and transforms scale scores to a 0-100 score. *The variable names assigned to the scales are: ngrmot 'gross motoric functioning', nfimot 'fine motoric functioning', ncogni 'cognitive functioning', *nslaap 'sleep', npijn 'pain', nsoci 'social functioning', nakti 'daily activities', nseks 'sexuality', nvita 'vitality', *nposi 'positive emotions', nsomb 'depressive emotions', nagre 'aggressive emotions'. *Higher scores indicate better quality of life. ** initialize scale scores and some secondary variables. missing values r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 (0,8,9). compute v31_b = v31. compute v33_b = v33. compute v35_b = v35. compute v37_b = v37. compute v42_b = v42. compute v44_b = v44. recode v31_b v33_b v35_b v37_b v42_b v44_b (1=4) (2=3) (3=2) (4=1). compute pgrmot = 0. compute pfimot = 0. compute pcogni = 0. compute pslaap = 0. compute ppijn = 0. compute psoci = 0. compute pakti = 0. compute pseks = 0. compute pvita = 0. compute pposi = 0. compute psomb = 0. compute pagre = 0. compute t1=0. compute t2=0. compute t3=0. compute t4=0. compute t5=0. compute t6=0. compute t7=0. compute t8=0. compute t9=0. compute t10=0. compute t11=0. compute t12=0. missing values pgrmot to pagre (99). execute. ** for each scale the item pairs are coded into a combination item, with **the name kkx with x referring to the itemnumber. **The coding of the combined item pairs is handled using a DO REPEAT statement **(see SPSS-manual); at the same time the scale score is calculated. **After the DO REPEAT statements, the rules for missing values (see paragraph 4.4) are applied. ** ** pgrmot ** COMPUTE PGRMOT = 0. count ni = v1 v2 v3 v4 (missing). do repeat f1 = v1 v2 v3 v4 /f2 = r1 r2 r3 r4 /f3 = kk1 kk2 kk3 kk4 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pgrmot = pgrmot+f3. end repeat. if (ni>1) pgrmot = 99. if (ni<2) pgrmot = 20 - (4*pgrmot/(4-ni)). freq/var = pgrmot. freq/var=kk1 to kk4. recode kk1 kk2 kk3 kk4 (0 = 999). MISSING VALUES kk1 kk2 kk3 kk4 (999). ** ** pfimot ** count ni = v5 v6 v7 v8 (missing). do repeat f1 = v5 v6 v7 v8 /f2 = r5 r6 r7 r8 /f3 = kk5 kk6 kk7 kk8 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pfimot = pfimot+f3. end repeat. if (ni>1) pfimot = 99. if (ni<2) pfimot = 20 - (4*pfimot/(4-ni)). freq/var = pfimot. freq/var=kk5 to kk8. recode kk5 kk6 kk7 kk8 (0 = 999). MISSING VALUES kk5 kk6 kk7 kk8 (999). ** ** pcogni ** count ni = v9 v10 v11 v12 (missing). do repeat f1 = v9 v10 v11 v12 /f2 = r9 r10 r11 r12 /f3 = kk9 kk10 kk11 kk12 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pcogni = pcogni+f3. end repeat. if (ni>1) pcogni = 99. if (ni<2) pcogni = 20 - (4*pcogni/(4-ni)). freq/var = pcogni. freq/var=kk9 to kk12. recode kk9 kk10 kk11 kk12 (0 = 999). MISSING VALUES kk9 kk10 kk11 kk12 (999). ** ** pslaap ** count ni = v13 v14 v15 v16 (missing). do repeat f1 = v13 v14 v15 v16 /f2 = r13 r14 r15 r16 /f3 = kk13 kk14 kk15 kk16 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pslaap = pslaap+f3. end repeat. if (ni>1) pslaap = 99. if (ni<2) pslaap = 20 - (4*pslaap/(4-ni)). freq/var = pslaap. freq/var=kk13 to kk16. recode kk13 kk14 kk15 kk16 (0 = 999). MISSING VALUES kk13 kk14 kk15 kk16 (999). ** ** ppijn ** count ni = v17 v18 v19 v20 (missing). do repeat f1 = v17 v18 v19 v20 /f2 = r17 r18 r19 r20 /f3 = kk17 kk18 kk19 kk20 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute ppijn = ppijn+f3. end repeat. if (ni>1) ppijn = 99. if (ni<2) ppijn = 20 - (4*ppijn/(4-ni)). freq/var = ppijn. freq/var=kk17 to kk20. recode kk17 kk18 kk19 kk20 (0 = 999). MISSING VALUES kk17 kk18 kk19 kk20 (999). ** ** psoci ** count ni = v21 v22 v23 v24 (missing). do repeat f1 = v21 v22 v23 v24 /f2 = r21 r22 r23 r24 /f3 = kk21 kk22 kk23 kk24 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute psoci = psoci+f3. end repeat. if (ni>1) psoci = 99. if (ni<2) psoci = 20 - (4*psoci/(4-ni)). freq/var = psoci. freq/var=kk21 to kk24. recode kk21 kk22 kk23 kk24 (0 = 999). MISSING VALUES kk21 kk22 kk23 kk24 (999). ** ** pakti ** count ni = v25 v26 v27 v28 (missing). do repeat f1 = v25 v26 v27 v28 /f2 = r25 r26 r27 r28 /f3 = kk25 kk26 kk27 kk28 /f4 = t1 t2 t3 t4. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pakti = pakti+f3. end repeat. if (ni>1) pakti = 99. if (ni<2) pakti = 20 - (4*pakti/(4-ni)). freq/var = pakti. freq/var=kk25 to kk28. recode kk25 kk26 kk27 kk28 (0 = 999). MISSING VALUES kk25 kk26 kk27 kk28 (999). ** ** pseks ** count ni = v29 v30(missing). do repeat f1 = v29 v30 /f2 = r29 r30 /f3 = kk29 kk30 /f4 = t1 t2. compute f4 = f2. compute f3 = 1. if missing(f1) f3=0. if any(f1,2,3,4) f3 = 2. if any (f1,1) f4 = 1. if missing (f1) f4 = 1. if missing(f4) f4 = 1. compute f3 = f3+(f4-1). compute pseks = pseks+f3. end repeat. if (ni>0) pseks = 99. if (ni<1) pseks = 10 - (2*pseks/(2-ni)). freq/var = pseks. freq/var=kk29 kk30. recode kk29 kk30 (0 = 999). MISSING VALUES kk29 kk30 (999). ** ** pvita ** count ni = v31_b v32 v33_b v34 (missing). do repeat f1 = v31_b v32 v33_b v34. if not missing(f1) pvita = pvita+f1. end repeat. if (ni>1) pvita = 99. if (ni<2) pvita = 16 - (4*pvita/(4-ni)). freq/var = pvita. ** ** pposi ** count ni = v35_b v37_b v42_b v44_b (missing). do repeat f1 = v35_b v37_b v42_b v44_b. if not missing(f1) pposi = pposi+f1. end repeat. if (ni>1) pposi = 99. if (ni<2) pposi = 16 - (4*pposi/(4-ni)). freq/var = pposi. ** ** psomb ** count ni = v36 v39 v40 v45 (missing). do repeat f1 = v36 v39 v40 v45. if not missing(f1) psomb = psomb+f1. end repeat. if (ni>1) psomb = 99. if (ni<2) psomb = 16 - (4*psomb/(4-ni)). freq/var = psomb. ** ** pagre ** count ni = v38 v41 v43 (missing). do repeat f1 = v38 v41 v43. if not missing(f1) pagre = pagre+f1. end repeat. if (ni>0) pagre = 99. if (ni<1) pagre = 12 - (3*pagre/(3-ni)). freq/var = pagre. compute ngrmot = (100/16)*pgrmot. compute nfimot = (100/16)*pfimot. compute ncogni = (100/16)*pcogni. compute nslaap = (100/16)*pslaap. compute npijn = (100/16)*ppijn. compute nsoci = (100/16)*psoci. compute nakti = (100/16)*pakti. compute nseks = (100/8)*pseks. compute nvita = (100/12)*pvita. compute nposi = (100/12)*pposi. compute nsomb = (100/12)*psomb. compute nagre = (100/9)*pagre. Variable labels ngrmot 'gross motoric functioning'. Variable labels nfimot 'fine motoric functioning'. Variable labels ncogni 'cognitive functioning'. Variable labels nslaap 'sleep'. Variable labels npijn 'pain'. Variable labels nsoci 'social functioning'. Variable labels nakti 'daily activities'. Variable labels nseks 'sexuality'. Variable labels nvita 'vitality'. Variable labels nposi 'positive emotions'. Variable labels nsomb 'depressive emotions'. Variable labels nagre 'aggressive emotions'.