Modified Card Sorting Test - MCST

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 26, 2012

Last Modified: January 14, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a computerized version of the Modified Cardsort Test (MCST) (see Nelson, 1976); a test of cognitive flexibility upon rule changes. In contrast to the similar Wisconsin Card Sorting Task (WCST), the MCST only provides unambiguous cards. The test can either be run with announced or unannounced rule changes.

DISCLAIMER Response coding may differ from published definitions. Check the definition of the coded variables used in this script under the data glossary. If in doubt, manually score the raw responses. This script bases the coding of perserverative responses on the guidelines outlined by Heaton et al (1993) for the Wisconsin Card Sorting Task*. Coding may, however, still differ from published definitions or contain errors.

References

Nelson, H. (1976). A modified card sorting test sensitive to frontal lobe lesions. Cortex 12, 313–324

Cianchetti, C., Corona, S., Foscoliano, Scalas, M.F. & Sannio-Fancello, G. (2005). Modified Wisconsin Card Sorting Test: proposal of a supplementary scoring method, Archives of Clinical Neuropsychology, 20, 555-558.

Heaton, R., Chelune, G., Talley, J., Kay, G., & Curtiss, G. Wisconsin Card Sorting Test Manual—Revised and Expanded 1993. Lutz, FL: Psychological Assessment Resources Inc

Duration

2 minutes

Description

Participants are asked to sort cards into four different "categories": - one red triangle - two green stars - three yellow crosses - four blue circles. The cards to sort into these piles have similar designs and vary in color, shape, and number.

Procedure

(1) Cards:
- Participants receive the equivalent of 2 decks of cards. Each deck contains 24 different cards.
- Each of the 24 cards has max. only 1 feature in common with any of the 4 response cards. (there are no ambiguities)
- Researchers can set whether to display the deck/card info for the participants
on the screen under section EDITABLE PARAMETERS (e.g. "Deck: 1 of 2; Card: 5 of 24")
- the cards of each deck are randomized without replacement (see list.selectcard for more detail)

(2) Order of Categorization Rules: Color -> Form -> Number -> Color etc.
- the start category can be selected OR left to be decided by first correct response (see parameters.startCategory)
- Maximal 2 of each category
- Rules change after 6 consecutive correct responses for a category (default, can be changed under
section EDITABLE PARAMETERS)
=> the order of the categories can be set under section Editable Parameters (see parameters.categoryOrder)

(3) End of Task:
(a) reached the maximum number of cards:
- Maximum Number of Trials/Cards: 2 (decks) x 24 (cards) => 48 cards
(b) successfully completed 2 blocks of each category
- Minimum number of trials/Cards = 6 (correct trials per block) * 6 (max number of blocks)=> 36 cards

(4) Instructions
- By default, participants are alerted to a rule change in the MCST (as opposed to the WCST).
This "Rule Change Alert" CAN be turned OFF under section EDITABLE PARAMETERS
- Instructions can easily be changed under section EDITABLE INSTRUCTIONS
- Text Stimuli can be easily changed under EDITABLE STIMULI -> Feedback

(5) Dependent Variables/Scores:
- latency of response
- accuracy of response
- total number of correct responses/total number of errors
- Total Number/Percentage of Perseverative Errors (see below for explanation of scoring of Perserverative Responses in this script)
- total number of trials
- number of trials needed to complete first category
- categories completed (Max = 6)
- Number of "Failures to Maintain Set" across Experiment
- "Learning to Learn" measures: error difference scores (of percentages) from adjacent blocks
- Categorizing Efficiency: suggested by Cianchetti et al (2005) => completedCategories * 6 + [IF all 6 categories compled: (48 - totaltrials)]

Instructions

provided by Millisecond - can be edited in script "mcst.iqjs"

Scoring

Once the trial-by-responses have been collected, the raw data gets re-analyzed to determine
perseverative responding (which can only be done in retrospect).
The re-analyzed raw data columns are added by block.rawDataScoring

Scoring Algorithm To Score Perserverative Responses

This Inquisit MCST script bases the coding of Perserverative Responses on the guidelines proposed by
Heaton et al (1993) for the similar Wisconsin Card Sorting Task.
Note that all Perserverative Responses in the MCST are -by definition- Perserverative Errors
as the MCST only runs unambiguous response cards.

Perserverative Responses: persistence to respond according to a stimulus characteristic that is
currently incorrect.

First Block:
- the first error sets the pResponse-Principle BUT is not scored as a pResponse in itself
( only C/F/N responses considered; Other responses excluded)
- the next time an error of the pResponse-Principle is made, it's scored as a pResponse

Subsequent Blocks:
- the previous correct category becomes automatically the pResponse-Principle and all subsequent
errors of the pResponse-Principle are scored as a pResponse.

!IMPORTANT: pResponse-Principle changes
According to Heaton et al (1993) the pResponse-Principle of a block can change.
This can happen if a participant makes three errors of the NON-pResponse-Principle (in this script:
these error responses have to be made UNinterrupted by errors of the pResponse Principle but can be interrupted
by correct responses or error responses of the OTHER category).
In these cases the pResponse-principle changes and the SECOND and THIRD error responses are scored as a pResponses.

Example: 1. Block

1) C
=> sets the correct category of the block

2) N (first error response)
=> sets the pResponse-principle (N) (but not a pResponse!)

3) C
=> 'correct'

4) N
=> first pResponse (of N-category)

5) F
=> first error of the F-category

6) O
=> first Other error (does not change coding of Perserverative Responses)

7) F
=> second consecutive (as Other is not counted) error of the F-category (after trial 8 becomes the first pResponse of F category)
=> will be scored as the first pResponse of the F-category

8) F
=> third consecutive F error (this changes the scoring of previous F errors)
=> will be scored as the 2nd pResponse of the F-category

9) N
=> 'simple' error (not a pResponse as the pResponse-Principle has changed)

Summary Data

File Name: mcst_summary*.iqdat

Data Fields

NameDescription
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
startCategory This script allows the user to choose the first category to be tested
"U" for Undecided => based on first correct response (see Nelson, 1976) => either color, form OR number
"C" for color
"F" for form
"N" for number
categoryOrder The order in which categories should be run once the startCategory has been determined
"CFN" ('classic'): color precedes form, form precedes number, number precedes color
"CNF": color preceds number, number precedes form, form precedes color
"FLEX": the categories are decided upon first selection after rule change
block1: depends on first correct selection
block2: depends on first correct selection of categories that haven't run yet
block3: last unselected category
block4 = block1 (but block3 category3 cannot be run); block5 = block2, block6 = block3
csTotalTrials Maximum Number of trials (default = 48 => 2 decks x 24 cards)
csTotalBlocks Maximum Number each category is tested (default = 2)
correctStreakThreshold Number of consecutive correct responses before a rule change (default = 10)
setmaintainThreshold Number of consecutive correct responses after which an incorrect
response is scored as a "Failure to maintain Set" (default = 5)
showDeckInfo If set to " true" information about the deck (e.g. 1 of 2) and card number
(e.g. 7 of 64) are displayed on the screen for the participant to see (default: false (0))
showRuleChangeAlert If set to "true" participants are alerted when the categorization rules change (default: true (1))
categoriesRun Stores the order of the categories that were run
countColorBlocks The number of color blocks started
countFormBlocks The number of number blocks started
countNumberBlocks The number of form blocks started
colortrialcount Sum up the trials run by category 'color'
numbertrialcount Sum up the trials run by category 'number'
formtrialcount Sum up the trials run by category 'form'
totalTrials Counts the total trials run
totalCorrect Sums up all the correct responses across the task
numberErrors Number of total errors (all incorrect responses) made
percentErrors Percentage of incorrect responses (relative to all responses)
numberpResponses Number of perseverative responses made
percentpResponses Percentage of Perserverative Responses (relative to all responses)
numberOtherErrors Number of 'Other' error responses
percentOtherErrors Percentage of Other error responses (relative to all responses)
completedCategories Number of categories (color, form, number) successfully completed (min = 0, max = 6)
sumFailureMaintainSet Keeps a total of the number of times a participants selects an incorrect card
trialsCompleteFirstCategory Keeps track of how many trials a participant needed to complete the first category
after having maintained a correct streak of 5 or higher (default)
percentErrorsBlock1 Percent ERROR responses in block1 (relative to all responses in that block)
percentErrorsBlock1 Percent ERROR responses in block2 (relative to all responses in that block)
percentErrorsBlock1 Percent ERROR responses in block3 (relative to all responses in that block)
percentErrorsBlock1 Percent ERROR responses in block4 (relative to all responses in that block)
percentErrorsBlock1 Percent ERROR responses in block5 (relative to all responses in that block)
percentErrorsBlock1 Percent ERROR responses in block6 (relative to all responses in that block)
diffBlock1block2 Difference scores of percent ERRORS in adjacent categories (e.g. diffBlock1block2 = percenterrors in first category - percenterrors in second category)
diffBlock2block3 Difference scores of percent ERRORS in adjacent categories (block2-block3)
diffBlock3block4 Difference scores of percent ERRORS in adjacent categories (block3-block4)
diffBlock4block5 Difference scores of percent ERRORS in adjacent categories (block4-block5)
diffBlock5block6 Difference scores of percent ERRORS in adjacent categories (block5-block6)
learningToLearn The mean of the obtained difference scores
categorizingEfficiency Suggested by Cianchetti et al (2005)
= completedCategories * 6 + [IF all 6 categories compled: (48 - totaltrials)]

Raw Data

File Name: mcst_raw*.iqdat

Data Fields

NameDescription
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
startCategory This script allows the user to choose the first category to be tested
"U" for Undecided => based on first correct response (see Nelson, 1976) => either color, form OR number
"C" for color
"F" for form
"N" for number
categoryOrder The order in which categories should be run once the startCategory has been determined
"CFN" ('classic', based on Wisconsin Card Sorting Task): color precedes form, form precedes number, number precedes color
"CNF": color preceds number, number precedes form, form precedes color
"FLEX": the categories are decided upon first selection after rule change
block1: depends on first correct selection
block2: depends on first correct selection of categories that haven't run yet
block3: last unselected category
block4 = block1 (but block3 category cannot be run); block5 = block2, block6 = block3
csTotalTrials Maximum Number of trials (default = 48 => 2 decks x 24 cards)
csTotalBlocks Maximum Number each category is tested (default = 2)
correctStreakThreshold Number of consecutive correct responses before a rule change (default = 10)
setmaintainThreshold Number of consecutive correct responses after which an incorrect
response is scored as a "Failure to maintain Set" (default = 5)
showDeckInfo If set to " true" information about the deck (e.g. 1 of 2) and card number
(e.g. 7 of 64) are displayed on the screen for the participant to see (default: false (0))
showRuleChangeAlert If set to "true" participants are alerted when the categorization rules change (default: true (1))
categoriesRun Stores the order of the categories that were run
blockCode Name of the current block
blockNum Number of the current block
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.
countColorBlocks The number of color blocks started
countFormBlocks The number of number blocks started
countNumberBlocks The number of form blocks started
colortrialcount Sum up the trials run by category 'color'
numbertrialcount Sum up the trials run by category 'number'
formtrialcount Sum up the trials run by category 'form'
totalTrials Counts the total trials run
countTrialsPerBlock Counts the trials run in the current category block
category 1 = color; 2 = form; 3 = number
stimulusItem.1 The presented target card
stimulusItem.2 Categorization card1
stimulusItem.3 Categorization card2
stimulusItem.4 Categorization card3
stimulusItem.5 Categorization card4
lastCategory Presents the last last category tested (C,N,F or N/A)
currentCategory Presents the current category tested (C,N,F or still 'Undecided')
response The participant's response (card selection)
latency The response latency in ms; measured from onset of target card
responseCategory => records features that the selected card (response) and the test card have in common
C (color); F (form); N (number); O (other)
correct The correctness of the response (1 = correct; 0 = otherwise)
correctStreak Counts consecutive correct responses (if an error is made, it's reset back to 0)
errorSumBlock Counts the errors made in the current block
scoringDeckCount Tracks the number of decks run
scoringTrialCount Tracks the number of total trials run
scoringtrialCountPerCategory Tracks the number of trials run per category
scoringCategoryCount Tracks the number of categories run
scoringCategory Tracks the category run: 1 = C; 2 = F; 3 = N
scoringCard Tracks the specific card presented during the trial
scoringResponse Tracks the selected response card
scoringRespCategories Tracks the response category; e.g. CN => the response falls into the color/number categories
scoringAcc Tracks the accuracy of the response: 1 = correct (aka respCategories contained the current category); 0 = error
scoringCorrectStreak Tracks the number of consecutive correct responses
scoringPerseverativeResponse Tracks perseverative responses
1 = perseverative response (pResponse)
0 = not scored as a pResponse* (see below for how pResponses are scored in this script)
scoringpResponsePrinciple Tracks the pResponse-principle that were (likely) currently in effect for scoring pResponses

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
csTotalTrials Maximum Number of trials (default = 48 => 2 decks x 24 cards)48
csTotalBlocks Maximum Number each category is tested (default = 2)2
correctStreakThreshold Number of consecutive correct responses before a rule change (default = 6)6
setmaintainThreshold Number of consecutive correct responses after which an incorrect response is scored as a "Failure to maintain Set"
(default = 3)
3
showDeckInfo If set to " true" information about the deck (e.g. 1 of 2) and card number (e.g. 7 of 24) are displayed on the screen for the participant to see
(default: false)
false
showRuleChangeAlert If set to "true" participants are alerted when the categorization rules change true
picSize Size of cards determined by canvas height percentage 30%
startCategory This script allows the user to choose the first category to be tested
"U" for Undecided (default)=> based on first (correct) response (see Nelson, 1976) => either color, form OR number
"C" for color
"F" for form
"N" for number
"U"
categoryOrder The order in which categories should be run once the startCategory has been determined
choose from: "CFN", "CNF", "FLEX-1", "FLEX-2"
"CFN" ('classic' WCST order): color precedes form, form precedes number, number precedes color
"CNF": color preceds number, number precedes form, form precedes color
"FLEX-1": the categories are decided upon first selection after rule change (default)
with the constraint that the category order run during the first round
is maintained during subsequent rounds
ROUND1: flexible
block1: depends on first correct selection
block2: depends on first correct selection of categories that haven't run yet
block3: last unselected category
ROUND2: fixed
block4-block6: categories are run in the order they were run in round1
"FLEX-2": the categories are decided upon first selection after rule change
ROUND1: flexible
block1: depends on first correct selection
block2: depends on first correct selection of categories that haven't run yet
block3: last unselected category
ROUND2: flexible
block4 = block1 (but block3 category3 cannot be run); block5 = block2, block6 = block3
"FLEX-1"