___________________________________________________________________________________________________________________ *Modified Computerized Paced Auditory Serial Addition Test (PASAT-C)* ___________________________________________________________________________________________________________________ original PASAT.iqjs Coder: Jeffrey Q. Ouyang edited for PASAT-C by: Katja Borchert (katjab@millisecond.com) for Millisecond Software last updated: 01-02-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 01-02-2025 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the PASAT-C, a modified computerized version of the Paced Auditory Serial Addition Test. The PASAT-C is used as a Distress Tolerance Test. Main Differences to PASAT.iqjs (by Millisecond Software): - 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) The implemented PASAT-C procedure is based on: 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. The original PASAT procedure by: Gronwall, D. (1977). Paced auditory serial-addition task: a measure of recovery from concussion. Perceptual and Motor Skills, 44, 367-373. ___________________________________________________________________________________________________________________ TASK 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). ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ The duration of the different levels can be edited under section Editable Parameters The default set up takes approx. 20 minutes (earlier if Level 3 is terminated by pressing the QUIT button) Level1: default: 180000ms -> 3min Level2: default: 300000ms -> 5min Level3: default: 600000ms -> max. 10min ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'pasatc_raw*.iqdat' (a separate file for each participant) build: The specific Inquisit version used (the 'build') that was run computer.platform: the platform the script was run on (win/mac/ios/android) date, time: date and time script was run subject, group: with the current subject/groupnumber session: with the current session id blockCode, blockNum: the name and number of the current block (built-in Inquisit variable) trialCode, trialNum: the name and number of the currently recorded trial (built-in Inquisit variable) Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those that do not store data to the data file such as feedback trials. Thus, trialNum may not reflect the number of main trials run per block. 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 (2) Summary data file: 'pasatc_summary*.iqdat' (a separate file for each participant) inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) 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 ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 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) Note: 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). Note: 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 Software 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). Note: 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) __________________________________________________________________________________________________________________ EDITABLE CODE ___________________________________________________________________________________________________________________ check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: