| Title: | Qualification of R Software Installations |
|---|---|
| Description: | Qualify R software installations using R Markdown as the foundation for the Installation Qualification (IQ) and Operational Qualification (OQ) when used in environments (such as regulated clinical trials) where such processes may be required. |
| Authors: | Donnie Musgrove [aut, cre] (ORCID: <https://orcid.org/0000-0003-3506-6301>), Graeme L. Hickey [aut] (ORCID: <https://orcid.org/0000-0002-4989-0054>), Marc Schwartz [aut] (For initial validation code.), Alan Haynes [ctb], Bryan Martin [ctb] (ORCID: <https://orcid.org/0000-0002-8002-5296>), Medtronic Inc. [cph] |
| Maintainer: | Donnie Musgrove <[email protected]> |
| License: | GPL-2 |
| Version: | 1.2.0 |
| Built: | 2026-10-22 00:26:18 UTC |
| Source: | https://github.com/medtronic-biostatistics/rqualify |
Run IQ-OQ on an installation of R software
rqualify( path_save, setup_tinytex = TRUE, setup_pandoc = TRUE, render_latex = TRUE, engine = "latex", verbose = TRUE, details = FALSE )rqualify( path_save, setup_tinytex = TRUE, setup_pandoc = TRUE, render_latex = TRUE, engine = "latex", verbose = TRUE, details = FALSE )
path_save |
Character. Existing, writable directory in which to create the R-validation folder. That folder must not already exist. |
setup_tinytex |
Logical. Allow installation of TinyTeX and the grfext package when PDF compilation requires LaTeX and no existing installation is available. Existing LaTeX installations are reused. Ignored for Quarto. |
setup_pandoc |
Logical. Allow installation of Pandoc when none is available for R Markdown. Existing system, IDE, or managed installations are reused. Ignored for Quarto, which includes Pandoc. |
render_latex |
Logical. Compile the LaTeX report to PDF when
|
engine |
Character. Either |
verbose |
Logical. Print progress messages. |
details |
Logical. Return structured qualification results instead of just the output directory. Defaults to FALSE for compatibility. |
Arguments, the destination, and engine-specific prerequisites are checked before output directories are created. Quarto uses its bundled Pandoc and Typst and does not require TinyTeX or a separate Pandoc install. The selected R installation must include its installed tests.
Both report formats use the same subprocess runner. Passing a suite
requires a zero exit status and exactly one explicit PASS completion
result. Crashes and incomplete results cannot pass. The core system tests
use tools::testInstalledBasic(scope = "basic"); development and
internet test scopes are not run. Base and recommended package examples,
vignettes, and tests are checked separately.
The output includes the report source, subprocess scripts and logs,
IQ-OQ-TestOutput/test_summary.csv, and validation_result.rds.
Failed qualification, missing summaries, and invalid summaries produce
warnings. Inspect the returned details or saved results to distinguish
these outcomes. Rendering errors stop execution and leave diagnostic files
in the output directory. Temporary environment changes are restored.
By default, the path to the R-validation folder. With
details = TRUE, a rqualify_result list containing
status ("ok", "fail", "missing", or
"invalid"), the per-suite summary, output_dir,
artifact paths in files, engine, core_test_scope,
R and tool versions, and start and finish times. This list is also
saved as validation_result.rds for either return mode.
## Not run: # Reuse installed LaTeX and Pandoc. rqualify(path_save = tempdir(), setup_tinytex = FALSE, setup_pandoc = FALSE) # Quarto uses its bundled tools; choose a fresh output location. destination <- tempfile() dir.create(destination) result <- rqualify(destination, engine = "quarto", details = TRUE) result$status result$summary ## End(Not run)## Not run: # Reuse installed LaTeX and Pandoc. rqualify(path_save = tempdir(), setup_tinytex = FALSE, setup_pandoc = FALSE) # Quarto uses its bundled tools; choose a fresh output location. destination <- tempfile() dir.create(destination) result <- rqualify(destination, engine = "quarto", details = TRUE) result$status result$summary ## End(Not run)