Changelog
Source:NEWS.md
CohortMethod 5.5.0
Changes:
createPs()
now checks if filtering of the covariate data is necessary (either because subject have been removed from the study population or becauseexcludeCovariateIds
orincludeCovariateIds
was specified). If no filtering is required, no extra copy of the covariate data data is created, saving IO time.Added
minimumCaseCount
argument tocreateCohortMethodDataSimulationProfile ()
.Preparing for
Andromeda 1.0.0
: no longer assuming Andromeda tables are sorted.Changing dependency from
ShinyAppBuilder
toOhdsiShinyAppBuilder
.
Bugfixes:
Fixed NA covariate prevalences when calling
createCohortMethodDataSimulationProfile()
.Added some optimization to
createPs()
to prevent running out of memory for large data objects using Andromeda >= 1.0.0.
CohortMethod 5.4.0
Changes:
Updating viewer code to work with newer versions of
OhdsiShinyModules
andShinyAppBuilder
.Dropped
uploadExportedResults()
function.The
cohorts
argument ofinsertExportedResultsInSqlite()
has columncohortId
renamed tocohortDefinitionId
.Added computation of MDRR for logistic models.
CohortMethod 5.3.0
Changes:
- Switching cohort IDs in results model to BIGINT.
Bugfixes:
Fix
enforceCellCount()
applied to covariate balance when all balance is NA.Stopping fitting PS model early when either target or comparator is empty. Prevents error when target or comparator is empty, sampling is required, and Cyclops happens to fit a model instead of declaring ILL CONDITIONED.
Message after matching on PS now shows correct number of subjects remaining after matching.
CohortMethod 5.2.1
Changes:
- Ask to delete files in output folder when calling
runCmAnalyses()
with different analyses settings than those used to create the files. Also cleaning the cache.
Bugfixes:
Fixed bug in parsing covariate filter settings for balance.
Updated vignettes to use latest
Capr
functions.
CohortMethod 5.2.0
Changes:
The
computeCovariateBalance()
function now also computes standardized difference of mean comparing cohorts before and after PS adjustment, which can inform on generalizability.Added the
getGeneralizabilityTable()
function.Improved computation of overall standard deviation when computing covariate balance (actually computing the SD instead of taking the mean of the target and comparator). Should produce more accurate balance estimations.
Generated population objects now keep track of likely target estimator (e.g. ‘ATT’, or ‘ATE’). This informs selection of base population when calling
getGeneralizabilityTable()
.Deprecated the
attritionFractionThreshold
argument of thecreateCmDiagnosticThresholds
function, and instead added thegeneralizabilitySdmThreshold
argument.-
The results schema specifications of the
exportToCsv()
function has changed:- Removed the
attrition_fraction
andattrition_diagnostic
fields from thecm_diagnostics_summary
table. - Added the
target_estimator
field to thecm_result
addcm_interaction_result
tables. - Added the
generalizability_max_sdm
andgeneralizabiltiy_diagnostic
fields to thecm_diagnostics_summary
table. - Added the
mean_before
,mean_after
,target_std_diff
,comparator_std_diff
, andtarget_comparator_std_diff
fields to both thecm_covariate_balance
andcm_shared_covariate_balance
tables.
- Removed the
Improve speed of covariate balance computation.
Adding one-sided (calibrated) p-values to results summary and results model.
Adding
unblind_for_evidence_synthesis
field tocm_diagnostics_summary
table.The
cm_diagnostics_summary
table now also contains negative controls.
Bugfixes:
Fixing
runCmAnalyses()
when usingrefitPsForEveryOutcome = TRUE
.Handling edge case when exporting preference distribution and the target or comparator only has 1 subject.
CohortMethod 5.1.0
Changes:
- Now also not unblinding if shared balance diagnostic fails.
Bugfixes:
Fixing matching on PS and other covariates.
Now passing outcome-specific
riskWindowEnd
argument inrunCmAnalyses()
when specified.Fixed error when calling
createStudyPopulation()
with “keep first” when there is only 1 person in the population.
CohortMethod 5.0.0
Changes:
Setting the default Cyclops control object to use
resetCoefficients = TRUE
to ensure we always get the exact same model, irrespective of the number of threads used.Adding checking of user input to all functions.
Removing deprecated
excludeDrugsFromCovariates
argument fromgetDbCohortMethodData()
function.Removing deprecated
oracleTempSchema
argument fromgetDbCohortMethodData()
andrunCmAnalyses()
functions.Removing deprecated
addExposureDaysToStart
andaddExposureDaysToStart
arguments fromcreateStudyPopulation()
andplotTimeToEvent()
functions.The
removeDuplicateSubjects
argument ofgetDbCohortMethodData()
andcreateStudyPopulation()
is no longer allowed to be a boolean.Adding
computeEquipoise()
function.Output likelihood profile as data frame instead of named vector for consistency with other HADES packages.
Added the
covariateFilter
argument to thecomputeCovariateBalance
function, to allow balance to be computed only for a subset of covariates.Rounding propensity scores to 10 digits to improve reproducibility across operating systems.
Setting
covariateCohortDatabaseSchema
andcovariateCohortTable
of cohort-based covariate builders toexposureDatabaseSchema
andexposureTable
, respectively ifcovariateCohortTable
isNULL
.Now computing IPTW in
createPs()
, and truncating IPTW can be done intruncateIptw()
. ThecomputeCovariateBalance()
function now computes balance using IPTW if nostratumId
column is found in thepopulation
argument.Removing PS of exactly 0 and exactly 1 when computing the standard deviation of the logit for the matching caliper to allow matching when some subjects have perfectly predictable treatment assignment.
Adding
maxRows
argument tocomputePsAuc()
function to improve speed for very large study populations.Dropping support for CDM v4.
-
Major overhaul of the multiple-analyses framework:
Added the
createOutcome()
function, to be used withcreateTargetComparatorOutcomes()
. This allow thepriorOutcomeLookback
,riskWindowStart
,startAnchor
,riskWindowEnd
, andendAnchor
arguments to be specified per outcome. These settings (if provided) will override the settings created using thecreateCreateStudyPopulationArgs()
function. In addition, thecreateOutcome()
function has anoutcomeOfInterest
andtrueEffectSize
argument (see below).Added the
createComputeCovariateBalanceArgs()
function, added thecomputeSharedCovariateBalance
,,computeSharedCovariateBalanceArgs
,computeCovariateBalance
, andcomputeCovariateBalanceArgs
arguments to thecreateCmAnalysis()
function, and thecomputeSharedBalanceThreads
,computeBalanceThreads
arguments to therunCmAnalyses()
function to allow computation of covariate balance across a target-comparator-analysis (shared) or for each target-comparator-analysis-outcome in therunCmAnalyses()
function.Dropping
targetType
andcomparatorType
options from thecreateCmAnalysis()
function, since the notion of analysis-specific target and comparator selection strategies can also be implemented using theanalysesToExclude
argument ofrunCmAnalyses()
.Dropping
outcomeIdsOfInterest
argument of therunCmAnalyses()
function. Instead, thecreateOutcome()
function now has aoutcomeOfInterest
argument.Settings related to multi-threading are combined in to a single settings object that be created using the new
createCmMultiThreadingSettings()
function.Dropping
prefilterCovariates
fromrunCmAnalyses()
. Prefiltering is now always done when specific covariates are used in the outcome model.Removed the
summarizeAnalyses()
function. Instead, results are automatically summarized inrunCmAnalyses()
. The summary can be retrieved using the newgetResultsSummary()
andgetInteractionResultsSummary()
functions. Empirical calibration, MDRR, and attrition fraction are automatically computed.Changing case in output of
getResultsSummary()
fromci95lb
andci95ub
toci95Lb
andci95Ub
.Added empirical calibration to the
getResultsSummary()
function. Controls can be identified by thetrueEffectSize
argument in thecreateOutcome()
function.Dropping arguments like
createPs
andfitOutcomeModel
from thecreateCmAnalysis()
function. Instead, not providingcreatePsArgs
orfitOutcomeModelArgs
is assumed to mean skipping propensity score creation or outcome model fitting, respectively.
Added the
exportToCsv()
function for exporting study results to CSV files that do not contain patient-level information and can therefore be shared between sites. ThegetResultsDataModel()
function returns the data model for these CSV files.Added the
uploadExportedResults()
andinsertExportedResultsInSqlite()
functions for uploading the results from the CSV files in a database. ThelaunchResultsViewer()
andlaunchResultsViewerUsingSqlite()
functions were added for launching a Shiny app to view the results in the (SQLite) database.
Bug fixes:
- Fixed error when using integer
maxWeight
when performng IPTW.
CohortMethod 4.2.3
Changes;
- Removed
RISCA
from the Suggests list. This package was used for a single unit test, but has a large amount of difficult-to-install dependencies.
Bug fixes:
- Fixed error when failing model fitting caused by new
Cyclops
version.
CohortMethod 4.2.2
Changes:
Added the
analysesToExclude
argument torunCmAnalyses
, allowing the users to specify target-comparator-outcome-analysis combinations to exclude from execution.Output of
computeCovariateBalance()
now also containsdomainId
andisBinary
columns.Added
plotCovariatePrevalence()
function.
Bug fixes:
Fixed erroneous sample size reported for comparator cohorts when computing covariate balance. (the actual sample size was fine)
Fixed error when all analyses have
fitOutcomeModel = FALSE
.Fixed attrition counts when using
allowReverseMatch = TRUE
CohortMethod 4.2.1
Changes:
Adding
highlightExposedEvents
andincludePostIndexTime
arguments toplotTimeToEvent()
.Adding
maxCohortSize
argument to thecomputeCovariateBalance()
function. The target and comparator cohorts will be downsampled if they are larger, speeding up computation.
Bug fixes:
- Fixed error thrown by
plotTimeToEvent()
when there are time periods in plot when nobody is observed.
CohortMethod 4.2.0
Changes:
Adding the
trimByIptw()
function.Adding the
estimator
argument to thefitOutcomeModel()
function to select ‘ate’ (average treatment effect) or ‘att’ (average treatment effect in the treated) when performing IPTW.Added the
maxWeight
argument to thefitOutcomeModel()
function. Weights greater than this value will be set to this value.Adding option to use adaptive likelihood profiling, and making this the default.
Adding
maxDaysAtRisk
argument to thecreateStudyPopulation()
andcreateCreateStudyPopulationArgs()
functions.
Bug fixes:
Fixing IPTW.
Fixing error when stratifying and base population is empty (but overall population is not).
CohortMethod 4.1.0
Changes:
Dropped
insertDbPopulation()
function. This didn’t seem to be used by anyone, and would have required carrying the person ID throughout the pipeline.Introducing new unique person identified called
personSeqId
, generated during data extraction. Person ID is now downloaded as string to avoid issues with 64-bit integers. Person ID is not used by CohortMethod, and is provided for reference only.Adding log likelihood ratio to outcome model object.
Deprecating
oracleTempSchema
argument in favor oftempEmulationSchema
in line with newSqlRender
interface.
Bug fixes:
Still was not always including the likelihood profile in the outcome model objects.
Fixing issues when IDs are
integer64
.
CohortMethod 4.0.1
Changes:
- Always including the likelihood profile in the outcome model objects.
Bug fixes:
Fixing “argument ‘excludeDrugsFromCovariates’ is missing” error when calling
createGetDbCohortMethodDataArgs()
without deprecated argumentexcludeDrugsFromCovariates
.More testing and handling of empty exposure cohorts.
Fixing exclusion of covariate IDs when fitting propensity models.
Correct covariate balance computation when covariate values are integers.
CohortMethod 4.0.0
Changes:
- Switching from ff to Andromeda for storing large data objects.
Bugfixes:
- Fixed bug in IPTW.
CohortMethod 3.1.1
Changes:
Updating documentation: adding literature reference for IPTW, and using new SqlRender interface in vignettes.
Changing default equipoise bounds from 0.25-0.75 to 0.3-0.7 to be consistent with Alec Walker’s original paper.
Bugfixes:
- Fixing some issues when sampling before fitting propensity models.
CohortMethod 3.1.0
Changes:
Added plotTimeToEvent function
Deprecating addExposureDaysToStart and addExposureDaysToEnd arguments, adding new arguments called startAnchor and endAnchor. The hope is this is less confusing.
Fixing random seeds for reproducibility.
Changing default equipoise bounds from 0.25-0.75 to 0.3-0.7 to be consistent with Alec Walker’s original paper.
Bugfixes:
No longer overriding ffmaxbytes and ffbatchbytes in .onLoad. Instead relying on FeatureExtraction to do that. Part of fixing chunk.default error caused by ff package on R v3.6.0 on machines with lots of memory.
Correct calculation in original population count when using study end date.