**************************************************************************************************************************************************************** /*STATA ALGORITHM FOR AQOL-6D UTILITY MODEL FOR ADULTS (WITH MISSING VALUES) (CHE version 10 dated 15 April 2015) */ ********************************************************************* /* THIS ALGORITHM (CHE version 10 dated 15 April 2015) IS AN INTERIM RELEASE AND *MAY BE CHANGED WITHOUT NOTICE.*/ /* Changes between versions are often to do with terminology and generally have slight effect on output.*/ /* RESEARCHERS SHOULD CHECK WITH THE AQOL GROUP AT MONASH UNIVERSITY *FOR ANY MODIFICATION www.aqol.com.au*/ ************************************************************************ /*The transformation programmed in this file have been conceptualised by Prof. Jeff Richardson and produced by Gang Chen, Centre for Health Economics*/ /*See the following research paper for more detail (at *http://www.buseco.monash.edu.au/centres/che/pubs/researchpaper66.pdf): *Richardson, J, Chen, G, Iezzi, A & Khan, M. 2011. Transformations between the Assessment of Quality of Life AQoL Instruments and Test-Retest Reliability */ ************************************************** *This file analyses the AQoL-6D instrument and produces dimension disvalue scores and a utility score for the overall instrument for adults* *Use the AQoL-6D Data Collection copy to collect data. The items are laid out in dimension order, without randomisation* *Variable names: For this algorithm, the variables in your questionnaire or database should be *named "aqol1, aqol2 ...aqol20"* ************************************************************* * The dimensions are scaled on a "Dimension Worst Health State - Dimension Best Health State" *scale where DWHS = 0.00 and DBHS = 1.00. * Dimension scores are termed disvalue scores. They are not utility values as they have not been evaluated on a life-death scale ************************************************************* * The AQoL-6D utility scores are scaled such that the: * "AQoL-6D worst health state" = -0.0444493 ( where Death = 0.00). * "AQoL-6D best health state" = 1.00 ************************************************************** *Missing Values: Note that missing data are represented by a blank and are handled by imputing values within each dimension.*/ *Dimensions with 3-4 items will allow for 1 missing value to be imputed.*/ *However, if more item responses in the dimensions are missing the observations will be dropped *and there will not be a dimension score or an instrument score for the individual.*/ ********************************************************************** * aqol# are item responses in your data*/ * dvQ# are item disvalues */ * Missing values represented by a blank or dot.*/ g Q1 = aqol1 g Q2 = aqol2 g Q3 = aqol3 g Q4 = aqol4 g Q5 = aqol5 g Q6 = aqol6 g Q7 = aqol7 g Q8 = aqol8 g Q9 = aqol9 g Q10 = aqol10 g Q11 = aqol11 g Q12 = aqol12 g Q13 = aqol13 g Q14 = aqol14 g Q15 = aqol15 g Q16 =aqol16 g Q17 = aqol17 g Q18 = aqol18 g Q19 = aqol19 g Q20 = aqol20 ***************************************************************** /* IMPUTING MISSING VALUES IN DATABASE*/ /* Independent Living - Dimension 1*/ egen DILmiss = rowmean(Q1 Q2 Q3 Q4) egen DILmissno=rowmiss(Q1 Q2 Q3 Q4) replace Q1=round(DILmiss) if missing(Q1) & DILmissno==1 replace Q2=round(DILmiss) if missing(Q2) & DILmissno==1 replace Q3=round(DILmiss) if missing(Q3) & DILmissno==1 replace Q4=round(DILmiss) if missing(Q4) & DILmissno==1 ******************************** /* Relationships - Dimension 2 */ ******************************** egen DRLmiss = rowmean(Q5 Q6 Q7) egen DRLmissno = rowmiss(Q5 Q6 Q7) replace Q5=round(DRLmiss) if missing(Q5) & DRLmissno ==1 replace Q6=round(DRLmiss) if missing(Q6) & DRLmissno ==1 replace Q7=round(DRLmiss) if missing(Q7) & DRLmissno ==1 ************************************* /* Mental Health - Dimension 3 */ ************************************* egen DMHmiss = rowmean(Q8 Q9 Q10 Q11) egen DMHmissno = rowmiss(Q8 Q9 Q10 Q11) replace Q8=round(DMHmiss) if missing(Q8) & DMHmissno ==1 replace Q9=round(DMHmiss) if missing(Q9) & DMHmissno ==1 replace Q10=round(DMHmiss) if missing(Q10) & DMHmissno ==1 replace Q11=round(DMHmiss) if missing(Q11) & DMHmissno ==1 ******************************** /* Coping - Dimension 4 */ ******************************** egen DCOPmiss = rowmean(Q12 Q13 Q14) egen DCOPmissno = rowmiss(Q12 Q13 Q14) replace Q12=round(DCOPmiss) if missing(Q12) & DCOPmissno ==1 replace Q13=round(DCOPmiss) if missing(Q13) & DCOPmissno ==1 replace Q14=round(DCOPmiss) if missing(Q14) & DCOPmissno ==1 ******************************** /* Pain - Dimension 5 */ ******************************** egen DPmiss = rowmean(Q15 Q16 Q17) egen DPmissno = rowmiss(Q15 Q16 Q17) replace Q15=round(DPmiss) if missing(Q15) & DPmissno ==1 replace Q16=round(DPmiss) if missing(Q16) & DPmissno ==1 replace Q17=round(DPmiss) if missing(Q17) & DPmissno ==1 ******************************** *** Senses - Dimension 6 ***** ******************************** egen DSENmiss = rowmean(Q18 Q19 Q20) egen DSENmissno = rowmiss(Q18 Q19 Q20) replace Q18=round(DSENmiss) if missing(Q18) & DSENmissno ==1 replace Q19=round(DSENmiss) if missing(Q19) & DSENmissno ==1 replace Q20=round(DSENmiss) if missing(Q20) & DSENmissno ==1 /*ITEM DISUTILITIES */ /*Dimension 1. Independent living*/ ***1. Household Help generate dvQ1=0 if Q1==1 replace dvQ1=0.073 if Q1==2 replace dvQ1=0.435 if Q1==3 replace dvQ1=0.820 if Q1==4 replace dvQ1=1 if Q1==5 ***2. Getting Around Outside generate dvQ2=0 if Q2==1 replace dvQ2=0.033 if Q2==2 replace dvQ2=0.240 if Q2==3 replace dvQ2=0.471 if Q2==4 replace dvQ2=0.840 if Q2==5 replace dvQ2=1 if Q2==6 ***3. Mobility generate dvQ3 = 0 if Q3==1 replace dvQ3=0.041 if Q3==2 replace dvQ3=0.251 if Q3==3 replace dvQ3=0.570 if Q3==4 replace dvQ3=0.830 if Q3==5 replace dvQ3=1 if Q3==6 ***4. Personal Care generate dvQ4 = 0 if Q4==1 replace dvQ4=0.040 if Q4==2 replace dvQ4=0.297 if Q4==3 replace dvQ4=0.797 if Q4==4 replace dvQ4=1 if Q4==5 ***Dimension 2. Relationships ***5.Intimate generate dvQ5=0 if Q5==1 replace dvQ5=0.074 if Q5==2 replace dvQ5=0.461 if Q5==3 replace dvQ5=0.841 if Q5==4 replace dvQ5=1 if Q5==5 ***6. Family Role generate dvQ6=0 if Q6==1 replace dvQ6=0.193 if Q6==2 replace dvQ6=0.759 if Q6==3 replace dvQ6=1 if Q6==4 ***7. Community Role generate dvQ7=0 if Q7==1 replace dvQ7=0.197 if Q7==2 replace dvQ7=0.648 if Q7==3 replace dvQ7=1 if Q7==4 ***Dimension 3. Mental Health ***8. Despair generate dvQ8=0 if Q8==1 replace dvQ8=0.133 if Q8==2 replace dvQ8=0.392 if Q8==3 replace dvQ8=0.838 if Q8==4 replace dvQ8=1 if Q8==5 ***9. Worried generate dvQ9=0 if Q9==1 replace dvQ9=0.142 if Q9==2 replace dvQ9=0.392 if Q9==3 replace dvQ9=0.824 if Q9==4 replace dvQ9=1 if Q9==5 ***10. Sad generate dvQ10=0 if Q10==1 replace dvQ10=0.097 if Q10==2 replace dvQ10=0.330 if Q10==3 replace dvQ10=0.784 if Q10==4 replace dvQ10=1 if Q10==5 ***11. Calm generate dvQ11=0 if Q11==1 replace dvQ11=0.064 if Q11==2 replace dvQ11=0.368 if Q11==3 replace dvQ11=0.837 if Q11==4 replace dvQ11=1 if Q11==5 ***Dimension 4. Coping ***12. Energy generate dvQ12=0 if Q12==1 replace dvQ12=0.056 if Q12==2 replace dvQ12=0.338 if Q12==3 replace dvQ12=0.722 if Q12==4 replace dvQ12=1 if Q12==5 ***13. Control generate dvQ13=0 if Q13==1 replace dvQ13=0.055 if Q13==2 replace dvQ13=0.382 if Q13==3 replace dvQ13=0.774 if Q13==4 replace dvQ13=1 if Q13==5 ***14. Coping generate dvQ14=0 if Q14==1 replace dvQ14=0.057 if Q14==2 replace dvQ14=0.423 if Q14==3 replace dvQ14=0.826 if Q14==4 replace dvQ14=1 if Q14==5 ***Dimension 5. Pain ***15. Serious pain generate dvQ15=0 if Q15==1 replace dvQ15=0.133 if Q15==2 replace dvQ15=0.642 if Q15==3 replace dvQ15=1 if Q15==4 ***16. Pain generate dvQ16=0 if Q16==1 replace dvQ16=0.200 if Q16==2 replace dvQ16=0.758 if Q16==3 replace dvQ16=1 if Q16==4 ***17. Pain interferes generate dvQ17=0 if Q17==1 replace dvQ17=0.072 if Q17==2 replace dvQ17=0.338 if Q17==3 replace dvQ17=0.752 if Q17==4 replace dvQ17=1 if Q17==5 ***Dimension 6. Senses ***18. Vision generate dvQ18=0 if Q18==1 replace dvQ18=0.033 if Q18==2 replace dvQ18=0.223 if Q18==3 replace dvQ18=0.621 if Q18==4 replace dvQ18=0.843 if Q18==5 replace dvQ18=1 if Q18==6 ***19. Hearing generate dvQ19=0 if Q19==1 replace dvQ19=0.024 if Q19==2 replace dvQ19=0.205 if Q19==3 replace dvQ19=0.586 if Q19==4 replace dvQ19=0.826 if Q19==5 replace dvQ19=1 if Q19==6 ***20. Communicate generate dvQ20=0 if Q20==1 replace dvQ20=0.187 if Q20==2 replace dvQ20=0.695 if Q20==3 replace dvQ20=1 if Q20==4 ************************** /*MODELLING DIMENSIONS*/ ************************** *** dvD1, dvD2, dvD3, dvD4, dvD5, dvD6 are the dimension disvalue scores and have been written this way to not confuse with utility scores. Only the global instrument score is a utility score. ***DIMENSION 1 - IND LIV ***DIMENSION SCALING CONSTANT kD1=-0.978 ***ITEM WORST WEIGHTS (Wi) ** w1=0.385412 ** w2=0.593819 ** w3=0.630323 ** w4=0.794888 ***4 item formula /*dvD1=(1/kD1)*[(1+(kD1*w1*dvQ1))*(1+(kD1*w2*dvQ2))*(1+(kD1*w3*dvQ3))*(1+(kD1*w4*dvQ4))-1]*/ generate dvD1=(1/-0.978)*[(1+(-0.978*0.385412*dvQ1))*(1+(-0.978*0.593819*dvQ2))*(1+(-0.978*0.630323*dvQ3))*(1+(-0.978*0.794888*dvQ4))-1] ***DIMENSION 2 - REL ***DIMENSION SCALING CONSTANT kD2 = -0.923 ***ITEM WORST WEIGHTS (Wi) ** w5=0.64303 ** w6=0.697742 ** w7=0.508658 ***3 item formula /*dvD2=(1/kD2)*[(1+(kD2*w5*dvQ5))*(1+(kD2*w6*dvQ6))*(1+(kD2*w7*dvQ7))-1*/ generate dvD2=(1/-0.923)*[(1+(-0.923*0.64303*dvQ5))*(1+(-0.923*0.697742*dvQ6))*(1+(-0.923*0.508658*dvQ7))-1] ***DIMENSION 3 - MEN ***DIMENSION SCALING CONSTANT kD3 = -0.983 ***ITEM WORST WEIGHTS (Wi) ** w8=0.640377 ** w9=0.588422 ** w10=0.648748 ** w11=0.71122 ***4 item formula /*dvD3=(1/kD3)*[(1+(kD3*w8*dvQ8))*(1+(kd3*w9*dvQ9))*(1+(kD3*w10*dvQ10))*(1+(kD3*w1***1*dvQ11))-1*/ generate dvD3=(1/-0.983)*[(1+(-0.983*0.640377*dvQ8))*(1+(-0.983*0.588422*dvQ9))*(1+(-0.983*0.648748*dvQ10))*(1+(-0.983*0.71122*dvQ11))-1] ***DIMENSION 4 - COPING ***DIMENSION SCALING CONSTANT kd4 = -0.930 ***COPING HAS 3 ITEMS ***ITEM WORST WEIGHTS (Wi) ** w12=0.415694 ** w13=0.636994 ** w14=0.773296 **3 item formula /*dvD4=(1/kD4)*[(1+(kD4*w12*dvQ12))*(1+(kD4*w13*dvQ13))*(1+(kD4*w14*dvQ14))-1]*/ generate dvD4=(1/-0.930)*[(1+(-0.930*0.415694*dvQ12))*(1+(-0.930*0.636994*dvQ13))*(1+(-0.930*0.773296*dvQ14))-1] ***DIMENSION 5 – PAIN ***DIMENSION SCALING CONSTANT kD5 = -0.96 ** w15=0.631833 ** w16=0.767573 ** w17=0.652241 generate dvD5=(1/-0.962)*[(1+(-0.962*0.631833*dvQ15))*(1+(-0.962*0.767573*dvQ16))*(1+(-0.962*0.652241*dvQ17))-1] ***DIMENSION 6 - SENSES ** w18=0.580696 ** w19=0.463022 ** w20=0.604613 generate dvD6=(1/-0.851)*[(1+(-0.851*0.580696*dvQ18))*(1+(-0.851*0.463022*dvQ19))*(1+(-0.851*0.604613*dvQ20))-1] label var dvD6 "Score for Dimension 6 - Senses" gen vD1 = 1-dvD1 gen vD2 = 1-dvD2 gen vD3 = 1-dvD3 gen vD4 = 1-dvD4 gen vD5 = 1-dvD5 gen vD6 = 1-dvD6 label var vD1 "ScoreDim1IndepLiving" label var vD2 "ScoreDim2Relationships" label var vD3 "ScoreDim3Mental Health" label var vD4 "ScoreDim4Coping" label var vD5 "ScoreDim5Pain" label var vD6 "ScoreDim6Senses" ****************************************************** /*Transformation using 8D to predict 6D*/ ***************************************************** /*The optimal model is Model 2A (see Richardson et al (2011, 18-19)*/ ********************************** *Model 2A: *********************************** ge uaqol6Dusing8D = 0.0719264*vD1 + 0.1027818*vD2 + 0.2519563*vD3 + 0.3201172*vD4 + 0.1288289*vD5 + 0.2052164*vD6 - 0.0444493 label var uaqol6Dusing8D "Utility score for AQoL-6D, predicted from AQoL-8D by Model 2A" /*Note: For those with a predicted utility score higher than 1, adjusted to be 1.*/ ge uaqol6Dusing8Da=uaqol6Dusing8D replace uaqol6Dusing8Da=1 if uaqol6Dusing8D>1&uaqol6Dusing8D!=. /*Note: uaqol6Dusing8D!=. covers any missing values*/ sum uaqol6Dusing8D uaqol6Dusing8Da