PASAT-C

Technical Manual

original PASAT.iqjs Coder: Jeffrey Q. Ouyang
edited for PASAT-C by: Katja Borchert (katjab@millisecond.com), Millisecond

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

Script Copyright © Millisecond Software, LLC

Background

This script implements the PASAT-C, a modified computerized version of the Paced Auditory Serial Addition Test (Lejuez et al, 2003). The PASAT-C is used as a Distress Tolerance Test.

Main Differences to PASAT.iqjs (by Millisecond): - digits are presented visually - the total score is onscreen the entire time - Level 3 presents an 'escape' button - aversive errorsound feedback - levels are time-based not trialnumber based (difference to earlier versions of this script)

References

Pasat-C:
Lejuez, C. W.; Kahler, Christopher W. & Brown, Richard A. (2003). A modified computer version of the Paced Auditory Serial Addition Task (PASAT) as a laboratory-based stressor. The Behavior Therapist, Vol 26(4), 290-293.

Original Pasat:
Gronwall, D. (1977). Paced auditory serial-addition task: a measure of recovery from concussion. Perceptual and Motor Skills, 44, 367-373.

Duration

20 minutes

Description

Participants are presented one digit (here: 1-9) at a time. After each new digit is presented, participants are asked to click a response box that corresponds to the running total of the last 2 presented digits (response boxes are presented in a circle). Participants work through 3 levels. Each level increases the speed of digit presentation. The last level (3) provides an escape button from the task.

By design in this script: once participants start with level 1 the pacing is automatic and not under participants' control (with the exception of the provided quitbutton during level3).

Procedure

digits sampled in this script: 1-9 (response boxes 1-18); digits are randomly sampled for each trial

Practice:
A practice level is included. Number of practice trials as well as speed of digit presentation is editable.
Error Feedback is always provided

Test: 3 Levels Tested That Present The Digits At Increasing Speed
Error Feedback is always provided

•Level 1: by default the digits are presented once every 3s (editable parameter) for 3 min (editable parameter)

•Level 2: by default the digits are presented once every 2s (editable parameter) for 5 min (editable parameter)
by default Level1 automatically transitions into Level2 WITHOUT warning (Lejuez et al, 2003).
However, you can easily separate the blocks via parameter settings. Go to section Editable Parameters for
more information.

•Level 3: by default digits are presented once every 1.5s (editable parameter) for 10 min (editable parameter)
Level 3 provides an escape-button (data file stores how long Level 3 was run until escape button was pressed).
by design, level2 does NOT transition automatically into level3.

Note on Level Instructions:
This script runs all level instructions with an automatic timeout (not self-paced).
See section Editable Parameters for more info.

Trial Sequence:
1) trial.first: presents the first digit (does not take responses) for level appropriate digit presentation time
2) level-trial: presents digit for a maximum of the level digit presentation time. If a response box is
selected before time is up, the trial is cut short and trial.isi is called for the remaining digit presentation time
3) trial.isi: interstimulusinterval -> highlights the selected box and updates the total (for
practice trials: presents feedback) for the remaining digit presentation time (then calls appropriate level-trial)
If previous response is incorrect, trial plays a short aversive sound.


Note On Level Timeouts
Timeouts for the levels are set under block.level1/block.level2/block.level3.
block.combinedlevel1andlevel2 does NOT have the timeout on the block level as
the transition would not seem automatic if the block suddenly stops.
In that case, the script checks after each level1 trial has completed, if it's
time to run level2 trials.

Stimuli

aversive sound feedback was generated in Audacity (short noise burst for 100ms)
It can be exchanged under section EDITABLE CODE -> Editable Stimuli

Sizing: Proportional Vs. Absolute
!!!By default, this script runs with *PROPORTIONAL* sizings therefore the size of the response display
depends on the size of the active canvas (the largest 4:3 screen size the script can find).

Because a large display might interfere with selecting the appropriate boxes in time,
this script provides the functionality to easily switch to *ABSOLUTE* stimulus sizing.
With absolute stimulus sizing, the sizing of the stimuli will be the same across monitors.
The script will test at the start of each script run if the current monitor can comply
with the selected sizing restrictions of the active canvas (= portion of the script used to present the
task). If not, the script switches automatically to run the task with proportional sizing instead
and makes a note into the data file of the screen sizes used to display the task.

For example, the suggested absoluted sizes of the active canvas in this script are optimized
for ipad sized touchscreens. If the script runs on smaller smartphone devices, the script would
automatically switch to proportional sizing and look for the largest 4:3 active canvas it can find.

If you decide to run the script with absolute sizing instead of proportional sizing,
you can decide to display the screencolor of the inactive screen part (the 'screencolor')
in a different color than the active canvas. This might help to 'anchor' perception on
large monitors to the smaller active canvas.

Check out section Editable Parameters for more info.

Instructions

instructions are not original to Lejuez et al (2003) and can be edited under section
Editable Instructions/INSTRUCTIONS.

Most instructions are provided by Millisecond as htm pages and can be edited by changing
the provided html files.
To edit html-files: open the respective documents in simple Text Editors such as TextEdit (Mac)
or Notepad (Windows).

by design, once the test round begins, the pacing of the task is not under
participant's control anymore (automatic transitions from level to level)

Summary Data

File Name: pasatc_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
totalCorrect The sum of all correct responses across levels (excluding practice)
level1Correct Number of correct responses in level 1
level2Correct Number of correct responses in level 2
level3Correct Number of correct responses in level 3
quit 0 = participant did NOT quit level 3
1 = participant did quit level 3
quitTime Stores the measured duration of block 3 (in ms) at time of "quitbutton" press
level1DurationActual Time (in ms) the script actually spent on level1
level2DurationActual Time (in ms) the script actually spent on level2
level3DurationActual Time (in ms) the script actually spent on level3
countLevel1 The number of level1 trials run
countLevel2 The number of level2 trials run
countLevel3 The number of level3 trials run

Raw Data

File Name: pasatc_raw*.iqdat

Data Fields

NameDescription
build 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
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
currentLevel The currently tested level
currentDigit The currently presented digit
digitPresentationTime The digit presentation time (in ms)
currentSum The current correct sum
response The participant's response
correct The correctness of the response (1 = correct; 0 = incorrect)
latency The response latency (in ms)
totalCorrect The sum of all correct responses across levels (excluding practice)
level1Correct Number of correct responses in level 1
level2Correct Number of correct responses in level 2
level3Correct Number of correct responses in level 3
quit 0 = participant did NOT quit level 3
1 = participant did quit level 3
quitTime Stores the measured duration of block 3 at time of "quitbutton" press
countLevel1 The number of level1 trials run
countLevel2 The number of level2 trials run
countLevel3 The number of level3 trials run

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
practiceTrials Number of practice trials to run11
runExplicitTransitionBtwLevel1AndLevel2 True: the script explicitly stops between level1 and level2
false: level1 automatically flows into level2 without warning
(see Lejuez et al, 2003, p.290)
false
Color Parameters
canvasColor Display color of the actively used portion of the screen (the 'canvas')black
screenColor Color of the screen not used by the canvas ('inactive screen')black
defaultTextColor Default color of textitemswhite
Sizing Parameters
circleProportion Proportion of canvas height used for the circle radius of response buttons0.4
Timing Parameters
level1Duration Level1 duration (in ms)180000
level2Duration Level2 duration (in ms)300000
level3Duration Level3 duration (in ms)600000
interTrialIntervalPractice Interval (ms) between spoken digits during practice phase (soa - stimulus onset asynchrony)4000
digitPresentationTime1 Interval (ms) between spoken digits during level 13000
digitPresentationTime2 Interval (ms) between spoken digits during level 22000
digitPresentationTime3 Interval (ms) between spoken digits during level 31500
levelInstructionsDuration Duration (ms) of the instructions30000
timerDuration Sets the timer duration in ms15000