Medical Decision Analysis and Reliability Assessment Tools for Clinical Research
meddecide
is a comprehensive R package and jamovi module that bridges the gap between complex statistical methodology and practical clinical research. It provides an intuitive toolkit for medical professionals and researchers to perform diagnostic test evaluations, reliability assessments, and evidence-based decision analyses without requiring extensive programming knowledge. By offering both a traditional R interface and a user-friendly jamovi GUI, the package democratizes access to advanced statistical methods essential for modern medical research and clinical decision-making.
The meddecide
package serves as the computational engine for the ClinicoPath jamovi Module, offering dual functionality:
- As an R Package: Direct access to all functions through R scripts and console
- As a jamovi Module: Point-and-click interface for statistical analyses without coding
See full documentation at https://sbalci.github.io/ClinicoPathJamoviModule/
- Diagnostic Test Evaluation: Calculate sensitivity, specificity, predictive values, and likelihood ratios
- Test Comparison: Compare multiple diagnostic tests against a gold standard with statistical significance testing
- Test Combination: Systematically evaluate all possible patterns from 2-3 diagnostic tests to identify optimal strategies
- Decision Calculator: Interactive tool for exploring how test characteristics affect clinical decisions
- Co-Testing Analysis: Analyze combined results of concurrent diagnostic tests (parallel strategies)
- Sequential Testing: Evaluate serial testing strategies (confirmation and exclusion approaches)
- Bayesian Updates: Fagan nomograms for visualizing post-test probability calculations
- ROC Curve Generation: Create and visualize receiver operating characteristic curves
- AUC Calculation: Compute area under the curve with confidence intervals
- Optimal Cutpoint Detection: Determine best thresholds using various optimization methods
- Multiple Comparison: Compare ROC curves from different diagnostic tests
- Cohen's Kappa: Calculate inter-rater agreement for two raters
- Fleiss' Kappa: Assess agreement among multiple raters
- Weighted Kappa: Account for ordinal data with custom weighting schemes
- Agreement Visualization: Generate plots to visualize rater concordance patterns
- Power-Based: Determine sample size for desired statistical power
- Precision-Based: Calculate sample size for confidence interval width
- Fixed N Analysis: Evaluate achievable power with predetermined sample size
- Multiple Scenarios: Compare sample size requirements across different study designs
- No Gold Standard: Analyze diagnostic tests when reference standard is imperfect
- Latent Class Analysis: Estimate test performance without gold standard
- Bootstrap Methods: Generate robust confidence intervals
- Missing Data Handling: Appropriate methods for incomplete datasets
- Fagan Nomograms: Interactive Bayesian probability calculators for sequential testing
- Forest Plots: Compare diagnostic metrics across studies with confidence intervals
- Agreement Plots: Visualize inter-rater reliability patterns
- ROC Space: Multi-test comparison in ROC coordinate system
- Radar Plots: Comprehensive multi-metric test comparison visualization
- Heatmaps: Color-coded performance matrices for test combinations
- Decision Trees: Hierarchical visualization of test combination strategies
- Comparison Bar Charts: Side-by-side performance metric comparisons
# Install from GitHub
devtools::install_github("sbalci/meddecide")
# Load the package
library(meddecide)
- Open jamovi (โฅ 1.8.1)
- Click the modules menu (โฎ) in the top right
- Select "jamovi library"
- Search for "ClinicoPath"
- Click Install
library(meddecide)
# Single test evaluation
result <- decision(
data = histopathology,
gold = "Golden Standart",
goldPositive = "1",
newtest = "New Test",
testPositive = "1"
)
# Compare two diagnostic tests
comparison <- decisioncompare(
data = histopathology,
gold = "Golden Standart",
goldPositive = "1",
test1 = "New Test",
test1Positive = "1",
test2 = "Rater 1",
test2Positive = "1",
ci = TRUE,
plot = TRUE,
statComp = TRUE
)
# Analyze all possible patterns from 2 tests
combinations <- decisioncombine(
data = histopathology,
gold = "Golden Standart",
goldPositive = "1",
test1 = "New Test",
test1Positive = "1",
test2 = "Rater 1",
test2Positive = "1",
showIndividual = TRUE,
showHeatmap = TRUE,
showRecommendation = TRUE
)
# Evaluate serial testing strategies
sequential <- sequentialtests(
data = histopathology,
gold = "Golden Standart",
goldPositive = "1",
test1 = "New Test",
test1Positive = "1",
test2 = "Rater 1",
test2Positive = "1",
showFagan = TRUE
)
# ROC curve with optimal cutpoint
roc_result <- psychopdaROC(
data = biomarker_data,
class = "diagnosis",
value = "biomarker_level"
)
# Cohen's Kappa for two raters
agreement_result <- agreement(
data = rating_data
)
Small CSV files are provided in inst/extdata
to illustrate the main functions:
decision_example.csv
: Basic medical decision analysisroc_example.csv
: ROC curve analysisagreement_example.csv
: Interrater reliability
Access via: system.file("extdata", "filename.csv", package = "meddecide")
If you use meddecide in your research, please cite the main ClinicoPath project:
Serdar Balci (2025). ClinicoPath jamovi Module. doi:10.5281/zenodo.3997188
[R package]. Retrieved from https://github.com/sbalci/ClinicoPathJamoviModule