International Physical Activity Questionnaire - IPAQ - Long Form

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 20, 2023

Last Modified: January 05, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements Millisecond's computerized version of the International Physical Activity Questionnaire – Long Form (IPAQ). The IPAQ (Booth, 2000) is freely available.

Disclaimer:
This script runs Millisecond's best effort attempt to code summary variables such as MET-scores and categorial assessment of physical activity (PAL score) according to the guidelines outlined in 'scoring_protocol.pdf' (downloaded at: https://sites.google.com/view/ipaq/score). Coding may, however, still differ from intended purposes or contain errors. If in doubt, manually score the obtained raw responses.

References

Booth, M.L. (2000). Assessment of Physical Activity: An International Perspective. Research Quarterly for Exercise and Sport, 71 (2): s114-20.

Craig, C. L., Marshall, A. L., Sjöström, M., Bauman, A. E., Booth, M. L., Ainsworth, B. E., Pratt, M., Ekelund, U., Yngve, A., Sallis, J. F., & Oja, P. (2003). International physical activity questionnaire: 12-country reliability and validity. Medicine and Science in Sports and Exercise, 35(8), 1381–1395. https://doi.org/10.1249/01.MSS.0000078924.61453.FB

More Information As Well As Forms In Several Language Available At:
https://sites.google.com/view/ipaq

Scoring Protocol ('Scoring_Protocol.Pdf'):
https://sites.google.com/view/ipaq/score

Publicly Available Scoring Script In R By M. Ponce-De-Leon:
https://github.com/Mariana-plr/IPAQlong/tree/main ( Millisecond has no further knowledge of the accuracy of the implemented scoring criteria)

Duration

15 minutes

Description

from webpage: "The International Physical Activity Questionnaires (IPAQ) comprises a set of 4 questionnaires. Long (5 activity domains asked independently) and short (4 generic items) versions for use by either telephone or self-administered methods are available. The purpose of the questionnaires is to provide common instruments that can be used to obtain internationally comparable data on health–related physical activity."

FOR USE WITH YOUNG AND MIDDLE-AGED ADULTS (15-69 years)

Stimuli

The individual survey questions can be found in script 'ipac_long_instructions_inc.iqs'

Instructions

The instructions can be found in script 'ipac_long_instructions_inc.iqs'

Scoring

Raw Data Comments
If participants are allowed to navigate back and forth on survey pages (default),
it is possible the raw data files store data that are not considered for summary variable analyses.
Example: participant enters 'work related' vigorous hours at 1 hour and 10 minutes (q3a + q3b) but later changes
their answer to question q2 to 'no work related vigorous activities'. In this case, the answer to q2 overrides the
earlier entered responses to q3a+q3b for summary variable analyses (= minutes of work related vigorous activity will be 0)
but the last responses to q3a/q3b are still stored in the raw data file.
To change navigation settings, go to element.survey_long and follow instructions.

Explanation Of Abbreviations
met: Metabolic equivalent of a task
pa: Physical Activity
vpa: Vigorous Physical Activity
mpa: Moderate Physical Activity
pal: Physical Activity Level
dpw: Days per Week exercised
mpd: Minutes per Days exercised

Capped Scores
By default scripts automatically limits number of minutes exercised per day for any of the three categories to 180minutes (3 hours)
for the purpose of computing MET scores
To use uncapped scores, set parameters.useCappedMinutes (section Editable Parameters) to false.

Continues Measure Of Physical Activity (Pa): Met-Minute Scores
From 'scoring_protocol.pdf' (p.3):
"METs are multiples of the resting metabolic rate and a MET-minute is computed by multiplying
the MET score of an activity by the minutes performed. MET-minute scores are
equivalent to kilocalories for a 60 kilogram person."
(MET scores used in this script reported in 'scoring_protocol.pdf', p.7-8)

Met-Scores By Domain (See 'Scoring_Protocol.Pdf', P.7-8)
if parameters.useCappedMinutes = true (default) =>
metVPA is capped at 10080 MET min/week to be comparable to Short form
metMPA is capped at 5040 MET min/week to be comparable to Short form
metWalking is capped at 4158 MET min/week to be comparable to Short form

Categorical Measure Of Physical Activity (Pa):
Criteria to score Physical Activity Level are described in 'scoring_protocal.pdf', p. 8/9
disclaimer: best guess interpretation of the criteria

Optional Columns In Summary Data File That Could Be Used To Analyse The Responses Using The
publicly available R-script by M. Ponce-de-Leon:
https://github.com/Mariana-plr/IPAQlong/tree/main

the R-script requires a data file with 25 data columns

Summary Data

File Name: ipaq_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
At Work
metVPAAtWork Calculated as = 8.0*dpwVPAAtWork*mpdVPAAtWork_capped*
metMPAAtWork Calculated as = 4.0*dpwMPAAtWork*MPD_MPAAtWork_capped
metWalkingAtWork Calculated as = 3.3*dpwWalkingAtWork*MPD_walkingAtWork_capped
metAtWork Sum of all MET 'atWork' scores
* capped = by default scripts automatically limits number of minutes exercised per day for any of the three categories to 180minutes (3 hours)
for the purpose of computing MET scores.
To use uncapped scores, set parameters.useCappedMinutes (section Editable Parameters) to false.
Transportation
metCycleTransportation Calculated as = 6.0*dpwCycle_transport*MPD_cycle_transport_capped ( counted as moderate activity)
metWalkingTransportation Calculated as = 3.3*dpwWalking_transport*MPD_walking_transport_capped
metTransportation Sum of all MET 'transportation' scores
Chores
metVPAOutsideChores Calculated as = 5.5*dpwVPAOutsideChores*mpdVPAOutsideChores_capped ( counted as moderate activity)
metMPAOutsideChores Calculated as = 4.0*dpwMPAOutsideChores*MPD_MPAOutsideChores_capped
metMPAInsideChores Calculated as = 3.0*dpwMPA_insideChores*MPD_MPA_insideChores_capped
metChores Sum of all MET 'chores' scores
Leisure
metVPALeisure Calculated as = 8.0*dpwVPA_leisure*mpdVPA_leisure_capped
metMPALeisure Calculated as = 4.0*dpwMPA_leisure*MPD_MPA_leisure_capped
metWalkingLeisure Calculated as = 3.3*dpwWalking_leisure*MPD_walking_leisure_capped
metLeisure Sum of all MET 'leisure' scores
vigorous, moderate and walking categories across domains
metVPA MET-minute score for vigorous physical activity (across domains)
according to 'scoring_protocol.pdf' (p.8) calculated as
sum of (MET_VPAAtWork + MET_VPA_leisure)
metMPA Overall MET-minute score for moderate physical activity (across domains)
according to 'scoring_protocol.pdf' (p.7) calculated as
sum of (MET_MPAAtWork + MET_cycle_transportation + MET_VPAOutsideChores + MET_MPAOutsideChores + MET_MPA_insideChores + MET_MPA_leisure)
metWalking Overall MET-minute score for moderate physical activity (across domains)
according to 'scoring_protocol.pdf' (p.7) calculated as
sum of (MET_walkingAtWork + MET_walking_transportation + MET_walking_leisure)
Overal Met-Minute Score
metTotal Overall MET-minute score
calculated as the sum of the MET-minute scores for (MET_VPA + MET_MPA + MET_walking)
Categorical Measure Of Physical Activity (Pa)
pal Physical Activity Level (LOW, MODERATE, HIGH)
highCriterium1 1 = participant fulfilled high_criterium1, IF SO (PAL = HIGH); 0 = otherwise
criterium: vigorous-intensity activity on at least 3 days achieving a minimum Total physical activity of at least 1500 MET-minutes/week)
calculation in this script
if (expressions.dpwVPA >= 3 AND expressions.metTotal >= 1500) => return '1' else return '0'
dpwVPA: stores the number of days of vigorous physical activity (>= 10min) reported as the simple sum of (DPWAtWork + dpwLeisure)
metTotal: sum of all MET scores
highCriterium2 1 = participant fulfilled high_criterium2, IF SO (PAL = HIGH); 0 = otherwise
criterium: 7 or more days of any combination of walking, moderate-intensity or vigorous-intensity activities achieving a minimum Total physical activity of at least 3000 MET-minutes/week.
Calculation in this script
if (expressions.dpwPA >= 7 AND expressions.metTotal >= 3000) => return '1' else return '0'
dpwPA: sum of (dpwVPA + DPW+MPA + dpwWalking)
metTotal: sum of all MET scores
moderateCriterium1 1 = participant fulfilled moderate_criterium1, IF SO (PAL = MODERATE); 0 = otherwise
criterium: 3 or more days of vigorous-intensity activity of at least 20 minutes per day
Calculation in this script
if (dpwVPA_20) => return '1' else return '0'
dpwVPA20min: Days Per Week of VPA (vigorous physical activity) of at least 20 minutes per day
Note
This script sums the number of reported 'at work' days of at
least 20 minutes of vigorous activity AND the number of reported 'leisure'
days of at least 20 minutes of vigorous activity separately and then uses the sum of these days as dpwVPA_30
moderateCriterium2 1 = participant fulfilled moderate_criterium2, IF SO (PAL = MODERATE); 0 = otherwise
criterium: 5 or more days of moderate-intensity activity and/or walking of at least 30 minutes per day
Calculation in this script (analogous to calculation for ipaq_short)
if (dpwMPAandWALK >= 5 AND expressions.totalMinutes_MPAandWALK/5 >= 30) => return '1' else return '0'
dpwMPAandWALK: the combined DPWs for MPA and walking (simple addition)
totalMinutes_MPAandWALK: sum of the totalMinutes MPA and walking
moderateCriterium3 1 = participant fulfilled moderate_criterium3, IF SO (PAL = MODERATE); 0 = otherwise
criterium: 5 or more days of any combination of walking, moderate-intensity or vigorous intensity activities achieving a minimum Total physical activity of at least 600 MET-minutes/week.
Calculation in this script
if (expressions.dpwPA >= 5 AND expressions.MetTotal >= 600) => return '1' else return '0'
dpwPA: sum of (dpwVPA + DPW+MPA + dpwWalking)
metTotal: sum of all MET scores
Vigorous
dpwVPA Days Per Week of VPA (vigorous physical activity of at least 10 minutes)
dpwVPA20min Days Per Week of VPA (vigorous physical activity) of at least 20 minutos por día
Notes
a) This script sums the number of reported 'at work' days of at
least 20 minutes of vigorous activity AND the number of reported 'leisure'
days of at least 20 minutes of vigorous activity (used for moderate criterium 1 in this script)
b) It is unclear if that is the intended translation (check publicly available R-script
for an alternative interpretation)
totalMinutesVPA Total number of minutes of vigorous physical activity in a week (the last 7 days)
Moderate
dpwMPA Days Per Week of MPA (moderate physical activity)
totalMinutesMPA Total number of minutes of moderate physical activity in the last 7 days
Walking
dpwWalking Days Per Week of Walking
totalMinutesWalking Total number of minutes of walking in the last 7 days
Total
totalMinutesPA Total number of minutes of physical activity in the last 7 days
Combinations
dpwMPAandWALK The combined DPWs for MPA and walking (simple addition)
totalMinutesMPAandWALK Sum of the totalMinutes MPA and walking
At Work
dpwVPAAtWork Stores the number of days of vigorous physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdVPAAtWork Stores the reported time (in minutes) spent on the vigorous activity at Work on these days
mpdVPAAtWorkCapped Stores the reported time (in minutes) spent on the vigorous activity at Work on these days, capped at 180 minutes max (3 hours)
totalMinutesVPAAtWork Stores the total reported number of minutes spent on vigorous exercise at work (NOT based on capped time)
dpwMPAAtWork Stores the number of days of moderate physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdMPAAtWork Stores the reported time (in minutes) spent on the moderate activity at Work on these days
mpdMPAAtWorkCapped Stores the reported time (in minutes) spent on the moderate activity at Work on these days, capped at 180 minutes max (3 hours)
totalMinutesMPAAtWork Stores the total reported number of minutes spent on moderate exercise at work (NOT based on capped time)
dpwWalkingAtWork Stores the number of days of walking physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdWalkingAtWork Stores the reported time (in minutes) spent on the walking activity at Work on these days
mpdWalkingAtWork Stores the reported time (in minutes) spent on the walking activity at Work on these days, capped at 180 minutes (3 hours)
totalMinutesWalkingAtWork Stores the total reported number of minutes spent on walking exercise at work (NOT based on capped time)
Transportation
dpwCycleTransportation Stores the number of days of cycle physical activity reported during transportation (if nothing was reported, the data says 'missing data')
mpdCycleTransportation Stores the reported time (in minutes) spent on the cycle activity during transportation on these days
mpdCycleTransportationCapped Stores the reported time (in minutes) spent on the cycle activity during transportation on these days, capped at 180 minutes (3 hours)
totalMinutesCycleTransportation:stores the total reported number of minutes spent on cycling during transportation (NOT based on capped time)
dpwWalkingTransportation Stores the number of days of walking physical activity reported during transportation (if nothing was reported, the data says 'missing data')
mpdWalkingTransportation Stores the reported time (in minutes) spent on the walking activity during transportation on these days
mpdWalkingTransportation Stores the reported time (in minutes) spent on the walking activity during transportation on these days, capped at 180 minutes (3 hours)
totalMinutesWalkingTransportation Stores the total reported number of minutes spent on walking during transportation (NOT based on capped time)
Chores
dpwVPAOutsideChores Stores the number of days of vigorous physical activity reported during outside chores (if nothing was reported, the data says 'missing data')
mpdVPAOutsideChores Stores the reported time (in minutes) spent on the cycle activity during outside chores on these days
mpdVPAOutsideChores Stores the reported time (in minutes) spent on the cycle activity during outside chores on these days, capped at 180 minutes (3 hours)
totalMinutesVPAOutsideChores Stores the total reported number of minutes spent on vigorous outside chores (NOT based on capped time)
dpwMPAOutsideChores Stores the number of days of moderate physical activity reported during outside chores (if nothing was reported, the data says 'missing data')
mpdMPAOutsideChores Stores the reported time (in minutes) spent on the moderate activity during outside chores on these days
mpdMPAOutsideChores Stores the reported time (in minutes) spent on the moderate activity during outside chores on these days, capped at 180 minutes (3 hours)
totalMinutesMPAOutsideChores Stores the total reported number of minutes spent on moderate outside chores (NOT based on capped time)
dpwMPAInsideChores Stores the number of days of walking physical activity reported during inside chores (if nothing was reported, the data says 'missing data')
mpdMPAInsideChores Stores the reported time (in minutes) spent on the walking activity during inside chores on these days
mpdMPAInsideChoresCapped Stores the reported time (in minutes) spent on the walking activity during inside chores on these days, capped at 180 minutes (3 hours)
totalMinutesMPAInsideChores Stores the total reported number of minutes spent on moderate inside chores (NOT based on capped time)
Leisure
dpwVPALeisure Stores the number of days of vigorous physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdVPALeisure Stores the reported time (in minutes) spent on the vigorous activity at Work on these days
mpdVPALeisureCapped Stores the reported time (in minutes) spent on the vigorous activity at Work on these days, capped at 180 minutes (3 hours)
totalMinutesVPALeisure Stores the total reported number of minutes spent on vigorous physical activity during leisure time (NOT based on capped time)
dpwMPALeisure Stores the number of days of moderate physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdMPALeisure Stores the reported time (in minutes) spent on the moderate activity at Work on these days
mpdMPALeisureCapped Stores the reported time (in minutes) spent on the moderate activity at Work on these days, capped at 180 minutes (3 hours)
totalMinutesMPALeisure Stores the total reported number of minutes spent on vigorous physical activity during leisure time (NOT based on capped time)
dpwWalkingLeisure Stores the number of days of walking physical activity reported at Work (if nothing was reported, the data says 'missing data')
mpdWalkingLeisure Stores the reported time (in minutes) spent on the walking activity at Work on these days
mpdWalkingLeisure Stores the reported time (in minutes) spent on the walking activity at Work on these days, capped at 180 minutes (3 hours)
totalMinutesWalkingLeisure Stores the total reported number of minutes spent on walking during leisure time (NOT based on capped time)
Sitting
minSittingWeekday The total number of minutes spent sitting on weekdays during the last 7 days
minSittingWeekend The total number of minutes spent sitting on weekend days during the last 7 days
minSitting The total number of minutes spent sitting during the last 7 days
Non Pa-Transportation (Car, Bus Etc.)
dpwNonPATransportation Days per week using non-PA transportation (car, bus, train etc.)
mpdNonPATransportation Minutes per day using non-PA transportation (car, bus, train etc.)
Performance Metrics Columns For R-Analyses Using Script: Https:Github.Com/Mariana-Plr/Ipaqlong/Tree/Main
Radiobuttons.Q1.Response
Dpwvpaatwork
Mpdvpaatwork
Dpwmpaatwork
Mpd_Mpaatwork
Dpwwalkingatwork
Mpd_Walkingatwork
Dpwnonpa_Transportation
Mpdnonpatransportation
Dpwcycle_Transportation
Mpd_Cycle_Transportation
Dpwwalking_Transportation
Mpd_Walking_Transportation
Dpwvpaoutsidechores
Mpdvpaoutsidechores
Dpwmpaoutsidechores
Mpd_Mpaoutsidechores
Dpwmpaoutsidechores
Mpd_Mpaoutsidechores
Dpwwalking_Leisure
Mpd_Walking_Leisure
Dpwvpa_Leisure
Mpdvpa_Leisure
Dpwmpa_Leisure
Mpd_Mpa_Leisure

Raw Data

File Name: ipaq.iqdat

Data Fields

NameDescription
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
build Inquisit version number
q1 1 = participants reports to have a job; 0 = otherwise (MET_work => 0)
At Work
q2 1 = participant entered number of days for VIGOROUS PA at work (see q2other_response for actual number); 0 = no VIGOROUS PA at work
q3a Stores the hours per day of VIGOROUS PA for work
q3b Stores the minutes per day of VIGOROUS PA for work
total time spent on VIGOROUS PA for work = (hours*60) + minutes
q4 1 = participant entered number of days for MODERATE PA at work (see q4other_response for actual number); 0 = no MODERATE PA at work
q5a Stores the hours per day of MODERATE PA for work
q5b Stores the minutes per day of MODERATE PA for work
q6 1 = participant entered number of days for WALKING at work (see q6other_response for actual number); 0 = no WALKING at work
q7a Stores the hours per day of WALKING for work
q7b Stores the minutes per day of WALKING for work
Transportation
q8 1 = participant entered number of days for using car/bus etc during transportation activites (see q8other_response for actual number); 0 = no vehicle use during transportation activites
q9a Stores the hours per day of vehicle use during transportation activites
q9b Stores the minutes per day of vehicle use during transportation activites
q8 does NOT contribute to PA
q10 1 = participant entered number of days for CYCLING PA during transportation activites (see q10other_response for actual number); 0 = no CYCLING PA during transportation activites
q11a Stores the hours per day of CYCLING PA during transportation activites
q11b Stores the minutes per day of CYCLING PA during transportation activites
q12 1 = participant entered number of days for WALKING during transportation activites (see q12other_response for actual number); 0 = no WALKING during transportation activites
q13a Stores the hours per day of WALKING during transportation activites
q13b Stores the minutes per day of WALKING during transportation activites
Chores
q14 1 = participant entered number of days for VIGOROUS outside chores (see q14other_response for actual number); 0 = no VIGOROUS outside chores
q15a Stores the hours per day of VIGOROUS outside chores
q15b Stores the minutes per day of VIGOROUS outside chores
q16 1 = participant entered number of days for MODERATE outside chores (see q16other_response for actual number); 0 = no MODERATE outside chores
q17a Stores the hours per day of MODERATE outside chores
q17b Stores the minutes per day of MODERATE outside chores
q18 1 = participant entered number of days for MODERATE inside chores (see q18other_response for actual number); 0 = no MODERATE inside chores
q19a Stores the hours per day of MODERATE inside chores
q19b Stores the minutes per day of MODERATE inside chores
Leisure Time
q20 1 = participant entered number of days for WALKING during leisure time (see q20other_response for actual number); 0 = no WALKING during leisure time
q21a Stores the hours per day of WALKING during leisure time
q21b Stores the minutes per day of WALKING during leisure time
q22 1 = participant entered number of days for VIGOROUS PA during leisure time (see q2other_response for actual number); 0 = no VIGOROUS PA during leisure time
q23a Stores the hours per day of VIGOROUS PA during leisure time
q23b Stores the minutes per day of VIGOROUS PA during leisure time
q24 1 = participant entered number of days for MODERATE PA during leisure time (see q4other_response for actual number); 0 = no MODERATE PA during leisure time
q25a Stores the hours per day of MODERATE PA during leisure time
q25b Stores the minutes per day of MODERATE PA during leisure time
Sitting
q26a Stores the hours per day of SITTING time during a WEEK DAY
q26b Stores the minutes per day of SITTING time during a WEEK DAY
q27a Stores the hours per day of SITTING time during a WEEKEND DAY
q27b Stores the minutes per day of SITTING time during a WEEKEND DAY
q*_latency How much time (in ms) the participant spent on the surveyPage with this particular
question (the last time this particular surveyPage was visited)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
useCappedMinutes True: If TRUE all individually reported walking, moderate and vigorous times (in each domain)
are capped at 180min (3 hours) per day for the purpose of MET min/week calculations.
The max reported MET times for total vigorous, moderate, and walking
calculated ACROSS the different domains are further capped at the
max. values used in the IPAQ-Short form
VPA: 10080 MET min/week
MPA: 5040 MET min/week
walking: 4158 MET min/week
false: the uncapped values are used for MET min/week calculations
true
runFeedbackPage True: participants is informed about MET scores and physical fitness category
false: no feedback is provided for participants
true