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)
5 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) 1 block: Free Recall Task of list A (LDFR)
- enter recalled words from list A into a textbox (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: Free Recall Task of list B (LDFR_listB)
- enter recalled words from list B into a textbox (self-paced)
(III) Recognition Task:
20 words from list A, 20 words from list B, and 26 non-list words are presented in fixed order.
For each word, participant has to decide whether the word is a list A word (=signal) or not
(=noise)
(IV) Source Task:
20 words from list A, 20 words from list B; presented in fixed order.
Participant is asked to categorize each word as listA or listB word.
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_part2_instructions_inc.iqjs"
File Name: modrey_writtenrecall_part2_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/main list (A) |
| form | Form 1 |
| recallScoreIR | Sum of all correctly recalled items across the 3 IMMEDIATE recall trials from part1 (Max: 60) |
| recallScoreIRListB | Number of correctly recalled items from the IMMEDIATE recall trial with list B from part1 (Max: 20) |
| recallScoreSDFR | Correctly recalled items across SDFR (short delay free recall trial) during part1 (Max: 20) |
| recallScoreLDFR | Correctly recalled items across LDFR (long delay free recall trial) during part2 (Max: 20) |
| recallScoreFR | The sum of correctly recalled items across both free recall trials (SDFR + LDFR) (Max: 40) |
| recallScoreLDFRListB | Correctly recalled items across LDFR (long delay free recall trial) with list B items during part2 (Max: 20) |
| recogScore | The number of correctly identified recognition items (Max: 66) |
| rHitsRecog | Hitrate of correctly identifying list A words (list A words = signal) |
| rMissRecog | Missrate of identifying list A words (list A words = signal) |
| rFAsRecog | Commission rate of incorrectly identifying non-list A words as A words (list B + new words = noise) |
| rCRRecog | Correct rejection rate of non-list A words |
| zHrRecog | Calculates the z-score for the hitrate. Adjustments are made if the hitrate = 0 (increased to 0.005) or 1 (decreased to 0.995), see Gregg & Sedikides (2010) |
| zFrRecog | Calculates the z-score for the commission rate. Adjustments are made if the commission rate = 0 (increased to 0.005) or 1 (decreased to 0.995), see Gregg & Sedikides (2010) Adjustments to z-scores as recommended by Gregg & Sedikides (2010) |
| dPrimeRecog | Computes d' (parametric measure of discriminability btw. signals and noise) => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (list A words) were overall distinguished from noise (list B words and new words) (d' = 0: chance performance negative d-primes: participant treated noise as signals and signals as noise) |
| cRecog | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (non-alcoholic stimuli) is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) |
| sourceScore | The number of correctly identified source items (Max: 40) |
| sourceCorrectA | The number of correctly identified list A source items (Max: 20) |
| sourceCorrectB | The number of correctly identified list B source items (Max: 20) |
| ldfrRecalledWords | A storage variable that stores all the words recalled for LDFR trial |
| recallIntrusions | A storage variable that stores all recall intrusion words from the LDFR trial (list A only) check for misspelled words here and adjust scores accordingly |
| ldfrListBRecalledWords | A storage variable that stores all the words recalled for LDFR trial with list B words |
File Name: modrey_writtenrecall_part2_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/main list (A) |
| form | Form 1 |
| listCategory | "A", "B" or "N" |
| 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 |
| responseText | The letter of the response key pressed (if applicable for Recog and Source) |
| 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 |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Stimuli Parameters |
||
| runAudioWords | True = 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 |
||
| iti | Duration (in ms) of a blank screen separating each word | 1000 |
Responsekey Assignment |
||
| signalKey | Key used for 'signal' (e.g. old word) | "Q" |
| noiseKey | Key used for 'noise' (e.g. new word) | "P" |