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

ADL

Activities of Daily Living Scale (ADL)

Description: Measuring the amount of routine self-care tasks that a respondent can complete without assistance.

Number of Items: 6

Item Question Wording TILDA Variable
1 Have difficulties doing any of these activities on this card - Dressing, including putting on shoes and socks? fl002_01
2 Have difficulties doing any of these activities on this card - Walking across a room? fl002_02
3 Have difficulties doing any of these activities on this card - Bathing or showering? fl002_03
4 Have difficulties doing any of these activities on this card - Eating, such as cutting up your food fl002_04
5 Have difficulties doing any of these activities on this card - Getting in or out of bed? fl002_05
6 Have difficulties doing any of these activities on this card - Using the toilet, including getting up or down? fl002_06

Scoring Method:

  • Each variable assigned a score of 1 if answered participant reports having difficulty.

  • Assessed as individual ADL difficulties, a binary “any ADL difficulty” score, or calculated as a cumulative score of difficulties.

Citation:

  • Katz S. (1983). Assessing self-maintenance: activities of daily living, mobility, and instrumental activities of daily living. Journal of the American Geriatrics Society, 31(12), 721–727. https://doi.org/10.1111/j.1532-5415.1983.tb03391.x

Example TILDA Papers:

  • Connolly, D., Garvey, J., & McKee, G. (2017). Factors associated with ADL/IADL disability in community dwelling older adults in the Irish longitudinal study on ageing (TILDA). Disability and rehabilitation, 39(8), 809–816. https://doi.org/10.3109/09638288.2016.1161848

Code

  • Stata
  • R
  • SPSS
egen impairments = rowtotal(fl001_01-fl001_11)
egen adl = rowtotal(fl002_01-fl002_06)
replace adl = 0 if impairments == 0
egen iadl = rowtotal(fl025_01-fl025_06)

*Disability: 3 categories (disab3)
gen disab3 = 0 if iadl ~=. & adl ~=.
replace disab3 = 1 if iadl>0
replace disab3 = 2 if adl>0
label define disab3 0 "Not disabled" 1 "IADL disability only" 2 "Any ADL disability"
label values disab3 disab3
label variable disab3 "Disability"
notes disab3 : Disability in three groups, puts those with both IADL and ADL into the ADL group. Assumes an ordinality which probably does not hold.
tab disab3

*Disability: 4 categories (disab4)
gen disab4b = 0 if iadl ~=. & adl ~=.
replace disab4b = 1 if iadl>0
replace disab4b = disab4b + 2 if adl>0
label define disab4 0 "Not disabled" 1 "IADL disability only " 2 "ADL disability only " 3 "IADL and ADL disability"
label values disab4 disab4
label variable disab4 "Disability"
tab disab4

label variable impairments "Number of physical limitations (from fl001)"
notes impairments : uses list of impairments in fl001

label variable adl "Number of ADL impairments"
notes adl : From list in q fl002

label variable iadl "Number of IADL impairments"
notes iadl : From list in q fl025

rename iadl DISiadl
rename adl DISadl
rename impairments DISimpairments
rename disab3 DISdisab3
rename disab4 DISdisab4

Download Stata .do file

# Variable lists
impairment_vars <- sprintf("fl001_%02d", 1:11)
adl_vars        <- sprintf("fl002_%02d", 1:6)
iadl_vars       <- sprintf("fl025_%02d", 1:6)

# Stata egen rowtotal() treats missing component values as zero.
# rowSums(..., na.rm = TRUE) reproduces that behaviour, including
# returning 0 when all component items are missing.
data$impairments <- rowSums(data[impairment_vars], na.rm = TRUE)
data$adl         <- rowSums(data[adl_vars], na.rm = TRUE)

# Retained to mirror the Stata source exactly.
data$adl[data$impairments == 0] <- 0

data$iadl <- rowSums(data[iadl_vars], na.rm = TRUE)

# Disability: 3 categories (disab3)
data$disab3 <- NA_real_
data$disab3[!is.na(data$iadl) & !is.na(data$adl)] <- 0
data$disab3[!is.na(data$iadl) & data$iadl > 0] <- 1
data$disab3[!is.na(data$adl)  & data$adl  > 0] <- 2

attr(data$disab3, "label") <- "Disability"
attr(data$disab3, "labels") <- c(
  "Not disabled" = 0,
  "IADL disability only" = 1,
  "Any ADL disability" = 2
)
attr(data$disab3, "note") <- paste(
  "Disability in three groups, puts those with both IADL and ADL",
  "into the ADL group. Assumes an ordinality which probably does not hold."
)

print(table(data$disab3, useNA = "ifany"))

# Disability: 4 categories (disab4)
data$disab4 <- NA_real_
data$disab4[!is.na(data$iadl) & !is.na(data$adl)] <- 0
data$disab4[!is.na(data$iadl) & data$iadl > 0] <- 1
data$disab4[!is.na(data$adl) & data$adl > 0] <-
  data$disab4[!is.na(data$adl) & data$adl > 0] + 2

attr(data$disab4, "label") <- "Disability"
attr(data$disab4, "labels") <- c(
  "Not disabled" = 0,
  "IADL disability only" = 1,
  "ADL disability only" = 2,
  "IADL and ADL disability" = 3
)

print(table(data$disab4, useNA = "ifany"))

# Variable labels and notes
attr(data$impairments, "label") <- "Number of physical limitations (from fl001)"
attr(data$impairments, "note")  <- "uses list of impairments in fl001"

attr(data$adl, "label") <- "Number of ADL impairments"
attr(data$adl, "note")  <- "From list in q fl002"

attr(data$iadl, "label") <- "Number of IADL impairments"
attr(data$iadl, "note")  <- "From list in q fl025"

# Rename to TILDA scale variable names
names(data)[names(data) == "iadl"]        <- "DISiadl"
names(data)[names(data) == "adl"]         <- "DISadl"
names(data)[names(data) == "impairments"] <- "DISimpairments"
names(data)[names(data) == "disab3"]      <- "DISdisab3"
names(data)[names(data) == "disab4"]      <- "DISdisab4"

Download R file

COMPUTE impairments = SUM(fl001_01 TO fl001_11).
IF (MISSING(impairments)) impairments = 0.

COMPUTE adl = SUM(fl002_01 TO fl002_06).
IF (MISSING(adl)) adl = 0.
IF (impairments = 0) adl = 0.

COMPUTE iadl = SUM(fl025_01 TO fl025_06).
IF (MISSING(iadl)) iadl = 0.


* Disability: 3 categories (disab3).
COMPUTE disab3 = $SYSMIS.
IF (NOT MISSING(iadl) AND NOT MISSING(adl)) disab3 = 0.
IF (iadl > 0) disab3 = 1.
IF (adl > 0) disab3 = 2.

VALUE LABELS disab3
    0 "Not disabled"
    1 "IADL disability only"
    2 "Any ADL disability".

VARIABLE LABELS disab3 "Disability".

FREQUENCIES VARIABLES=disab3.


* Disability: 4 categories (disab4).
COMPUTE disab4 = $SYSMIS.
IF (NOT MISSING(iadl) AND NOT MISSING(adl)) disab4 = 0.
IF (iadl > 0) disab4 = 1.
IF (adl > 0) disab4 = disab4 + 2.

VALUE LABELS disab4
    0 "Not disabled"
    1 "IADL disability only"
    2 "ADL disability only"
    3 "IADL and ADL disability".

VARIABLE LABELS disab4 "Disability".

FREQUENCIES VARIABLES=disab4.


* Variable labels.
VARIABLE LABELS impairments "Number of physical limitations (from fl001)".
VARIABLE LABELS adl         "Number of ADL impairments".
VARIABLE LABELS iadl        "Number of IADL impairments".

* Notes from the Stata source:
* impairments: uses list of impairments in fl001.
* adl: From list in q fl002.
* iadl: From list in q fl025.


* Rename to TILDA scale variable names.
RENAME VARIABLES
    (iadl = DISiadl)
    (adl = DISadl)
    (impairments = DISimpairments)
    (disab3 = DISdisab3)
    (disab4 = DISdisab4).

EXECUTE.

Download SPSS .sps file

Questionnaire Scales
AMT

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

 

TILDA, Department of Health and Health Research Board