Method benchmark update

Slides:



Advertisements
Similar presentations
Agency for Healthcare Research and Quality (AHRQ)
Advertisements

Exploring the Shape of the Dose-Response Function.
Observational Studies and RCT Libby Brewin. What are the 3 types of observational studies? Cross-sectional studies Case-control Cohort.
Making evidence more accessible using pictures
1 Case-Control Study Design Two groups are selected, one of people with the disease (cases), and the other of people with the same general characteristics.
Chapter 12 Inferential Statistics Gay, Mills, and Airasian
Biostatistics Case Studies 2005 Peter D. Christenson Biostatistician Session 4: Taking Risks and Playing the Odds: OR vs.
Lecture 6 Objective 16. Describe the elements of design of observational studies: (current) cohort studies (longitudinal studies). Discuss the advantages.
Patterns of Event Causality Suggest More Effective Corrective Actions Abstract: The Occurrence Reporting and Processing System (ORPS) has used a consistent.
Various topics Petter Mostad Overview Epidemiology Study types / data types Econometrics Time series data More about sampling –Estimation.
Tim Wiemken PhD MPH CIC Assistant Professor Division of Infectious Diseases University of Louisville, Kentucky Confounding.
11/20091 EPI 5240: Introduction to Epidemiology Confounding: concepts and general approaches November 9, 2009 Dr. N. Birkett, Department of Epidemiology.
1 Basic epidemiological study designs and its role in measuring disease exposure association M. A. Yushuf Sharker Assistant Scientist Center for Communicable.
A Claims Database Approach to Evaluating Cardiovascular Safety of ADHD Medications A. J. Allen, M.D., Ph.D. Child Psychiatrist, Pharmacologist Global Medical.
Case-Control Studies Afshin Ostovar Bushehr University of Medical Sciences Bushehr, /14/20161.
Educational Research Inferential Statistics Chapter th Chapter 12- 8th Gay and Airasian.
Case control & cohort studies
Purpose of Epi Studies Discover factors associated with diseases, physical conditions and behaviors Identify the causal factors Show the efficacy of intervening.
Meta-analysis of observational studies Nicole Vogelzangs Department of Psychiatry & EMGO + institute.
Population level estimation workgroup Martijn Schuemie Marc Suchard.
Measures of disease frequency Simon Thornley. Measures of Effect and Disease Frequency Aims – To define and describe the uses of common epidemiological.
Chapter 9: Case Control Studies Objectives: -List advantages and disadvantages of case-control studies -Identify how selection and information bias can.
Rory M Marks, John Z Ayanian, Brahmajee K Nallamothu
Martijn Schuemie, Marc Suchard, Patrick Ryan, Tomas Bergvall
Associations of Maternal Antidepressant Use During the First Trimester of Pregnancy With Preterm Birth, Small for Gestational Age, Autism Spectrum Disorder,
Brady Et Al., "sequential compression device compliance in postoperative obstetrics and gynecology patients", obstetrics and gynecology, vol. 125, no.
The comparative self-controlled case series (CSCCS)
FeatureExtraction v2.0 Martijn Schuemie.
Harvard T.H. Chan School of Public Health
Population level estimation best practices
Research using Registries
Types of Research Studies Architecture of Clinical Research
OHDSI Method Evaluation
A critical assessment of the utility of the case-control design in population-based databases Martijn Schuemie.
Present: Disease Past: Exposure
PV-Trend: A JSL Application for Trending Topics for Pharmacovigilance
Population level estimation workgroup
Sec 9C – Logistic Regression and Propensity scores
Statistical Approaches to Support Device Innovation- FDA View
Reproducing Graham et al using the CohortMethod package
Martijn Schuemie, PhD Janssen Research and Development
Martijn Schuemie, PhD Janssen Research and Development
Biostatistics Case Studies 2016
Designing and executing OHDSI studies
OHDSI population-level estimation workgroup meeting
Donald E. Cutlip, MD Beth Israel Deaconess Medical Center
Method evaluation Martijn Schuemie.
Randomized Trials: A Brief Overview
OHDSI estimation-methods papers in progress
Strategies to incorporate pharmacoeconomics into pharmacotherapy
Self-controlled Studies
Presenter: Wen-Ching Lan Date: 2018/08/01
Lecture 1: Fundamentals of epidemiologic study design and analysis
Jeffrey E. Korte, PhD BMTRY 747: Foundations of Epidemiology II
S1316 analysis details Garnet Anderson Katie Arnold
11/20/2018 Study Types.
Variables and Measurement (2.1)
Martijn Schuemie, Peter Rijnbeek, Jenna Reps, Marc Suchard
Global collaborative research through OHDSI network: Febuxostat vs Allopurinol Seng Chan You MD; Ju-Yang Jung, MD; Chang-Hee Su, MD, PhD; Rae Woong Park,
Volume 87, Issue 1, Pages (January 2015)
Spreadsheets, Modelling & Databases
An Introduction to Correlational Research
Analysing RWE for HTA: Challenges, methods and critique
How to assess an abstract
Interpreting Epidemiologic Results.
Regression and Clinical prediction models
Confounders.
Effect Modifiers.
LEGEND Reproducible, systematized, open source approach at scale
Using clinical trial data as real-world evidence
Presentation transcript:

Method benchmark update Martijn Schuemie

OHDSI Methods Benchmark

OHDSI Methods Benchmark Two types of tasks: Estimate effect of one exposure Case-control SCCS Case-crossover Cohort study when comparator is non-active Comparison of two exposures Cohort study Comparative SCCS

OHDSI Methods Benchmark Three types of data sets: Real negative controls Synthetic positive controls RCTs

Negative controls Advantages Real exposures and outcomes, so real confounding (measured and unmeasured) Effect size is known (RR = 1) Disadvantage Only null effects

Negative controls: where to start? Selected four exposures of interest Diclofenac Ciprofloxacin Metformin Sertraline Selected four outcomes of interest Acute pancreatitis Gastrointestinal (GI) bleeding Stroke Inflammatory Bowel Disease (IBD)

LAERTES to find controls For each exposure (outcome) of interest, list controls where there was No evidence in literature No evidence in labels No evidence in spontaneous reports Prevalent in an observational database Evidence for both exposure and outcome, just not both combined Manually review evidence (Google search), select 25 most prevalent controls per exposure (outcome). Refinement: there should be a lack of evidence of causality. So individual reports in FAERS or eHealthMe.com do not count, as long as PRR not statistically significant greater than 1.

Including comparators For every exposure-outcome pair, find a comparator exposure that is also a negative control. Heuristics for finding valid comparators: A 2-armed trial in clinicaltrials.gov comparing the two drugs, or First four digits of the ATC code match (same indication) but the 5th doesn't (different class). Implemented in The Amazing Comparator Finder: https://schuemie.shinyapps.io/ComparatorFinder/

Including comparators Selected four exposures of interest Diclofenac vs Celecoxib Ciprofloxacin vs Azithromycin Metformin vs Glipizide Sertraline vs Venlafaxine Selected four outcomes of interest Acute pancreatitis Gastrointestinal (GI) bleeding Stroke Inflammatory Bowel Disease (IBD) Select a comparator for each exposure control

Including nesting cohorts Some methods such as the nested case-control design require a nesting cohort to be defined. For example: a case-control study for metformin may well be nested in T2DM, meaning both cases and controls should have prior diagnose of T2DM. Heuristic for picking nesting cohorts: condition or procedure codes that appear more often on date of treatment initiation than expected. (also implemented in The Amazing Comparator Finder)

Including nesting cohorts Selected four exposures of interest Diclofenac vs Celecoxib nested in arthralgia Ciprofloxacin vs Azithromycin nested in otitis media Metformin vs Glipizide nested in T2DM Sertraline vs Venlafaxine nested in depression Selected four outcomes of interest Acute pancreatitis Gastrointestinal (GI) bleeding Stroke Inflammatory Bowel Disease (IBD) Select a nesting cohort for each exposure control.

First draft of negative control set 200 exposure-comparator-outcome-nesting-cohort combinations Potentially stratified by 4 outcomes and 4 exposures of interest Need help in reviewing!

Decisions on outcomes Require inpatient visit or not? First occurrence or all?

Next step for method benchmark Vetting of the negative control set Signal injection Acute effects or long term? Selection of RCTs Vojtech, Soledad, and Jill have volunteered to help Will start with a single RCT

CaseCrossover package Martijn Schuemie

Case-crossover design For every case (person with the outcome) define n control windows prior to the outcome (usually n = 1) Determine exposure status on index date and control windows Outcome Case 1 Exposure At risk window Control window Outcome Fixed interval (e.g. 30 days) Case 2 Outcome Exposure Case 3

Case-time-control design Adjust for trend in prescribing by picking matched controls Matching typically on age, gender, and calendar time Outcome Case Exposure Control window At risk window Control Exposure Control window At risk window 2001-02-03

OHDSI Methods Library s New-user cohort studies using large-scale regression for propensity and outcome models Cohort Method s Self-Controlled Case Series analysis using few or many predictors, includes splines for age and seasonality. Self-Controlled Case Series s A self-controlled cohort design, where time preceding exposure is used as control. Self-Controlled Cohort s A self-controlled design, but using temporal patterns around other exposures and outcomes to correct for time-varying confounding. IC Temporal Pattern Disc. Estimation methods s Case-control studies, matching controls on age, gender, provider, and visit date. Allows nesting of the study in another cohort. Case-control s Case-crossover design including the option to adjust for time-trends in exposures (so-called case-time-control). Case-crossover s Build and evaluate predictive models for user-specified outcomes, using a wide array of machine learning algorithms. Patient Level Prediction s Automatically extract large sets of features for user-specified cohorts using data in the CDM. Feature Extraction Prediction methods s Use negative control exposure-outcome pairs to profile and calibrate a particular analysis design. Empirical Calibration s Use real data and established reference sets as well as simulations injected in real data to evaluate the performance of methods. Method Evaluation Method characterization s Connect directly to a wide range of database platforms, including SQL Server, Oracle, and PostgreSQL. Database Connector s Generate SQL on the fly for the various SQL dialects. Sql Render s Highly efficient implementation of regularized logistic, Poisson and Cox regression. Cyclops s Support tools that didn’t fit other categories, including tools for maintaining R libraries. Ohdsi R Tools Supporting packages Under construction

A single CaseCrossover study caseCrossoverData <- getDbCaseCrossoverData(connectionDetails = connectionDetails, cdmDatabaseSchema = cdmDatabaseSchema, oracleTempSchema = oracleTempSchema, outcomeDatabaseSchema = cohortDatabaseSchema, outcomeTable = cohortTable, outcomeId = 1, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", exposureIds = 1124300, useNestingCohort = TRUE, nestingCohortDatabaseSchema = cohortDatabaseSchema, nestingCohortTable = cohortTable, nestingCohortId = 2, useObservationEndAsNestingEndDate = TRUE, getTimeControlData = TRUE) matchingCriteria <- createMatchingCriteria(controlsPerCase = 1, matchOnAge = TRUE, ageCaliper = 2, matchOnGender = TRUE) subjectsCtc <- selectSubjectsToInclude(caseCrossoverData = caseCrossoverData, firstOutcomeOnly = TRUE, washoutPeriod = 183, matchingCriteria = matchingCriteria) exposureStatus <- getExposureStatus(subjects = subjects, caseCrossoverData = caseCrossoverData, exposureId = 1124300, firstExposureOnly = FALSE, riskWindowStart = -30, riskWindowEnd = 0, controlWindowOffsets = c(-60)) fit <- fitCaseCrossoverModel(exposureStatus)

A single CaseCrossover study caseCrossoverData <- getDbCaseCrossoverData(connectionDetails = connectionDetails, cdmDatabaseSchema = cdmDatabaseSchema, oracleTempSchema = oracleTempSchema, outcomeDatabaseSchema = cohortDatabaseSchema, outcomeTable = cohortTable, outcomeId = 1, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", exposureIds = 1124300, useNestingCohort = TRUE, nestingCohortDatabaseSchema = cohortDatabaseSchema, nestingCohortTable = cohortTable, nestingCohortId = 2, useObservationEndAsNestingEndDate = TRUE, getTimeControlData = TRUE) matchingCriteria <- createMatchingCriteria(controlsPerCase = 1, matchOnAge = TRUE, ageCaliper = 2, matchOnGender = TRUE) subjectsCtc <- selectSubjectsToInclude(caseCrossoverData = caseCrossoverData, firstOutcomeOnly = TRUE, washoutPeriod = 183, matchingCriteria = matchingCriteria) exposureStatus <- getExposureStatus(subjects = subjects, caseCrossoverData = caseCrossoverData, exposureId = 1124300, firstExposureOnly = FALSE, riskWindowStart = -30, riskWindowEnd = 0, controlWindowOffsets = c(-60)) fit <- fitCaseCrossoverModel(exposureStatus) Get the data from the CDM database: Specified 1 outcome in the cohort table Specified a nesting cohort in the cohort table Nesting cohort ends on observation end Get data for selecting controls

A single CaseCrossover study caseCrossoverData <- getDbCaseCrossoverData(connectionDetails = connectionDetails, cdmDatabaseSchema = cdmDatabaseSchema, oracleTempSchema = oracleTempSchema, outcomeDatabaseSchema = cohortDatabaseSchema, outcomeTable = cohortTable, outcomeId = 1, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", exposureIds = 1124300, useNestingCohort = TRUE, nestingCohortDatabaseSchema = cohortDatabaseSchema, nestingCohortTable = cohortTable, nestingCohortId = 2, useObservationEndAsNestingEndDate = TRUE, getTimeControlData = TRUE) matchingCriteria <- createMatchingCriteria(controlsPerCase = 1, matchOnAge = TRUE, ageCaliper = 2, matchOnGender = TRUE) subjectsCtc <- selectSubjectsToInclude(caseCrossoverData = caseCrossoverData, firstOutcomeOnly = TRUE, washoutPeriod = 183, matchingCriteria = matchingCriteria) exposureStatus <- getExposureStatus(subjects = subjects, caseCrossoverData = caseCrossoverData, exposureId = 1124300, firstExposureOnly = FALSE, riskWindowStart = -30, riskWindowEnd = 0, controlWindowOffsets = c(-60)) fit <- fitCaseCrossoverModel(exposureStatus) Specify matching criteria for case-time-control Select cases and controls

A single CaseCrossover study caseCrossoverData <- getDbCaseCrossoverData(connectionDetails = connectionDetails, cdmDatabaseSchema = cdmDatabaseSchema, oracleTempSchema = oracleTempSchema, outcomeDatabaseSchema = cohortDatabaseSchema, outcomeTable = cohortTable, outcomeId = 1, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", exposureIds = 1124300, useNestingCohort = TRUE, nestingCohortDatabaseSchema = cohortDatabaseSchema, nestingCohortTable = cohortTable, nestingCohortId = 2, useObservationEndAsNestingEndDate = TRUE, getTimeControlData = TRUE) matchingCriteria <- createMatchingCriteria(controlsPerCase = 1, matchOnAge = TRUE, ageCaliper = 2, matchOnGender = TRUE) subjectsCtc <- selectSubjectsToInclude(caseCrossoverData = caseCrossoverData, firstOutcomeOnly = TRUE, washoutPeriod = 183, matchingCriteria = matchingCriteria) exposureStatus <- getExposureStatus(subjects = subjects, caseCrossoverData = caseCrossoverData, exposureId = 1124300, firstExposureOnly = FALSE, riskWindowStart = -30, riskWindowEnd = 0, controlWindowOffsets = c(-60)) fit <- fitCaseCrossoverModel(exposureStatus) Define at-risk and control windows Determine exposure status in windows

A single CaseCrossover study caseCrossoverData <- getDbCaseCrossoverData(connectionDetails = connectionDetails, cdmDatabaseSchema = cdmDatabaseSchema, oracleTempSchema = oracleTempSchema, outcomeDatabaseSchema = cohortDatabaseSchema, outcomeTable = cohortTable, outcomeId = 1, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", exposureIds = 1124300, useNestingCohort = TRUE, nestingCohortDatabaseSchema = cohortDatabaseSchema, nestingCohortTable = cohortTable, nestingCohortId = 2, useObservationEndAsNestingEndDate = TRUE, getTimeControlData = TRUE) matchingCriteria <- createMatchingCriteria(controlsPerCase = 1, matchOnAge = TRUE, ageCaliper = 2, matchOnGender = TRUE) subjectsCtc <- selectSubjectsToInclude(caseCrossoverData = caseCrossoverData, firstOutcomeOnly = TRUE, washoutPeriod = 183, matchingCriteria = matchingCriteria) exposureStatus <- getExposureStatus(subjects = subjects, caseCrossoverData = caseCrossoverData, exposureId = 1124300, firstExposureOnly = FALSE, riskWindowStart = -30, riskWindowEnd = 0, controlWindowOffsets = c(-60)) fit <- fitCaseCrossoverModel(exposureStatus) Fit model

Evaluation of case-crossover Three analyses variants: Simple case-crossover (1-day windows, control window 30 days prior) Nested case-crossover Nested case-time-control Executed against OHDSI benchmark negative controls

Using all negative controls Simple case-crossover Nested case-crossover Nested case-time-control

Stratified by exposure Nested case-time-control

Stratified by outcome Nested case-time-control

OHDSI Symposium coming! Posters? OHDSI methods benchmark Results of large set of methods on benchmark …

Topic of next meeting(s)?

Next workgroup meeting Western hemisphere: June 8 6pm Central European time 12pm New York 9am Los Angeles / Stanford Eastern hemisphere: May 31 3pm Hong Kong / Taiwan 4pm South Korea 4:30pm Adelaide 9am Central European time 8am UK time http://www.ohdsi.org/web/wiki/doku.php?id=projects:workgroups:est-methods