openstudyval is an independent R validator for a
study-data folder prepared for an FDA submission. It covers:
It is not Pinnacle 21, and a clean report is not an FDA certification.
library(openstudyval)
report <- validate_submission(example_study("sdtm"), standard = "SDTM")
summary(report)
#> Issue summary (SDTM)
#> rule_id severity domains records
#> SDTM003 Reject TS 1
#> SDTM010 Error DM 1
#> SDTM011 Error DM 1
#> SDTM012 Error AE 1
#> SDTM013 Error AE 1
#> SDTM022 Error DM 1
#> SDTM024 Error AE 1
#> SDTM025 Error AE 1
#> TRC1736D Error define.xml 1
#> FDAB008 Warning EX 1
#> SDTM002 Warning TA,TE,TI,TV 4
#> SDTM033 Warning AE 1
#> message
#> TS does not contain TSPARMCD = SSTDTC. FDA technical-rejection criterion 1734 requires a study start date.
#> DOMAIN value does not match the dataset name.
#> USUBJID should begin with STUDYID.
#> USUBJID is not present in DM.
#> AESEQ is not unique within USUBJID.
#> SEX is not in the core controlled terminology. Allowed: M, F, U.
#> AESER must be Y or N when populated. Allowed: Y, N.
#> AESEV is not MILD / MODERATE / SEVERE. Allowed: MILD, MODERATE, SEVERE.
#> define.xml was not found beside the datasets. FDA expects a define.xml for standardized study data.
#> Exposure date/time falls outside the DM reference start/end window (public FDA business-rule intent FDAB008).
#> Trial Design dataset missing. FDA TCG expects TA, TE, TI, TS, and TV when applicable.
#> Date/time variable is not a complete or partial ISO 8601 value.Write the HTML report next to your study:
extra <- data.frame(
rule_id = "CUST_ARM",
publisher = "sponsor",
standard = "SDTM",
domains = "DM",
severity = "Error",
check = "codelist",
argument = "ARMCD=A|B",
message = "ARMCD is not in the study arm codelist.",
guidance = "Protocol section 6",
stringsAsFactors = FALSE
)
study <- read_study_data(example_study("sdtm"))
custom <- validate_datasets(study, standard = "SDTM", rules = extra)
"CUST_ARM" %in% custom$issues$rule_id
#> [1] FALSEFull MedDRA and WHODrug dictionaries are licensed and are not
bundled. Pass permitted terms in ct or as the right-hand
side of a codelist rule.