R/createCohortMethodData.R

#' @export
createCohortMethodData <- function(connectionDetails, file, exposureTable, outcomeTable, 
                                   cdmVersion, cdmDatabaseSchema, resultsDatabaseSchema, 
                                   hdpsCovariates, targetId, comparatorId, outcomeId,
                                   excludedCovariateConceptIds = NULL, 
                                   includedCovariateConceptIds = NULL, 
                                   deleteCovariatesSmallCount = 5) {
  
  sql <- SqlRender::readSql(file)
  sql <- SqlRender::renderSql(sql,
                              cdmDatabaseSchema = cdmDatabaseSchema,
                              resultsDatabaseSchema = resultsDatabaseSchema)$sql
  sql <- SqlRender::translateSql(sql, targetDialect = connectionDetails$dbms)$sql
  
  connection <- connect(connectionDetails)
  executeSql(connection, sql)
  
  if (hdpsCovariates) {
    covariateSettings = createHdpsCovariateSettings(useCovariateCohortIdIs1 = FALSE,
                                                    useCovariateDemographics = TRUE,
                                                    useCovariateDemographicsGender = TRUE,
                                                    useCovariateDemographicsRace = TRUE,
                                                    useCovariateDemographicsEthnicity = TRUE,
                                                    useCovariateDemographicsAge = TRUE,
                                                    useCovariateDemographicsYear = TRUE,
                                                    useCovariateDemographicsMonth = TRUE,
                                                    useCovariateConditionOccurrence = TRUE,
                                                    useCovariate3DigitIcd9Inpatient180d = TRUE,
                                                    useCovariate3DigitIcd9Inpatient180dMedF = TRUE,
                                                    useCovariate3DigitIcd9Inpatient180d75F = TRUE,
                                                    useCovariate3DigitIcd9Ambulatory180d = TRUE,
                                                    useCovariate3DigitIcd9Ambulatory180dMedF = TRUE,
                                                    useCovariate3DigitIcd9Ambulatory180d75F = TRUE,
                                                    useCovariateDrugExposure = TRUE,
                                                    useCovariateIngredientExposure180d = TRUE,
                                                    useCovariateIngredientExposure180dMedF = TRUE,
                                                    useCovariateIngredientExposure180d75F = TRUE,
                                                    useCovariateProcedureOccurrence = TRUE,
                                                    useCovariateProcedureOccurrenceInpatient180d = TRUE,
                                                    useCovariateProcedureOccurrenceInpatient180dMedF = TRUE,
                                                    useCovariateProcedureOccurrenceInpatient180d75F = TRUE,
                                                    useCovariateProcedureOccurrenceAmbulatory180d = TRUE,
                                                    useCovariateProcedureOccurrenceAmbulatory180dMedF = TRUE,
                                                    useCovariateProcedureOccurrenceAmbulatory180d75F = TRUE,
                                                    excludedCovariateConceptIds = excludedCovariateConceptIds,
                                                    includedCovariateConceptIds = includedCovariateConceptIds,
                                                    deleteCovariatesSmallCount = deleteCovariatesSmallCount)}
  if (!hdpsCovariates) {
    covariateSettings <- createCovariateSettings(useCovariateDemographics = TRUE,
                                                 useCovariateDemographicsAge = TRUE,
                                                 useCovariateDemographicsGender = TRUE,
                                                 useCovariateDemographicsRace = TRUE,
                                                 useCovariateDemographicsEthnicity = TRUE,
                                                 useCovariateDemographicsYear = TRUE,
                                                 useCovariateDemographicsMonth = TRUE,
                                                 useCovariateConditionOccurrence = TRUE,
                                                 useCovariateConditionOccurrence365d = TRUE,
                                                 useCovariateConditionOccurrence30d = TRUE,
                                                 useCovariateConditionOccurrenceInpt180d = TRUE,
                                                 useCovariateConditionEra = TRUE,
                                                 useCovariateConditionEraEver = TRUE,
                                                 useCovariateConditionEraOverlap = TRUE,
                                                 useCovariateConditionGroup = TRUE,
                                                 useCovariateDrugExposure = TRUE,
                                                 useCovariateDrugExposure365d = TRUE,
                                                 useCovariateDrugExposure30d = TRUE,
                                                 useCovariateDrugEra = TRUE,
                                                 useCovariateDrugEra365d = TRUE,
                                                 useCovariateDrugEra30d = TRUE,
                                                 useCovariateDrugEraEver = TRUE,
                                                 useCovariateDrugEraOverlap = TRUE,
                                                 useCovariateDrugGroup = TRUE,
                                                 useCovariateProcedureOccurrence = TRUE,
                                                 useCovariateProcedureOccurrence365d = TRUE,
                                                 useCovariateProcedureOccurrence30d = TRUE,
                                                 useCovariateProcedureGroup = TRUE,
                                                 useCovariateObservation = TRUE,
                                                 useCovariateObservation365d = TRUE,
                                                 useCovariateObservation30d = TRUE,
                                                 useCovariateObservationCount365d = TRUE,
                                                 useCovariateMeasurement365d = TRUE,
                                                 useCovariateMeasurement30d = TRUE,
                                                 useCovariateMeasurementCount365d = TRUE,
                                                 useCovariateMeasurementBelow = TRUE,
                                                 useCovariateMeasurementAbove = TRUE,
                                                 useCovariateConceptCounts = TRUE,
                                                 useCovariateRiskScores = TRUE,
                                                 useCovariateRiskScoresCharlson = TRUE,
                                                 useCovariateRiskScoresDCSI = TRUE,
                                                 useCovariateRiskScoresCHADS2 = TRUE,
                                                 useCovariateInteractionYear = FALSE,
                                                 useCovariateInteractionMonth = FALSE,
                                                 excludedCovariateConceptIds = excludedCovariateConceptIds,
                                                 includedCovariateConceptIds = includedCovariateConceptIds,
                                                 deleteCovariatesSmallCount = deleteCovariatesSmallCount)
  }
  
  cohortMethodData <- getDbCohortMethodData(connectionDetails = connectionDetails,
                                            cdmDatabaseSchema = cdmDatabaseSchema,
                                            oracleTempSchema = resultsDatabaseSchema,
                                            targetId = targetId,
                                            comparatorId = comparatorId,
                                            outcomeIds = outcomeId,
                                            studyStartDate = "",
                                            studyEndDate = "",
                                            exposureDatabaseSchema = resultsDatabaseSchema,
                                            exposureTable = exposureTable,
                                            outcomeDatabaseSchema = resultsDatabaseSchema,
                                            outcomeTable = outcomeTable,
                                            cdmVersion = cdmVersion,
                                            excludeDrugsFromCovariates = TRUE,
                                            firstExposureOnly = TRUE,
                                            removeDuplicateSubjects = TRUE,
                                            washoutPeriod = 180,
                                            covariateSettings = covariateSettings)
  return(cohortMethodData)
}
OHDSI/PropensityScoreEvaluation documentation built on May 12, 2019, 8:38 a.m.