MyNixOS website logo
Description

Utilities for Validation of Clinical Trial 'SDTM', 'ADaM' and 'TFL' Outputs.

Provides utility functions for validation and quality control of clinical trial datasets and outputs across 'SDTM', 'ADaM' and 'TFL' workflows. The package supports dataset loading, metadata inspection, frequency and summary calculations, table-ready aggregations, and compare-style dataset review similar to 'SAS' 'PROC COMPARE'. Functions are designed to support reproducible execution, transparent review, and independent verification of statistical programming results. Dataset comparisons may leverage 'arsenal' <https://cran.r-project.org/package=arsenal>.

StatsTFLValR

Lifecycle: Experimental License: MIT GitHub issues


Overview

StatsTFLValR is an R package providing reusable, audit-ready utilities for validation of clinical trial datasets and outputs.
It is designed to support dataset review, comparison, counting, and table-level verification commonly required in regulated statistical programming workflows.

The package emphasizes:

  • Standardization and reproducibility
  • Transparent validation logic
  • Clear, review-friendly outputs
  • Integration with controlled and GxP-aligned programming environments

StatsTFLValR is intended for use by Statistical Programmers, Statisticians, and validation reviewers.


Key Features

Scope and Capabilities

🔹 Data Ingestion and Metadata Utilities

  • get_data() – Load datasets from multiple formats (XPT, SAS, CSV, RDS) with validation and duplicate-file checks
  • get_column_info() – Extract variable-level metadata (names, types, labels) for dataset inspection and documentation

🔹 Frequency, Counts, and Summary Utilities

  • freq_by() – Grouped subject counts and percentage summaries
  • freq_by_line() – Line-level frequency summaries for table-ready outputs
  • mean_by() – Grouped descriptive statistics (mean, median, quantiles)
  • sas_round() – SAS-style rounding utility for consistent percentages

🔹 Table-Building Functions

  • SOCbyPT() – SOC–PT–level adverse event summaries
  • SOCbyPT_Grade() – SOC–PT adverse event tables with toxicity grade splits
  • ATCbyDrug() – Fully nested ATC-based concomitant medication summaries

Built-in ordering, indentation, and formatting logic is designed to support TFL validation and QC review.


🔹 Dataset and Output Comparison

  • generate_compare_report() – PROC COMPARE–style dataset comparison utility
    • Identifies added, deleted, and modified records
    • Compares variable attributes and values
    • Produces structured, review-ready outputs

🔹 Supporting Infrastructure

  • Centralized global variable declarations (globals.R) to support CRAN checks
  • Internal helper utilities (ps_helpers.R) reused across functions to ensure consistent behavior

Function Index

The following functions are currently exported in StatsTFLValR:

  • get_data() – Multi-format dataset loading
  • get_column_info() – Variable-level metadata extraction
  • freq_by() – Grouped N (%) summaries
  • freq_by_line() – Line-level frequency summaries
  • mean_by() – Grouped descriptive statistics
  • sas_round() – SAS-style rounding utility
  • SOCbyPT() – SOC–PT AE table generation
  • SOCbyPT_Grade() – SOC–PT AE tables with grade splits
  • ATCbyDrug() – ATC-based medication summaries
  • generate_compare_report() – Dataset comparison (PROC COMPARE–style)

Capability → Function Mapping

Capability AreaFunction(s)Typical Use Case
Dataset loadingget_data()Load datasets for review and QC
Metadata inspectionget_column_info()Variable-level dataset inspection
Frequency summariesfreq_by(), freq_by_line()N (%) table validation
Descriptive statisticsmean_by()Summary statistics QC
AE table validationSOCbyPT(), SOCbyPT_Grade()SOC–PT AE tables
Concomitant medication summariesATCbyDrug()ATC-based summaries
Dataset comparisongenerate_compare_report()Developer vs validator comparison
Rounding consistencysas_round()SAS-aligned rounding

Installation

You can install the released version of StatsTFLValR from CRAN:

install.packages("StatsTFLValR")  

or 

install.packages("StatsTFLValR", dependencies = TRUE)

Install the development version from GitHub

# install.packages("remotes")
remotes::install_github("kalsem/StatsTFLValR")

Verify installation

library(StatsTFLValR)
packageVersion("StatsTFLValR")

Usage

Load the package:

library(StatsTFLValR)

Access function-level documentation:

?freq_by
?generate_compare_report

A PDF reference manual is available in the GitHub repository. 📄 Download StatsTFLValR PDF Manual


Package Status

Lifecycle: Experimental

Under active development

Interfaces and behavior may change in future releases

Bug reports and enhancement requests can be submitted via GitHub issues.


License

This package is licensed under the MIT License. See the LICENSE file for details.


Disclaimer

This package is provided as a supporting utility and does not replace formal validation or quality control processes.
Use of this package does not imply compliance with regulatory requirements. Users are responsible for ensuring appropriate validation, documentation, and governance in accordance with their internal procedures.

Metadata

Version

1.0.0

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows