# Libraries

library(tidyr)
library(dplyr)
library(ggplot2)
library(lubridate)
library(plotly)
library(REDCapR)
library(stringr)
library(gt)
library(glue)
library(tibble)

knitr::opts_chunk$set(message = FALSE, warning = FALSE)

# Functions: everything in R/ is sourced here

for (f in list.files("R", pattern = "\\.R$", full.names = TRUE)) source(f)

# Opt-in chunk timing for performance work (see R/timing.R)
if (Sys.getenv("SPIN_TIMING") == "1") enable_chunk_timing()

This R Markdown document is designed for data wrangling, visualization, and analysis across various SPIN studies. It provides a framework for examining study metrics tailored to specific SPIN studies as outlined be low. You can execute the entire document sequentially to prepare and analyze variables across these studies.

For clarity and visual appeal, code chunks are hidden, and only key results and plots are displayed. For detailed insights into the methodology or specific code implementations, please contact Hassan Abdulrasul ().

Recruitment

SPINR

SPASD

Study Progress

SPINR

MRI Progress

Group Participants with complete MRI Participants needed for target MRI scans required Recruitment target Target met (%)
ASD 42 8 16 50 84%
Control 39 1 2 40 98%
SSD 22 8 16 30 73%
TOTAL
17 34 120
Notes. Participants with complete MRI = tx2 MRIs completed. MRI scans required assumes 2 scans per needed participant.

MRI Completeness

Overall

MRI sequence completeness
Number of MRI scans = 141
Run Collected Not collected Partial % Collected
T1 141 0 0 100.0
Rest (run 1) 140 0 1 99.3
Rest (run 2) 120 21 0 85.1
EA (run 1) 141 0 0 100.0
EA (run 2) 140 0 1 99.3
EA (run 3) 139 2 0 98.6
Imitate/Observe (run 1) 128 13 0 90.8
Imitate/Observe (run 2) 130 11 0 92.2
DWI 134 7 0 95.0

Group

MRI sequence completeness — ASD
Number of MRI scans = 42
Run Collected Not collected Partial % Collected
T1 46 0 0 100.0
Rest (run 1) 46 0 0 100.0
Rest (run 2) 35 11 0 76.1
EA (run 1) 46 0 0 100.0
EA (run 2) 46 0 0 100.0
EA (run 3) 46 0 0 100.0
Imitate/Observe (run 1) 43 3 0 93.5
Imitate/Observe (run 2) 43 3 0 93.5
DWI 43 3 0 93.5
MRI sequence completeness — Control
Number of MRI scans = 42
Run Collected Not collected Partial % Collected
T1 55 0 0 100.0
Rest (run 1) 54 0 1 98.2
Rest (run 2) 54 1 0 98.2
EA (run 1) 55 0 0 100.0
EA (run 2) 55 0 0 100.0
EA (run 3) 54 1 0 98.2
Imitate/Observe (run 1) 55 0 0 100.0
Imitate/Observe (run 2) 55 0 0 100.0
DWI 55 0 0 100.0
MRI sequence completeness — SSD
Number of MRI scans = 27
Run Collected Not collected Partial % Collected
T1 40 0 0 100.0
Rest (run 1) 40 0 0 100.0
Rest (run 2) 31 9 0 77.5
EA (run 1) 40 0 0 100.0
EA (run 2) 39 0 1 97.5
EA (run 3) 39 1 0 97.5
Imitate/Observe (run 1) 30 10 0 75.0
Imitate/Observe (run 2) 32 8 0 80.0
DWI 36 4 0 90.0

Assessment Completion Status

Each heatmap shows one SPIN-R arm and visit (or one SPIN-ASD group): the forms REDCap schedules for it, and the participants in it. Green = completed, gold = partly completed, red = recorded as not completed, grey = nothing entered. Participants who withdrew, were found ineligible or were lost to follow-up (config/completion_overrides.csv) show their unentered forms red, with the reason in the hover. Completion comes from each form’s “Was this form completed?” question; forms without one (mostly self-report questionnaires) use REDCap’s own form status, where Incomplete counts as gold if the form has any answers and grey if it was never filled in. Hover over a cell for the recorded answer and the reason a form was not completed. The participant checklist, termination checklist and progress notes are study-level forms, shown with each arm’s first visit. Forms and their order: config/forms_spinr.csv, config/forms_spasd.csv; everything else is read from the REDCap design exports in config/redcap/.

SPASD Tx2

SPINS Tx2

Control (SPASD/SPINS Tx2)

SSD (Tx1)

SSD (Tx2)

Control (Tx1)

Control (Tx2)

ASD (Tx1)

ASD (Tx2)

SPASD (Case)

SPASD (Controls)

Structured Clinical Interview for DSM Disorders (SCID)

Bars show the number of participants in each group with each SCID-5 diagnosis. A participant with several diagnoses is counted once for each.

Current: the disorder meets symptomatic diagnostic criteria within the time window the SCID-5 specifies for it. That is the past month for most disorders, and up to the past 2 years for some (e.g. persistent depressive disorder, cyclothymic disorder). In SPIN-R this is the disorder’s “Meets Symptomatic Dx. Crit” rating; in SPASD it is the past-period rating recorded for each diagnosis.

Lifetime: the disorder has ever met diagnostic criteria. In SPIN-R this is a lifetime prevalence rating of “Threshold” (disorders with no lifetime rating use their current rating). In SPASD it is any diagnosis recorded as meeting threshold criteria.

Past only: disorders that meet the Lifetime definition but not the Current one, i.e. past disorders the participant no longer meets criteria for. Hover over a bar for whether the current rating was recorded as absent or not entered, and how many of these participants have another current diagnosis.

No current / lifetime diagnosis counts everyone with a SCID who has no diagnosis meeting that tab’s definition. Hover over the bar for why; each participant is counted under the first reason that applies:

  • Past disorder, no longer current (Current tab only): a disorder meets the lifetime definition but is not present now. These are the disorders in the Past only tab.
  • Lifetime disorder, current rating not entered (Current tab only): the lifetime rating is Threshold, but the current rating was left empty.
  • Below threshold only: every recorded disorder was rated subthreshold, absent or “inadequate information”.
  • Disorder selected, ratings not entered: a disorder was chosen on the SCID but its ratings were left empty.
  • Disorder said to be present, but none selected: “Does the participant present with a clinical disorder?” is Yes, but no specific disorder was chosen.
  • No clinical disorder on the SCID: that question is No.

The two “not entered” reasons and “none selected” are gaps in SCID data entry rather than clinical findings. So the No-diagnosis bars can differ between tabs, and differ from the Past only counts, without anything being wrong.

SPIN-R tabs are split by timepoint (tx1 = baseline, tx2 = follow-up); participants without a SCID at that timepoint are not shown. In SPIN-R, a dozen disorders (e.g. premenstrual dysphoric, sleep-wake, somatic symptom and adult ADHD) have no lifetime rating, so their current rating is used for both, and they never appear as Past only. In SPIN-ASD, unspecified feeding or eating disorder has no current rating, so it always counts as Past only.

How each rule is read from REDCap

SPIN-R SPIN-ASD
Any clinical disorder scid5_disorder_yn: 1 = Yes, 0 = No scid5_dis_yn (“meets threshold criteria for any clinical disorder?”): 1 = Yes, 2 = No
Which disorders Categories ticked in scid5_disorder_cat___1 to ___12; the disorder from scid5_cat1_bd, scid5_cat2_dd, scid5_cat3_scz (one each, codes 1-20), the checkboxes scid5_cat4_su___21 to scid5_cat11_trauma___63, or scid5_cat12_other (free text, “Other”). Codes in config/scid_codes_spinr.csv Up to 10 slots: slot 1 when scid5_dis_yn = 1, slot <k> when scid5_cont<k-1> = 1. Category scid5_dis<k>, disorder scid5_dis<k>_cat_<category> (codes in config/scid_codes.csv), or scid5_dis<k>_other for “Other”
Lifetime scid5_cat<category>_<code>_lp = 3 (Threshold), e.g. scid5_cat2_07_lp for major depressive disorder. Other values: 1 = Absent, 2 = Subthreshold, 99 = Inadequate info. Disorders with no _lp field use _pm instead Any disorder recorded in a slot (the form only records disorders meeting threshold criteria)
Current scid5_cat<category>_<code>_pm = 3 (Present; for bipolar I/II 3.1-3.4, present with the current episode type). 1 = Absent. Asked only when _lp = 3 (or, without _lp, whenever the disorder is selected) Any of the slot’s scid5_dis<k>_past_1m, _past_3m, _past_6m, _past_12m, _past_2y = 3 (Present). 1 = Absent

SPINR SCID (Current)

tx1

SPINR_scid_current %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx1)")

tx2

SPINR_scid_current %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx2)")

SPASD SCID (Current)

SPASD_scid_current %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPASD Current SCID Diagnoses by Group")

SPINR SCID (Lifetime)

tx1

SPINR_scid_lifetime %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx1)")

tx2

SPINR_scid_lifetime %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx2)")

SPASD SCID (Lifetime)

SPASD_scid_lifetime %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPASD Lifetime SCID Diagnoses by Group")

SPINR SCID (Past only)

tx1

SPINR_scid_past %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Past-only SCID Diagnoses by Group (tx1)")

tx2

SPINR_scid_past %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPIN-R Past-only SCID Diagnoses by Group (tx2)")

SPASD SCID (Past only)

SPASD_scid_past %>% count_scid_diagnoses() %>%
  plot_scid_diagnoses("SPASD Past-only SCID Diagnoses by Group")

Descriptive Statistics

One column per diagnostic group, then the whole cohort. Mean (SD) for ages and scores, median [IQR] for skewed values, n (%) for categories; percentages are of participants with a value. Each table comes twice: Missing removed (participants with a value) and Missing included (a missing column per group, for checking data entry). Rows: R/table1_rows.R.

SPINR

Everyone enrolled in SPIN-R, one row per participant, at their first SPIN-R visit. Scores by visit are in the Longitudinal Cohort section.

Missing removed

group_table1(SPINR_sample, spinr_sample_rows, NULL,
             title = "SPIN-R participants", subtitle = "At their first SPIN-R visit")
SPIN-R participants
At their first SPIN-R visit
ASD (n=44) Control (n=45) SSD (n=34) Cohort (n=123)
Enrolment
Origin
Rolled over from SPASD 39 (89%) 19 (42%) 0 (0%) 58 (47%)
Rolled over from SPINS 0 (0%) 9 (20%) 9 (26%) 18 (15%)
New SPIN-R recruit 5 (11%) 17 (38%) 24 (71%) 46 (37%)
Rolled over (baseline not found) 0 (0%) 0 (0%) 1 (3%) 1 (1%)
Visits completed
Baseline + follow-up 43 (98%) 42 (93%) 25 (74%) 110 (89%)
Baseline only 1 (2%) 3 (7%) 8 (24%) 12 (10%)
Follow-up only 0 (0%) 0 (0%) 1 (3%) 1 (1%)
Demographics
Age at SPIN-R entry (years) 24.5 (5.4) 27.3 (5.6) 26.7 (5.0) 26.1 (5.4)
Sex assigned at birth
Female 21 (48%) 19 (42%) 13 (38%) 53 (43%)
Male 23 (52%) 26 (58%) 21 (62%) 70 (57%)
Race
Asian 10 (23%) 25 (56%) 9 (26%) 44 (36%)
Black or African American 1 (2%) 5 (11%) 8 (24%) 14 (11%)
Other 4 (9%) 2 (4%) 3 (9%) 9 (7%)
White 21 (48%) 9 (20%) 11 (32%) 41 (33%)
More than one race 8 (18%) 4 (9%) 3 (9%) 15 (12%)
Education (years) 13.6 (2.0) 16.6 (2.0) 14.6 (1.9) 15.0 (2.4)

Missing included

group_table1(SPINR_sample, spinr_sample_rows, NULL,
             title = "SPIN-R participants", subtitle = "At their first SPIN-R visit",
             show_missing = TRUE)
SPIN-R participants
At their first SPIN-R visit
ASD (n=44) ASD missing, n (%) Control (n=45) Control missing, n (%) SSD (n=34) SSD missing, n (%) Cohort (n=123) Cohort missing, n (%)
Enrolment
Origin 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Rolled over from SPASD 39 (89%) 19 (42%) 0 (0%) 58 (47%)
Rolled over from SPINS 0 (0%) 9 (20%) 9 (26%) 18 (15%)
New SPIN-R recruit 5 (11%) 17 (38%) 24 (71%) 46 (37%)
Rolled over (baseline not found) 0 (0%) 0 (0%) 1 (3%) 1 (1%)
Visits completed 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Baseline + follow-up 43 (98%) 42 (93%) 25 (74%) 110 (89%)
Baseline only 1 (2%) 3 (7%) 8 (24%) 12 (10%)
Follow-up only 0 (0%) 0 (0%) 1 (3%) 1 (1%)
Demographics
Age at SPIN-R entry (years) 24.5 (5.4) 0 (0%) 27.3 (5.6) 0 (0%) 26.7 (5.0) 0 (0%) 26.1 (5.4) 0 (0%)
Sex assigned at birth 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Female 21 (48%) 19 (42%) 13 (38%) 53 (43%)
Male 23 (52%) 26 (58%) 21 (62%) 70 (57%)
Race 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Asian 10 (23%) 25 (56%) 9 (26%) 44 (36%)
Black or African American 1 (2%) 5 (11%) 8 (24%) 14 (11%)
Other 4 (9%) 2 (4%) 3 (9%) 9 (7%)
White 21 (48%) 9 (20%) 11 (32%) 41 (33%)
More than one race 8 (18%) 4 (9%) 3 (9%) 15 (12%)
Education (years) 13.6 (2.0) 0 (0%) 16.6 (2.0) 0 (0%) 14.6 (1.9) 0 (0%) 15.0 (2.4) 0 (0%)
Missing: % of the group.

SPASD

Everyone in SPIN-ASD (ASD and Control only, so no SSD column).

Missing removed

spasd_notes <- "IQ: WAIS FSIQ, else WASI FSIQ-4, else FSIQ-2."
group_table1(SPASD_demo, spasd_rows, spasd_notes,
             title = "SPIN-ASD participants", subtitle = "Baseline")
SPIN-ASD participants
Baseline
ASD (n=116) Control (n=43) Cohort (n=159)
Demographics
Age (years) 21.0 (4.3) 25.7 (5.0) 22.3 (4.9)
Sex assigned at birth
Female 49 (42%) 18 (43%) 67 (42%)
Male 67 (58%) 24 (57%) 91 (58%)
Race
White 80 (69%) 13 (31%) 93 (59%)
Black or African American 4 (3%) 7 (17%) 11 (7%)
Asian 16 (14%) 19 (45%) 35 (22%)
Other 6 (5%) 1 (2%) 7 (4%)
More than one race 10 (9%) 2 (5%) 12 (8%)
Education (years) 12.7 (2.2) 15.7 (2.1) 13.5 (2.5)
Cognition
Full-scale IQ 114.9 (14.7) 115.8 (13.8) 115.2 (14.4)
IQ range
70-84 2 (2%) 1 (2%) 3 (2%)
85-99 15 (13%) 5 (12%) 20 (13%)
100-114 36 (32%) 11 (28%) 47 (31%)
115-129 41 (36%) 17 (42%) 58 (38%)
130-144 19 (17%) 6 (15%) 25 (16%)
145-160 1 (1%) 0 (0%) 1 (1%)
MATRICS composite T-score 40.8 (11.2) 50.6 (10.2) 43.3 (11.8)
IQ: WAIS FSIQ, else WASI FSIQ-4, else FSIQ-2.

Missing included

group_table1(SPASD_demo, spasd_rows, spasd_notes,
             title = "SPIN-ASD participants", subtitle = "Baseline", show_missing = TRUE)
SPIN-ASD participants
Baseline
ASD (n=116) ASD missing, n (%) Control (n=43) Control missing, n (%) Cohort (n=159) Cohort missing, n (%)
Demographics
Age (years) 21.0 (4.3) 0 (0%) 25.7 (5.0) 1 (2%) 22.3 (4.9) 1 (1%)
Sex assigned at birth 0 (0%) 1 (2%) 1 (1%)
Female 49 (42%) 18 (43%) 67 (42%)
Male 67 (58%) 24 (57%) 91 (58%)
Race 0 (0%) 1 (2%) 1 (1%)
White 80 (69%) 13 (31%) 93 (59%)
Black or African American 4 (3%) 7 (17%) 11 (7%)
Asian 16 (14%) 19 (45%) 35 (22%)
Other 6 (5%) 1 (2%) 7 (4%)
More than one race 10 (9%) 2 (5%) 12 (8%)
Education (years) 12.7 (2.2) 0 (0%) 15.7 (2.1) 1 (2%) 13.5 (2.5) 1 (1%)
Cognition
Full-scale IQ 114.9 (14.7) 2 (2%) 115.8 (13.8) 3 (7%) 115.2 (14.4) 5 (3%)
IQ range 2 (2%) 3 (7%) 5 (3%)
70-84 2 (2%) 1 (2%) 3 (2%)
85-99 15 (13%) 5 (12%) 20 (13%)
100-114 36 (32%) 11 (28%) 47 (31%)
115-129 41 (36%) 17 (42%) 58 (38%)
130-144 19 (17%) 6 (15%) 25 (16%)
145-160 1 (1%) 0 (0%) 1 (1%)
MATRICS composite T-score 40.8 (11.2) 7 (6%) 50.6 (10.2) 5 (12%) 43.3 (11.8) 12 (8%)
IQ: WAIS FSIQ, else WASI FSIQ-4, else FSIQ-2.
Missing: % of the group.

Distributions

SPINR (AGE)

plot_group_histogram(SPINR_demo_unique, "demo_age_study_entry", c("ASD", "SSD", "Control"),
                     xbins   = list(start = 15, end = 36, size = 1),
                     title   = "Age Distribution by Group (SPINR)",
                     x_title = "Age (years)")

SPASD (AGE)

plot_group_histogram(SPASD_demo, "demo_age_study_entry", c("ASD", "Control"),
                     xbins   = list(start = 15, end = 36, size = 1),
                     title   = "Age Distribution by Group (SPASD)",
                     x_title = "Age (years)")

SPASD (IQ)

plot_group_histogram(SPASD_demo, "iq", c("ASD", "Control"),
                     xbins   = list(start = 70, end = 150, size = 10),
                     title   = "IQ Distribution by Group (SPASD)",
                     x_title = "Estimated IQ")

Social cognition

Score plots show the SPIN-R longitudinal cohort (see Longitudinal Cohort), one point per participant: Baseline is each participant’s first visit (in SPASD, SPINS or SPIN-R) and Follow-up their SPIN-R follow-up. The two tabs are different samples, so differences between them are not change over time; paired change is in Longitudinal Plots MATRICS. Hover over a point to see which study the score came from.

Reading Mind Through the Eyes Test (RMET)

The Reading the Mind in the Eyes Test (RMET) is a widely used measure of social cognition, specifically targeting the ability to infer mental states, an important aspect of Theory of Mind.

How It Works: Participants are shown 36 photographs of the eye region of faces. For each photograph, they must choose the word that best describes what the person in the photograph is thinking or feeling. Four options are provided for each photograph, such as “worried,” “playful,” “jealous,” or “relaxed.”

What It Measures: RMET evaluates subtle social sensitivity and the capacity to read nonverbal social cues.

Scoring:

Higher Scores: Indicate greater social awareness and better ability to interpret others’ mental states. Lower Scores: Suggest challenges in social sensitivity, often observed in conditions like autism spectrum disorder or social anxiety.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), c(rmet_total = "RMET Total"),
                   "Distribution of RMET Scores Across Groups (Baseline)")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), c(rmet_total = "RMET Total"),
                   "Distribution of RMET Scores Across Groups (Follow-up)")

Interpersonal reactivity Index (IRI)

The Interpersonal Reactivity Index (IRI) is a multidimensional measure of empathy. It assesses both emotional and cognitive aspects of empathy, capturing how individuals understand and respond to the emotions and experiences of others.

Subscales of the IRI The IRI comprises four subscales, each targeting a distinct aspect of empathy:

Perspective Taking (PT): Reflects the cognitive aspect of empathy. Measures the ability to adopt another person’s point of view. Example: “I sometimes try to understand my friends better by imagining how things look from their perspective.”

Empathic Concern (EC): Reflects the emotional aspect of empathy. Measures feelings of compassion and concern for others. Example: “I often have tender, concerned feelings for people less fortunate than me.”

Personal Distress (PD): Measures self-oriented feelings of discomfort or anxiety in response to others’ distress. Example: “Being in a tense emotional situation scares me.”

Fantasy (FS): Assesses the tendency to imaginatively identify with fictional characters in books, movies, or stories. Example: “After watching a movie, I feel as though I am one of the characters.” Scoring and Interpretation

Higher Scores: On PT and EC: Indicate greater cognitive and emotional empathy, respectively. On FS: Suggest a strong imaginative capacity and engagement with fictional scenarios. On PD: May indicate susceptibility to personal emotional distress in challenging situations.

Lower Scores: On PT and EC: Suggest difficulty in understanding or feeling for others. On FS: Indicates less imaginative identification with fictional contexts. On PD: Suggest resilience to personal emotional distress in tense situations.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), iri_measures,
                   "Distribution of IRI Scores Across Groups (Baseline)", x_title = "IRI Subscale")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), iri_measures,
                   "Distribution of IRI Scores Across Groups (Follow-up)", x_title = "IRI Subscale")

The Awareness of Social Inference Test-Revised (TASIT-R)

The Awareness of Social Inference Test-Revised (TASIT-R) is a standardized assessment designed to evaluate social cognition, specifically focusing on the ability to recognize and interpret social cues in real-world scenarios. It is widely used to study social perception, inference, and pragmatic communication.

Structure of TASIT-R TASIT-R is divided into three main sections, each assessing a different aspect of social cognition:

Emotion Evaluation: Participants watch brief video clips of actors portraying various basic emotions (e.g., happiness, sadness, anger, fear) through tone, facial expressions, and body language. Measures the ability to accurately identify emotions in social contexts.

Social Inference (Minimal): Involves understanding implied meanings and subtle cues in simple, straightforward social scenarios. Measures the ability to infer others’ intentions and emotions based on situational context without relying on complex reasoning.

Social Inference (Enriched): Participants interpret more complex scenarios involving sarcasm, lies, or double meanings. Requires higher-order reasoning, such as distinguishing between literal and implied meanings or recognizing deception. Scoring and Interpretation

Higher Scores: Reflect greater accuracy in recognizing emotions, understanding social cues, and interpreting complex social scenarios.

Lower Scores: Indicate difficulties in social inference, emotion recognition, and pragmatic understanding, often seen in individuals with social communication deficits, traumatic brain injury, or neurodevelopmental disorders.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), spinr_tasit_totals,
                   "Distribution of TASIT Scores Across Groups (Baseline)", x_title = "TASIT Assessment", boxpoints = FALSE, tickangle = 45)

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), spinr_tasit_totals,
                   "Distribution of TASIT Scores Across Groups (Follow-up)", x_title = "TASIT Assessment", boxpoints = FALSE, tickangle = 45)

Penn Emotion Recognition Task-40 (ER-40)

The Penn Emotion Recognition Task-40 (ER-40) is a standardized test designed to assess the ability to recognize and identify basic emotions from facial expressions. It is commonly used in research and clinical settings to evaluate emotional perception, a key component of social cognition.

Structure of the ER-40

Stimuli: The task includes 40 grayscale photographs of faces, each displaying one of five basic emotions:

Happy Sad Angry Fearful Neutral

Procedure: Participants are presented with each photograph and asked to select the emotion that best matches the facial expression from the provided options. Scoring and Interpretation

Accuracy: Higher scores reflect a better ability to correctly identify emotional expressions. Lower scores may indicate challenges in emotion recognition, often linked to conditions affecting social cognition, such as autism spectrum disorder, schizophrenia, or traumatic brain injury.

Emotion-Specific Patterns: Some individuals may struggle more with recognizing specific emotions (e.g., fear or anger), offering insights into specific deficits in emotional processing.

Response Time: Refers to the amount of time it takes for participants to make a decision and select an emotion label for each facial expression.

Baseline (columns)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), spinr_er40_emotions,
                   "Distribution of ER-40 Scores Across Groups (Baseline)", x_title = "ER-40 Subscale")

Follow-up (columns)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), spinr_er40_emotions,
                   "Distribution of ER-40 Scores Across Groups (Follow-up)", x_title = "ER-40 Subscale")

Baseline (Correct Responses)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), c(er40_cr = "Correct Responses"),
                   "ER-40 Correct Responses Across Groups (Baseline)", x_title = "ER-40 Subscale")

Follow-up (Correct Responses)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), c(er40_cr = "Correct Responses"),
                   "ER-40 Correct Responses Across Groups (Follow-up)", x_title = "ER-40 Subscale")

Baseline (Response time)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), c(er40_crt = "Response time"),
                   "ER-40 Response Time Across Groups (Baseline)", x_title = "ER-40 Subscale")

Follow-up (Response time)

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), c(er40_crt = "Response time"),
                   "ER-40 Response Time Across Groups (Follow-up)", x_title = "ER-40 Subscale")

Neuropsych Domain Distributions (MATRICS)

The MATRICS Consensus Cognitive Battery is a standardized tool used to evaluate cognitive functioning across multiple domains, specifically designed for use in psychiatric and neurological research. It provides T-scores for each cognitive domain, which are standardized scores used to compare an individual’s performance to a normative reference group.

50: Average performance. Above 50: Better-than-average performance. Below 50: Worse-than-average performance.

As above, Baseline and Follow-up show the SPIN-R longitudinal cohort at each visit, one point per participant.

Attention/Vigilance Domain

Evaluates sustained attention and ability to maintain focus over time. Tasks may include continuous performance tests.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_att_vigilance"],
                   "Attention/Vigilance Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_att_vigilance"],
                   "Attention/Vigilance Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Working Memory Domain

Measures the ability to temporarily store and manipulate information. Includes verbal and visual working memory tasks.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_work_mem"],
                   "Working Memory Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_work_mem"],
                   "Working Memory Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Verbal Learning Domain

Assesses learning and recall of verbal information. Tasks often involve memorizing and recalling word list

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_verbal_learning"],
                   "Verbal Learning Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_verbal_learning"],
                   "Verbal Learning Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Visual Learning Domain

Focuses on the ability to learn and recall visual patterns or images.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_visual_learning"],
                   "Visual Learning Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_visual_learning"],
                   "Visual Learning Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Reasoning/PS Domain

Measures higher-order cognitive abilities, including abstract reasoning and decision-making.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_reasoning_ps"],
                   "Reasoning/PS Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_reasoning_ps"],
                   "Reasoning/PS Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Social Cognition Domain

Evaluates understanding and interpretation of social cues. Tasks often involve identifying emotions or social intentions.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_social_cog"],
                   "Social Cognition Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_social_cog"],
                   "Social Cognition Domain Scores Across Groups (Follow-up)", x_title = "Groups")

Processing Speed Domain

Measures rapid information processing and reaction time. Associated with tasks like symbol coding or category fluency.

Baseline

plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_process_speed"],
                   "Processing Speed Domain Scores Across Groups (Baseline)", x_title = "Groups")

Follow-up

plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_process_speed"],
                   "Processing Speed Domain Scores Across Groups (Follow-up)", x_title = "Groups")

MRI metrics

T1-weighted (T1w) Structural MRI

CNR (Contrast-to-Noise Ratio): Reflects GM/WM contrast.
Higher is better; typical range: 1.5–2.5.

SNR (Signal-to-Noise Ratio): Overall image clarity relative to background noise.
Typical range: 25–40.

INU Median (Bias Field Inhomogeneity): Measures intensity non-uniformity; closer to 1 is ideal.
Typical range: 0.95–1.1.

CJV (Coefficient of Joint Variation): GM/WM intensity overlap; lower is better.
Typical range: 0.5–0.9.


BOLD fMRI

FD Mean (Framewise Displacement): Average head motion per volume.
<0.2 mm is ideal; 0.1–0.3 mm is typical.

FD Num: Number of volumes with FD > 0.2 mm.
Lower is better; <20 common.

tSNR (Temporal SNR): Stability of voxel signal across time.
Higher is better; typical range: 50–100.

DVARS (Standardized): Change in signal between volumes; higher = more motion.
Values near 1 are typical.


T1w Image

BOLD (Rest)

Longitudinal Cohort

Everyone enrolled in SPIN-R, at their actual baseline and follow-up visits. Participants rolled over from SPASD or SPINS had their baseline in that study and their follow-up in SPIN-R; participants newly recruited to SPIN-R had both visits in SPIN-R. The follow-up table shows who is available for longitudinal analyses. Race is check-all-that-apply, grouped into the SPASD / SPINS categories so the studies can be combined (config/race_categories_*.csv): boxes from more than one group count as “More than one race”, and participants with no box ticked are missing. Age is age at the visit.

Baseline

Missing removed

group_table1(cohort_baseline, cohort_rows, cohort_notes,
             title = "Longitudinal cohort", subtitle = "Baseline visit")
Longitudinal cohort
Baseline visit
ASD (n=44) Control (n=45) SSD (n=33) Cohort (n=122)
Enrolment
Origin
Rolled over from SPASD 39 (89%) 19 (42%) 0 (0%) 58 (48%)
Rolled over from SPINS 0 (0%) 9 (20%) 9 (27%) 18 (15%)
New SPIN-R recruit 5 (11%) 17 (38%) 24 (73%) 46 (38%)
Demographics
Age at visit (years) 23.0 (5.3) 26.4 (5.2) 26.1 (4.9) 25.1 (5.4)
Sex assigned at birth
Female 21 (48%) 19 (42%) 13 (39%) 53 (43%)
Male 23 (52%) 26 (58%) 20 (61%) 69 (57%)
Race
White 22 (50%) 11 (24%) 11 (33%) 44 (36%)
Black or African American 1 (2%) 5 (11%) 9 (27%) 15 (12%)
Asian 10 (23%) 25 (56%) 9 (27%) 44 (36%)
Other 4 (9%) 1 (2%) 2 (6%) 7 (6%)
More than one race 7 (16%) 3 (7%) 2 (6%) 12 (10%)
Education (years) 13.2 (2.3) 16.1 (2.1) 14.3 (1.9) 14.6 (2.4)
Cognition
MATRICS composite T-score 40.4 (13.4) 52.3 (9.2) 39.2 (11.4) 44.8 (12.9)
Rolled-over participants: baseline from SPASD / SPINS.

Missing included

group_table1(cohort_baseline, cohort_rows, cohort_notes,
             title = "Longitudinal cohort", subtitle = "Baseline visit", show_missing = TRUE)
Longitudinal cohort
Baseline visit
ASD (n=44) ASD missing, n (%) Control (n=45) Control missing, n (%) SSD (n=33) SSD missing, n (%) Cohort (n=122) Cohort missing, n (%)
Enrolment
Origin 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Rolled over from SPASD 39 (89%) 19 (42%) 0 (0%) 58 (48%)
Rolled over from SPINS 0 (0%) 9 (20%) 9 (27%) 18 (15%)
New SPIN-R recruit 5 (11%) 17 (38%) 24 (73%) 46 (38%)
Demographics
Age at visit (years) 23.0 (5.3) 0 (0%) 26.4 (5.2) 0 (0%) 26.1 (4.9) 0 (0%) 25.1 (5.4) 0 (0%)
Sex assigned at birth 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Female 21 (48%) 19 (42%) 13 (39%) 53 (43%)
Male 23 (52%) 26 (58%) 20 (61%) 69 (57%)
Race 0 (0%) 0 (0%) 0 (0%) 0 (0%)
White 22 (50%) 11 (24%) 11 (33%) 44 (36%)
Black or African American 1 (2%) 5 (11%) 9 (27%) 15 (12%)
Asian 10 (23%) 25 (56%) 9 (27%) 44 (36%)
Other 4 (9%) 1 (2%) 2 (6%) 7 (6%)
More than one race 7 (16%) 3 (7%) 2 (6%) 12 (10%)
Education (years) 13.2 (2.3) 0 (0%) 16.1 (2.1) 0 (0%) 14.3 (1.9) 0 (0%) 14.6 (2.4) 0 (0%)
Cognition
MATRICS composite T-score 40.4 (13.4) 3 (7%) 52.3 (9.2) 3 (7%) 39.2 (11.4) 9 (27%) 44.8 (12.9) 15 (12%)
Rolled-over participants: baseline from SPASD / SPINS.
Missing: % of the group.

Follow-up

Missing removed

group_table1(cohort_followup, cohort_followup_rows, cohort_notes,
             title = "Longitudinal cohort", subtitle = "Follow-up visit")
Longitudinal cohort
Follow-up visit
ASD (n=43) Control (n=42) SSD (n=26) Cohort (n=111)
Enrolment
Origin
Rolled over from SPASD 39 (91%) 19 (45%) 0 (0%) 58 (52%)
Rolled over from SPINS 0 (0%) 9 (21%) 9 (35%) 18 (16%)
New SPIN-R recruit 4 (9%) 14 (33%) 16 (62%) 34 (31%)
Rolled over (baseline not found) 0 (0%) 0 (0%) 1 (4%) 1 (1%)
Demographics
Age at visit (years) 25.1 (5.1) 28.8 (5.7) 27.2 (4.9) 26.8 (5.4)
Sex assigned at birth
Female 20 (47%) 17 (40%) 9 (35%) 46 (41%)
Male 23 (53%) 25 (60%) 17 (65%) 65 (59%)
Race
White 21 (49%) 9 (21%) 10 (38%) 40 (36%)
Black or African American 1 (2%) 5 (12%) 5 (19%) 11 (10%)
Asian 10 (23%) 22 (52%) 6 (23%) 38 (34%)
Other 4 (9%) 2 (5%) 2 (8%) 8 (7%)
More than one race 7 (16%) 4 (10%) 3 (12%) 14 (13%)
Education (years) 13.7 (2.1) 16.5 (2.1) 14.6 (1.9) 15.0 (2.4)
Cognition
MATRICS composite T-score 46.8 (10.2) 58.8 (9.2) 42.1 (10.9) 49.8 (11.8)
Follow-up
Time since baseline (months) 21.7 [10.8, 37.6] 14.4 [8.7, 43.3] 16.5 [9.4, 56.8] 19.1 [9.6, 40.3]
Rolled-over participants: baseline from SPASD / SPINS.

Missing included

group_table1(cohort_followup, cohort_followup_rows, cohort_notes,
             title = "Longitudinal cohort", subtitle = "Follow-up visit", show_missing = TRUE)
Longitudinal cohort
Follow-up visit
ASD (n=43) ASD missing, n (%) Control (n=42) Control missing, n (%) SSD (n=26) SSD missing, n (%) Cohort (n=111) Cohort missing, n (%)
Enrolment
Origin 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Rolled over from SPASD 39 (91%) 19 (45%) 0 (0%) 58 (52%)
Rolled over from SPINS 0 (0%) 9 (21%) 9 (35%) 18 (16%)
New SPIN-R recruit 4 (9%) 14 (33%) 16 (62%) 34 (31%)
Rolled over (baseline not found) 0 (0%) 0 (0%) 1 (4%) 1 (1%)
Demographics
Age at visit (years) 25.1 (5.1) 2 (5%) 28.8 (5.7) 12 (29%) 27.2 (4.9) 4 (15%) 26.8 (5.4) 18 (16%)
Sex assigned at birth 0 (0%) 0 (0%) 0 (0%) 0 (0%)
Female 20 (47%) 17 (40%) 9 (35%) 46 (41%)
Male 23 (53%) 25 (60%) 17 (65%) 65 (59%)
Race 0 (0%) 0 (0%) 0 (0%) 0 (0%)
White 21 (49%) 9 (21%) 10 (38%) 40 (36%)
Black or African American 1 (2%) 5 (12%) 5 (19%) 11 (10%)
Asian 10 (23%) 22 (52%) 6 (23%) 38 (34%)
Other 4 (9%) 2 (5%) 2 (8%) 8 (7%)
More than one race 7 (16%) 4 (10%) 3 (12%) 14 (13%)
Education (years) 13.7 (2.1) 0 (0%) 16.5 (2.1) 0 (0%) 14.6 (1.9) 0 (0%) 15.0 (2.4) 0 (0%)
Cognition
MATRICS composite T-score 46.8 (10.2) 3 (7%) 58.8 (9.2) 16 (38%) 42.1 (10.9) 11 (42%) 49.8 (11.8) 30 (27%)
Follow-up
Time since baseline (months) 21.7 [10.8, 37.6] 4 (9%) 14.4 [8.7, 43.3] 16 (38%) 16.5 [9.4, 56.8] 7 (27%) 19.1 [9.6, 40.3] 27 (24%)
Rolled-over participants: baseline from SPASD / SPINS.
Missing: % of the group.

Time Between Visits

plot_time_between_visits(SPINR_cohort)

Longitudinal Plots MATRICS

Participants with MATRICS (processing speed and attention/vigilance) at both baseline and follow-up, including new SPIN-R recruits who have completed their follow-up.

Processing Speed Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_process_speed",
                       title = "<b>Processing Speed Domain T-Scores Over Time</b>")$plot

Attention/Vigilance Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_att_vigilance",
                       title = "<b>Attention/Vigilance Domain T-Scores Over Time</b>")$plot

Work Memory Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_work_mem",
                       title = "<b>Working Memory Domain T-Scores Over Time</b>")$plot

Verbal Learning Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_verbal_learning",
                       title = "<b>Verbal Learning Domain T-Scores Over Time</b>")$plot

Visual Learning Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_visual_learning",
                       title = "<b>Visual Learning Domain T-Scores Over Time</b>")$plot

Reasoning/Problem Solving Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_reasoning_ps",
                       title = "<b>Reasoning/Problem Solving Domain T-Scores Over Time</b>")$plot

Social Cognition Domain T-Scores Over Time

make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_social_cog",
                       title = "<b>Social Cognition Domain T-Scores Over Time</b>")$plot

Data Quality

Things to correct or confirm in REDCap. Nothing here is changed in REDCap. The table counts the issues found by each check (green = none); the tabs list them.

Score values are checked for the longitudinal cohort (every SPIN-R participant, at baseline in SPIN-ASD, SPINS or SPIN-R and at follow-up in SPIN-R) against each measure’s valid range in config/score_ranges.csv: REDCap’s own validation where it has one, otherwise the instrument’s possible range. Values outside the range are left out of every table and plot in this report. REDCap forms compare each form’s “Was this form completed?” answer with what is actually entered in it, for every form in the Assessment Completion heatmaps. Administrative fields (dates, rater, notes) and calculated fields don’t count as entered data. SCID lists gaps in SCID data entry; the SCID tabs count these participants under No current / lifetime diagnosis.

Check Issues Participants
Score values
Outside the valid range (left out of the report) 0 0
Not a number, or a REDCap missing-data code 9 1
Scored 0 and treated as not administered 25 10
REDCap forms
Marked completed, but no data entered 42 25
Data entered, but not marked completed 53 40
Marked not completed, but has data 1 1
Marked not completed, no reason given 10 10
Reason "Other" with no explanation 1 1
SCID
Disorder selected, ratings not entered 0 0
Lifetime threshold, current rating not entered 1 1
Disorder said to be present, but none selected 0 0

Score values

Outside the valid range. These values are left out of every table and plot above. Correct them in REDCap (in SPIN-ASD or SPINS for baseline values from those studies; Field is the field name in that study).

No score values outside their valid range.

Not a number, or a REDCap missing-data code. Read as missing. Missing-data codes (e.g. NI, not interpretable) are listed for completeness; anything else is probably a typing error.

Participant Group Study Visit Measure Field Value Issue
SPN31_CMH_100072 Control SPASD Baseline ER-40 correct responses scog_er40_cr_columnpcr_value NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 response time (correct responses) scog_er40_crt_columnqcrt_value NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 anger correct scog_er40ang_columnv NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 fear correct scog_er40fear_columnw NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 happy correct scog_er40hap_columnx NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 neutral correct scog_er40noe_columny NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 sad correct scog_er40sad_columnz NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 false positives (anger) scog_er40_fpa_columnaa NI REDCap missing-data code (read as missing)
SPN31_CMH_100072 Control SPASD Baseline ER-40 false positives (fear) scog_er40_fpf_columnab NI REDCap missing-data code (read as missing)

Scored 0 and treated as not administered. A 0 on these scores is taken to mean the test (or that part of it) was not given, so the test’s scores are left out for that visit; the rest of the participant’s data is kept. Check that each one really was not administered, rather than a genuine score of 0.

Participant Group Study Visit Measure Field Value Issue
SPN31_CMH_100027 Control SPASD Baseline ER-40 neutral correct scog_er40noe_columny 0 Scored 0: ER-40 neutral treated as not administered
SPN31_CMH_100035 ASD SPASD Baseline ER-40 neutral correct scog_er40noe_columny 0 Scored 0: ER-40 neutral treated as not administered
SPN30_CMH_010125 Control SPIN-R Follow-up TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_030071 SSD SPIN-R Baseline TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_040001 SSD SPIN-R Follow-up TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_042862 SSD SPIN-R Baseline TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_043188 SSD SPIN-R Baseline TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_043350 SSD SPIN-R Baseline TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN31_CMH_043225 SSD SPIN-R Baseline TASIT part 1 happy tasit_part1_happyscore 0 Scored 0: TASIT part 1 treated as not administered
SPN30_CMH_010125 Control SPIN-R Follow-up TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_030071 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_040001 SSD SPIN-R Follow-up TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_042862 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_043084 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_043188 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_043350 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN31_CMH_043225 SSD SPIN-R Baseline TASIT part 2 total tasit_part2_grandtotal 0 Scored 0: TASIT part 2 treated as not administered
SPN30_CMH_010125 Control SPIN-R Follow-up tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_030071 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_040001 SSD SPIN-R Follow-up tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_042862 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_043084 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_043188 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN30_CMH_043350 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered
SPN31_CMH_043225 SSD SPIN-R Baseline tasit_part3_grandtotal_lies tasit_part3_grandtotal_lies 0 Scored 0: TASIT part 3 treated as not administered

REDCap forms

Marked completed, but no data entered. The form’s completion answer says it was done (or REDCap’s status is Complete), but none of its content fields are filled in. Either data entry is missing or the completion answer is wrong. Forms with no content fields of their own (e.g. the open-ended question and picture description recording logs) are not checked.

Participant Study Visit Form Recorded
SPASD_CMP_0093 SPIN-ASD SPASD (Case) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0098 SPIN-ASD SPASD (Case) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0121 SPIN-ASD SPASD (Case) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0138 SPIN-ASD SPASD (Case) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0150 SPIN-ASD SPASD (Case) HDQ completed: Yes
SPASD_CMP_0086 SPIN-ASD SPASD (Controls) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0087 SPIN-ASD SPASD (Controls) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0088 SPIN-ASD SPASD (Controls) ABAS-II Questionnaire REDCap: Complete
SPASD_CMP_0102 SPIN-ASD SPASD (Controls) ABAS-II Questionnaire REDCap: Complete
SPN31_CMH_060001 SPIN-R ASD (Tx1) SANS : Assessment Of Negative Symptoms completed: Yes
SPN31_CMH_060001 SPIN-R ASD (Tx1) Neuropsych Fact Sheet completed: Yes
SPN31_CMH_100109 SPIN-R Control (SPASD/SPINS Tx2) Participant Checklist completed: Yes
SPN30_CMH_050016 SPIN-R Control (Tx1) WASI-II completed: Yes
SPN30_CMH_050016 SPIN-R Control (Tx1) AQ REDCap: Complete
SPN30_CMH_050016 SPIN-R Control (Tx1) BDI-II REDCap: Complete
SPN30_CMH_050016 SPIN-R Control (Tx1) Interpersonal Reactivity Index REDCap: Complete
SPN30_CMH_050016 SPIN-R Control (Tx1) Neuropsych Fact Sheet completed: Yes
SPN30_CMH_050016 SPIN-R Control (Tx1) Neuropsych Summary Scores completed: Yes
SPN30_CMH_050011 SPIN-R Control (Tx2) Birchwood Social Functioning Scale completed: Yes
SPN31_CMH_050012 SPIN-R Control (Tx2) AQ REDCap: Complete
SPN31_CMH_050012 SPIN-R Control (Tx2) BDI-II REDCap: Complete
SPN31_CMH_050012 SPIN-R Control (Tx2) Interpersonal Reactivity Index REDCap: Complete
SPN31_CMH_100073 SPIN-R SPASD Tx2 GIDYQ-AA REDCap: Complete
SPN31_CMH_100145 SPIN-R SPASD Tx2 PAQ REDCap: Complete
SPN30_CMH_043084 SPIN-R SSD (Tx1) SANS : Assessment Of Negative Symptoms completed: Yes
SPN30_CMH_043572 SPIN-R SSD (Tx1) SANS : Assessment Of Negative Symptoms completed: Yes
SPN30_CMH_043572 SPIN-R SSD (Tx1) Brief Psychiatric Rating Scale completed: Yes
SPN30_CMH_043572 SPIN-R SSD (Tx1) SAS completed: Yes
SPN31_CMH_043225 SPIN-R SSD (Tx1) SPQ-B REDCap: Complete
SPN31_CMH_043225 SPIN-R SSD (Tx1) GIDYQ-AA REDCap: Complete
SPN31_CMH_043225 SPIN-R SSD (Tx1) PAQ REDCap: Complete
SPN31_CMH_043225 SPIN-R SSD (Tx1) AQ REDCap: Complete
SPN31_CMH_043225 SPIN-R SSD (Tx1) ABAS-3 Questionnaire REDCap: Complete
SPN31_CMH_043225 SPIN-R SSD (Tx1) BDI-II REDCap: Complete
SPN32_CMH_030245 SPIN-R SSD (Tx1) SANS : Assessment Of Negative Symptoms completed: Yes
SPN32_CMH_030245 SPIN-R SSD (Tx1) Brief Psychiatric Rating Scale completed: Yes
SPN32_CMH_030263 SPIN-R SSD (Tx1) Birchwood Social Functioning Scale completed: Yes
SPN32_CMH_030456 SPIN-R SSD (Tx1) SANS : Assessment Of Negative Symptoms completed: Yes
SPN31_CMH_043281 SPIN-R SSD (Tx2) Neuropsych Fact Sheet completed: Yes
SPN31_CMH_043337 SPIN-R SSD (Tx2) SANS : Assessment Of Negative Symptoms completed: Yes
SPN31_CMH_043337 SPIN-R SSD (Tx2) Neuropsych Summary Scores completed: Yes
SPN32_CMH_030212 SPIN-R SSD (Tx2) SANS : Assessment Of Negative Symptoms completed: Yes

Data entered, but not marked completed. The form has content, but “Was this form completed?” is unanswered, or (for forms without that question) REDCap’s status was left at Incomplete.

Participant Study Visit Form Recorded
SPASD_CMP_0155 SPIN-ASD SPASD (Controls) ABAS-II Questionnaire REDCap: Incomplete (data entered)
SPN31_CMH_060001 SPIN-R ASD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_060002 SPIN-R ASD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_060003 SPIN-R ASD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_060004 SPIN-R ASD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_100119 SPIN-R Control (SPASD/SPINS Tx2) Progress Notes REDCap: Incomplete (data entered)
SPN30_CMH_050001 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050002 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050004 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050011 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050013 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050013 SPIN-R Control (Tx1) Progress Notes REDCap: Incomplete (data entered)
SPN30_CMH_050015 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050017 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050003 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050005 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050006 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050007 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050008 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050009 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050010 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050012 SPIN-R Control (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050001 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050002 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050004 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050011 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050013 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN30_CMH_050015 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050003 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050005 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050007 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050008 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050009 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_050010 SPIN-R Control (Tx2) Hand Dominance no completion recorded (form has data)
SPN31_CMH_100070 SPIN-R SPASD Tx2 Progress Notes REDCap: Incomplete (data entered)
SPN31_CMH_100090 SPIN-R SPASD Tx2 Progress Notes REDCap: Incomplete (data entered)
SPN31_CMH_100104 SPIN-R SPASD Tx2 Progress Notes REDCap: Incomplete (data entered)
SPN31_CMH_100105 SPIN-R SPASD Tx2 Progress Notes REDCap: Incomplete (data entered)
SPN30_CMH_030071 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_042737 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_043157 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_043565 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_043572 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN30_CMH_043786 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_043124 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_043225 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN31_CMH_043337 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030212 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030245 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030263 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030423 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030446 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)
SPN32_CMH_030456 SPIN-R SSD (Tx1) Hand Dominance no completion recorded (form has data)

Marked not completed, but has data. The completion answer is No, yet content is entered. If the form was partly done, Partial is the right answer.

Participant Study Visit Form Recorded
SPN30_CMH_010125 SPIN-R Control (SPASD/SPINS Tx2) Neuropsych Summary Scores completed: No

Marked not completed, no reason given. “Why was this form not completed?” is empty.

Participant Study Visit Form Recorded
SPASD_CMP_0062 SPIN-ASD SPASD (Case) Height Weight Vitals completed: No
SPASD_CMP_0093 SPIN-ASD SPASD (Case) Height Weight Vitals completed: No
SPASD_CMP_0098 SPIN-ASD SPASD (Case) Height Weight Vitals completed: No
SPASD_CMP_0121 SPIN-ASD SPASD (Case) Height Weight Vitals completed: No
SPASD_CMP_0138 SPIN-ASD SPASD (Case) Height Weight Vitals completed: No
SPASD_CMP_0086 SPIN-ASD SPASD (Controls) Height Weight Vitals completed: No
SPASD_CMP_0087 SPIN-ASD SPASD (Controls) Height Weight Vitals completed: No
SPASD_CMP_0088 SPIN-ASD SPASD (Controls) Height Weight Vitals completed: No
SPASD_CMP_0102 SPIN-ASD SPASD (Controls) Height Weight Vitals completed: No
SPN30_CMH_043084 SPIN-R SSD (Tx1) Hand Dominance completed: No

Reason “Other” with no explanation. The free-text “other reason” field is empty.

Participant Study Visit Form Recorded
SPN31_CMH_043281 SPIN-R SSD (Tx1) Hand Dominance completed: No

SCID

Gaps in SCID data entry, for every SCID in SPIN-R (each visit) and SPIN-ASD. These participants are counted under No current / lifetime diagnosis in the SCID tabs until the entry is completed.

Disorder selected, ratings not entered. A disorder was chosen, but its lifetime and current ratings are empty, so the dashboard cannot tell whether it meets criteria.

Every selected disorder has its ratings.

Lifetime threshold, current rating not entered. In SPIN-R the current rating is asked once the lifetime rating is Threshold; in SPIN-ASD every diagnosis has one. Here it was left empty, so whether the disorder is current is unknown.

Participant Group Study Visit Disorder
SPASD_CMP_0116 ASD SPIN-ASD
Posttraumatic stress disorder

Disorder said to be present, but none selected. “Does the participant present with a clinical disorder?” is Yes, but no specific disorder was chosen.

Every SCID with a disorder has one selected.

ID Matching

Each SPIN-R participant’s record ID in SPIN-ASD and SPINS, for participants who rolled over from those studies. Blank means no record in that study: new SPIN-R recruits, or a rollover whose baseline record was not found. Also saved to data/SPINR_id_map.csv on each knit.