- Covid related checks have been updated to expect a character vector of terms identifying covid related AEs. Specifically
check_ae_aeacn_ds_disctx_covid
,check_ae_aeacnoth_ds_stddisc_covid
,check_dv_ae_aedecod_covid
are affected. check_vs_height
minor update to return message #379check_lb_missing_month
andcheck_mh_missing_month
were both updated to have flexibility for Roche functions parsing--SPID
- General updates for CRAN compliance, e.g. to DESCRIPTION file, Roxygen headers, etc.
- Remove
rm(list=ls())
from sdtmchecksmeta.R (#375) - Removed
xls2list()
function. If working with the results ofrun_all_checks()
it's recommended to output results to to .rds instead of parsing .xlsx files.
check_ae_aeacn_ds_disctx_covid
add more header and unit tests, update header description that the check specifically looks for DSDECOD = 'ADVERSE EVENT' and include a note that a single DSDECOD = 'ADVERSE EVENT' will yield a pass but there may be multiple records in DS expected with this value #330check_ae_aeacnoth
add more header and unit tests for NA, minor update to return message #328check_ae_aeout
fix logic for the scenario when AEOUT is not populated but there is a non-missing AEDTHDTC, update return message (#318)check_ae_aesdth_aedthdtc
include AETERM for easier querying, added more header examples, updated return message. (#323). Update associated unit test to include AETERM (#324).check_ae_aesdthdtc_aesdth
bug fix for NA values not detected via original!(AE[["AESDTH"]]=="Y")
logic leading to possible false negative result #247, include AETERM for easier querying, added more header examples, updated return message. (#322). Update associated unit test to include AETERM (#324).check_dd_ae_aeout_aedthdtc
fix logic for the scenario when AEOUT is not populated but there is a non-missing AEDTHDTC, update return message. This check overlaps withcheck_ae_aeout
, but both will be retained for now to avoid breaking changes (#310)
- Update GitHub workflows (#316)
- Re-create sdtmchecksmeta.RData with MedDRA dictionary version 27.0 listed instead of 26.1 (#312)
- Unit test accompanying new CE check
check_ce_missing_month()
previously created by@rymarinelli
added into tests/testthat subdirectory - Fix minor typo in README (#299)
- Add cran-comments.md (#305)
check_ae_aedthdtc_ds_death
updated logic, as this check is primarily useful for legacy studies that mapped DSTERM to have the specific string "DEATH DUE TO ADVERSE EVENT." Newer studies have updated mapping for DSTERM, where the specific AE is concatenated with the string "DEATH DUE TO" - e.g., "DEATH DUE TO INFLUENZA." The check will be based on DEATH DUE TO ADVERSE EVENT given in DSTERM. Studies without this string will be given a pass. (#101).check_ae_aerel
updated syntax with more dynamic inclusion of AEREL variables (#259), with thanks to@vrakinav
check_ss_ssdtc_dead_ds
updated to include pre-processing input and return RAVE column if applicable (#263)check_rs_rsdtc_across_visit
,check_tr_trdtc_across_visit
,check_tu_tudtc_across_visit
updated to have more info, e.g., --TESTCD/RAVE info (#260).check_tr_dup
with required variables updated and removal of superceded functiondplyr::arrange_at()
(#271)
check_ce_missing_month()
- flags if CE has a suspicious date value with year and day known but month missing (#148), with thanks to@rymarinelli
check_ae_aeout_aeendtc_nonfatal()
- flags AEs with inconsistent AE outcome (AEOUT) and AE resolution date (AEENDTC) for non-fatal AEs (based on AEOUT) (#113), with thanks to@J-Lox
report_to_xlsx
with added PARAM ofextrastring=""
sdtmchecksmeta.RData
with addedpreproc=roche_derive_rave_row
, newly addedcheck_ce_missing_month
andcheck_ae_aeout_aeendtc_nonfatal
functions, updated notes for changed logic ofcheck_ae_aedthdtc_ds_death
- Specify version >= 1.1.1 for dplyr version in DESCRIPTION
- Replace "report_diff" with "Status" in
globals.R
to align with update indiff_reports()
(#269)
- Added
diff_reports()
reporting function toutils.R
to compare report objects generated fromrun_all_checks()
, enabling identification of records newly flagged (#264), with thanks to@harriscw
- Include "report_diff" in
globals.R
(#265)
- Automated security update in workflow (#268)
check_tu_rs_new_lesions
updated to include overall response ofPMD
as an indicator of progressive disease. Visit info also added to check result. (#197)check_ae_fatal
updated to address bug that was causing warning. Logic was subsequently streamlined. (#215)- Checks that expect specific preferred terms identifying Covid-19 related AEs were updated to warn if that metadata was not provided. (#220 & #223)
--SEQ
variables were removed from checks. (#246)
sdtmchecksmeta.RData
with descriptive update related to Progressive Metabolic Disease ("PMD") inclusion incheck_tu_rs_new_lesions
(#197)
- Roxygen2 header updated to include
@family
and@keyword
for data check function categories OPHTH and COVID (#214) - applied to the following data checks:- COVID:
- check_ae_aeacn_ds_disctx_covid.R
- check_ae_aeacnoth_ds_stddisc_covid.R
- check_dv_ae_aedecod_covid.R
- check_dv_covid.R
- OPHTH:
- check_ae_aelat.R
- check_cm_cmlat.R
- check_cm_cmlat_prior_ocular.R
- check_oe_bcva_1m_late_early_tot.R
- check_oe_bcva_4m_late_early_tot.R
- check_oe_bcva_4m_vs_1m_req.R
- check_oe_bcva_tot_mismatch.R
- check_oe_sc_lat_count_fingers.R
- check_pr_prlat.R
- check_sc_dm_eligcrit.R
- check_sc_dm_seyeselc.R
- COVID:
- Minor update to return message for
check_tu_rs_new_lesions()
and more header examples added (#98) - Typo in return message corrected for
check_ae_aetoxgr()
(#187)
- Added
xls2list()
reporting function to create a list from spreadsheet tabs using the {openxlsx} package (#85)
sdtmchecksmeta.RData
saves as version=2 not version=3 for backwards compatibility with R < 3.5.0 when .RData loaded (#84)
-
New vignettes:
- Search Data Check Functions published as article on pkgdown site to allow users to search data check functions (
check_xx....R
) (#71) - FAQs page (#130)
- Search Data Check Functions published as article on pkgdown site to allow users to search data check functions (
-
Other minor updates:
- Edited
@title
ofcheck_ae_aeacn_ds_disctx_covid()
,check_ae_aeacnoth_ds_stddisc_covid()
to be single line to address warning during package build - Edited headers of
dtc_dupl_early()
andfail()
in utils.R - Commented out template assigned in _pkgdown.yml file (#104)
- Added clickable version releases as links in News dropdown of pkgdown site (#121)
- Edited headings in Get started article (#114)
- Added a few bullet points to Writing a New Check
- Updated pkgdown site based on latest version of {Roxygen2} (v7.2.3) instead of (v7.1.1). DESCRIPTION reflects version in
RoxygenNote
, and associated man/*.Rd files updated. - Roxygen2 header updates to include
@family
and@keyword
for functions inrun_all_checks.R
,run_check.R
,utils.R
(#85) - Moved sdtmchecks package information from
utils.R
tosdtmchecks-package.R
(#85)
- Edited
- Unit tests:
- Added unit testing (copied in from earlier internal Roche package version) (#126, #112)
- Included more unit tests to expand coverage (#141), with thanks to
@harriscw
(#137, #144, #145, #155, #162),@J-Lox
(#147, #156),@laywang142
(#199, #158, #153, #146),@sarabodach
(#150, #151, #159, #160, #183) - Added GitHub action for test coverage report produced by {covr} and uploaded to codecov (#163)
- README:
- Include badges on README:
- README.Rmd added to render README.md (#172)
- Add installation instructions from "https://pharmaverse.r-universe.dev" (devel branch, default) #195, #226
- Specify recommended installation from main branch:
devtools::install_github("pharmaverse/sdtmchecks", ref = "main")
- Updated DESCRIPTION to specify:
- New dependency: {testthat}
- GitHub as Repository for sdtmchecks (#123)
- Config/testthat/edition: 3 (#138)
- Implemented {renv} for package dependency management, adding renvignore, renv.lock, renv subfolder and including updated .Rprofile (#111)
- Package version 0.1.5.1 used prior to update to 0.1.6
check_ds_multdeath_dsstdtc()
- flags if DS has multiple non-missing death dates in DSSTDTC that do not match (#62)
- Updated existing data checks to list the
n
function from {dplyr} in the header (#67):
- Metadata corresponding to new data check added to
sdtmchecksmeta.RData
(#63) - Update
sdtmchecksmeta.RData
to reference MedDRA v26.0 instead of v25.1 (#89)
- Clarification added to "Writing a New Check" Vignette if contributor does not have write access to the repo (#65)
- Updated existing data checks
check_lb_lbstresu()
- add more text strings (NEGATIVE, POSITIVE, NOT DONE) allowed for LBORRES to reduce false positives (#27)check_tr_trstresn_ldiam()
- include a return message that summarizes total TR records that are missing, NOT DONE, NOT EVALUABLE to help with interpreting the output (#27)check_ae_aeacnoth_ds_disctx()
- corrected typo in return message (#56)
- New helper function utilities added to
utils.R
create_R_script()
can usesdtmchecksmeta.RData
as input to programmatically generate an R script with function calls (#22)report_to_xlsx()
to generate the output results from selected data check functions as an .xlsx file including a tab for each check with potential discrepancies flagged and a summary page with conditional formatting to provide an overview of the results (#11)
- Add CI/CD workflow (#2, #8)
- Add package nickname as
nickname.RData
and reference indata.R
,globals.R
- Remove repeated occurrence of
convert_var_to_ascii()
from utils.R (#31)
- Removed package nickname from Description
- Initial deployment of open-source sdtmchecks Pharmaverse package, based on code migrated from the internal Roche sdtmchecks package, which includes a variety of data checks and utility functions
- All data check functions (
check_xx....R
) modified from Roche-specific version to include:- Updated roxygen2 headers with generalized examples
- Pre-processing in the function call (
preproc=identity,...
) to allow company-specific pre-processing
- Proprietary dataset call-ins removed
- Metadata corresponding to all data check functions
sdtmchecksmeta.RData
added to the data subdirectory; Roche-specific acronyms removed from descriptive text - Utility functions added within separate
roche_utils.R
file for Roche-specific processing and to serve as a reference for implementation of company-specific pre-processing globals.R
added with explicit list to pass throughutils::globalVariables()
- Other general utility functions that are invoked within
check_xx....R
functions consolidated from separate .R scripts intoutils.R
: - README, LICENSE, DESCRIPTION, _pkgdown.yml, vignette files tailored to github.com/pharmaverse (#1)
- Package logo added to man/figures
- Package site created via pkgdown
check_ae_aeacnoth_ds_disctx()
flags if an AE record indicates person discontinued from study but there is no corresponding DS record indicating study discontinuation (where DS.DSSCAT = "STUDY COMPLETION/EARLY DISCONTINUATION" and DS.DSDECOD != "COMPLETED"
) (#3)