Status Report & Workshop
2023-09-18
The R Validation Hub is a collaboration to support the adoption of R within a biopharmaceutical regulatory setting (pharmaR.org)
Comparing Analysis Method Implementations in Software
A cross-industry group formed of members from PHUSE, PSI, and ASA.
Methods | R | SAS | Comparison | |
---|---|---|---|---|
Summary Statistics | Rounding | R |
SAS |
R vs SAS |
Summary Statistics | R |
SAS |
R vs SAS |
|
… | … | … | … | … |
Works with and provides support to the R Foundation and to the key organizations developing, maintaining, distributing and using R software
Guidance on compliant use of R and management of packages
Building a public, validation-ready resource for R packages
Coline Zeballos
Connecting validation experts across the industry
Juliane Manitz
{riskmetric}
Gather and report on risk heuristics to support validation decision-making
Eric Milliman
{riskassessment}
A web interface to {riskmetric}
, supporting review, annotation and cataloging of decisions
Aaron Clark
Keep your hand raised if…
{riskmetric}
, {riskassessment}
)If nothing else, take this home!
.R
files through their eSUB portal1.If nothing else, take this home!
Identifying Intended Use 1
Software is used directly for the production and quality systems’ automation inspection, testing, or the collection and processing of production data. Software supports development, monitoring and automated testing. A manufacturer should use a risk-based analysis to determine appropriate assurance activities.
If nothing else, take this home!
Determining the Appropriate Assurance Activities1
Assurance can include Ad-hoc testing, Exploratory testing (active package use), Error-guessing (regression testing), Robust scripted testing and Limited scripted testing (traceable, reproducible testing suites).
“This approach may apply scripted testing for high-risk features”
7 Companies Shared their Approach to Package Validation
{riskmetric}
Roadmapoyster
, srr
, pkgstats
, etc){riskassessment}
Appadmin
user role management{riskassessment}
AppSupporting a transparent, open, dynamic, cross-industry approach of establishing and maintaining a repository of R packages.
Building consensus in package evaluation and distribution…
“Every successful team starts with a small existential crisis”
– unknown
Challenges shipping in-house code.
Running three prototypes to explore specific needs
{
"rPackage": {
"name": "stats",
"link": "https://cran.r-project.org/package=stats"
},
"CSADocPkg": {
"function": {
"name": "t.test",
"assuranceActivity": {
"activityType": "Scripted Testing: Robust",
"definition": "Scripted testing efforts in which the risk of the computer system or automation includes evidence of repeatability, traceability to requirements, and auditability.",
"parameters": {
"testObjectives": [
{
"uuid": "6cde1b0f-3e41-4878-8cd5-79c87be88a7d",
"objective": "Verify that p values produced by stats::t.test are uniformly distributed",
"keywords": ["t.test", "p values", "uniform distribution"],
"testCases": [
{
"uuid": "4fa03a8d-2e39-4866-9cd3-69b77bd78a6b",
"testName": "t test produces calibrated p values",
"description": "This test checks that the p values produced by stats::t.test do not deviate substantially from the expected uniform distribution.",
"code": "set.seed(42)\\nm <- 100\\nfor (n in c(5, 50, 500)) {\\n# repeatedly sample data under null and record p value\\nres <- numeric(m)\\nfor (i in 1:m) {\\nres[i] <- t.test(rnorm(n))$p.value\\n}\\n# expect non significant result\\nexpect_true(\\nks.test(res, 'punif')$p.value > 0.05\\n)\\n}",
"result": "pass",
"environment": {
"container": "rocker/tidyverse:4.3.1",
"runtime": "singularity",
"runtimeVersion": "3.8",
"renvLockfile": ""
}
}
...
install.packages("options")
#> Security vulnerabilities found in packages to be installed.
#> To proceed with installation, re-run with `accept_vulnerabilities = TRUE`
#>
#> ── Vulnerability overview ──
#>
#> ℹ 1 package was scanned
#> ℹ 1 package was found in the Sonatype database
#> ℹ 1 package had known vulnerability
#> ℹ A total of 1 known vulnerability was identified
#> ℹ See https://github.com/sonatype-nexus-community/oysteR/ for details.
Given the key capabilities and tools to address them. How do we bundle these solution to address industry needs?
Support our industry today
Delivering in-house solutions for you to pick-and-choose
Build what we want the industry to be
Drive change through transparency and consistency
Closing the CRAN gap for the Pharma Use Case
How would your operations change if the industry adopted…
We’ll discuss as a room in ~10 minutes
Sharing any key discussion points, let’s try to find
Let’s paint a “perfect” regulatory R organization. How would you like to see it work?
Thank you for your engagement!
We’re excited to champion new ways of working that bring Pharma’s together.