Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 12, 2015
Last Modified: January 24, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
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.
5 minutes
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.runDelayedCondition == true) The procedure is almost the same as described for immediate recall with the exception that the recall screen is called after a delay.
The script runs
1. block selectShoppingList => selects the items for the shopping list (item number depends on parameters.numberOfItems -> Editable Values)
(selection is done randomly).
2. 3 immediate recall runs of: block.presentShoppingList followed immediately by the appropriate block.recallShoppingList
block.presentShoppingList:
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.wordPresentationTimeMS).
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.recallShoppingList:
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.runDelayedCondition)
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 and should be carefully
evaluated and edited.
The provided items are untested.
Instructions are provided by Millisecond. They can easily be changed under
Editable Code->Editable Instructions
File Name: internationalshoppingListtask_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
| numberOfItems | The number of items selected for the shopping list (default: 12) |
| completedRounds | Counts the number of times the task has been completed |
| maxFreeRecall | Determines the Max possible free Recall sum for set nr items (per round) |
| freeRecallRound1 | Counts all correctly recalled words from Round1 |
| freeRecallRound2 | Counts all correctly recalled words from Round2 |
| freeRecallRound3 | Counts all correctly recalled words from Round3 |
| maxTotalFreeRecall | Determines the Max possible total free Recall sum for the set nr items (across first 3 rounds; not including delayed) |
| totalFreeRecall | Determines the actual free Recall sum for the set nr items (across first 3 rounds; not including delayed) |
| freeRecallDelayed | Counts all correctly recalled words from delayed run |
| maxWeightedFreeRecall | Determines the Max possible weighted free Recall sum for set nr items (per round) |
| weightedRecallRound1 | Weighted sum of Recall scores from Round1 (weighted by: nr items - item position in shopping list + 1 => first item gets the most weight for recall) |
| weightedRecallRound2 | Weighted sum of Recall scores from Round2 |
| weightedRecallRound3 | Weighted sum of Recall scores from Round3 |
| weightedRecallDelayed | Weighted sum of Recall scores from delayed run |
| nrPrimacyRecency | 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) |
| maxPrimacyRecency | Determines the Max possible PrimacyRecency values for the set nr items (across first 3 rounds) |
| primacy | Sums up the number of Primacy list words recalled for the first three rounds (excluding delayed round) number of items counting to towards Primacy is predetermined by nr_PrimacyRecency |
| 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) |
| intrusion | Sums up the number of non-list words recalled across the first three rounds (excluding Delayed Round) |
| repetition | Sums up the number of repeated list words across the first three rounds (excluding Delayed Round) |
| shoppingList | Stores the selected items from item.allWords that are selected for the actual shoppingList recalledList1- |
| recalledListDelayed | Stores the items recalled in sequence separately for each round |
File Name: internationalshoppingListtask_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| startedRounds | Counts the number of times the task has been started |
| numberOfItems | Sets the number of items selected for the shopping list (default: 12) |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| stimulusItem | The presented stimuli in order of trial presentation |
| recalledWord | The recalled word |
| response | The participant's response |
| latency | The response latency (in ms) |
| wordCount | Number of words recalled (correct and incorrect); resets after each round countWord1- |
| countWord16 | 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 |
| countOtherWords | Counts how often non-list words are recalled for the current round (resets after each round) repeating the same non-list word is counted as separate instances |
| recalledList | Stores the items recalled in sequence (resets after each round) |
| shoppingList | Stores the selected items from item.allWords that are selected for the actual shoppingList |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| numberOfItems | Sets the number of items selected for the shopping list | 12 |
| wordPresentationTimeMS | Sets the word presentation time in ms (default: 2000 => 2s per words | |
| runDelayedCondition | 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 | |
| fontSizeTargetPct | Sets the height of the font of the words presented on screen in screen height percentages | 8% |