TILDA Resources
  • Questionnaire Harmonisation
  • Questionnaire Scales
  • Scale Harmonisation
  • Health Assessment
  • Biomarkers
  • Back to TILDA Homepage
  1. HADS-A
  • Questionnaire Scales
  • ADL
  • AMT
  • APQ-17
  • APQ-32
  • CAGE
  • CASP-12
  • CASP-19
  • CESD-20
  • CESD-8
  • CIDI-SF-Anxiety
  • CIDI-SF-Depression
  • CISS-21
  • Creative Lives
  • Everyday Ageism
  • EQ-5D-5L
  • FES-I
  • Flourishing
  • GAD-7
  • Gratitude
  • HADS-A
  • Housing Conditions
  • IADL
  • IPAQ
  • IPAQ-E
  • IQCODE
  • MHC-SF
  • MESA
  • MMSE
  • MCSI
  • MCTQ
  • Neighbourhood Cohesion
  • NEO-PI
  • PSS
  • PWSQ
  • PCL-6
  • PIL
  • Relationship Quality
  • SWLS
  • Social Activities
  • STAI
  • UCLA

Hospital Anxiety and Depression Scale – Anxiety Subscale (HADS-A)

Description: Detecting states of depression and anxiety.

Number of Items: 7

Item Question Wording TILDA Variable (CAPI) (W2-4) TILDA Variable (SCQ)(W1)
1 I feel tense or wound up. mh201 SCQAnxiety1
2 I get a sort of frightened feeling as if something awful is about to happen. mh202 SCQAnxiety2
3 Worrying thoughts go through my mind. mh203 SCQAnxiety3
4 I can sit at ease and feel relaxed. mh204 SCQAnxiety4
5 I get a sort of frightened feeling like “butterflies” in the stomach. mh205 SCQAnxiety5
6 I feel restless as if I have to be on the move. mh206 SCQAnxiety6
7 I get sudden feelings of panic. mh207 SCQAnxiety7

Scoring Method:

  • Response options differ dependent on item. All 4-point Likert scale.

  • A cumulative score is generated with higher scores representing greater levels of anxiety (range 0-21).

  • Item 4 is positively worded and reverse scored prior to calculation.

Citation:

  • Zigmond, A. S., & Snaith, R. P. (1983). The hospital anxiety and depression scale. Acta psychiatrica Scandinavica, 67(6), 361–370. https://doi.org/10.1111/j.1600-0447.1983.tb09716.x

  • Sivertsen, H. E., Helvik, A. S., Gjøra, L., & Haugan, G. (2023). Psychometric validation of the Hospital Anxiety and Depression Scale (HADS) in community-dwelling older adults. BMC psychiatry, 23(1), 903. https://doi.org/10.1186/s12888-023-05407-2

Example TILDA Papers:

  • Orr, J., O'Connell, M.D.L. and Kenny, R.A. (2019). Religious attendance, social networks and mental health in older adults. Research on Aging.

  • Briggs, R. et al. (2021). The 'Wish to Die' in Later Life: Prevalence, Longitudinal Course and Mortality. Data from TILDA. Age and Ageing.

Code

  • Stata
  • R
  • SPSS
///SCQ Version
///Questions 4 and 5 is reversed, the others are all 3 2 1 0, ie 4 minus coded score

gen hadsa = 0 if has_scq == 1
foreach posq in SCQAnxiety1 SCQAnxiety2 SCQAnxiety3 SCQAnxiety6 SCQAnxiety7{
 replace hadsa = hadsa + (4-`posq') 
 replace hadsa = . if `posq' == 999 | `posq' <0
 } 
 
 replace hadsa = hadsa + (SCQAnxiety4-1) 
 replace hadsa = hadsa + (SCQAnxiety5-1)


replace hadsa = . if SCQAnxiety4 == 999 | SCQAnxiety4<0 
replace hadsa = . if SCQAnxiety5 == 999 | SCQAnxiety5<0

label variable hadsa "HADS-A Anxiety Scale"
rename hadsa MHhadsa

///CAPI Version
gen hadsa = 0 
foreach posq in mh201 mh202 mh203 mh206 mh207{
 replace hadsa = hadsa + (4-`posq') 
 replace hadsa = . if `posq' == 98 | `posq' ==99 | `posq' ==-1
 } 
 
 foreach negq in mh204 mh205{
 replace hadsa = hadsa + (`negq'-1) 
 replace hadsa = . if `negq' == 98 | `negq' ==99 | `negq' ==-1
 } 

label variable hadsa "HADS-A Anxiety Scale (CAPI)"
rename hadsa MHhadsa_capi
notes MHhadsa_capi : HADS-A moved from SCQ to CAPI in Wave 2

Download Stata .do file

# ============================================================
# HADS-A Anxiety Scale - SCQ Version
# ============================================================

# Initialise score only for participants who completed the SCQ
data$hadsa <- NA_real_
data$hadsa[data$has_scq == 1 & !is.na(data$has_scq)] <- 0

# Positively scored items
posq <- c(
  "SCQAnxiety1",
  "SCQAnxiety2",
  "SCQAnxiety3",
  "SCQAnxiety6",
  "SCQAnxiety7"
)

for (var in posq) {

  data$hadsa <- data$hadsa + (4 - data[[var]])

  # Set total score to missing if item is invalid/missing
  data$hadsa[
    !is.na(data[[var]]) &
    (data[[var]] == 999 | data[[var]] < 0)
  ] <- NA_real_
}

# Questions 4 and 5 are scored in the opposite direction
data$hadsa <- data$hadsa + (data$SCQAnxiety4 - 1)
data$hadsa <- data$hadsa + (data$SCQAnxiety5 - 1)

# Set total score to missing if either item is invalid/missing
data$hadsa[
  !is.na(data$SCQAnxiety4) &
  (data$SCQAnxiety4 == 999 | data$SCQAnxiety4 < 0)
] <- NA_real_

data$hadsa[
  !is.na(data$SCQAnxiety5) &
  (data$SCQAnxiety5 == 999 | data$SCQAnxiety5 < 0)
] <- NA_real_

# Variable label
attr(data$hadsa, "label") <- "HADS-A Anxiety Scale"

# Rename
names(data)[names(data) == "hadsa"] <- "MHhadsa"



# ============================================================
# HADS-A Anxiety Scale - CAPI Version
# ============================================================

data$hadsa <- 0

# Positively scored items
posq <- c("mh201", "mh202", "mh203", "mh206", "mh207")

for (var in posq) {

  data$hadsa <- data$hadsa + (4 - data[[var]])

  data$hadsa[
    !is.na(data[[var]]) &
    data[[var]] %in% c(98, 99, -1)
  ] <- NA_real_
}

# Negatively scored items
negq <- c("mh204", "mh205")

for (var in negq) {

  data$hadsa <- data$hadsa + (data[[var]] - 1)

  data$hadsa[
    !is.na(data[[var]]) &
    data[[var]] %in% c(98, 99, -1)
  ] <- NA_real_
}

# Variable label
attr(data$hadsa, "label") <- "HADS-A Anxiety Scale (CAPI)"

# Rename
names(data)[names(data) == "hadsa"] <- "MHhadsa_capi"

Download R file

* ============================================================.
* HADS-A Anxiety Scale - SCQ Version.
* ============================================================.

COMPUTE hadsa = $SYSMIS.
IF (has_scq = 1) hadsa = 0.


* Positively scored items.

COMPUTE hadsa = hadsa + (4 - SCQAnxiety1).
IF (SCQAnxiety1 = 999 OR SCQAnxiety1 < 0) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - SCQAnxiety2).
IF (SCQAnxiety2 = 999 OR SCQAnxiety2 < 0) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - SCQAnxiety3).
IF (SCQAnxiety3 = 999 OR SCQAnxiety3 < 0) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - SCQAnxiety6).
IF (SCQAnxiety6 = 999 OR SCQAnxiety6 < 0) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - SCQAnxiety7).
IF (SCQAnxiety7 = 999 OR SCQAnxiety7 < 0) hadsa = $SYSMIS.


* Questions 4 and 5 scored in opposite direction.

COMPUTE hadsa = hadsa + (SCQAnxiety4 - 1).
COMPUTE hadsa = hadsa + (SCQAnxiety5 - 1).

IF (SCQAnxiety4 = 999 OR SCQAnxiety4 < 0) hadsa = $SYSMIS.
IF (SCQAnxiety5 = 999 OR SCQAnxiety5 < 0) hadsa = $SYSMIS.


VARIABLE LABELS hadsa "HADS-A Anxiety Scale".

RENAME VARIABLES (hadsa = MHhadsa).



* ============================================================.
* HADS-A Anxiety Scale - CAPI Version.
* ============================================================.

COMPUTE hadsa = 0.


* Positively scored items.

COMPUTE hadsa = hadsa + (4 - mh201).
IF (mh201 = 98 OR mh201 = 99 OR mh201 = -1) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - mh202).
IF (mh202 = 98 OR mh202 = 99 OR mh202 = -1) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - mh203).
IF (mh203 = 98 OR mh203 = 99 OR mh203 = -1) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - mh206).
IF (mh206 = 98 OR mh206 = 99 OR mh206 = -1) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (4 - mh207).
IF (mh207 = 98 OR mh207 = 99 OR mh207 = -1) hadsa = $SYSMIS.


* Negatively scored items.

COMPUTE hadsa = hadsa + (mh204 - 1).
IF (mh204 = 98 OR mh204 = 99 OR mh204 = -1) hadsa = $SYSMIS.

COMPUTE hadsa = hadsa + (mh205 - 1).
IF (mh205 = 98 OR mh205 = 99 OR mh205 = -1) hadsa = $SYSMIS.


VARIABLE LABELS hadsa "HADS-A Anxiety Scale (CAPI)".

RENAME VARIABLES (hadsa = MHhadsa_capi).

EXECUTE.

Download SPSS .sps file

Gratitude
Housing Conditions

Copyright 2026, The Irish Longitudinal Study on Ageing (TILDA)

 

TILDA, Department of Health and Health Research Board