TILDA Resources
  • Questionnaire Harmonisation
  • Questionnaire Scales
  • Scale Harmonisation
  • Health Assessment
  • Biomarkers
  • Back to TILDA Homepage
  1. CASP-12
  • 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

CASP-12

CASP-12

Measuring: Measures Quality of Life (QoL) through four domains; Control, Autonomy, Self-realisation, and Pleasure.

Number of Items: 12

Item Question Wording TILDA Variable
1 My age prevents me from doing the things I would like to. SCQCASP1
2 I feel that what happens to me is out of my control. SCQCASP2
3 I feel free to plan for the future. SCQCASP3
4 I feel left out of things. SCQCASP4
5 I feel that I can please myself in what I can do. SCQCASP7
6 My health stops me from doing the things I want to do. SCQCASP8
7 Shortage of money stops me from doing the things that I want to do. SCQCASP9
8 I look forward to each day. SCQCASP10
9 I feel that my life has meaning. SCQCASP11
10 I enjoy being in the company of others. SCQCASP13
11 I feel satisfied with the way my life has turned out. SCQCASP17
12 I feel that life is full of opportunities. SCQCASP18

Scoring Method:

4-point Likert scale.

1 = Often

2 = Sometimes

3 = Rarely

4 = Never

  • A cumulative score is generated with higher scores representing higher quality of life (0-36).

  • There are 4 subscales generated from this scale;

  • Control (Item 1- Item 4)

  • Autonomy (Item 5 - Item 7)

  • Pleasure (Item 8 - Item 10)

  • Self-realisation (Item 11 – Item 12)

  • Scores are summed within each CASP-12 subscale: Control (0–12), Autonomy (0-9), Pleasure (0-9), and Self-realisation (0-6). Higher scores indicate greater perceived quality of life within that domain.

Citation: Borrat-Besson, C., Ryser, V.-A., & Gonçalves, J. (2015). An evaluation of the CASP-12 scale used in the Survey of Ageing and Retirement in Europe (SHARE) to measure Quality of Life among people aged 50+. FORS Working Paper Series, paper 2015-4. Lausanne: FORS.

Example TILDA Papers:

  • McGarrigle, C. A., Ward, M., De Looze, C., O'Halloran, A., & Kenny, R. A. (2022). Caring in the time of COVID-19, longitudinal trends in well-being and mental health in carers in Ireland: Evidence from the Irish Longitudinal Study on Ageing (TILDA). Archives of gerontology and geriatrics, 102, 104719. https://doi.org/10.1016/j.archger.2022.104719

Code

  • Stata
  • R
  • SPSS
mvdecode SCQCASP*, mv(-99=.\-812=.\-823=.\-834=.)

gen MHcasp12_control = 0 if in_scq==1
replace MHcasp12_control = (SCQCASP1-1) + (SCQCASP2-1) + (4-SCQCASP3) + (SCQCASP4-1) 
label variable MHcasp12_control "CASP-12 Control"

gen MHcasp12_autonomy = 0 if in_scq==1
replace MHcasp12_autonomy = (4-SCQCASP7) + (SCQCASP8-1)+ (SCQCASP9-1)
label variable MHcasp12_autonomy "CASP-12 Autonomy"

gen MHcasp12_pleasure = 0 if in_scq==1
replace MHcasp12_pleasure = (4-SCQCASP13) + (4-SCQCASP10) + (4-SCQCASP11)
label variable MHcasp12_pleasure "CASP-12 Pleasure"

gen MHcasp12_selfreal = 0 if in_scq==1
replace MHcasp12_selfreal = (4-SCQCASP17) + (4-SCQCASP18)
label variable MHcasp12_selfreal "CASP-12 Self-Realisation"

gen MHcasp12_total = MHcasp12_control + MHcasp12_autonomy + MHcasp12_pleasure + MHcasp12_selfreal
label variable MHcasp12_total "CASP-12 Quality of Life Scale"
notes MHcasp12_total : CASP is a 12-item scale

Download Stata .do file

casp_vars <- grep("^SCQCASP", names(data), value = TRUE)

for (var in casp_vars) {
  data[[var]][data[[var]] %in% c(-99, -812, -823, -834)] <- NA
}


# CASP-12 Control
data$MHcasp12_control <- NA_real_
data$MHcasp12_control[!is.na(data$in_scq) & data$in_scq == 1] <- 0

data$MHcasp12_control <-
  (data$SCQCASP1 - 1) +
  (data$SCQCASP2 - 1) +
  (4 - data$SCQCASP3) +
  (data$SCQCASP4 - 1)

attr(data$MHcasp12_control, "label") <- "CASP-12 Control"


# CASP-12 Autonomy
data$MHcasp12_autonomy <- NA_real_
data$MHcasp12_autonomy[!is.na(data$in_scq) & data$in_scq == 1] <- 0

data$MHcasp12_autonomy <-
  (4 - data$SCQCASP7) +
  (data$SCQCASP8 - 1) +
  (data$SCQCASP9 - 1)

attr(data$MHcasp12_autonomy, "label") <- "CASP-12 Autonomy"


# CASP-12 Pleasure
data$MHcasp12_pleasure <- NA_real_
data$MHcasp12_pleasure[!is.na(data$in_scq) & data$in_scq == 1] <- 0

data$MHcasp12_pleasure <-
  (4 - data$SCQCASP13) +
  (4 - data$SCQCASP10) +
  (4 - data$SCQCASP11)

attr(data$MHcasp12_pleasure, "label") <- "CASP-12 Pleasure"


# CASP-12 Self-Realisation
data$MHcasp12_selfreal <- NA_real_
data$MHcasp12_selfreal[!is.na(data$in_scq) & data$in_scq == 1] <- 0

data$MHcasp12_selfreal <-
  (4 - data$SCQCASP17) +
  (4 - data$SCQCASP18)

attr(data$MHcasp12_selfreal, "label") <- "CASP-12 Self-Realisation"


# CASP-12 total
data$MHcasp12_total <-
  data$MHcasp12_control +
  data$MHcasp12_autonomy +
  data$MHcasp12_pleasure +
  data$MHcasp12_selfreal

attr(data$MHcasp12_total, "label") <- "CASP-12 Quality of Life Scale"
attr(data$MHcasp12_total, "note")  <- "CASP is a 12-item scale"

Download R file

RECODE
    SCQCASP1 SCQCASP2 SCQCASP3 SCQCASP4
    SCQCASP7 SCQCASP8 SCQCASP9
    SCQCASP10 SCQCASP11 SCQCASP13
    SCQCASP17 SCQCASP18
    (-99 = SYSMIS)
    (-812 = SYSMIS)
    (-823 = SYSMIS)
    (-834 = SYSMIS).


* CASP-12 Control.
COMPUTE MHcasp12_control = $SYSMIS.
IF (in_scq = 1) MHcasp12_control = 0.

COMPUTE MHcasp12_control =
    (SCQCASP1 - 1) +
    (SCQCASP2 - 1) +
    (4 - SCQCASP3) +
    (SCQCASP4 - 1).

VARIABLE LABELS MHcasp12_control "CASP-12 Control".


* CASP-12 Autonomy.
COMPUTE MHcasp12_autonomy = $SYSMIS.
IF (in_scq = 1) MHcasp12_autonomy = 0.

COMPUTE MHcasp12_autonomy =
    (4 - SCQCASP7) +
    (SCQCASP8 - 1) +
    (SCQCASP9 - 1).

VARIABLE LABELS MHcasp12_autonomy "CASP-12 Autonomy".


* CASP-12 Pleasure.
COMPUTE MHcasp12_pleasure = $SYSMIS.
IF (in_scq = 1) MHcasp12_pleasure = 0.

COMPUTE MHcasp12_pleasure =
    (4 - SCQCASP13) +
    (4 - SCQCASP10) +
    (4 - SCQCASP11).

VARIABLE LABELS MHcasp12_pleasure "CASP-12 Pleasure".


* CASP-12 Self-Realisation.
COMPUTE MHcasp12_selfreal = $SYSMIS.
IF (in_scq = 1) MHcasp12_selfreal = 0.

COMPUTE MHcasp12_selfreal =
    (4 - SCQCASP17) +
    (4 - SCQCASP18).

VARIABLE LABELS MHcasp12_selfreal "CASP-12 Self-Realisation".


* CASP-12 total.
COMPUTE MHcasp12_total =
    MHcasp12_control +
    MHcasp12_autonomy +
    MHcasp12_pleasure +
    MHcasp12_selfreal.

VARIABLE LABELS MHcasp12_total "CASP-12 Quality of Life Scale".

* Note from Stata:
* MHcasp12_total: CASP is a 12-item scale.

EXECUTE.

Download SPSS .sps file

CAGE
CASP-19

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

 

TILDA, Department of Health and Health Research Board