Package: PTSDdiag 0.4.1

Tobias R. Spiller

PTSDdiag: Optimize PTSD Diagnostic Criteria

Provides tools for analyzing and optimizing PTSD (Post-Traumatic Stress Disorder) diagnostic criteria using PCL-5 (PTSD Checklist for DSM-5) and CAPS-5 (Clinician-Administered PTSD Scale for DSM-5) data. Functions identify optimal subsets of PCL-5 items that maintain diagnostic accuracy while reducing assessment burden. Includes tools for both hierarchical (cluster-based) and non-hierarchical symptom combinations, calculation of diagnostic metrics, and comparison with standard DSM-5 criteria. Model validation is conducted using holdout and cross-validation methods to assess robustness and generalizability of the results. For more details see Weidmann et al. (2025) <doi:10.31219/osf.io/6rk72_v1>.

Authors:Laura Weidmann [aut], Tobias R. Spiller [aut, cre], Flavio A. Schüepp [aut]

PTSDdiag_0.4.1.tar.gz
PTSDdiag_0.4.1.zip(r-4.7)PTSDdiag_0.4.1.zip(r-4.6)PTSDdiag_0.4.1.zip(r-4.5)
PTSDdiag_0.4.1.tgz(r-4.6-any)PTSDdiag_0.4.1.tgz(r-4.5-any)
PTSDdiag_0.4.1.tar.gz(r-4.7-any)PTSDdiag_0.4.1.tar.gz(r-4.6-any)
PTSDdiag_0.4.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
PTSDdiag/json (API)

# Install 'PTSDdiag' in R:
install.packages('PTSDdiag', repos = c('https://tobiasrspiller.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/tobiasrspiller/ptsddiag/issues

Pkgdown/docs site:https://tobiasrspiller.github.io

Datasets:

On CRAN:

Conda:

5.35 score 212 downloads 30 exports 31 dependencies

Last updated from:5c31d325da. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK299
source / vignettesOK314
linux-release-x86_64OK175
macos-release-arm64OK151
macos-oldrel-arm64OK285
windows-develOK142
windows-releaseOK133
windows-oldrelOK112
wasm-releaseOK130

Exports:analyze_best_six_symptoms_four_requiredanalyze_best_six_symptoms_four_required_clustersapply_symptom_combinationsas_definitionsbinarize_datacalculate_ptsd_totalcheck_pcl5_datacompare_diagnostic_systemscompare_optimizationscreate_caps5_diagnosiscreate_icd11_diagnosiscreate_ptsd_diagnosis_binarizedcreate_ptsd_diagnosis_nonbinarizedcreate_readable_summarycross_validationevaluate_definitionsextract_definitionsholdout_validationoptimize_combinationsoptimize_combinations_clustersplot_symptom_frequencyread_combinationsrename_caps5_columnsrename_ptsd_columnsscore_all_combinationssummarize_ptsdsummarize_ptsd_changessummarize_top_combinationssymptom_frequencywrite_combinations

Dependencies:clicodetoolscpp11digestdplyrfurrrfuturegenericsglobalsgluejsonlitelifecyclelistenvmagrittrparallellypillarpkgconfigpurrrR6rlangrsamplesliderstringistringrtibbletidyrtidyselectutf8vctrswarpwithr

CAPS-5 workflow
Why use the CAPS-5 | The bundled paired data | Computing the CAPS-5 diagnosis | Comparing the PCL-5 and CAPS-5 diagnoses | Optimizing against the CAPS-5 diagnosis | Validating derived definitions against the CAPS-5 diagnosis | Interpreting agreement and disagreement | See also

Last update: 2026-07-13
Started: 2026-06-07

Comparing diagnostic criteria
Why compare different definitions | Requirements for the input data | Running the comparison in one call | A performance table for the manuscript | Core symptoms across definitions | Customising the scenarios | See also

Last update: 2026-07-13
Started: 2026-06-07

Getting started with PTSDdiag
The problem addressed by PTSDdiag | Requirements for the input data | Importing and preparing the data | Defining the reference diagnosis | Identifying a symptom subset | Diagnostic performance metrics | Where next

Last update: 2026-07-13
Started: 2026-06-07

Validating a shared definition across sites
The multi-site problem | Requirements for the input data | Site 1: deriving the definition in the veteran sample | Sharing the definitions without sharing data | Evaluating every definition in a sample | Performance in the derivation sample | Validating in the general-population sample | A tidy table for downstream analysis | Reading the two tables together | See also

Last update: 2026-07-13
Started: 2026-06-07

Validating abbreviated symptom definitions
Why validation matters | Requirements for the input data | Internal validation | External validation in a second cohort | How special is the winning subset? | See also

Last update: 2026-07-13
Started: 2026-06-07

Readme and manuals

Help Manual

Help pageTopics
Find optimal non-hierarchical six-symptom combinations for PTSD diagnosisanalyze_best_six_symptoms_four_required
Find optimal hierarchical six-symptom combinations for PTSD diagnosisanalyze_best_six_symptoms_four_required_clusters
Apply pre-specified symptom combinations to new dataapply_symptom_combinations
Convert imported combination specifications into definitionsas_definitions
Binarize PCL-5 symptom scoresbinarize_data
Calculate PTSD total scorecalculate_ptsd_total
Check PCL-5 item data before starting the workflowcheck_pcl5_data
Compare multiple diagnostic systems against a reference standardcompare_diagnostic_systems
Run multiple PTSD optimization scenarios in one callcompare_optimizations
Compute CAPS-5 DSM-5-TR PTSD diagnosiscreate_caps5_diagnosis
Apply ICD-11 PTSD diagnostic criteria to PCL-5 datacreate_icd11_diagnosis
Determine PTSD diagnosis based on DSM-5 criteria using binarized scorescreate_ptsd_diagnosis_binarized
Determine PTSD diagnosis based on DSM-5 criteria using non-binarized scorescreate_ptsd_diagnosis_nonbinarized
Create readable summary of PTSD diagnostic changescreate_readable_summary
Perform k-fold cross-validation for PTSD diagnostic modelscross_validation
Evaluate symptom definitions against a sampleevaluate_definitions
Extract portable symptom definitions from a comparisonextract_definitions
Perform holdout validation for PTSD diagnostic modelsholdout_validation
Find optimal symptom combinations for diagnosis (non-hierarchical)optimize_combinations
Find optimal symptom combinations for diagnosis (hierarchical/cluster-based)optimize_combinations_clusters
Heatmap of PCL-5 symptom selection frequency across optimization scenariosplot_symptom_frequency
Print method for ptsdiag_comparison objectsprint.ptsdiag_comparison
Read symptom combinations from a JSON fileread_combinations
Rename CAPS-5 symptom columnsrename_caps5_columns
Rename PTSD symptom (= PCL-5 item) columnsrename_ptsd_columns
Score every candidate symptom combinationscore_all_combinations
Simulated PCL-5 (PTSD Checklist) Datasimulated_ptsd
Simulated General Population PCL-5 Datasimulated_ptsd_genpop
Summarize PTSD scores and diagnosessummarize_ptsd
Summarize changes in PTSD diagnostic metricssummarize_ptsd_changes
Build a tidy comparison table of top combinations across scenariossummarize_top_combinations
Per-symptom inclusion counts across optimization scenariossymptom_frequency
Write symptom combinations to a JSON filewrite_combinations