Return to the Adaptive Paced Auditory Serial Addition Test (Adaptive PASAT) page
___________________________________________________________________________________________________________________	
						
								Adaptive Paced Auditory Serial Addition Test (Adaptive PASAT)
___________________________________________________________________________________________________________________	

Script Author: Jeffrey Q. Ouyang for Millisecond Software, LLC
last updated:  06-30-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 06-30-2020 Millisecond Software

__________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements a computerized version of the Adaptive Paced Auditory Serial Addition Test (PASAT),
a measure of information processing rate. The procedure is adaptive in that the presentation rate of the 
digits adapts to performance.

The implemented procedure is based on:

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

adaptive PASAT:
Siegle, G. J., Ghinassi, F., & Thase, M. E. (2007). Neurobehavioral therapies in the 21st century: 
Summary of an emerging field and an extended example of cognitive control training for depression. 
Cognitive Therapy and Research, 31(2), 235–262. doi: 10.1007/s10608-006-9118-6

___________________________________________________________________________________________________________________
TASK DESCRIPTION
___________________________________________________________________________________________________________________	
Participants hear a sequence of single digit numbers (1-9) presented at a constant speed 
and are asked to mentally sum the last 2 digits (NOT a running total). 
Participants then select the current sum from a circle of numbers 1-18 (= nonverbal response).
The speed with which the numbers are presented adapts to the performance of the participant

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 10 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored in the data files are:

(1) Raw data file: 'pasat_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. 
										
values.countTestBlocks:				custom test block counter										
																				
values.SOA:							the currently used SOA (in ms); Stimulus Onset Asynchrony																			
values.currentLevel:				the currently tested level
values.currentDigit:				the currently presented digit
values.currentSum:					the current correct sum

response:							the participant's response (selected number)
correct:							the correctness of the response (1 = correct; 0 = incorrect)
latency: 							the response latency (in ms); measured from onset of digit

values.NR:							1 = no response was made within response window; 
									0 = otherwise (=no response)
								
values.error:						1 = addition error; 
									0 = otherwise
								
values.suppressionFailure:			1 = response is consistent with using previous sum (not digit) 
									to generate new sum; 
									0 = otherwise
								
values.consecutiveCorrect:			counts the strings of consecutive correct responses
									Reset each time an error is made
									
values.consecutiveErrors:			counts the strings of consecutive error responses
									Reset each time a correct response is made


(2) Summary data file: 'pasat_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)


values.countCorrect:				counts the number of correct responses across all test blocks
values.countNR:						counts the number of no responses 

values.countErrors:					counts the number of addition errors across all test blocks
									(could include random selections)

values.countSF:						counts the number of suppression failures across all test blocks


expressions.mean_consecutiveCorrect:	the mean number of consecutive Correct responses across all test blocks
expressions.median_consecutiveCorrect:	the median number of consecutive Correct responses across all test blocks
expressions.min_consecutiveCorrect:		the minimum number of consecutive Correct responses across all test blocks 
expressions.max_consecutiveCorrect:		the maximum number of consecutive Correct responses across all test blocks 

expressions.mean_consecutiveErrors:		the mean number of consecutive error responses across all test blocks
expressions.median_consecutiveErrors:	the median number of consecutive error responses across all test blocks
expressions.min_consecutiveErrors:		the minimum number of consecutive error responses across all test blocks 
expressions.max_consecutiveErrors:		the maximum number of consecutive error responses across all test blocks 

expressions.meanSOA:					mean SOA (in ms) across all test blocks 
expressions.sd_SOA:						standard deviation (in ms) of all SOAs across all test blocks 
expressions.minSOA:						minimum SOA (in ms) across all test blocks

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
	
(I)	Practice:
* 11 practice trials (+ start trial)
* provides feedback
* default SOA: 4000ms (SOA = stimulus onset asynchrony => every 4 seconds a new number is presented)
	
(II) Test:
* by default, this script runs 4 test blocks
* by default, the first block starts with SOA = 3000ms (SOA = stimulus onset asynchrony => every 3 seconds a new number is presented)
(a parameters setting controls whether all blocks start with 3000ms or whether SOAs carry over from one block to the next)
* SOAs are adapted in the following way:
	- after 4 (default) consecutive correct responses, the SOA gets decreased by 100ms (default)
	- after 4 (default) consecutive error responses, the SOA gets increased by 100ms (default)
* each test block runs for 5 minutes (default)

Trial Sequence:
verbal digit presentation (SOA: varies): select sum of last 2 digits from a circle of numbers 1-18

__________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software - can be edited under section Editable Instructions

Instructions are not original to the task. They 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).
___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________
check below for (relatively) easily editable values, 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 values you can change are:

/circleproportion:				proportion of canvas height used for the circle radius of response buttons (default: 0.4)

/practiceTrials:				number of practice trials to run
/SOAPractice: 					Stimulus Onset Asynchrony (SOA) in practice trials (= trialduration)

/ testBlockDuration:			the duration (in ms) of each test block (default: 300000ms = 5 minutes)
/ numberTestBlocksToRun:		the number of test blocks to run (default: 4)

/ continuousSOAsAcrossBlocks    true (1): only the first test blocks starts with maxSOA of 3000ms; 
								the SOAs carry over for the remaining test blocks (default)
								false (0): all test blocks start with maxSOA of 3000ms


/ maxSOA:						the maximum SOA (in ms) used in this script (default: 3000ms)
								Note: this is also the starting SOA
								
/ minSOA:						the minimum SOA (in ms) used in this script (default: 1000ms)
/ SOAchange:					the ms increase or decrease if SOA needs to be adapted (default: 100ms)
/ SOAadaptionCriterium:			the number of correct(error) trials after which SOA needs to be adapted


/debugmode:						1 = the correct answer is displayed on the screen
								0 = the correct answer is not displayed on the screen (default)