v1.2.0
This minor release expands the qualification / workflow test suite, refreshes packaged example datasets, and updates release/CI/docs scaffolding.
Changes:
- Add qualification helpers + multiple new qualification tests and custom YAML workflows under
tests/testthat/. - Refresh packaged data objects (
data/*.rda) and their docs/snapshots to match regenerated CSV sources. - Bump package version to 1.2.0 and update release tooling/docs/CI configuration.
What's Changed
- Main -> Dev by Laura Maxwell (@lauramaxwell) in #110
- Update r-releaser workflow by Natalia Andriychuk (@nandriychuk) in #120
- Migrate qualification tests from gsm.kri by Laura Maxwell (@lauramaxwell) in #117
- Update Readme to reflect current qualification process by Natalia Andriychuk (@nandriychuk) in #124
- Main -> dev by Laura Maxwell (@lauramaxwell) in #127
- Set up AI and qcthat by Jon Harmon (@jonthegeek) in #125
- Update lSource with new domains for the Premature Death KRI by Laura Maxwell (@lauramaxwell) in #132
- Update contributor guidelines by Laura Maxwell (@lauramaxwell) in #133
- update Flag() to capture negative flags properly and add tests by Laura Maxwell (@lauramaxwell) in #136
- Gsm.core v1.2.0 rc by Laura Maxwell (@lauramaxwell) in #134
Full Changelog: v1.1.8...v1.2.0
{qcthat} Reports
Milestone
✅ A qcthat issue test matrix with 1 milestone, 2 issues, and 9 tests
└─█─Milestone: v1.2.0 (2 issues, 9 tests)
├─☑️─Bug 135: Negative flags aren't assigned correctly when `Score==Threshold`.
│ ├─✅─errors working as expected (#135)
│ └─✅─Flag correctly handles exact cut point values at negative and positive thresholds (#135)
└─☑️─Technical Task 116: Migrate appropriate qualification tests to gsm.core
├─✅─Qual: Given raw participant-level data, a properly specified Workflow for a KRI creates summarized and flagged data (#116)
├─✅─Qual: Given raw participant-level data with missingness,
a properly specified Workflow for a KRI creates summarized and flagged data (#116)
├─✅─Qual: Given pre-processed input data, a properly specified Workflow for a KRI creates summarized and flagged data (#116)
├─✅─Qual: Given appropriate metadata (i.e. vThresholds), flagged observations are properly marked in summary data (#116)
├─✅─Qual: Given appropriate metadata (i.e. vThresholds), bounds are properly applied to generate flags (#116)
├─✅─Qual: Given appropriate raw participant-level data, flag values can be correctly assigned to records that meet flagging criteria, including custom thresholding (#116)
└─✅─Qual: Given appropriate raw participant-level data, flag values are correctly assigned as NA for sites with low enrollment (#116)
# Issue state: 📥 = open, ☑️ = closed (completed), ⛔ = closed (won't fix)
# Test disposition: ✅ = passed, ❌ = failed, 🚫 = skipped
🟢 All issues have at least one test
🙈 6 issues with label "qcthat-nocov" were ignored
Completed Issues
✅ A qcthat issue test matrix with 5 milestones, 14 issues, and 20 tests
├─█─Milestone: v1.1.1 (4 issues, 6 tests)
│ ├─☑️─Issue 31: Feature/Bug - allow no params in workflow steps
│ │ └─✅─RunStep will run a function with no parameters (#31)
│ ├─☑️─Issue 23: Bugfix: Message out of `RunStep` related to vector arguments should not be vectorized.
│ │ └─✅─Passes direct value vector parameters correctly (#23)
│ ├─☑️─Issue 22: Feature: DATETIME data type
│ │ ├─✅─RunQuery applies schema appropriately (#22, #45)
│ │ └─✅─Validate column type works (#22)
│ └─☑️─Issue 21: QC: Warnings in Tests
│ ├─✅─Analyze_NormalApprox_PredictBounds processes data correctly (#21)
│ └─✅─rate output created as expected and has correct structure (#21)
├─█─Milestone: v1.1.2 (1 issue, 1 test)
│ └─☑️─Issue 28: Business Requirement: Update Accrual Thresholds for existing KRIs
│ └─✅─Function correctly applies accrual threshold (#7, #28)
├─█─Milestone: v1.1.4 (2 issues, 1 test)
│ ├─☑️─Bug 71: Bugfix: `RunQuery()` coerces undefined columns to `character`
│ │ └─✅─RunQuery applies incomplete schema appropriately (#70, #71)
│ └─☑️─Requirement 70: Business Requirement: Update `RunQuery` to not set `character` type if not specified
│ └─✅─RunQuery applies incomplete schema appropriately (#70, #71)
├─█─Milestone: v1.1.5 (1 issue, 1 test)
│ └─☑️─Technical Task 77: Add `RiskScoreWeight` info to `Analysis_Flagged` via the `Flag()` function
│ └─✅─Flag function adds RiskScoreWeight info to Analysis_Flagged (#77)
├─█─Milestone: v1.2.0 (2 issues, 9 tests)
│ ├─☑️─Bug 135: Negative flags aren't assigned correctly when `Score==Threshold`.
│ │ ├─✅─errors working as expected (#135)
│ │ └─✅─Flag correctly handles exact cut point values at negative and positive thresholds (#135)
│ └─☑️─Technical Task 116: Migrate appropriate qualification tests to gsm.core
│ ├─✅─Qual: Given raw participant-level data, a properly specified Workflow for a KRI creates summarized and flagged data (#116)
│ ├─✅─Qual: Given raw participant-level data with missingness,
a properly specified Workflow for a KRI creates summarized and flagged data (#116)
│ ├─✅─Qual: Given pre-processed input data, a properly specified Workflow for a KRI creates summarized and flagged data (#116)
│ ├─✅─Qual: Given appropriate metadata (i.e. vThresholds), flagged observations are properly marked in summary data (#116)
│ ├─✅─Qual: Given appropriate metadata (i.e. vThresholds), bounds are properly applied to generate flags (#116)
│ ├─✅─Qual: Given appropriate raw participant-level data, flag values can be correctly assigned to records that meet flagging criteria, including custom thresholding (#116)
│ └─✅─Qual: Given appropriate raw participant-level data, flag values are correctly assigned as NA for sites with low enrollment (#116)
└─█─Milestone: <none> (4 issues, 4 tests)
├─☑️─Issue 45: Feature: Support `logical` data type.
│ └─✅─RunQuery applies schema appropriately (#22, #45)
├─☑️─Issue 44: Bugfix: `RunQuery` throws an error on empty `Date` strings.
│ └─✅─RunQuery parses invalid date/times correctly (#44)
├─☑️─Technical Task 43: `MakeWorkflowList` doesn't work with packages that aren't installed.
│ └─✅─invalid data returns list NULL elements (#43)
└─☑️─Issue 7: Add generalized Accrual Threshold to Flag()
└─✅─Function correctly applies accrual threshold (#7, #28)
# Issue state: 📥 = open, ☑️ = closed (completed), ⛔ = closed (won't fix)
# Test disposition: ✅ = passed, ❌ = failed, 🚫 = skipped
🟢 All issues have at least one test
🙈 25 issues with label "qcthat-nocov" were ignored
This report was generated by this GitHub Actions run.
Last updated: 2026-04-15 16:31:33 UTC
Session Info
─ Session info ───────────────────────────────────────────────────────────────setting value
version R version 4.5.3 (2026-03-11)
os Ubuntu 24.04.4 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate C.UTF-8
ctype C.UTF-8
tz UTC
date 2026-04-15
pandoc 3.1.3 @ /usr/bin/pandoc
quarto NA
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
askpass 1.2.1 2024-10-04 [1] RSPM
astgrepr 0.1.1 2025-06-07 [1] RSPM
backports 1.5.1 2026-04-03 [1] RSPM
base * 4.5.3 2026-03-11 [3] local
base64enc 0.1-6 2026-02-02 [1] RSPM
bigD 0.3.1 2025-04-03 [1] RSPM
bitops 1.0-9 2024-10-03 [1] RSPM
blob 1.3.0 2026-01-14 [1] RSPM
boot 1.3-32 2025-08-29 [3] CRAN (R 4.5.3)
brew 1.0-10 2023-12-16 [1] RSPM
brio 1.1.5 2024-04-24 [1] RSPM
broom 1.0.12 2026-01-27 [1] RSPM
bslib 0.10.0 2026-01-26 [1] RSPM
cachem 1.1.0 2024-05-16 [1] RSPM
callr 3.7.6 2024-03-25 [1] RSPM
checkmate 2.3.4 2026-02-03 [1] RSPM
class 7.3-23 2025-01-01 [3] CRAN (R 4.5.3)
cli 3.6.6 2026-04-09 [1] RSPM
clipr 0.8.0 2022-02-22 [1] RSPM
cluster 2.1.8.2 2026-02-05 [3] CRAN (R 4.5.3)
codetools 0.2-20 2024-03-31 [3] CRAN (R 4.5.3)
commonmark 2.0.0 2025-07-07 [1] RSPM
compiler 4.5.3 2026-03-11 [3] local
covr 3.6.5 2025-11-09 [1] RSPM
crayon 1.5.3 2024-06-20 [1] RSPM
credentials 2.0.3 2025-09-12 [1] RSPM
curl 7.0.0 2025-08-19 [1] RSPM
datasets * 4.5.3 2026-03-11 [3] local
DBI 1.3.0 2026-02-25 [1] RSPM
dbplyr 2.5.2 2026-02-13 [1] RSPM
desc 1.4.3 2023-12-10 [1] RSPM
diffobj 0.3.6 2025-04-21 [1] RSPM
digest 0.6.39 2025-11-19 [1] RSPM
dplyr 1.2.1 2026-04-03 [1] RSPM
duckdb 1.5.2 2026-04-13 [1] RSPM
emoji 16.0.0 2024-10-28 [1] RSPM
evaluate 1.0.5 2025-08-27 [1] RSPM
farver 2.1.2 2024-05-13 [1] RSPM
fastmap 1.2.0 2024-05-15 [1] RSPM
fontawesome 0.5.3 2024-11-16 [1] RSPM
foreign 0.8-91 2026-01-29 [3] CRAN (R 4.5.3)
fs 2.0.1 2026-03-24 [1] RSPM
generics 0.1.4 2025-05-09 [1] RSPM
gert 2.3.1 2026-01-11 [1] RSPM
gh 1.5.0 2025-05-26 [1] RSPM
git2r 0.36.2 2025-03-29 [1] RSPM
gitcreds 0.1.2 2022-09-08 [1] RSPM
glue 1.8.0 2024-09-30 [1] RSPM
graphics * 4.5.3 2026-03-11 [3] local
grDevices * 4.5.3 2026-03-11 [3] local
grid 4.5.3 2026-03-11 [3] local
gt 1.3.0 2026-01-22 [1] RSPM
highr 0.12 2026-03-06 [1] RSPM
htmltools 0.5.9 2025-12-04 [1] RSPM
htmlwidgets 1.6.4 2023-12-06 [1] RSPM
httr 1.4.8 2026-02-13 [1] RSPM
httr2 1.2.2 2025-12-08 [1] RSPM
ini 0.3.1 2018-05-20 [1] RSPM
jquerylib 0.1.4 2021-04-26 [1] RSPM
jsonlite 2.0.0 2025-03-27 [1] RSPM
juicyjuice 0.1.0 2022-11-10 [1] RSPM
KernSmooth 2.23-26 2025-01-01 [3] CRAN (R 4.5.3)
knitr 1.51 2025-12-20 [1] RSPM
labeling 0.4.3 2023-08-29 [1] RSPM
lamW 2.2.7 2026-03-27 [1] RSPM
lattice 0.22-9 2026-02-09 [3] CRAN (R 4.5.3)
lifecycle 1.0.5 2026-01-08 [1] RSPM
litedown 0.9 2025-12-18 [1] RSPM
log4r 0.4.4 2024-10-12 [1] RSPM
magrittr 2.0.5 2026-04-04 [1] RSPM
markdown 2.0 2025-03-23 [1] RSPM
MASS 7.3-65 2025-02-28 [3] CRAN (R 4.5.3)
Matrix 1.7-4 2025-08-28 [3] CRAN (R 4.5.3)
memoise 2.0.1 2021-11-26 [1] RSPM
methods * 4.5.3 2026-03-11 [3] local
mgcv 1.9-4 2025-11-07 [3] CRAN (R 4.5.3)
mime 0.13 2025-03-17 [1] RSPM
nlme 3.1-168 2025-03-31 [3] CRAN (R 4.5.3)
nnet 7.3-20 2025-01-01 [3] CRAN (R 4.5.3)
openssl 2.3.5 2026-02-26 [1] RSPM
pak 0.9.3 2026-04-09 [2] local
parallel 4.5.3 2026-03-11 [3] local
pillar 1.11.1 2025-09-17 [1] RSPM
pkgbuild 1.4.8 2025-05-26 [1] RSPM
pkgconfig 2.0.3 2019-09-22 [1] RSPM
pkgload 1.5.1 2026-04-01 [1] RSPM
praise 1.0.0 2015-08-11 [1] RSPM
processx 3.8.7 2026-04-01 [1] RSPM
ps 1.9.2 2026-03-31 [1] RSPM
purrr 1.2.2 2026-04-10 [1] RSPM
qcthat 1.1.2 2026-04-15 [1] Github (Gilead-Public/qcthat@d0958dc)
R.cache 0.17.0 2025-05-02 [1] RSPM
R.methodsS3 1.8.2 2022-06-13 [1] RSPM
R.oo 1.27.1 2025-05-02 [1] RSPM
R.utils 2.13.0 2025-02-24 [1] RSPM
R6 2.6.1 2025-02-15 [1] RSPM
rappdirs 0.3.4 2026-01-17 [1] RSPM
RColorBrewer 1.1-3 2022-04-03 [1] RSPM
Rcpp 1.1.1 2026-01-10 [1] RSPM
RcppParallel 5.1.11-2 2026-03-05 [1] RSPM
reactable 0.4.5 2025-12-01 [1] RSPM
reactR 0.6.1 2024-09-14 [1] RSPM
rex 1.2.2 2026-03-28 [1] RSPM
rlang 1.2.0 2026-04-06 [1] RSPM
rmarkdown 2.31 2026-03-26 [1] RSPM
roxygen2 7.3.3 2025-09-03 [1] RSPM
rpart 4.1.24 2025-01-07 [3] CRAN (R 4.5.3)
rprojroot 2.1.1 2025-08-26 [1] RSPM
rrapply 1.2.8 2025-11-25 [1] RSPM
rstudioapi 0.18.0 2026-01-16 [1] RSPM
sass 0.4.10 2025-04-11 [1] RSPM
scales 1.4.0 2025-04-24 [1] RSPM
sessioninfo 1.2.3 2025-02-05 [1] RSPM
spatial 7.3-18 2025-01-01 [3] CRAN (R 4.5.3)
splines 4.5.3 2026-03-11 [3] local
stats * 4.5.3 2026-03-11 [3] local
stats4 4.5.3 2026-03-11 [3] local
stringi 1.8.7 2025-03-27 [1] RSPM
stringr 1.6.0 2025-11-04 [1] RSPM
styler 1.11.0 2025-10-13 [1] RSPM
survival 3.8-6 2026-01-16 [3] CRAN (R 4.5.3)
sys 3.4.3 2024-10-04 [1] RSPM
tcltk 4.5.3 2026-03-11 [3] local
testthat 3.3.2 2026-01-11 [1] RSPM
tibble 3.3.1 2026-01-11 [1] RSPM
tidyr 1.3.2 2025-12-19 [1] RSPM
tidyselect 1.2.1 2024-03-11 [1] RSPM
tinytex 0.59 2026-03-28 [1] RSPM
tools 4.5.3 2026-03-11 [3] local
usethis 3.2.1 2025-09-06 [1] RSPM
utf8 1.2.6 2025-06-08 [1] RSPM
utils * 4.5.3 2026-03-11 [3] local
V8 8.1.0 2026-04-12 [1] RSPM
vctrs 0.7.3 2026-04-11 [1] RSPM
viridisLite 0.4.3 2026-02-04 [1] RSPM
waldo 0.6.2 2025-07-11 [1] RSPM
whisker 0.4.1 2022-12-05 [1] RSPM
withr 3.0.2 2024-10-28 [1] RSPM
xfun 0.57 2026-03-20 [1] RSPM
xml2 1.5.2 2026-01-17 [1] RSPM
yaml 2.3.12 2025-12-10 [1] RSPM
zip 2.3.3 2025-05-13 [1] RSPM
[1] /home/runner/work/_temp/Library
[2] /opt/R/4.5.3/lib/R/site-library
[3] /opt/R/4.5.3/lib/R/library
- ── Packages attached to the search path.
──────────────────────────────────────────────────────────────────────────────