Computing EQ-5D-5L index values with STATA using the Italian (IT) Finch et al value set
Version 1.1 (Updated 26/01/2022)


The variables for the 5 dimensions of the EQ-5D-5L descriptive system should be named 'mobility', 
'selfcare', 'activity', 'pain', and 'anxiety'. If they are given different names the syntax code 
below will not work properly. The 5 variables should contain the values for the different dimensions
 in the EQ-5D health profile (i.e. 1, 2, 3, 4 or 5). The variable 'EQindex' contains the values of the 
EQ-5D-5L index values on the basis of the Italian set of weights. 

You can copy and paste the syntax below directly into a STATA syntax window.

******************************************************************
*STATA syntax code for the computation of index*
*values with the Italian (Finch et al) value set*
******************************************************************


gen disut_mo= . 
replace disut_mo= 0 if missing(disut_mo) & mobility == 1
replace disut_mo= 0.051 if missing(disut_mo) & mobility == 2
replace disut_mo= 0.064  if missing(disut_mo) & mobility == 3
replace disut_mo= 0.244 if missing(disut_mo) & mobility == 4
replace disut_mo= 0.329  if missing(disut_mo) & mobility == 5
 
gen disut_sc= . 
replace disut_sc= 0 if missing(disut_sc) & selfcare == 1
replace disut_sc= 0.046 if missing(disut_sc) & selfcare == 2
replace disut_sc= 0.056  if missing(disut_sc) & selfcare == 3
replace disut_sc= 0.216 if missing(disut_sc) & selfcare == 4
replace disut_sc= 0.257  if missing(disut_sc) & selfcare == 5
 
gen disut_ua= . 
replace disut_ua= 0 if missing(disut_ua)  & activity == 1
replace disut_ua= 0.050 if missing(disut_ua) & activity == 2
replace disut_ua= 0.064  if missing(disut_ua) & activity == 3
replace disut_ua= 0.225 if missing(disut_ua) & activity == 4
replace disut_ua= 0.255  if missing(disut_ua) & activity == 5
 
gen disut_pd= . 
replace disut_pd= 0 if missing(disut_pd) & pain == 1
replace disut_pd= 0.047 if missing(disut_pd) & pain == 2
replace disut_pd= 0.088  if missing(disut_pd) & pain == 3
replace disut_pd= 0.353 if missing(disut_pd) & pain == 4
replace disut_pd= 0.408  if missing(disut_pd) & pain == 5
 
gen disut_ad= . 
replace disut_ad= 0 if missing(disut_ad) & anxiety == 1
replace disut_ad= 0.044 if missing(disut_ad) & anxiety == 2
replace disut_ad= 0.109  if missing(disut_ad) & anxiety == 3
replace disut_ad= 0.318 if missing(disut_ad) & anxiety == 4
replace disut_ad= 0.322  if missing(disut_ad) & anxiety == 5

gen disut_total=disut_mo+disut_sc+disut_ua+disut_pd+disut_ad

gen EQindex=.
replace EQindex=1-disut_total
replace EQindex=round(EQindex,.001)