Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 17, 2022
Last Modified: January 26, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements an Inquisit version of the Modified Rey Auditory Verbal Learning Test (ModRey) by Hale et al (2019). The ModRey is a test of episodic memory performance in non-clinical and pre-clinical populations. It differs from the Rey Auditory Verbal Learning Test (RAVLT) by increasing its difficulty. Specifically the authors a) increased the number of items for the target and distractor lists from from 15 to 20 b) decreased the number of learning trials from 5 to 3 c) added an additional free recall trial of distractor list d) added a source memory task
The original ModRey presents the words orally and collects oral responses. This Inquisit implementation provides the option to choose whether to present the words only orally, only visually or both at the same time. By default, the words are presented only visually. Recall responses are always collected in written format (via textboxes). Recognition and Source Responses (part2) are collected via keyboard input.
!Note: Millisecond also offers an alternative implementation of the Modrey with oral recall input. Verbal recall in those scripts is captured as soundcaptures that have to be scored manually.
Hale C, Last BS, Meier IB, Yeung LK, Budge M, Sloan RP, Small SA, Brickman AM. The ModRey: An Episodic Memory Test for Nonclinical and Preclinical Populations. Assessment. 2019 Sep;26(6):1154-1161. doi: 10.1177/1073191117723113. Epub 2017 Aug 11. PMID: 28799411; PMCID: PMC5829025.
Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility: Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)
10 minutes
(1) Learning Phase with Immediate Recall: Participants are presented a list of 20 verbal words (fixed sequence, list A), one at a time at a time. Once the list has finished, a textbox appears and participants are asked to enter as many of the list words as they remember, in any order. The list learning/immediate recall task is repeated 2 more times.
(2) Introduction of Distractor List: Then participants are distracted with distractor list B (one time).
(3) Short Delay
(4) Free Recall of List A: After listB, participants are asked to recall all words from list A (list A is not presented anymore)
------------------End of part1----------------------------------------
(5) Delay: 1.5h
(6) Delayed recall of List A - participants work through through a delayed recall test of list A
(7) Delayed recall of List B// - participants work through through a delayed recall test of list B
(8) Recognition Test (List A) - 66 trials// -target words are list A words; -distractors are phonetically similar and -list B words
(9) Source Test: List A and List B words are presented in fixed order and participant has to decide the words' source list (A or B)
(I) 3 blocks: List Learning/Recall Task with list A (IR1-IR3)
- the words are presented with a 2s SOA (editable)
- the order of the words is predetermined and the same across all 3 blocks
- at the end a textbox appears and prompts participants to enter all the words they remember (self-paced)
Recall Task: Scoring Algorithms
Algorithm to estimate number of recalled words:
In general this algorithm uses the number of a specific word separator (here: comma)
to estimate the number of words in between the separators: estimated word count = number of separators + 1
The algorithm uses several steps to clean up the text input to ensure as much as
possible that only single commas are used as word separators. It also removes
trailing commas from the input if necessary.
Steps:
(1) textbox response is stored in values.Recall (Example: values.Recall = "bed; chair; table")
(note: there is a space AND a ; after bed and chair)
(2) values.Recall replaces 7 types of possible word separator symbols (e.g. ";", " ") with a comma
(Example: values.Recall = "bed,,chair,,table")
(3) values.Recall adds a comma to the first item
(Example: values.Recall = ",bed,,chair,,table")
(3) values.Recall replaces all consecutive commas with a single comma
(Example: values.Recall = ",bed,chair,table")
(4) if values.Recall does not end in a comma at this point, this comma is added
(Example: values.Recall = ",bed,chair,table,")
(5) the length of the variable values.Recall is stored in variable values.recallLength
(Example: values.recallLength = 17)
(6) a second variable (values.reducedRecall) deletes all commas in values.Recall
(Example: values.reducedRecall = "bedchairtable" => length: 13)
(7) the word count estimate = length of values.Recall* - length of values.reducedRecall - 1 (extra comma)
(Example: estimate = 17 - 13 - 1 = 3)
•with length = number of characters
the recall scoring algorithms implemented in this script depend on participants
(a) using the implemented separators
(b) make no spelling mistakes
(c) don't use phonetically similar words (e.g. pain instead of pane)
Manual checks of the raw data might be necessary to adjust the scores (see values.intrusionOther)
(II) 1 block: List Learning/Recall Task with list B (IR_listB)
- the words are presented with a 2s SOA
- the order of the words is predetermined and the same across all 3 blocks
- at the end a textbox appears and prompts participants to enter all the words they remember (self-paced)
(III) 1 block (after delay): Free Recall Task with list A (SDFR)
- enter words into a textbox (self-paced)
uses the words of the ModRey (Hale et al, 2019)
(words were pronounced with Google Translate and saved as .wav files)
can be run with version1 stimuli (see modrey_items_form1.iqjs)
can be run with version2 stimuli (see modrey_items_form2.iqjs)
are provided by Millisecond - see script "modrey_writtenrecall_part1_instructions_inc.iqjs"
File Name: modrey_writtenrecall_part1_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| 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 |
| list | Target list A |
| form | Form 1 |
| recallScoreIR | Sum of all correctly recalled items across the 3 IMMEDIATE recall trials (Max: 60) |
| recallScoreSDFR | Sum of all correctly recalled items across Short Delay Free Recall Trial (Max: 20) |
| recallScoreIRListB | Number of correctly recalled items from list B |
| meanWordRecall | Mean of the estimated number of words recalled per trial (IMMEDIATE RECALL only)- independent of recall accuracy |
| meanRecall | Mean number of correctly recalled words per trial (IMMEDIATE RECALL only) |
| ir1 | Number of correctly recalled words on trial 1 |
| ir2 | Number of correctly recalled words on trial 2 |
| ir3 | Number of correctly recalled words on trial 3 |
| propWord1Recall | Stores the recall proportion of word1 of list A |
| propWord2Recall | Stores the recall proportion of word2 of list A |
| propWord3Recall | Stores the recall proportion of word3 of list A |
| propWord4Recall | Stores the recall proportion of word4 of list A |
| propWord5Recall | Stores the recall proportion of word5 of list A |
| propWord6Recall | Stores the recall proportion of word6 of list A |
| propWord7Recall | Stores the recall proportion of word7 of list A |
| propWord8Recall | Stores the recall proportion of word8 of list A |
| propWord9Recall | Stores the recall proportion of word9 of list A |
| propWord10Recall | Stores the recall proportion of word10 of list A |
| propWord11Recall | Stores the recall proportion of word11 of list A |
| propWord12Recall | Stores the recall proportion of word12 of list A |
| propWord13Recall | Stores the recall proportion of word13 of list A |
| propWord14Recall | Stores the recall proportion of word14 of list A |
| propWord15Recall | Stores the recall proportion of word15 of list A |
| propWord16Recall | Stores the recall proportion of word16 of list A |
| propWord17Recall | Stores the recall proportion of word17 of list A |
| propWord18Recall | Stores the recall proportion of word18 of list A |
| propWord19Recall | Stores the recall proportion of word19 of list A |
| propWord20Recall | Stores the recall proportion of word20 of list A |
| propWord20Recall | Stores the recall proportion of words in study positions1 - 20 measure taken across the number of IMMEDIATE recall trials (Max: 3/3 for each item) Example: word 1(here: market) => word in list position 1 was remembered x out of 3 times during immediate recall |
| meanIntrusionsIR | Mean number of intrusions on recall lists (recalling words that were not on the list) - immediate recall trials only |
| ir1RecalledWords | Stores the list of the recalled words for trial1 (IMMEDIATE RECALL) |
| ir2RecalledWords | Stores the list of the recalled words for trial2 (IMMEDIATE RECALL) |
| ir3RecalledWords | Stores the list of the recalled words for trial3 (IMMEDIATE RECALL) |
| sdfrRecalledWords | Stores the list of the recalled words for trial4 (free recall trial) |
| recallIntrusions | A storage variable that stores all recall intrusion words across the 4 recall trials (list A only) check for misspelled words here and adjust scores accordingly |
File Name: modrey_writtenrecall_part1_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| list | Target list A |
| form | Form 1 |
| countIR | The number of immediate recall trials run |
| countAllRecallRounds | Counts the number of ALL (immediate + delayed) recall trials ru |
| stimulusItem | The presented stimuli in order of trial presentation |
| stimulusNumber | The itemnumber of the presented stimuli in order of trial presentation |
| response | The participant's response |
| correct | The correctness of the response (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms) |
| recall | Stores the recall text input (with single commas to separate the different words) |
| countCorrectRecall | Tracks the number of correctly recalled words per trial |
| recallWordEstimate | Stores the computer-derived estimate of the number of words recalled see below of algorithm implemented. Algorithm does not check whether the recalled words are actual words. |
| nrOtherRecalledWords | Stores the number of other recalled words that are not list words |
| intrusionOther | Stores the character strings contained in the recall string that are not list words misspelled study words will show up here |
| word1Recall | Stores the number of times the word1 of list A was recalled |
| word2Recall | Stores the number of times the word2 of list A was recalled |
| word3Recall | Stores the number of times the word3 of list A was recalled |
| word4Recall | Stores the number of times the word4 of list A was recalled |
| word5Recall | Stores the number of times the word5 of list A was recalled |
| word6Recall | Stores the number of times the word6 of list A was recalled |
| word7Recall | Stores the number of times the word7 of list A was recalled |
| word8Recall | Stores the number of times the word8 of list A was recalled |
| word9Recall | Stores the number of times the word9 of list A was recalled |
| word10Recall | Stores the number of times the word10 of list A was recalled |
| word11Recall | Stores the number of times the word11 of list A was recalled |
| word12Recall | Stores the number of times the word12 of list A was recalled |
| word13Recall | Stores the number of times the word13 of list A was recalled |
| word14Recall | Stores the number of times the word14 of list A was recalled |
| word15Recall | Stores the number of times the word15 of list A was recalled |
| word16Recall | Stores the number of times the word16 of list A was recalled |
| word17Recall | Stores the number of times the word17 of list A was recalled |
| word18Recall | Stores the number of times the word18 of list A was recalled |
| word19Recall | Stores the number of times the word19 of list A was recalled |
| word20Recall | Stores the number of times the word20 of list A was recalled |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Stimuli Parameters |
||
| runAudioWords | False = run audio stimuli; false = does not run audio stimuli | false |
| runVisualWords | True = run verbal stimuli; false = does not run audio stimuli if both are set to 'true' they both appear | true |
Timing Parameters |
||
| soa | Stimulus onset asynchrony (in ms): the words are presented roughly 2s apart | 2000 |
| sdfrDelayMS | Short delay (in ms) of the SDFR free recall of list A | 60000 |
| finishTrialDurationMS | The current duration (in ms) of the finish Trial. | 60000 |