Skip to contents

Abstract

The ClinicoPathJamoviModule: A Comprehensive Open-Source Toolkit for Streamlining Clinicopathological Research

Background: Clinicopathological research is fundamental to advancing evidence-based medicine, but it requires the application of complex and specialized statistical methods. The technical barrier of programming-based statistical software can limit the ability of clinicians and researchers to perform these analyses efficiently and reproducibly. To address this gap, we have developed the ClinicoPathJamoviModule, an open-source extension for the user-friendly jamovi statistical platform.

Methods: The ClinicoPathJamoviModule integrates a robust and comprehensive suite of analytical tools designed to address the typical workflow of clinicopathological data analysis. The module is built upon the R statistical language and provides a graphical user interface within jamovi for a wide range of functions. Key features include:

  • Descriptive Statistics: Generation of publication-ready summary tables (Table 1), advanced stratified analysis (Mantel-Haenszel), and mixed model ANOVA for repeated measures and nested designs.
  • Survival Analysis: A comprehensive framework including:
    • Core Methods: Kaplan-Meier, Nelson-Aalen, and Turnbull NPMLE for interval-censored data.
    • Advanced Modeling: Cox PH, time-varying effects, AFT models, and frailty models.
    • Specialized Applications: Competing risks, multi-state models, recurrent event analysis, and cure models.
    • Machine Learning Integration: Survival trees, random forests, gradient boosting, and regularized regression (LASSO, Ridge).
    • Oncological Analysis: Specialized methods for Progression-Free Survival (PFS), treatment switching (IPCW), and tumor growth kinetics.
  • Clinical Trial Design & Evaluation:
    • Modern Designs: Group sequential, adaptive, platform, and master (umbrella, basket) protocols.
    • Epidemiological Tools: Population-based survival analysis, case-cohort designs, and attributable risk calculation.
  • Diagnostic & Prognostic Accuracy:
    • Test Evaluation: ROC analysis, decision curve analysis (DCA), and screening test calculators.
    • Model Validation: Time-dependent ROC, prediction error curves, C-statistics, and calibration plots.
    • Sample Size Planning: Precision-based diagnostic test sample size calculation with Clopper-Pearson exact CI, automated justification statements, and multi-method CI comparison (Wilson, Agresti-Coull, Wald).
  • Agreement and Reliability:
    • Inter-rater Statistics: Cohen’s Kappa, Fleiss’ Kappa, Krippendorff’s Alpha, and ICC
    • Consensus Scoring: Automated consensus determination with majority rule, super-majority, and unanimous methods
    • Digital Pathology Validation: Modality comparison for glass slides vs digital images with HER2-specific analysis
    • Method Comparison: Bland-Altman plots and Deming Regression
  • Evidence-Based Decision Support: A suite of tools for:
    • Clinical Monitoring: Alert systems and patient monitoring dashboards.
    • Treatment Planning: Optimization frameworks and differential diagnosis assistance.
    • Results Interpretation: Laboratory and imaging findings correlation.
  • Laboratory Quality Control: Statistical process control, including Shewhart/CUSUM charts, Six Sigma metrics, and measurement uncertainty.
  • Spatial Statistics & Digital Pathology:
    • Spatial Analysis: Spatial point pattern analysis (Ripley’s K-function), spatial autocorrelation (Moran’s I)
    • Texture Analysis: Haralick texture features for quantitative pathology
    • Validation Studies: Glass slide vs digital image comparison with discordance pattern analysis
    • HER2 Scoring: Specialized tools for HER2-low/null distinction and ADC therapy eligibility
  • Data Visualization: Advanced plotting tools such as waterfall plots, swimmer plots, and raincloud plots.
  • Data Preprocessing: Utilities for data quality checking, missing data management, and date corrections.

Conclusion: The ClinicoPathJamoviModule provides a powerful, accessible, and free-to-use toolkit that empowers medical researchers to conduct sophisticated statistical analyses without requiring extensive programming knowledge. By integrating these essential functions into the intuitive jamovi framework, the module aims to lower the barrier to high-quality data analysis, enhance research reproducibility, and accelerate the translation of clinical data into meaningful insights.


Documentation

For a comprehensive guide to all the documentation available for this package, please see the Documentation Hub.


📊 Test Data & Examples

NEW! Comprehensive test data catalog with downloadable .omv files for learning and testing:

Quick Download Example:

# Download a specific test file
download.file(
  "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/data/kappasizeci_scenarios_comprehensive.omv",
  destfile = "kappasizeci_test.omv"
)

Total Test Data: 945 .omv files | Functions Covered: 60+ | Menu Groups: 5


🎓 Tutorials

NEW! Comprehensive tutorial series for ClinicoPath users:

Total Learning Time: 4.5 hours | No Programming Required

The tutorial series includes 60+ working code examples, 25+ visual diagrams, and 18 hands-on practice exercises. Perfect for clinicians, pathologists, and researchers new to ClinicoPath.


ClinicoPath jamovi Module 🔬

A jamovi Module that contains main analysis used in ClinicoPathological research. ClinicoPath help researchers to generate natural language summaries of their dataset, generate cross tables with statistical tests, and survival analysis with survival tables, survival curves, and natural language summaries.

🔬👀📑🗃📊🏨🗄📇📖⚗📝🎶📈📉📃🖍 🔬🔬🏋🚴🚙👨💻 📸📺🎛🔭🔬💊🔐🍫🌸


Download ClinicoPathJamoviModule

https://zenodo.org/account/settings/github/repository/sbalci/ClinicoPathJamoviModule

DOI 10.17605/OSF.IO/9SZUD

https://osf.io/9szud/


Installation in jamovi

You can install this module after installing jamovi version >= 2.7.2 from here: https://www.jamovi.org/download.html

Then you can install the submodules directly inside the jamovi, using library.

Submodules are:

  • ClinicoPathDescriptives
  • jsurvival
  • meddecide
  • jjstatsplot
  • OncoPath

Installation via sideload jamovi

Step 1:

Download and install jamovi.

Step 2:

Download the relevant jmo file for your operating system from

a: For development version

b: For modules

ClinicoPathDescriptives

ClinicoPathDescriptives functions are separately added to jamovi library under Exploration menu

ClinicoPathDescriptives module can be downloaded inside jamovi (click Modules and jamovi library)

https://github.com/sbalci/ClinicoPathDescriptives/

https://github.com/sbalci/ClinicoPathDescriptives/releases/

remotes::install_github("sbalci/ClinicoPathDescriptives")
JJStatsPlot

GGStatsPlot functions are separately added to jamovi library under jjstatsplot menu

JJStastPlot module can be downloaded inside jamovi (click Modules and jamovi library)

https://github.com/sbalci/jjstatsplot

https://github.com/sbalci/jjstatsplot/releases/

remotes::install_github("sbalci/jjstatsplot")
OncoPath

OncoPath functions are specialized for oncological and pathological research under OncoPath menu

OncoPath module can be downloaded inside jamovi (click Modules and jamovi library)

https://github.com/sbalci/OncoPath

https://github.com/sbalci/OncoPath/releases/

remotes::install_github("sbalci/OncoPath")

Step 3: And install using side-load as shown below:


Screenshots of Module


Exploration

ClinicoPath Descriptives

Age Pyramid 2

(Similar to Age Pyramid with more styling options)

Alluvial Diagrams 2

(Similar to Alluvial Diagrams with more styling options)

Missing Data Analysis and Imputation

(Comprehensive missing data analysis and multiple imputation)

Outlier Detection

(Advanced outlier detection with multiple statistical methods)

Summary of Categorical Variables 2

(Enhanced categorical summary)

Raincloud Plot

(Comprehensive distribution analysis)

Summary of Continuous Variables 2

(Enhanced summary statistics for continuous and date variables)

Table One 2

(Enhanced Table One with pivottabler)

Tidy Density

(Statistical distribution generator and analyzer)

Tools Summary

(Tools for data summary with summarytools integration)

Toxicity Profile

(Treatment toxicity profile analysis)

Venn Diagram

(Venn and Upset diagrams)

ClinicoPath Comparisons

Cross Tables

Pairwise Chi-Square Tests

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩

JJStatsPlot

Graphs and Plots

Advanced Barplot

(Advanced bar charts - 5 ways)

Advanced Raincloud Plot

(Advanced raincloud plot with longitudinal support)

Predictive Power Score Analysis

(Predictive Power Score Analysis)

High-Performance Scatter Plots

(Fast scatter plots for large datasets)

Social Science Statistical Visualization

(sjPlot Integration for Social Science Research)

Professional Violin Plot

(Advanced Violin Plots for Data Distribution)

Waffle Charts

(Create Waffle Charts to visualize distributions)

Line Chart

(Line Chart for Time Series and Trend Analysis)

Lasso-Cox Regression

(Lasso-Cox Regression for Variable Selection in Survival Analysis)

Parallel Coordinates Plot

(Multivariate Exploration)

Automatic Plot Selection

(Automatic Plot Selection Based on Variable Types)

Statistical Distribution Generator

(TidyDensity - Distribution Analysis & Simulation)

Within-Group Comparison

(Violin Plots to Compare Within Groups)

Treemap

(Creates treemap visualizations for categorical data)

StreamGraphs

(Create interactive StreamGraphs using R streamgraph package.)

Scatter Plot

(Scatter Plot for Continuous Variables)


OncoPath

Patient Follow-Up Plots

Swimmer Plot

(Comprehensive swimmer plots for visualizing patient timelines, clinical events, and treatment responses)

Waterfall Plot

(Treatment response analysis with RECIST criteria, waterfall plots, and spider plots)


Survival

jsurvival

Alluvial Survival Plot

(Treatment Pathway Alluvial Plot)

Kaplan-Meier Survival Analysis for Single Group

(Kaplan-Meier Survival Analysis for Single Group)

Single Arm Survival

(Survival for whole group, no explanatory factor)

Survival Analysis for Continuous Explanatory Variable

(Cut-off & Univariate Survival Analysis)

Comprehensive Survival Power Analysis

Enhanced Unified Power Analysis Platform - Seven Method Categories: Standard methods, competing risks, advanced methods, genetic analysis, cure models, sequential analysis, and epidemiological studies - Advanced Statistical Methods: NPHMC mixture cure models, powerSurvEpi epidemiological methods, survSNP genetic associations, survivalpwr Cox regression, and rpact sequential designs - Comprehensive Calculations: Sample size, power, and effect size calculations across all methodologies - Modern Interface: Organized CollapseBox layout with conditional parameter visibility for streamlined analysis workflow

Time-Dependent ROC Analysis

(Predictive Performance Over Time)

Comprehensive Time Interval Calculator

(Advanced time interval analysis with quality assessment)

Jvisr

(Fit-for-Purpose Clinical Visualizations)

Competing Survival

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩


meddecide

Agreement

Interrater Reliability

ICC coefficients

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩


Decision

Medical Decision

Decision Tree explore

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩

FFTrees

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩

rpart

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩

ROC Analysis

🔬🔬🔬🔬 UNDER CONSTRUCTION 🛠⛔️⚠️🔩


Correlation

Installation in R

You can install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("sbalci/ClinicoPathJamoviModule")

Current Package Versions:

R: 4.0.5

MRAN: https://cran.microsoft.com/snapshot/2020-08-24

Acknowledgement

Made possible via the codes, help, and guidence of

See https://github.com/ClinicoPath for forked packages.


Buy me a coffeeBuy me a coffee

https://paypal.me/serdarbalci


Buy Me A Coffee
Twitter FollowGitHub followersSay Thanks!

Development Status

Code
Launch Rstudio Binder Gitpod Ready-to-Code Download ClinicoPathJamoviModule

Status
Project Status: Active – The project has reached a stable, usable state and is being actively developed.
lifecycle stability-unstable GitHub issues GitHub issues

Check, CI
R-CMD-check

Codacy Badge CodeFactor Coverage Status Build Status Build status codecov CircleCI GuardRails badge Maintainability Test Coverage

Recency, Updates
GitHubGitHub last commit Last-changedate GitHub Release DateGitHub commit activity

Webpage, Links, Size, Download
Website GitHub code size in bytes

Dependencies
minimal R version Libraries.io dependency status for GitHub repo Requirements Status

Interaction, Shares
GitHub forks GitHub forksGitHub stars Github Stars GitHub starsTwitter contributions welcome GitHub watchers

Videos

Accessing Raw and External Data Files

Beyond the datasets readily available with data(dataset_name), this package also includes various raw and external data files in other formats like CSV (Comma Separated Values), XLSX (Excel), and OMV (Jamovi files). These can be useful for users who want to access the original data, use it with other software, or understand how the R data objects (.rda files) were generated.

These files are typically located in the inst/extdata directory of the package. You can get the full path to a file in inst/extdata using the system.file() function. For example:

# Get the path to 'BreastCancer.csv' in inst/extdata
# (Assuming BreastCancer.csv will be moved to inst/extdata in a later step)
csv_path <- system.file("extdata", "BreastCancer.csv", package = "ClinicoPath")

if (nzchar(csv_path)) {
  # Read the CSV file
  breast_cancer_df <- read.csv(csv_path)
  head(breast_cancer_df)
} else {
  message("BreastCancer.csv not found in inst/extdata. This example assumes it's present there.")
}

Common File Types

CSV Files

Many datasets are available in CSV format. These can be easily read into R using read.csv() or other functions from packages like readr or data.table.

  • Example: The BreastCancer dataset, also available via data(BreastCancer), has its source data potentially available as BreastCancer.csv.
  • Other CSV files like oncology_response_data.csv (related to the treatmentResponse dataset) and colon.csv are also available.

XLSX Files (Excel)

Some datasets might be provided in Excel format. You can read these using packages like readxl.

  • Example: heartdisease.xlsx

    # Ensure readxl is installed: install.packages("readxl")
    # xlsx_path <- system.file("extdata", "heartdisease.xlsx", package = "ClinicoPath")
    # if (nzchar(xlsx_path)) {
    #   heartdisease_df <- readxl::read_excel(xlsx_path)
    #   head(heartdisease_df)
    # }

    (Note: The availability and specific location of heartdisease.xlsx in inst/extdata will be finalized in a later step).

OMV Files (Jamovi)

Files with the .omv extension are project files for Jamovi, a free and open statistical spreadsheet. These files often contain datasets and analyses demonstrating the use of this R package’s functionalities within the Jamovi environment. They are not typically read directly into R but opened with Jamovi.

  • Examples: BreastCancer.omv, colon.omv, histopathology.omv, and many others found in data/ or inst/extdata/.

JASP Files

Files with the .jasp extension are for JASP software, another alternative to SPSS. Similar to Jamovi files, these demonstrate analyses and data.

  • Example: histopathology_jasp.jasp

Relationship to .rda Data Files

Many of the .rda files (loaded using data(dataset_name)) provided by this package are derived from these raw data files (like CSVs). The .rda files are offered for convenience, as they load directly into your R session with proper data types already set. Accessing the raw files can be useful for reproducibility, using the data in other tools, or for specific data manipulation needs not covered by the pre-processed .rda versions.

Please explore the inst/extdata directory (once files are organized in Step 5 of the data documentation improvement plan) to see the full list of available raw and external files.