82 lines
3.0 KiB
Plaintext
82 lines
3.0 KiB
Plaintext
---
|
|
title: "Oncology Extension"
|
|
output:
|
|
html_document:
|
|
toc: true
|
|
toc_depth: 5
|
|
toc_float: true
|
|
---
|
|
|
|
```{r setup, include=FALSE, eval=TRUE}
|
|
|
|
#todo figure out how to get the document dynamically without specifying the name
|
|
library(rmarkdown)
|
|
library(knitr)
|
|
library(kableExtra)
|
|
library(magrittr)
|
|
library(dplyr)
|
|
library(stringr)
|
|
|
|
```
|
|
|
|
## OMOP Common Data Model Oncology Extension Documentation
|
|
|
|
This documentation details the ratified proposal of adding an oncology extension to the OMOP CDM. These tables and fields will become part of the next release (v6.1) of the Common Data Model. Below are their descriptions; showing *additions* to the model only. For example, two fields were added to the MEASUREMENT table as part of this extension so only those two fields are listed below for MEASUREMENT instead of the entire table. For more information, please see the [OMOP Oncology wiki site](https://github.com/OHDSI/OncologyWG/wiki).
|
|
|
|
The DDLs for these tables are located on the Oncology github, as detailed in the [installation instructions](https://github.com/OHDSI/OncologyWG/wiki/Oncology-CDM-Extension-Installation).
|
|
|
|
|
|
```{r docLoopOnco, echo=FALSE, results='asis'}
|
|
tableSpecs <- read.csv("../inst/csv/OMOP_CDM_Oncology_Ex_Table_Level.csv", stringsAsFactors = FALSE)
|
|
cdmSpecs <- read.csv("../inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv", stringsAsFactors = FALSE)
|
|
|
|
tables <- tableSpecs$cdmTableName
|
|
|
|
cdmSpecsClean <- cdmSpecs %>%
|
|
dplyr::select(`CDM Table` = cdmTableName,
|
|
`CDM Field` = cdmFieldName,
|
|
`User Guide` = userGuidance,
|
|
`ETL Conventions` = etlConventions,
|
|
`Datatype` = cdmDatatype,
|
|
`Required` = isRequired,
|
|
`Primary Key` = isPrimaryKey,
|
|
`Foreign Key` = isForeignKey,
|
|
`FK Table` = fkTableName,
|
|
`FK Domain` = fkDomain,
|
|
`FK Class` = fkClass
|
|
)
|
|
|
|
cdmSpecsClean[is.na(cdmSpecsClean)] <- ""
|
|
tableSpecs[is.na(tableSpecs)] <- ""
|
|
|
|
for(tb in tables) {
|
|
cat("###", tb, "{.tabset .tabset-pills} \n\n")
|
|
|
|
tableInfo <- subset(tableSpecs, cdmTableName == tb)
|
|
cat("**Table Description**\n\n",tableInfo[,"tableDescription"], "\n\n")
|
|
|
|
if(!isTRUE(tableInfo[,"userGuidance"]=="")){
|
|
cat("**User Guide**\n\n",tableInfo[,"userGuidance"],"\n\n")
|
|
}
|
|
|
|
if(!isTRUE(tableInfo[,"etlConventions"]=="")){
|
|
cat("**ETL Conventions**\n\n",tableInfo[,"etlConventions"],"\n\n")
|
|
}
|
|
|
|
loopTable <- subset(cdmSpecsClean, `CDM Table` == tb)
|
|
loopTable <- subset(loopTable, select = -c(1))
|
|
|
|
print(kable(x = loopTable, align = "l", row.names = FALSE, format = "html", escape = FALSE) %>%
|
|
column_spec(1, bold = T) %>%
|
|
# column_spec(2, width = "3in", include_thead = T) %>%
|
|
# column_spec(3, width = "4in", include_thead = T) %>%
|
|
# column_spec(4:9, width = "1in", include_thead = T) %>%
|
|
kable_styling(c("condensed","hover"), position = "center", full_width = T, font_size = 13))
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
```
|