Changelog
Source:NEWS.md
CohortMethod 5.5.2
Bugfixes:
Reorganized
createPs()to be much more efficient for large study populations (millions of patients).Reorganized
fitOutcomeModel()to be much more efficient for large study populations (millions of patients).
CohortMethod 5.5.1
Bugfixes:
- Fixed error thrown by Kaplan Meier curves functions when only one of the cohorts is empty.
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 becauseexcludeCovariateIdsorincludeCovariateIdswas specified). If no filtering is required, no extra copy of the covariate data data is created, saving IO time.Added
minimumCaseCountargument tocreateCohortMethodDataSimulationProfile ().Preparing for
Andromeda 1.0.0: no longer assuming Andromeda tables are sorted.Changing dependency from
ShinyAppBuildertoOhdsiShinyAppBuilder.
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
OhdsiShinyModulesandShinyAppBuilder.Dropped
uploadExportedResults()function.The
cohortsargument ofinsertExportedResultsInSqlite()has columncohortIdrenamed 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
Caprfunctions.
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
attritionFractionThresholdargument of thecreateCmDiagnosticThresholdsfunction, and instead added thegeneralizabilitySdmThresholdargument.-
The results schema specifications of the
exportToCsv()function has changed:- Removed the
attrition_fractionandattrition_diagnosticfields from thecm_diagnostics_summarytable. - Added the
target_estimatorfield to thecm_resultaddcm_interaction_resulttables. - Added the
generalizability_max_sdmandgeneralizabiltiy_diagnosticfields to thecm_diagnostics_summarytable. - Added the
mean_before,mean_after,target_std_diff,comparator_std_diff, andtarget_comparator_std_difffields to both thecm_covariate_balanceandcm_shared_covariate_balancetables.
- Removed the
Improve speed of covariate balance computation.
Adding one-sided (calibrated) p-values to results summary and results model.
Adding
unblind_for_evidence_synthesisfield tocm_diagnostics_summarytable.The
cm_diagnostics_summarytable 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
riskWindowEndargument 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 = TRUEto 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
excludeDrugsFromCovariatesargument fromgetDbCohortMethodData()function.Removing deprecated
oracleTempSchemaargument fromgetDbCohortMethodData()andrunCmAnalyses()functions.Removing deprecated
addExposureDaysToStartandaddExposureDaysToStartarguments fromcreateStudyPopulation()andplotTimeToEvent()functions.The
removeDuplicateSubjectsargument 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
covariateFilterargument to thecomputeCovariateBalancefunction, 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
covariateCohortDatabaseSchemaandcovariateCohortTableof cohort-based covariate builders toexposureDatabaseSchemaandexposureTable, respectively ifcovariateCohortTableisNULL.Now computing IPTW in
createPs(), and truncating IPTW can be done intruncateIptw(). ThecomputeCovariateBalance()function now computes balance using IPTW if nostratumIdcolumn is found in thepopulationargument.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
maxRowsargument 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, andendAnchorarguments to be specified per outcome. These settings (if provided) will override the settings created using thecreateCreateStudyPopulationArgs()function. In addition, thecreateOutcome()function has anoutcomeOfInterestandtrueEffectSizeargument (see below).Added the
createComputeCovariateBalanceArgs()function, added thecomputeSharedCovariateBalance,,computeSharedCovariateBalanceArgs,computeCovariateBalance, andcomputeCovariateBalanceArgsarguments to thecreateCmAnalysis()function, and thecomputeSharedBalanceThreads,computeBalanceThreadsarguments 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
targetTypeandcomparatorTypeoptions from thecreateCmAnalysis()function, since the notion of analysis-specific target and comparator selection strategies can also be implemented using theanalysesToExcludeargument ofrunCmAnalyses().Dropping
outcomeIdsOfInterestargument of therunCmAnalyses()function. Instead, thecreateOutcome()function now has aoutcomeOfInterestargument.Settings related to multi-threading are combined in to a single settings object that be created using the new
createCmMultiThreadingSettings()function.Dropping
prefilterCovariatesfromrunCmAnalyses(). 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()fromci95lbandci95ubtoci95Lbandci95Ub.Added empirical calibration to the
getResultsSummary()function. Controls can be identified by thetrueEffectSizeargument in thecreateOutcome()function.Dropping arguments like
createPsandfitOutcomeModelfrom thecreateCmAnalysis()function. Instead, not providingcreatePsArgsorfitOutcomeModelArgsis 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
maxWeightwhen performng IPTW.
CohortMethod 4.2.3
Changes;
- Removed
RISCAfrom 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
Cyclopsversion.
CohortMethod 4.2.2
Changes:
Added the
analysesToExcludeargument torunCmAnalyses, allowing the users to specify target-comparator-outcome-analysis combinations to exclude from execution.Output of
computeCovariateBalance()now also containsdomainIdandisBinarycolumns.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
highlightExposedEventsandincludePostIndexTimearguments toplotTimeToEvent().Adding
maxCohortSizeargument 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
estimatorargument to thefitOutcomeModel()function to select ‘ate’ (average treatment effect) or ‘att’ (average treatment effect in the treated) when performing IPTW.Added the
maxWeightargument 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
maxDaysAtRiskargument 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
oracleTempSchemaargument in favor oftempEmulationSchemain line with newSqlRenderinterface.
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.