R
package extending OHDSI/StudyProtocols/SkeletonStudy
github
R
and return resultsR
library(devtools) install_github(c("OHDSI/SqlRender", "OHDSI/DatabaseConnector")) install_github("OHDSI/StudyProtocols/PGxDrugStudy") library(PGxDrugStudy) execute(...) email(from = "msuchard@ucla.edu", # Use your own dataDescription = "I hold no real data")
R
first_results <- loadOhdsiStudy(file = "Junk.rda")
OHDSI/StudyProtocols/SkeletonStudy
StudySpecifics.R
(example from PGxDrugStudy
)execute()
execute <- function(dbms, user, password, server, port = NULL, cdmSchema, resultsSchema, file = getDefaultStudyFileName(), ...) { # Open DB connection # Create R objects as results # Close connection # Save objects }
# Open DB connection connectionDetails <- DatabaseConnector::createConnectionDetails( dbms=dbms, server=server, user=user, password=password, schema=cdmSchema, port = port) conn <- DatabaseConnector::connect( connectionDetails)
# Count gender gender <- invokeSql("CountGender.sql", dbms, conn, "Executing gender count ...") # Get frequencies frequencies <- invokeSql("GetFrequencies.sql", dbms, conn, "Executing frequency count ...")
SELECT CONCEPT.concept_name, COUNT(DISTINCT(PERSON.person_id)) FROM DRUG_EXPOSURE, PERSON, CONCEPT WHERE DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE >= DATE '2009-01-01' AND DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE <= DATE '2012-12-31' AND DRUG_EXPOSURE.person_id = PERSON.person_id AND PERSON.gender_concept_id = CONCEPT.concept_id AND (YEAR(DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE) - PERSON.year_of_birth >= 0) AND (YEAR(DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE) - PERSON.year_of_birth < 14) GROUP BY CONCEPT.concept_name ORDER BY CONCEPT.concept_name
# List of R objects to save objectsToSave <- c("gender","frequencies") # Save results to disk saveOhdsiStudy(list = objectsToSave, file = file) # Clean up DBI::dbDisconnect(conn) # Package and return result # if return value is used result <- mget(objectsToSave) class(result) <- "OhdsiStudy" invisible(result) }
# Package must provide a default gmail address # to receive result files #' @keywords internal getDestinationAddress <- function() { return("nobody@gmail.com") } # Package must provide a default result file name #' @keywords internal getDefaultStudyFileName <- function() { return("OhdsiStudy.rda") } # Packge must provide default email subject #' @keywords internal getDefaultStudyEmailSubject <- function() { return("OHDSI Study Results") }
execute()
roxygenise()
DESCRIPTION
R CMD check
devtools::test(".")
R
library(devtools) install_github(c("OHDSI/SqlRender", "OHDSI/DatabaseConnector")) install_github("OHDSI/StudyProtocols/PGxDrugStudy") library(PGxDrugStudy) execute(...) email(from = "msuchard@ucla.edu", # Use your own dataDescription = "I hold no real data")
R
first_results <- loadOhdsiStudy(file = "Junk.rda")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.