Return to the PASAT-C page
												
___________________________________________________________________________________________________________________	

							*Modified Computerized Paced Auditory Serial Addition Test (PASAT-C)*
___________________________________________________________________________________________________________________

original PASAT.iqx Coder: Jeffrey Q. Ouyang
edited for PASAT-C by: Katja Borchert (katjab@millisecond.com) for Millisecond Software
last updated: 04-23-2019 by K.Borchert (katjab@millisecond.com) for Millisecond Software LLC

Script Copyright © 04-23-2019 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 Distress Tolerance Test.

Main Differences to PASAT.iqx (by Millisecond Software):
- digits are presented visually
- the total score is onscreen the entire time
- Level 3 presents an 'escape' button
- aversive errorsound feedback

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 FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored 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
script.sessionid:					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.
																				
values.currentLevel:				the currently tested level 
values.currentDigit:				the currently presented digit
values.digitpresentationtime:	the digit presentation time (in ms)
values.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)

expressions.totalcorrect:		the sum of all correct responses across levels (excluding practice)
values.level1Correct: 			number of correct responses in level 1
values.level2Correct: 			number of correct responses in level 2
values.level3Correct: 			number of correct responses in level 3

values.quit:						0 = participant did NOT quit level 3; 
									1 = participant did quit level 3
									
values.quittime:					stores the measured duration of block 3 at time of "quitbutton" press

expressions.level1trials -
expressions.level3trials:		calculated trialnumbers based on level-duration and speed of digit presentation

(2) Summary data file: 'pasatc_summary*.iqdat' (a separate file for each participant)

computer.platform:				the platform the script was run on (win/mac/ios/android)
script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					assigned subject id number
script.groupid:					assigned group id number
script.sessionid:					assigned session id number
script.elapsedtime:				time it took to run script (in ms); measured from onset to offset of script
script.completed:				0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)
									
expressions.totalcorrect:		the sum of all correct responses across levels (excluding practice)
values.level1Correct: 			number of correct responses in level 1
values.level2Correct: 			number of correct responses in level 2
values.level3Correct: 			number of correct responses in level 3

values.quit:						0 = participant did NOT quit level 3; 
									1 = participant did quit level 3
									
values.quittime:					stores the measured duration of block 3 at time of "quitbutton" press

expressions.level1trials -
expressions.level3trials:		calculated trialnumbers based on level-duration and speed of digit presentation

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

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

3 levels tested that present the digits at increasing speed
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 design Level1 automatically transitions into Level 2 WITHOUT warning (Lejuez et al, 2003)

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, level 2 does not transition into level 3 without warning.
However, the instruction trial for level 3 is not-selfpaced and the start of level 3 is not under participant control
(Timing for level 3 instructions are editable). 

A practice level is included. Number of practice trials as well as speed of digit presentation is editable.

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.

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

!!!Note: the sizes of all visual stimuli are defined in screencanvas percentages, therefore
the size of the display depends on the size of the canvas.
Because a large display might interfere with selecting the appropriate boxes in time,
the canvassize might need to be adjusted. Go to section DEFAULTS and follow further instructions.

___________________________________________________________________________________________________________________	
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: once the task is started with level 1, by design the pace of the task in this script is NOT
under participant's control (automatic transitions).
__________________________________________________________________________________________________________________	
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:

levelCount:								number of test levels (blocks) to run. Can be 1, 2, or 3. 
practiceTrials:							number of practice trials to run (default: 11)

Timing:
NOTE: based on set block duration and set trial duration this scripts calculates the number of trials
to run in each block.
/level1duration:							duration of level1 in ms (default: 180000ms -> 3min)
/level2duration:							duration of level2 in ms (default: 300000ms -> 5min)
/level3duration:							duration of level3 in ms (default: 600000ms -> 10min)

interTrialIntervalPractice: 				interval (ms) between spoken digits during practice phase (soa - stimulus onset asynchrony)
digitpresentationtime1: 					interval (ms) between spoken digits during level 1 (default: 3000ms)
digitpresentationtime2: 					interval (ms) between spoken digits during level 2 (default: 2000ms)
digitpresentationtime3: 					interval (ms) between spoken digits during level 3 (default: 1500ms)

/ level3_instructionsduration: 			the duration of the instructions for level 3 (not-selfpaced) in ms before level 3 starts automatically. (default: 30000ms)
											Note: a timer with parameters.timerduration pops up 15s before the end of the instruction trial

/timerduration:							sets the timer duration in ms (default: 15000) 
/circleproportion:						proportion of canvas height used for the circle radius of response buttons (default: 0.4)