Return to the International Shopping List Task page
___________________________________________________________________________________________________________________	

							INTERNATIONAL SHOPPING LIST TASK (ISLT)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 01-12-2015
last updated:  10-07-2019 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 10-07-2019 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script runs the International Shopping List task; a task to assess memory functioning.
The implemented procedure is based on:

Thompson, T.A.C., Wilson, P.H., Snyder, P.J., Pietrzak, R.H., Darby, D., Maruff, P. & Herman Buschke, H. (2011).
Sensitivity and Test–Retest Reliability of the International Shopping List Test in Assessing Verbal Learning and Memory 
in Mild Alzheimer’s Disease. Archives of Clinical Neuropsychology, 26, 412–424.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
Test administrator reads a list of 12 (default, editable 2-16 items) everyday shopping items to the test taker.
The words appear on the computer screen. A new item is presented every 2s. 
The screen should only be facing the test administrator.

Immediate Recall: (repeated 3 times)
Immediately after the list is read to the test taker, the test taker is asked to recall the items
from the shopping list. A screen with all the words as well as buttons for "other words",
"undo last entry" and "finish" is visible to the test administator who selects each recalled word with 
the mouse. The words are ordered alphabetically for easier location.
The last selected word can be undone by clicking the "undo last entry" button.
If participant does not recall any more words, the "finish" button should be selected to finish
the current round.

Delayed Recall: optional (set Editable values -> parameters.run_delayedcondition == true)
The procedure is almost the same as described for immediate recall with the exception that the
recall screen is called after a delay.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 5 minutes  (+ delay duration) to complete

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

(1) Raw data file: 'internationalshoppinglisttask_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)

values.startedrounds:				counts the number of times the task has been started
parameters.nr_items:				sets the number of items selected for the shopping list (default: 12)

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										
										
stimulusitem:						the presented stimuli in order of trial presentation
values.recalledword:				the recalled word
response:							the participant's response
latency: 							the response latency (in ms)

expressions.wordcount:			number of words recalled (correct and incorrect); resets after each round
values.count_word1-
values.count_word16:				counts how often each word of the shopping list was recalled 
								(numbering refers to position of item in the shopping list; e.g. word1 was the first item presented to participant); 
								resets after each round
								
values.count_otherwords:			counts how often non-list words are recalled for the current round (resets after each round)
								Note: repeating the same non-list word is counted as separate instances
								
values.recalledlist:				stores the items recalled in sequence (resets after each round)
values.shoppinglist:				stores the selected items from item.allwords that are selected for the actual shoppinglist


(2) Summary data file: 'internationalshoppinglisttask_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)
							
parameters.nr_items:				the number of items selected for the shopping list (default: 12)
values.completedrounds:			counts the number of times the task has been completed

expressions.max_freerecall:		determines the Max possible free Recall sum for set parameters.nr items (per round)
values.freerecall_round1:			counts all correctly recalled words from Round1
values.freerecall_round2:			counts all correctly recalled words from Round2			
values.freerecall_round3:			counts all correctly recalled words from Round3
expressions.max_totalfreerecall		determines the Max possible total free Recall sum for the set parameters.nr items (across first 3 rounds; not including delayed)
expressions.total_freerecall:		determines the actual free Recall sum for the set parameters.nr items (across first 3 rounds; not including delayed)
values.freerecall_delayed:			counts all correctly recalled words from delayed run

expressions.max_weightedfreerecall:	determines the Max possible weighted free Recall sum for set parameters.nr items (per round)
values.weightedrecall_round1:			weighted sum of Recall scores from Round1 (weighted by: parameters.nr items - item position in shopping list + 1 => first item gets the most weight for recall) 
values.weightedrecall_round2:			weighted sum of Recall scores from Round2 
values.weightedrecall_round3:			weighted sum of Recall scores from Round3 
values.weightedrecall_delayed:			weighted sum of Recall scores from delayed run

expressions.nr_primacyrecency: 	determines the number of shopping list items counted towards Primacy and Receny recall.
								The number is either a third of the number of the shoppinglist items (rounded) or 4;
								whichever one is smaller.
									Example: number of items in shopping list = 10; 103 ~ 3 =>  Primacy and Recency Recall counts
									the first three items ( Primacy) and the last three items (Recency)
								
expressions.max_primacyrecency:	determines the Max possible  PrimacyRecency values for the set parameters.nr items (across first 3 rounds)

values.primacy:					sums up the number of  Primacy list words recalled for the first three rounds (excluding delayed round)
								Note: number of items counting to towards  Primacy is predetermined by expressions.nr_PrimacyRecency
										
values.recency:					sums up the number of Recency list words recalled for the first three rounds (excluding delayed round)
								The number is either a third of the number of shoppinglist items (rounded) or 4;
								whichever one is smaller.
									Example: number of items in shopping list = 10; 103 ~ 3 =>  Primacy and Recency Recall counts
									the first three items ( Primacy) and the last three items (Recency)

values.intrusion:					sums up the number of non-list words recalled across the first three rounds (excluding Delayed Round)
values.repetition:					sums up the number of repeated list words across the first three rounds (excluding Delayed Round)

values.shoppinglist:				stores the selected items from item.allwords that are selected for the actual shoppinglist
values.recalledlist1-
values.recalledlist_delayed:		stores the items recalled in sequence separately for each round

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________
The script runs
1. block select_shoppinglist => selects the items for the shopping list (item number depends on parameters.nr_items -> Editable Values)
(selection is done randomly). 

2. 3 immediate recall runs of: block.present_shoppinglist followed immediately by the appropriate block.recall_shoppinglist

block.present_shoppinglist: 
presents the items of the shopping list one by one in the same order. A new word is 
presented every 2s (default; can be edited under Editable Values -> parameters.wordpresentationtime).
Computer should face away from test taker. Test administrator reads the words out loud.
Order of shopping list items presented stays the same for all rounds of testing.

block.recall_shoppinglist: 
The interface shows buttons for every word in the shopping list in ALPHABETICAL order as well as buttons for 'other words', 
'undo last entry', and 'finish'.
A counter on the top of the screen counts the number of selected items out of the total number of items in the shopping list (e.g. 4/12).
The screen should face away from test taker. Test administrator selects with the mouse the recalled items.
If the wrong item is selected, the selection can be undone by clicking 'undo last entry'.
Once test taker stops recalling items, test administrator selects 'finish'.

3. An optional delayed recall run (depends on setting of editable value parameters.run_delayedcondition)

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
120 shopping list items are listed under Editable Code->Editable Stimuli-> item.allwords
The shopping list items are highly culturally dependent and should be relevant/meaningful for the
current test taker.

The provided items are only suggestions by Millisecond Software and should be carefully 
evaluated and edited.
The provided items are untested.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
Instructions are provided by Millisecond Software. They can easily be changed under
Editable Code->Editable Instructions

___________________________________________________________________________________________________________________	
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:

/nr_items:					sets the number of items selected for the shopping list (default: 12)
/wordpresentationtime:			sets the word presentation time in ms (default: 2000 => 2s per words

/run_delayedcondition:			true = runs a delayed recall condition after the 3 immediate recall conditions (default)
							false = does not run the delayed recall condition after the 3 immediated recall conditions

/fontsize_target:				sets the height of the font of the words presented on screen in screen height percentages (default: 8%)