Skip to contents

 

RPACT GmbH

Am Rodenkathen 11
23611 Sereetz
Germany
www.rpact.com

Copyright © 2025 RPACT GmbH. All rights reserved.

Standard Operating Procedure for the RPACT Validation Documentation

The purpose of this document is to outline the systematic process for generating and updating the validation documentation of the rpact package using the rpact.validator R package. This process ensures that the package’s documentation accurately reflects its current state, including changes in the codebase, dependencies, outputs, and performance metrics. By automating these tasks, we maintain a high level of accuracy and efficiency in our validation procedures.

This document applies to all steps involved in the creation and maintenance of the rpact package’s validation documentation. It covers the generation of key components such as the NEWS section, output specifications, plot types, business object structures, unit tests, and performance qualifications. This SOP is intended for use by the development and quality assurance teams responsible for the validation of the rpact package, ensuring that all documentation is comprehensive, up-to-date, and aligned with validation standards.

SOP-ID SOP-RPACT-002
Title SOP RPACT Validation Documentation
Description Standard operating procedure (SOP) for creation, update, and release of the rpact validation documentation
Author Friedrich Pahlke
Creation date 2021-09-07
Version 1.0.4
Date of modification 2024-02-05

Automated Validation Documentation Steps using rpact.validator

This section outlines the steps executed to automatically generate and update the validation documentation for the rpact package. The rpact.validator R package is utilized to perform these tasks efficiently. Each step is described below with the respective R command used.

Set Working Directories

Before running the validation functions, ensure that the working directories for the project, quality assurance, and validation documentation are correctly set.

packageProjectBaseDirectory <- "D:/R/workspace/rpact"
setwd(packageProjectBaseDirectory)
qualityAssuranceBaseDirectory <- "D:/R/workspace/rpact.qa"
validationDocumentationBaseDirectory <- "D:/R/rpact_package_docs/validation"
ignoreFilesRegex <- NA_character_

Generate the NEWS Section in LaTeX Format

The createNewsTexFile function generates a LaTeX file containing the NEWS section of the package, summarizing changes and updates in the new version. This file is essential for documenting the history of the package.

createNewsTexFile(outputTexFile = file.path(
    validationDocumentationBaseDirectory, "9_appendix/NEWS.tex"))

Create a Table of Base R Packages

The createBaseRPackagesTable function generates a table listing all the base R packages used by rpact. This table is added to the validation documentation, providing an overview of dependencies.

createBaseRPackagesTable(validationDocumentationBaseDirectory)

Document Output Specification

The createRpactOutputSpecification function creates a document that specifies the output generated by the rpact package, including the structure and format of the outputs.

createRpactOutputSpecification(packageProjectBaseDirectory, 
    validationDocumentationBaseDirectory)

Document Plot Type Specification

The createRpactPlotTypeSpecification function documents the various types of plots generated by the rpact package. This specification is crucial for validating the visual output.

createRpactPlotTypeSpecification(packageProjectBaseDirectory, 
    validationDocumentationBaseDirectory)

Document Source Directory Structure

The createRpactSourceDirectoryStructure function creates a detailed structure of the source directories within the rpact project. This documentation is important for understanding the organization of the codebase.

createRpactSourceDirectoryStructure(packageProjectBaseDirectory, 
    validationDocumentationBaseDirectory)

Document Business Object Structure

The createRpactBusinessObjectStructure function documents the structure of business objects within the rpact package. This helps in validating the design and implementation of these objects.

createRpactBusinessObjectStructure(packageProjectBaseDirectory, 
    validationDocumentationBaseDirectory)

Generate Unit Tests Documentation

The createRpactUnitTests function generates documentation for the unit tests within the rpact package. It can also copy unit test files to the testthat directory and enforce the creation of all unit tests.

createRpactUnitTests(packageProjectBaseDirectory,
    qualityAssuranceBaseDirectory,
    copyUnitTestFilesToTestthatDir = TRUE, 
    enforceCreationOfAllUnitTests = FALSE, 
    ignoreFilesRegex = ignoreFilesRegex)

Create a Test Plan

The createRpactTestPlan function generates a test plan document, specifying the planned tests and validation steps for the rpact package.

createRpactTestPlan(packageProjectBaseDirectory, 
    validationDocumentationBaseDirectory, 
    ignoreFilesRegex = ignoreFilesRegex)

Document Unit Test Results

The createRpactUnitTestResultDocumentation function generates documentation for the results of the unit tests. This documentation is key to validating the correctness and robustness of the package.

createRpactUnitTestResultDocumentation(packageProjectBaseDirectory, 
    ignoreFilesRegex = ignoreFilesRegex)

Generate Performance Qualification Documentation

The createRpactPerformanceQualification function generates documentation that outlines the performance qualifications of the rpact package, ensuring it meets the required performance standards.

createRpactPerformanceQualification(packageProjectBaseDirectory)

By following these steps, the rpact package’s validation documentation is systematically generated and updated, ensuring accuracy, completeness, and compliance with validation standards.

Run the Interactive Validation Documentation SOP on the R Console

Validate the rpact package’s validation documentation using the rpact.sops R package:

library(rpact.sops)
sopFile <- system.file("templates", "validation_documentation.json", 
    package = "rpact.sops")
if (!file.exists(sopFile)) {
    sopFile <- file.path(getwd(), "inst", "templates", 
        "validation_documentation.json")
}
logEntries <- runSOP(sopFile = sopFile, 
    user = "Dr. Friedrich Pahlke", 
    pkg = "D:/R/workspace/rpact")
cat(paste0(logEntries, collapse = "\n"),"\n")

The following log documents the process of updating and validating the rpact package’s validation documentation using the rpact.sops R package. The log captures each step involved in ensuring that the validation documentation accurately reflects the current version of the rpact package and its dependencies, as well as any relevant changes in client information, R versions, and other critical parameters.

Each entry in the log represents a specific task that was executed in the R console, facilitated by the rpact.sops package, which automates and guides the user through the necessary steps. These tasks include updating version numbers, modifying client-specific information, and verifying dependencies and performance qualifications.

After completing each task, the task is marked as “Approved” by the responsible person, confirming that the changes have been correctly implemented. The timestamps associated with each approval provide a chronological record of the validation process. This approach ensures traceability, compliance, and consistency in maintaining the rpact package’s validation documentation.

File rpact_software_validation_documentation.tex

SOP 1.1 Package Version Did you change the definition of \newcommand{\fileName} in rpact_software_validation_documentation.tex to version 4.2.0?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:28

SOP 1.2 Package Version Did you change the definition of \newcommand{\projectName} in rpact_software_validation_documentation.tex to version 4.2.0?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:29

SOP 1.3 Package Version Did you change the definition of \newcommand{\rpactVersion} in rpact_software_validation_documentation.tex to version 4.2.0?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:31

SOP 1.4 R Version Did you change the definition of \newcommand{\rVersionOldRelease} in rpact_software_validation_documentation.tex to version 4.3.3?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:32

SOP 1.5 R Version Did you change the definition of \newcommand{\rVersionCurrentRelease} in rpact_software_validation_documentation.tex to version 4.4.3?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:33

SOP 1.6 Document Date Did you change the definition of \newcommand{\copyrightYear} in rpact_software_validation_documentation.tex to 2025?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:34

SOP 1.7 Clients: Company Names Did you update the definition of \newcommand{\docLicenseCompanyFullLength} in rpact_software_validation_documentation.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:35

SOP 1.8 Clients: Company Names (short) Did you update the definition of \newcommand{\docLicenseCompany} in rpact_software_validation_documentation.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:36

SOP 1.9 Clients: Company Logos Did you update the definition of \newcommand{\docLicenseCompanyLowerCase} in rpact_software_validation_documentation.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:37

2 History of the Documents

SOP 2.1 URS Document History Did you update the table ‘History of the Document’ in rpact_user_requirements.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:19

SOP 2.2 FS Document History Did you update the table ‘History of the Document’ in rpact_functional_specification.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:39

SOP 2.3 SDS Document History Did you update the table ‘History of the Document’ in rpact_software_design_specification.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:41

SOP 2.4 Verification Document History Did you update the table ‘History of the Document’ in rpact_test.tex?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:42

3 Chapter ‘’Test Protocol (TL)’’

SOP 3.1 ‘CRAN-Package-Check-Results.png’ Did you update the screenshot ‘CRAN-Package-Check-Results.png’ in folder ‘/4_verification/chapter/validation_results’?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:43

SOP 3.2 ‘rpact-00check.txt’ (Linux) Did you update ‘rpact-00check.txt’ in folder ‘/4_verification/chapter/validation_results/win-builder_results/check_log_linux’? [OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:45

SOP 3.3 ‘rpact-00check.txt’ (Windows) Did you update ‘rpact-00check.txt’ in folder ‘/4_verification/chapter/validation_results/win-builder_results/check_log_windows’? [OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:46

SOP 3.4 Dependency Check Protocol Did you update the sections Depends, Imports, and Suggests in file ‘/4_verification/chapter/rpact_dependencies.tex’?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:47

SOP 3.5 Chapter ‘Performance Qualifications (PQ)’ Are the information (OS, system type, processor, time table) in ‘/4_verification/chapter/rpact_test_protocol.tex’ plausible?

[OK] Approved by Dr. Friedrich Pahlke at July 30, 2025 CET 10:10:51

Confirmation of Execution and Review

By signing below, I confirm that all steps outlined in this SOP have been fully executed and reviewed. I certify that the procedures were followed as described, and that the results have been verified for accuracy and compliance with the relevant standards.

Name Signature Date