Applies the DSM-5-TR PTSD diagnostic algorithm to CAPS-5 (Clinician-Administered PTSD Scale for DSM-5) item scores and returns a single-column dataframe indicating diagnostic status. Because CAPS-5 uses the same 20-item structure, 0–4 severity scale, and \(\ge\) 2 symptom-presence threshold as the PCL-5, the diagnostic algorithm is identical.
Arguments
- data
A dataframe containing exactly 20 columns of CAPS-5 item severity scores (output of
rename_caps5_columns). Columns must be namedsymptom_1throughsymptom_20, scored on a 0–4 scale, with no missing values.
Value
A data.frame with one logical column and one row per
participant:
PTSD_caps5: CAPS-5 DSM-5-TR diagnosis
Any carry-through columns present in data (e.g. an ID column added
via rename_caps5_columns) are prepended in original order.
Details
The DSM-5-TR diagnostic criteria applied are:
Criterion B (Intrusion): \(\ge\) 1 of items 1–5 with severity \(\ge\) 2
Criterion C (Avoidance): \(\ge\) 1 of items 6–7 with severity \(\ge\) 2
Criterion D (Negative cognitions/mood): \(\ge\) 2 of items 8–14 with severity \(\ge\) 2
Criterion E (Arousal/reactivity): \(\ge\) 2 of items 15–20 with severity \(\ge\) 2
All four criteria must be met for a positive diagnosis.
Unlike create_icd11_diagnosis, this function returns only the
CAPS-5 diagnosis column (PTSD_caps5), not a PCL-5 reference column.
This is because the CAPS-5 diagnosis is typically used as the gold-standard
reference itself, not compared against a PCL-5 baseline.
The returned dataframe can be passed to
compare_diagnostic_systems via its caps5_data parameter,
or used directly for descriptive analyses.
See also
rename_caps5_columns for standardizing CAPS-5 column names.
compare_diagnostic_systems for comparing CAPS-5 against PCL-5
and optimized symptom combinations in a unified table.
create_icd11_diagnosis for the ICD-11 alternative criteria.
Examples
# Simulate CAPS-5 data (using same structure as PCL-5)
set.seed(42)
caps5_raw <- data.frame(matrix(sample(0:4, 400, replace = TRUE), ncol = 20))
caps5_data <- rename_caps5_columns(caps5_raw)
caps5_dx <- create_caps5_diagnosis(caps5_data)
head(caps5_dx)
#> PTSD_caps5
#> 1 FALSE
#> 2 FALSE
#> 3 TRUE
#> 4 TRUE
#> 5 FALSE
#> 6 FALSE
table(caps5_dx$PTSD_caps5)
#>
#> FALSE TRUE
#> 9 11
