names(inds) <-conceptSetIds[[1]]
conceptSetIds
inds <- lapply(conceptSetIds[[2]], getConcepts)
dir <- "\\wprdusmj12rcz\Epi\Mood_Haliperidol\project390\"
dir <- "S:Epi\Mood_Haliperidol\project390\"
dir <- "S:Epi/Mood_Haliperidol/project390/"
inds <- lapply(conceptSetIds[[2]], getConcepts)
inds
names(inds) <-conceptSetIds[[1]]
getConcepts <- function(conceptSetIdentifiers) {
results <- list()
length(results) <- length(conceptSetIdentifiers)
ind <- 0
for (conceptSetIdentifier in conceptSetIdentifiers){
ind <- ind+1
# get the concept set expression from the webapi
conceptSetExpressionUrl = paste("http://hix.jnj.com:8080/WebAPI/conceptset/", conceptSetIdentifier, "/expression", sep = "")
## http://hix.jnj.com:8080/WebAPI/VOCAB/vocabulary/lookup/mapped
expression <- httr::content(httr::GET(conceptSetExpressionUrl),"text")
result <- RJSONIO::fromJSON(expression)
concepts <- t(as.data.frame(lapply(result[[1]], function(x) c(x$concept$CONCEPT_ID,
x$concept$CONCEPT_CODE,
x$concept$CONCEPT_NAME,
x$concept$VOCABULARY_ID,
x$isExcluded, x$includeDescendants,
x$includeMapped)) ))
concepts <- as.data.frame(concepts)
rownames(concepts) <- NULL
colnames(concepts) <- c('concept_id','concept_code','concept_name','vocabulary_id',
'exclude','descendants','mapped')
concepts[,'exclude'] <- ifelse(concepts[,'exclude']=='TRUE', 1, 0)
concepts[,'descendants'] <- ifelse(concepts[,'descendants']=='TRUE', 1, 0)
concepts[,'mapped'] <- ifelse(concepts[,'mapped']=='TRUE', 1, 0)
# save to temp table
connectionDetails <- createConnectionDetails(dbms="pdw",
server="JRDUSAPSCTL01",
port=17001,
user=NULL,
password=NULL)
conn <- connect(connectionDetails)
DatabaseConnector::insertTable(conn, 'scratch.dbo.390_concepts', concepts)#, tempTable = T)
# run cocnept_extract sql using temp table
sql <- SqlRender::readSql(file.path(dir,'concept_extract.sql'))
sql <- SqlRender::renderSql(sql, cdm='Vocabulary')$sql
sql <- SqlRender::translateSql(sql, sourceDialect = 'sql server', targetDialect = 'pdw')$sql
results[[ind]] <- DatabaseConnector::querySql(conn,sql)
}
return(results)
}
conceptSetIds <- list(name=c(#'Agitation, aggression or psychotic Symptoms in dementia together',
'Agitation, aggression or psychotic Symptoms in dementia sep',
'Tic disorder',
'Schizophrenia',
'Aggression in children with autism or developmental disorders'),
code=list(#2349,
c(2478,2479), 2348, 2347,c(2361, 2362)
))
# put concept sets into inds
inds <- lapply(conceptSetIds[[2]], getConcepts)
getConcepts <- function(conceptSetIdentifiers) {
results <- list()
length(results) <- length(conceptSetIdentifiers)
ind <- 0
for (conceptSetIdentifier in conceptSetIdentifiers){
ind <- ind+1
# get the concept set expression from the webapi
conceptSetExpressionUrl = paste("http://hix.jnj.com:8080/WebAPI/conceptset/", conceptSetIdentifier, "/expression", sep = "")
## http://hix.jnj.com:8080/WebAPI/VOCAB/vocabulary/lookup/mapped
expression <- httr::content(httr::GET(conceptSetExpressionUrl),"text")
result <- RJSONIO::fromJSON(expression)
concepts <- t(as.data.frame(lapply(result[[1]], function(x) c(x$concept$CONCEPT_ID,
x$concept$CONCEPT_CODE,
x$concept$CONCEPT_NAME,
x$concept$VOCABULARY_ID,
x$isExcluded, x$includeDescendants,
x$includeMapped)) ))
concepts <- as.data.frame(concepts)
rownames(concepts) <- NULL
colnames(concepts) <- c('concept_id','concept_code','concept_name','vocabulary_id',
'exclude','descendants','mapped')
concepts[,'exclude'] <- ifelse(concepts[,'exclude']=='TRUE', 1, 0)
concepts[,'descendants'] <- ifelse(concepts[,'descendants']=='TRUE', 1, 0)
concepts[,'mapped'] <- ifelse(concepts[,'mapped']=='TRUE', 1, 0)
# save to temp table
connectionDetails <- createConnectionDetails(dbms="pdw",
server="JRDUSAPSCTL01",
port=17001,
user=NULL,
password=NULL)
conn <- connect(connectionDetails)
DatabaseConnector::insertTable(conn, 'scratch.dbo.concepts_390', concepts)#, tempTable = T)
# run cocnept_extract sql using temp table
sql <- SqlRender::readSql(file.path(dir,'concept_extract.sql'))
sql <- SqlRender::renderSql(sql, cdm='Vocabulary')$sql
sql <- SqlRender::translateSql(sql, sourceDialect = 'sql server', targetDialect = 'pdw')$sql
results[[ind]] <- DatabaseConnector::querySql(conn,sql)
}
return(results)
}
conceptSetIds <- list(name=c(#'Agitation, aggression or psychotic Symptoms in dementia together',
'Agitation, aggression or psychotic Symptoms in dementia sep',
'Tic disorder',
'Schizophrenia',
'Aggression in children with autism or developmental disorders'),
code=list(#2349,
c(2478,2479), 2348, 2347,c(2361, 2362)
))
# put concept sets into inds
inds <- lapply(conceptSetIds[[2]], getConcepts)
names(inds) <-conceptSetIds[[1]]
getConcepts <- function(conceptSetIdentifiers) {
results <- list()
length(results) <- length(conceptSetIdentifiers)
ind <- 0
for (conceptSetIdentifier in conceptSetIdentifiers){
ind <- ind+1
# get the concept set expression from the webapi
conceptSetExpressionUrl = paste("http://hix.jnj.com:8080/WebAPI/conceptset/", conceptSetIdentifier, "/expression", sep = "")
## http://hix.jnj.com:8080/WebAPI/VOCAB/vocabulary/lookup/mapped
expression <- httr::content(httr::GET(conceptSetExpressionUrl),"text")
result <- RJSONIO::fromJSON(expression)
concepts <- t(as.data.frame(lapply(result[[1]], function(x) c(x$concept$CONCEPT_ID,
x$concept$CONCEPT_CODE,
x$concept$CONCEPT_NAME,
x$concept$VOCABULARY_ID,
x$isExcluded, x$includeDescendants,
x$includeMapped)) ))
concepts <- as.data.frame(concepts)
rownames(concepts) <- NULL
colnames(concepts) <- c('concept_id','concept_code','concept_name','vocabulary_id',
'exclude','descendants','mapped')
concepts[,'exclude'] <- ifelse(concepts[,'exclude']=='TRUE', 1, 0)
concepts[,'descendants'] <- ifelse(concepts[,'descendants']=='TRUE', 1, 0)
concepts[,'mapped'] <- ifelse(concepts[,'mapped']=='TRUE', 1, 0)
# save to temp table
connectionDetails <- createConnectionDetails(dbms="pdw",
server="JRDUSAPSCTL01",
port=17001,
user=NULL,
password=NULL)
conn <- connect(connectionDetails)
DatabaseConnector::insertTable(conn, 'scratch.dbo.concepts_390', concepts)#, tempTable = T)
# run cocnept_extract sql using temp table
sql <- SqlRender::readSql(file.path(dir,'concept_extract.sql'))
sql <- SqlRender::renderSql(sql, cdm='Vocabulary')$sql
sql <- SqlRender::translateSql(sql, sourceDialect = 'sql server', targetDialect = 'pdw')$sql
results[[ind]] <- DatabaseConnector::querySql(conn,sql)
}
return(results)
}
conceptSetIds <- list(name=c(#'Agitation, aggression or psychotic Symptoms in dementia together',
'Agitation, aggression or psychotic Symptoms in dementia sep',
'Tic disorder',
'Schizophrenia',
'Aggression in children with autism or developmental disorders'),
code=list(#2349,
c(2478,2479), 2348, 2347,c(2361, 2362)
))
# put concept sets into inds
inds <- lapply(conceptSetIds[[2]], getConcepts)
names(inds) <-conceptSetIds[[1]]
getConcepts <- function(conceptSetIdentifiers) {
results <- list()
length(results) <- length(conceptSetIdentifiers)
ind <- 0
for (conceptSetIdentifier in conceptSetIdentifiers){
ind <- ind+1
# get the concept set expression from the webapi
conceptSetExpressionUrl = paste("http://hix.jnj.com:8080/WebAPI/conceptset/", conceptSetIdentifier, "/expression", sep = "")
## http://hix.jnj.com:8080/WebAPI/VOCAB/vocabulary/lookup/mapped
expression <- httr::content(httr::GET(conceptSetExpressionUrl),"text")
result <- RJSONIO::fromJSON(expression)
concepts <- t(as.data.frame(lapply(result[[1]], function(x) c(x$concept$CONCEPT_ID,
x$concept$CONCEPT_CODE,
x$concept$CONCEPT_NAME,
x$concept$VOCABULARY_ID,
x$isExcluded, x$includeDescendants,
x$includeMapped)) ))
concepts <- as.data.frame(concepts)
rownames(concepts) <- NULL
colnames(concepts) <- c('concept_id','concept_code','concept_name','vocabulary_id',
'exclude','descendants','mapped')
concepts[,'exclude'] <- ifelse(concepts[,'exclude']=='TRUE', 1, 0)
concepts[,'descendants'] <- ifelse(concepts[,'descendants']=='TRUE', 1, 0)
concepts[,'mapped'] <- ifelse(concepts[,'mapped']=='TRUE', 1, 0)
# save to temp table
connectionDetails <- createConnectionDetails(dbms="pdw",
server="JRDUSAPSCTL01",
port=17001,
user=NULL,
password=NULL)
conn <- connect(connectionDetails)
DatabaseConnector::insertTable(conn, 'concepts', concepts, tempTable = T)
# run cocnept_extract sql using temp table
sql <- SqlRender::readSql(file.path(dir,'concept_extract.sql'))
sql <- SqlRender::renderSql(sql, cdm='Vocabulary')$sql
sql <- SqlRender::translateSql(sql, sourceDialect = 'sql server', targetDialect = 'pdw')$sql
results[[ind]] <- DatabaseConnector::querySql(conn,sql)
}
return(results)
}
conceptSetIds <- list(name=c(#'Agitation, aggression or psychotic Symptoms in dementia together',
'Agitation, aggression or psychotic Symptoms in dementia sep',
'Tic disorder',
'Schizophrenia',
'Aggression in children with autism or developmental disorders'),
code=list(#2349,
c(2478,2479), 2348, 2347,c(2361, 2362)
))
# put concept sets into inds
inds <- lapply(conceptSetIds[[2]], getConcepts)
getConcepts <- function(conceptSetIdentifiers) {
results <- list()
length(results) <- length(conceptSetIdentifiers)
ind <- 0
for (conceptSetIdentifier in conceptSetIdentifiers){
ind <- ind+1
# get the concept set expression from the webapi
conceptSetExpressionUrl = paste("http://hix.jnj.com:8080/WebAPI/conceptset/", conceptSetIdentifier, "/expression", sep = "")
## http://hix.jnj.com:8080/WebAPI/VOCAB/vocabulary/lookup/mapped
expression <- httr::content(httr::GET(conceptSetExpressionUrl),"text")
result <- RJSONIO::fromJSON(expression)
concepts <- t(as.data.frame(lapply(result[[1]], function(x) c(x$concept$CONCEPT_ID,
x$concept$CONCEPT_CODE,
x$concept$CONCEPT_NAME,
x$concept$VOCABULARY_ID,
x$isExcluded, x$includeDescendants,
x$includeMapped)) ))
concepts <- as.data.frame(concepts)
rownames(concepts) <- NULL
colnames(concepts) <- c('concept_id','concept_code','concept_name','vocabulary_id',
'exclude','descendants','mapped')
concepts[,'exclude'] <- ifelse(concepts[,'exclude']=='TRUE', 1, 0)
concepts[,'descendants'] <- ifelse(concepts[,'descendants']=='TRUE', 1, 0)
concepts[,'mapped'] <- ifelse(concepts[,'mapped']=='TRUE', 1, 0)
# save to temp table
connectionDetails <- createConnectionDetails(dbms="pdw",
server="JRDUSAPSCTL01",
port=17001,
user=NULL,
password=NULL)
conn <- connect(connectionDetails)
DatabaseConnector::insertTable(conn, 'scratch.dbo.concepts_390', concepts)#, tempTable = T)
# run cocnept_extract sql using temp table
sql <- SqlRender::readSql(file.path(dir,'concept_extract.sql'))
sql <- SqlRender::renderSql(sql, cdm='Vocabulary')$sql
sql <- SqlRender::translateSql(sql, sourceDialect = 'sql server', targetDialect = 'pdw')$sql
results[[ind]] <- DatabaseConnector::querySql(conn,sql)
}
return(results)
}
conceptSetIds <- list(name=c(#'Agitation, aggression or psychotic Symptoms in dementia together',
'Agitation, aggression or psychotic Symptoms in dementia sep',
'Tic disorder',
'Schizophrenia',
'Aggression in children with autism or developmental disorders'),
code=list(#2349,
c(2478,2479), 2348, 2347,c(2361, 2362)
))
# put concept sets into inds
inds <- lapply(conceptSetIds[[2]], getConcepts)
library(SqlRender)
library(DatabaseConnector)
library(stringr)
library(openxlsx)
cohortIds <- c(2520, 2521)
buildDatabase <- function(id, name, schema)
{
dataSource <- {};
dataSource$id = id;
dataSource$name = name;
dataSource$schema = schema;
return(dataSource);
}
dbList <- list(
buildDatabase("CPRD_V423", "CDM_CPRD_V423", "dbo"),
buildDatabase("JMDC_V429", "CDM_JMDC_V429", "dbo"),
buildDatabase("OPTUMEXTSES_V427", "CDM_OPTUM_EXTENDED_SES_V427", "dbo"),
buildDatabase("PREMIER_V428", "CDM_PREMIER_V428", "dbo"),
buildDatabase("TRUVENCCAE_V418", "CDM_TRUVEN_CCAE_V418", "dbo"),
buildDatabase("TRUVENMDCD_V432", "CDM_TRUVEN_MDCD_V432", "dbo"),
buildDatabase("TRUVENMDCR_V415", "CDM_TRUVEN_MDCR_V415", "dbo")
);
connectionDetails <- createConnectionDetails(dbms = "pdw", server = "JRDUSAPSCTL01",
port = 17001, user = "hix_reader", password = "reader1!")
outputExcel <- "Output/ExcelFiles/PP_Atlas"
for (cohortId in cohortIds)
{
filePath <- paste(paste(outputExcel, cohortId, sep="/", collapse=""), ".xlsx", sep="", collapse="")
if (file.exists(filePath))
{
file.remove(filePath)
}
wb <- createWorkbook()
for (db in dbList)
{
addWorksheet(wb, db$id)
pp_sql <- readSql("sql/PP_Atlas.sql");
pp_sql <- renderSql(pp_sql, cdmDatabaseSchema = paste(db$name, db$schema, sep=".", collapse=""), cohort_definition_id = cohortId,
urlPrefix = paste("'http://hix.jnj.com/atlas/#/profiles",
db$id, cohortId, "'", sep="/", collapse=""))$sql;
conn <- connect(connectionDetails)
pp_data <- querySql(conn, pp_sql)
hs <- createStyle(textDecoration = "Bold")
writeData(wb, sheet=db$id, pp_data,
startCol = 1, startRow = 1, colNames = TRUE, rowNames = FALSE, headerStyle = hs)
setColWidths(wb, sheet = db$id, cols = 1:5, widths = "auto")
}
saveWorkbook(wb, filePath, overwrite = TRUE)
}
install_github("ohdsi/Aphrodite")
install_github("ohdsi/Aphrodite")
library(OhdsiRTools)
install_github("ohdsi/Aphrodite")
install.packages("ohdsi/Aphrodite")
install.packages("devtools")
library("devtools")
install_github("ohdsi/Aphrodite")
install.packages(chron)
install.packages("chron")
install_github("ohdsi/Aphrodite")
install_github("OHDSI/CdmAtlasCutover")
library(devtools)
install_github("OHDSI/CdmAtlasCutover")
repoConnectionDetails <- createConnectionDetails(dbms = "sql server",
server = "rndusrdhit01",
port = 1433, schema = "ohdsi_repository.dbo")
oldCdmSources <- list(
buildCdmSource(sourceKey = "DEATHSUBSET_CCAE")
)
newCdmSources <- list(
buildCdmSource(sourceKey = "DEATHSUBSET_CCAE", sourceName = "Death Subset - Truven CCAE",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae", resultsDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae",
vocabDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae"),
buildCdmSource(sourceKey = "DEATHSUBSET_MDCR", sourceName = "Death Subset - Truven MDCR",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.truven_mdcr",
resultsDatabaseSchema = "CDM_DEATH_SUBSET.truven_mdcr",
vocabDatabaseSchema = "VOCABULARY_20161218.dbo"),
buildCdmSource(sourceKey = "DEATHSUBSET_OPTUM", sourceName = "Death Subset - Optum Extended DOD",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.optum_extended_dod",
resultsDatabaseSchema = "CDM_DEATH_SUBSET.optum_extended_dod",
vocabDatabaseSchema = "VOCABULARY_20161218.dbo")
)
library(CdmAtlasCutover)
oldCdmSources <- list(
buildCdmSource(sourceKey = "DEATHSUBSET_CCAE")
)
newCdmSources <- list(
buildCdmSource(sourceKey = "DEATHSUBSET_CCAE", sourceName = "Death Subset - Truven CCAE",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae", resultsDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae",
vocabDatabaseSchema = "CDM_DEATH_SUBSET.truven_ccae"),
buildCdmSource(sourceKey = "DEATHSUBSET_MDCR", sourceName = "Death Subset - Truven MDCR",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.truven_mdcr",
resultsDatabaseSchema = "CDM_DEATH_SUBSET.truven_mdcr",
vocabDatabaseSchema = "VOCABULARY_20161218.dbo"),
buildCdmSource(sourceKey = "DEATHSUBSET_OPTUM", sourceName = "Death Subset - Optum Extended DOD",
dbms = "pdw",
connectionString = "jdbc:sqlserver://JRDUSAPSCTL01:17001;databaseName=CDM_DEATH_SUBSET;user=hix_writer;password=writer1!",
cdmDatabaseSchema = "CDM_DEATH_SUBSET.optum_extended_dod",
resultsDatabaseSchema = "CDM_DEATH_SUBSET.optum_extended_dod",
vocabDatabaseSchema = "VOCABULARY_20161218.dbo")
)
removeCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = oldCdmSources, sqlOnly = TRUE)
createOhdsiResultsTables(cdmSources = newCdmSources, sqlOnly = TRUE)
insertCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = newCdmSources, sourceIdx = TRUE,
daimonIdx = TRUE, sqlOnly = TRUE)
repoConnectionDetails <- createConnectionDetails(dbms = "sql server",
server = "rndusrdhit01",
port = 1433, schema = "ohdsi_repository.dbo")
removeCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = oldCdmSources, sqlOnly = TRUE)
removeCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = oldCdmSources, sqlOnly = TRUE)
insertCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = newCdmSources, sourceIdx = TRUE,
daimonIdx = TRUE, sqlOnly = TRUE)
install_github("OHDSI/CdmAtlasCutover", force=TRUE)
library(CdmAtlasCutover)
# Initialize CDM database list, with all the CDMs to be cut over
repoConnectionDetails <- createConnectionDetails(dbms = "sql server",
server = "rndusrdhit01",
port = 1433, schema = "ohdsi_repository.dbo")
oldCdmSources <- list(
buildCdmSource(sourceKey = "DEATHSUBSET_CCAE")
)
removeCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = oldCdmSources, sqlOnly = TRUE)
createOhdsiResultsTables(cdmSources = newCdmSources, sqlOnly = TRUE)
insertCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = newCdmSources, sourceIdx = TRUE,
daimonIdx = TRUE, sqlOnly = TRUE)
setwd("C:/Git/CommonDataModel/Documentation")
render("GlossaryofTerms.md","pdf_document")
library(rmarkdown)
render("GlossaryofTerms.md","pdf_document")
render("GlossaryofTerms.md",pdf_document(fig_width = 6.5))
render("GlossaryofTerms.md",pdf_document(fig_width = 6.5))
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd', pdf_document(includes = includes(after_body = "footer.txt")))
rmarkdown::render('report.Rmd', pdf_document(includes = includes(after_body = "footer.txt")))
rmarkdown::render('report.Rmd', pdf_document(includes = includes(after_body = "footer.txt")))
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
---
title: "OMOP Common Data Model v5.1 Specifications"
author: "Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan and Clair Blacketer"
date: "`r Sys.Date()`"
output:
pdf_document:
number_sections: yes
toc: yes
linkcolor: blue
---
```{r child = 'C:/Git/CommonDataModel.wiki/License.md'}
```
```{r child = 'C:/Git/CommonDataModel.wiki/Background/TheRoleoftheCommonDataModel.md'}
```
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
rmarkdown::render('report.Rmd')
