# 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 (hassan.abdulrasul@camh.ca).
| 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 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 |
| 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 |
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/.
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:
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 %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx1)")
SPINR_scid_current %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx2)")
SPASD_scid_current %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPASD Current SCID Diagnoses by Group")
SPINR_scid_lifetime %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx1)")
SPINR_scid_lifetime %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx2)")
SPASD_scid_lifetime %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPASD Lifetime SCID Diagnoses by Group")
SPINR_scid_past %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Past-only SCID Diagnoses by Group (tx1)")
SPINR_scid_past %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Past-only SCID Diagnoses by Group (tx2)")
SPASD_scid_past %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPASD Past-only SCID Diagnoses by Group")
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.
Everyone enrolled in SPIN-R, one row per participant, at their first SPIN-R visit. Scores by visit are in the Longitudinal Cohort section.
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) |
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. | ||||||||
Everyone in SPIN-ASD (ASD and Control only, so no SSD column).
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. | |||
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. |
||||||
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)")
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)")
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")
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.
Evaluates sustained attention and ability to maintain focus over time. Tasks may include continuous performance tests.
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")
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")
Measures the ability to temporarily store and manipulate information. Includes verbal and visual working memory tasks.
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")
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")
Assesses learning and recall of verbal information. Tasks often involve memorizing and recalling word list
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")
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")
Focuses on the ability to learn and recall visual patterns or images.
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")
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")
Measures higher-order cognitive abilities, including abstract reasoning and decision-making.
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")
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")
Measures rapid information processing and reaction time. Associated with tasks like symbol coding or category fluency.
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")
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")
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.
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.
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.
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. | ||||
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. |
||||||||
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. | ||||
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. |
||||||||
plot_time_between_visits(SPINR_cohort)
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.
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_process_speed",
title = "<b>Processing Speed Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_att_vigilance",
title = "<b>Attention/Vigilance Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_work_mem",
title = "<b>Working Memory Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_verbal_learning",
title = "<b>Verbal Learning Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_visual_learning",
title = "<b>Visual Learning Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_reasoning_ps",
title = "<b>Reasoning/Problem Solving Domain T-Scores Over Time</b>")$plot
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 |
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 |
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 |
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.
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.
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
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
Follow-up
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
Follow-up
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)
Follow-up (columns)
Baseline (Correct Responses)
Follow-up (Correct Responses)
Baseline (Response time)
Follow-up (Response time)