I have a question about CohortMethod package.
I use CohortMethod package for the analysis.
I’ve just found a strange thing in my study.
Figures below describes standardized difference of mean and balance before and after PS matching.
Target Cohort (T) : patients initiating ACEi/ARB + beta-blocker for hypertension
Comparator Cohort (C) : patients initiating ACEi/ARB + calcium channel blocker for hypertension
Outcome Cohort (O) : all-cause mortality
The differences in prevalence of COPD or diabetes mellitus between target and comparator cohort increase after matching.
Is there anyone who knows why this difference increases after matching in my analysis?
Settings for CohortMethod below:
covarSettings ← FeatureExtraction::createCovariateSettings(useCovariateDemographics = TRUE,
useCovariateDemographicsGender = TRUE,
useCovariateDemographicsRace = TRUE,
useCovariateDemographicsEthnicity = TRUE,
useCovariateDemographicsAge = TRUE,
useCovariateDemographicsYear = TRUE,
useCovariateDemographicsMonth = FALSE,
useCovariateConditionOccurrence = TRUE,
useCovariateConditionOccurrence365d = TRUE,
useCovariateConditionOccurrence30d = TRUE,
useCovariateConditionOccurrenceInpt180d = TRUE,
useCovariateConditionEra = TRUE,
useCovariateConditionEraEver = TRUE,
useCovariateConditionEraOverlap = FALSE,
useCovariateConditionGroup = TRUE,
useCovariateConditionGroupMeddra = TRUE,
useCovariateConditionGroupSnomed = FALSE,
useCovariateDrugExposure = TRUE,
useCovariateDrugExposure365d = TRUE,
useCovariateDrugExposure30d = TRUE,
useCovariateDrugEra = TRUE,
useCovariateDrugEra365d = FALSE,
useCovariateDrugEra30d = FALSE,
useCovariateDrugEraOverlap = FALSE,
useCovariateDrugEraEver = TRUE,
useCovariateDrugGroup = TRUE,
useCovariateProcedureOccurrence = TRUE,
useCovariateProcedureOccurrence365d = TRUE,
useCovariateProcedureOccurrence30d = TRUE,
useCovariateProcedureGroup = TRUE,
useCovariateObservation = FALSE,
useCovariateObservation365d = FALSE,
useCovariateObservation30d = FALSE,
useCovariateObservationCount365d = FALSE,
useCovariateMeasurement = FALSE,
useCovariateMeasurement365d = FALSE,
useCovariateMeasurement30d = FALSE,
useCovariateMeasurementCount365d = FALSE,
useCovariateMeasurementBelow = FALSE,
useCovariateMeasurementAbove = FALSE,
useCovariateConceptCounts = TRUE,
useCovariateRiskScores = TRUE,
useCovariateRiskScoresCharlson = TRUE,
useCovariateRiskScoresDCSI = TRUE,
useCovariateRiskScoresCHADS2 = FALSE,
useCovariateRiskScoresCHADS2VASc = FALSE,
useCovariateInteractionYear = FALSE,
useCovariateInteractionMonth = FALSE,
excludedCovariateConceptIds = excludedCovariateConceptIds,
includedCovariateConceptIds = includedCovariateConceptIds,
deleteCovariatesSmallCount = 50)
getDbCmDataArgs ← CohortMethod::createGetDbCohortMethodDataArgs(studyStartDate = “”,
studyEndDate = “”,
excludeDrugsFromCovariates = FALSE,
firstExposureOnly = FALSE,
removeDuplicateSubjects = TRUE,
washoutPeriod = 0,
covariateSettings = covarSettings)
createStudyPopArgs1 ← CohortMethod::createCreateStudyPopulationArgs(firstExposureOnly = FALSE,
washoutPeriod = 0,
removeDuplicateSubjects = TRUE,
removeSubjectsWithPriorOutcome = TRUE,
minDaysAtRisk = 0,
riskWindowStart = 0,
addExposureDaysToStart = FALSE,
riskWindowEnd = 0,
addExposureDaysToEnd = TRUE)
Fixing seed for reproducability:
createPsArgs ← CohortMethod::createCreatePsArgs(prior = Cyclops::createPrior(“laplace”,
exclude = c(0),
useCrossValidation = TRUE),
control = Cyclops::createControl(noiseLevel = “quiet”,
cvType = “auto”,
tolerance = 2e-07,
cvRepetitions = 10,
startingVariance = 0.01,
threads = 1))
matchOnPsArgs1 ← CohortMethod::createMatchOnPsArgs(caliper = 0.25,
caliperScale = “standardized”,
maxRatio = 1.0)
omExcludedConcepts ← c()
omIncludedConcepts ← c()
fitOutcomeModelArgs1 ← CohortMethod::createFitOutcomeModelArgs(modelType = “cox”,
stratified = FALSE,
useCovariates = FALSE,
excludeCovariateIds = omExcludedConcepts,
includeCovariateIds = omIncludedConcepts)