read_clinical_data(): files with no extension now produce a clear error (“Cannot determine file type: … has no extension”) instead of the misleading Unsupported file type: '..' message. The unsupported-extension error also now includes the full file path for easier diagnosis.
Tests
test-read_clinical_data.R: strengthened the tibble-coercion assertion from expect_true(is.data.frame(result)) (TRUE for tibbles) to expect_equal(class(result), "data.frame") so the test actually protects against as.data.frame() being removed or bypassed.
Documentation
vignettes/reproducible-seeds.qmd: section heading “Using the Seed with varpro” and narrative references to the package now use the correct CRAN casing varPro; function-name references (varpro(), unsupv.varpro()) remain lowercase as those are the exported function names.
hvtiRutilities 1.0.0.9003
Bug fixes
Fixed Suggests entry for varPro: package name on CRAN is varPro (camelCase), not varpro (lowercase). The case mismatch caused pak lockfile resolution to fail with “Can’t find package called varpro”. Updated the corresponding varPro::varpro() call in vignettes/reproducible-seeds.qmd to match.
hvtiRutilities 1.0.0.9002
Documentation
All vignettes migrated from R Markdown (.Rmd) to Quarto (.qmd). Added quarto to Suggests.
Bug fixes
read_clinical_data(): CSV files are now read with check.names = FALSE so column names containing spaces, hyphens, or special characters are preserved exactly as written, preventing silent name mangling that could break downstream label lookups.
hvtiRutilities 1.0.0.9000
Maintenance
Start prerelease cycle at 1.0.0.9000.
hvtiRutilities 0.4.1
Maintenance
Bumped package metadata for the upcoming release cycle.
hvtiRutilities 0.1.4
New Features
Added generate_survival_data(): generates a synthetic cardiac surgery survival cohort with 22 clinical variables, Weibull-distributed survival times, reoperation outcome, and variable labels
Bug Fixes
Fixed r_data_types() silently corrupting Date, POSIXct, and POSIXlt columns that had exactly 2 unique values (they were converted to logical)
Fixed r_data_types() incorrectly converting constant columns (1 unique value) to logical; binary detection now requires exactly 2 unique values
Fixed r_data_types() producing a cryptic “missing value where TRUE/FALSE needed” error when factor_size = NaN
Fixed r_data_types() giving a misleading “not found in dataset” error when skip_vars was not a character vector
Fixed generate_survival_data() producing NaN in iv_reop for patients with very short follow-up times
Fixed generate_survival_data() permanently altering the global RNG state; the session’s RNG is now saved and restored on exit
Improvements
r_data_types() now validates all inputs before doing any work, so errors are raised immediately with clear messages
r_data_types() input validation now explicitly checks that dataset is a data.frame, skip_vars is a character vector, and factor_size is not NaN