diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..21256661 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/R/createDdl.R b/R/createDdl.R index 3f17cb3b..00aad5a2 100644 --- a/R/createDdl.R +++ b/R/createDdl.R @@ -71,7 +71,7 @@ createDdl <- function(cdmVersion){ if ('person_id' %in% fieldNames){ hintContent <- "--HINT DISTRIBUTE_ON_KEY(person_id)" } else { - hintContent <- "--HINT DISTRIBUTE_ON_KEY(RANDOM)" + hintContent <- "--HINT DISTRIBUTE_ON_RANDOM" } # Add SORT_ON_KEY if table is in sortKeyMap and has all the sort fields @@ -148,8 +148,15 @@ createPrimaryKeys <- function(cdmVersion){ subquery <- subset(primaryKeys, cdmFieldName==pkField) - sql_result <- c(sql_result, paste0("\nALTER TABLE @cdmDatabaseSchema.", subquery$cdmTableName, " ADD CONSTRAINT xpk_", subquery$cdmTableName, " PRIMARY KEY NONCLUSTERED (", subquery$cdmFieldName , ");\n")) - + # allow nullable columns to be referenced in FKs + # by using UNIQUE constraint instead of PK + # this is particularly needed for vocabulary.vocabulary_id column + # to maintain convention that vocabulary version is stored in a row with vocabulary_id = NULL + if (subquery$isRequired == "true" || subquery$isRequired == "Yes" || subquery$isRequired == TRUE) { + sql_result <- c(sql_result, paste0("\nALTER TABLE @cdmDatabaseSchema.", subquery$cdmTableName, " ADD CONSTRAINT xpk_", subquery$cdmTableName, " PRIMARY KEY NONCLUSTERED (", subquery$cdmFieldName , ");\n")) + } else { + sql_result <- c(sql_result, paste0("\nALTER TABLE @cdmDatabaseSchema.", subquery$cdmTableName, " ADD CONSTRAINT unq_", subquery$cdmTableName, " UNIQUE (", subquery$cdmFieldName, ");\n")) + } } return(paste0(sql_result, collapse = "")) } @@ -168,13 +175,13 @@ createForeignKeys <- function(cdmVersion){ cdmSpecs <- read.csv(cdmFieldCsvLoc, stringsAsFactors = FALSE) foreignKeys <- subset(cdmSpecs, isForeignKey == "true" | isForeignKey == "Yes" | isForeignKey == TRUE) - + sql_result <- c(paste0("--@targetDialect CDM Foreign Key Constraints for OMOP Common Data Model ", cdmVersion, "\n")) - + # Only process if there are foreign keys if (nrow(foreignKeys) > 0) { foreignKeys$key <- paste0(foreignKeys$cdmTableName, "_", foreignKeys$cdmFieldName) - + for (foreignKey in foreignKeys$key){ subquery <- subset(foreignKeys, foreignKeys$key==foreignKey) diff --git a/R/listSupportedVersions.R b/R/listSupportedVersions.R index 870ca6d7..aedfcd6c 100644 --- a/R/listSupportedVersions.R +++ b/R/listSupportedVersions.R @@ -3,7 +3,7 @@ #' @return A character vector containing the supported Common Data Model (CDM) versions in major.minor format. #' @export listSupportedVersions <- function() { - supportedVersions <- c("5.3", "5.4") + supportedVersions <- c("5.3", "5.4", "5.5") return(supportedVersions) } diff --git a/R/writeDDL.R b/R/writeDDL.R index 4524b670..c97e6faf 100644 --- a/R/writeDDL.R +++ b/R/writeDDL.R @@ -44,10 +44,11 @@ writeDdl <- function(targetDialect, cdmVersion, outputfolder, cdmDatabaseSchema sql <- createDdl(cdmVersion) sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect) sql <- SqlRender::translate(sql, targetDialect = targetDialect) + sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF # Post-processing: remove conditional markers and handle dialects lines <- strsplit(sql, "\n")[[1]] - + if (tolower(targetDialect) == "redshift") { # For Redshift: remove conditional markers but keep the HINT lines lines <- lines[!grepl("\\{#?if|\\{/if\\}", lines)] @@ -55,7 +56,7 @@ writeDdl <- function(targetDialect, cdmVersion, outputfolder, cdmDatabaseSchema # For non-Redshift: remove HINT directives and conditional markers lines <- lines[!grepl("--HINT|\\{#?if|\\{/if\\}", lines)] } - + sql <- paste(lines, collapse = "\n") filename <- paste("OMOPCDM", gsub(" ", "_", targetDialect), cdmVersion, "ddl.sql", sep = "_") @@ -84,6 +85,7 @@ writePrimaryKeys <- function(targetDialect, cdmVersion, outputfolder, cdmDatabas sql <- createPrimaryKeys(cdmVersion) sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect) sql <- SqlRender::translate(sql, targetDialect = targetDialect) + sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF # Post-processing: remove any conditional markers that may have been added lines <- strsplit(sql, "\n")[[1]] @@ -115,6 +117,7 @@ writeForeignKeys <- function(targetDialect, cdmVersion, outputfolder, cdmDatabas sql <- createForeignKeys(cdmVersion) sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect) sql <- SqlRender::translate(sql, targetDialect = targetDialect) + sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF # Post-processing: remove any conditional markers that may have been added lines <- strsplit(sql, "\n")[[1]] @@ -147,6 +150,7 @@ writeIndex <- function(targetDialect, cdmVersion, outputfolder, cdmDatabaseSchem sql <- readr::read_file(system.file(file.path("sql", "sql_server", sqlFilename), package = "CommonDataModel")) sql <- SqlRender::render(sql, targetDialect = targetDialect, cdmDatabaseSchema = cdmDatabaseSchema) sql <- SqlRender::translate(sql, targetDialect = targetDialect) + sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF filename <- paste("OMOPCDM", gsub(" ", "_", targetDialect), cdmVersion, "indices.sql", sep = "_") # Use writeLines instead of SqlRender::writeSql to avoid line wrapping diff --git a/README.md b/README.md index 4e51d725..29ca05b4 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,14 @@ ---- -title: "Readme" -output: - pdf_document: - toc: yes - html_document: - toc: yes - toc_float: yes ---- +# CommonDataModel -# How to Use this Repository +## How to Use this Repository -If you are looking for the SQL DDLs and don't wish to generate them through R, they can be accessed [here](https://github.com/OHDSI/CommonDataModel/tree/v5.4.0/inst/ddl/5.4). +If you are looking for the SQL DDLs and don't wish to generate them through R, they can be accessed [here](https://github.com/OHDSI/CommonDataModel/tree/main/inst/ddl/5.5). If you are looking for information on how to submit a bugfix, skip to the [next section](https://github.com/OHDSI/CommonDataModel#bug-fixesmodel-updates) ## Generating the DDLs -This module will demonstrate two different ways the CDM R package can be used to create the CDM tables in your environment. First, it uses the `buildRelease` function to create the DDL files on your machine, intended for end users that wish to generate these scripts from R without the need to clone or download the source code from github. The SQL scripts that are created through this process are available as zip files as part of the [latest release](https://github.com/OHDSI/CommonDataModel/releases/tag/v5.4.0). They are also available on the master branch [here](https://github.com/OHDSI/CommonDataModel/tree/v5.4.0/inst/ddl/5.4). +This module will demonstrate two different ways the CDM R package can be used to create the CDM tables in your environment. First, it uses the `buildRelease` function to create the DDL files on your machine, intended for end users that wish to generate these scripts from R without the need to clone or download the source code from github. The SQL scripts that are created through this process are available as zip files as part of the [latest release](https://github.com/OHDSI/CommonDataModel/releases/latest). They are also available on the master branch [here](https://github.com/OHDSI/CommonDataModel/tree/main/inst/ddl/5.5). Second, the script shows the `executeDdl` function that will connect up to your SQL client directly (assuming your dbms is one of the supported dialects) and instantiate the tables through R. @@ -40,30 +32,34 @@ devtools::install_github("OHDSI/CommonDataModel") ## 1. Use the `buildRelease` function This function will generate the text files in the dialect you choose, putting the output files in the folder you specify. -``` -CommonDataModel::buildRelease(cdmVersions = "5.4", - targetDialects = "postgresql", - outputfolder = "/pathToOutput") +```R +CommonDataModel::buildRelease( + cdmVersions = "5.5", + targetDialects = "postgresql", + outputfolder = "/pathToOutput" +) ``` ## 2. Use the `executeDdl` function If you have an empty schema ready to go, the package will connect and instantiate the tables for you. To start, you need to download DatabaseConnector in order to connect to your database. -``` +```R devtools::install_github("ohdsi/DatabaseConnector") -cd <- DatabaseConnector::createConnectionDetails(dbms = "postgresql", - server = "localhost/ohdsi", - user = "postgres", - password = "postgres", - pathToDriver = "/pathToDriver" - ) - -CommonDataModel::executeDdl(connectionDetails = cd, - cdmVersion = "5.4", - cdmDatabaseSchema = "ohdsi_demo" - ) +cd <- DatabaseConnector::createConnectionDetails( + dbms = "postgresql", + server = "localhost/ohdsi", + user = "postgres", + password = "postgres", + pathToDriver = "/pathToDriver" +) + +CommonDataModel::executeDdl( + connectionDetails = cd, + cdmVersion = "5.5", + cdmDatabaseSchema = "ohdsi_demo" +) ``` @@ -73,7 +69,7 @@ CommonDataModel::executeDdl(connectionDetails = cd, *Just looking for the latest version of the CDM and you don't care about the R package? Please visit the [releases tab](https://github.com/OHDSI/CommonDataModel/tags) and download the latest. It will include the DDLs for all currently supported versions of the CDM for all supported SQL dialects.* -Typically, new CDM versions and updates are decided by the CDM working group (details to join meetings on [homepage](https://ohdsi.github.io/CommonDataModel/)). These changes are tracked as issues in the [github repo](https://github.com/OHDSI/CommonDataModel/issues). Once the working group decides which changes make up a version, all the corresponding issues should be tagged with a version number, e.g. v5.4, and added to a project board. +Typically, new CDM versions and updates are decided by the CDM working group (details to join meetings on [homepage](https://ohdsi.github.io/CommonDataModel/)). These changes are tracked as issues in the [github repo](https://github.com/OHDSI/CommonDataModel/issues). Once the working group decides which changes make up a version, all the corresponding issues should be tagged with a version number, e.g. v5.5, and added to a project board. ## Step 0 @@ -103,4 +99,4 @@ Once all changes are made to the csvs and package as needed, rebuild the package **NOTE ABOUT CDM v6.0** ==================== -Please be aware that v6.0 of the OMOP CDM is **not** fully supported by the OHDSI suite of tools and methods. The major difference in CDM v5.3 and CDM v6.0 involves switching the \*_datetime fields to mandatory rather than optional. This switch radically changes the assumptions related to exposure and outcome timing. Rather than move forward with v6.0, please transform your data to [CDM v5.4](https://github.com/OHDSI/CommonDataModel/releases/tag/v5.4.0) until such time that we as a community have fully defined the role of dates vs datetimes both when it comes to the model and the evidence we generate. +Please be aware that v6.0 of the OMOP CDM is **not** fully supported by the OHDSI suite of tools and methods. The major difference in CDM v5.3 and CDM v6.0 involves switching the `\*_datetime` fields to mandatory rather than optional. This switch radically changes the assumptions related to exposure and outcome timing. Rather than move forward with v6.0, please transform your data to CDM v5.5 until such time that we as a community have fully defined the role of dates vs datetimes both when it comes to the model and the evidence we generate. diff --git a/docs/background.html b/docs/background.html index 3dd85c31..28d5aa02 100644 --- a/docs/background.html +++ b/docs/background.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdm30.html b/docs/cdm30.html index 9bb56147..e37b92bd 100644 --- a/docs/cdm30.html +++ b/docs/cdm30.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdm53.html b/docs/cdm53.html index c8bfc9db..ebdb3c6e 100644 --- a/docs/cdm53.html +++ b/docs/cdm53.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • @@ -443,9 +459,7 @@

    On this page

    @@ -529,8 +527,6 @@

    OMOP CDM v5.3

    Below is the specification document for the OMOP Common Data Model, v5.3 (previously v5.3.1). Each table is represented with a high-level description and ETL conventions that should be followed. This is continued with a discussion of each field in each table, any conventions related to the field, and constraints that should be followed (like primary key, foreign key, etc). All tables should be instantiated in a CDM instance but do not need to be populated. Similarly, fields that are not required should exist in the CDM table but do not need to be populated. Should you have questions please feel free to visit the forums or the github issue page.

    Special Note This documentation previously referenced v5.3.1. During the OHDSI/CommonDataModel Hack-A-Thon that occurred on August 18, 2021 the decision was made to align documentation with the minor releases. Hot fixes and minor.minor release can be found through the searching of tags.

    -
    -

    Clinical Data Tables

    person

    Table Description

    @@ -7182,9 +7178,6 @@

    fact

    -
    -
    -

    Health System Data Tables

    location

    Table Description

    @@ -8029,9 +8022,6 @@

    provider

    -
    -
    -

    Health Economics Data Tables

    payer_plan_period

    Table Description

    @@ -9167,9 +9157,6 @@

    cost

    -
    -
    -

    Standardized Derived Elements

    drug_era

    Table Description

    @@ -9825,9 +9812,6 @@

    conditio

    -
    -
    -

    Metadata Tables

    metadata

    Table Description

    @@ -10218,9 +10202,9 @@

    cdm_source< cdm_etl_reference +Version of the ETL script used. e.g. link to the Git release -Version of the ETL script used. e.g. link to the Git release varchar(255) @@ -10347,9 +10331,6 @@

    cdm_source<

    -
    -
    -

    Vocabulary Tables

    concept

    Table Description

    @@ -12756,7 +12737,6 @@

    a -

    diff --git a/docs/cdm531.html b/docs/cdm531.html index 926a5a6f..09cc1055 100644 --- a/docs/cdm531.html +++ b/docs/cdm531.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdm53Changes.html b/docs/cdm53Changes.html new file mode 100644 index 00000000..3b061893 --- /dev/null +++ b/docs/cdm53Changes.html @@ -0,0 +1,1450 @@ + + + + + + + + + +Changes v5.2 → v5.3 – OMOP Common Data Model + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    + + +
    + + + +
    + + +
    +
    +

    Changes v5.2 → v5.3

    +
    + + + +
    + + + + +
    + + + +
    + + +

    For a full description of each table and field listed here, please see the CDM v5.3 specification.

    +

    Notation:

    + +
    +

    Summary

    +
      +
    • 18 fields added to existing OMOP tables, all non-required.
    • +
    • 2 tables added to the model: VISIT_DETAIL and METADATA.
    • +
    • Visit-level provenance was expanded across clinical event tables with the addition of visit_detail_id.
    • +
    +
    +
    +

    PROCEDURE_OCCURRENCE

    +
      +
    • + visit_detail_id
    • +
    • qualifier_source_value modifier_source_value
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    DRUG_EXPOSURE

    +
      +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    DEVICE_EXPOSURE

    +
      +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    CONDITION_OCCURRENCE

    +
      +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    MEASUREMENT

    +
      +
    • + measurement_time
    • +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    measurement_timevarchar(10)NoNoNo
    visit_detail_idintegerNoNoYes
    +
    +
    +

    OBSERVATION

    +
      +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    NOTE

    +
      +
    • + visit_detail_id
    • +
    + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerNoNoYes
    +
    +
    +

    NOTE_NLP

    +
      +
    • note_nlp_id Changed from big integer to integer
    • +
    • nlp_date_time nlp_datetime
    • +
    +
    +
    +

    PAYER_PLAN_PERIOD

    +
      +
    • + payer_concept_id
    • +
    • + payer_source_concept_id
    • +
    • + plan_concept_id
    • +
    • + plan_source_concept_id
    • +
    • + sponsor_concept_id
    • +
    • + sponsor_source_value
    • +
    • + sponsor_source_concept_id
    • +
    • + stop_reason_concept_id
    • +
    • + stop_reason_source_value
    • +
    • + stop_reason_source_concept_id
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    payer_concept_idintegerNoNoYes
    payer_source_concept_idintegerNoNoYes
    plan_concept_idintegerNoNoYes
    plan_source_concept_idintegerNoNoYes
    sponsor_concept_idintegerNoNoYes
    sponsor_source_valuevarchar(50)NoNoNo
    sponsor_source_concept_idintegerNoNoYes
    stop_reason_concept_idintegerNoNoYes
    stop_reason_source_valuevarchar(50)NoNoNo
    stop_reason_source_concept_idintegerNoNoYes
    +
    +
    +

    + VISIT_DETAIL

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    visit_detail_idintegerYesYesNo
    person_idintegerYesNoYes
    visit_detail_concept_idintegerYesNoYes
    visit_detail_start_datedateYesNoNo
    visit_detail_start_datetimedatetimeNoNoNo
    visit_detail_end_datedateYesNoNo
    visit_detail_end_datetimedatetimeNoNoNo
    visit_detail_type_concept_idintegerYesNoYes
    provider_idintegerNoNoYes
    care_site_idintegerNoNoYes
    visit_detail_source_valuevarchar(50)NoNoNo
    visit_detail_source_concept_idintegerNoNoYes
    admitting_source_valuevarchar(50)NoNoNo
    admitting_source_concept_idintegerNoNoYes
    discharge_to_source_valuevarchar(50)NoNoNo
    discharge_to_concept_idintegerNoNoYes
    preceding_visit_detail_idintegerNoNoYes
    visit_detail_parent_idintegerNoNoYes
    visit_occurrence_idintegerYesNoYes
    +
    +
    +

    + METADATA

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDatatypeRequiredPrimary KeyForeign Key
    metadata_concept_idintegerYesNoYes
    metadata_type_concept_idintegerYesNoYes
    namevarchar(250)YesNoNo
    value_as_stringvarchar(250)NoNoNo
    value_as_concept_idintegerNoNoYes
    metadata_datedateNoNoNo
    metadata_datetimedatetimeNoNoNo
    + + +
    + +
    + +
    + + + + + \ No newline at end of file diff --git a/docs/cdm54.html b/docs/cdm54.html index 14942e56..c55c5ef1 100644 --- a/docs/cdm54.html +++ b/docs/cdm54.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • @@ -443,8 +459,7 @@

    On this page

    @@ -444,8 +460,7 @@

    On this page

    @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/contactVocab.html b/docs/cdmDecisionTree/contactVocab.html index d62c1d50..2a84b2ab 100644 --- a/docs/cdmDecisionTree/contactVocab.html +++ b/docs/cdmDecisionTree/contactVocab.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/leaveAsIs.html b/docs/cdmDecisionTree/leaveAsIs.html index f29b95ee..265f41fe 100644 --- a/docs/cdmDecisionTree/leaveAsIs.html +++ b/docs/cdmDecisionTree/leaveAsIs.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/localChange.html b/docs/cdmDecisionTree/localChange.html index a762ccea..ae65afac 100644 --- a/docs/cdmDecisionTree/localChange.html +++ b/docs/cdmDecisionTree/localChange.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/networkUseCase.html b/docs/cdmDecisionTree/networkUseCase.html index d146a979..252857d1 100644 --- a/docs/cdmDecisionTree/networkUseCase.html +++ b/docs/cdmDecisionTree/networkUseCase.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/useCaseN.html b/docs/cdmDecisionTree/useCaseN.html index cf2dbd01..3246e8cd 100644 --- a/docs/cdmDecisionTree/useCaseN.html +++ b/docs/cdmDecisionTree/useCaseN.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/useCaseY.html b/docs/cdmDecisionTree/useCaseY.html index 3dec185d..853e3183 100644 --- a/docs/cdmDecisionTree/useCaseY.html +++ b/docs/cdmDecisionTree/useCaseY.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/vocabN.html b/docs/cdmDecisionTree/vocabN.html index cf73f126..3235488b 100644 --- a/docs/cdmDecisionTree/vocabN.html +++ b/docs/cdmDecisionTree/vocabN.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/vocabRequest.html b/docs/cdmDecisionTree/vocabRequest.html index 8d262740..c700ee7c 100644 --- a/docs/cdmDecisionTree/vocabRequest.html +++ b/docs/cdmDecisionTree/vocabRequest.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmDecisionTree/vocabY.html b/docs/cdmDecisionTree/vocabY.html index 49d28fa6..b65c6538 100644 --- a/docs/cdmDecisionTree/vocabY.html +++ b/docs/cdmDecisionTree/vocabY.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmPrivacy.html b/docs/cdmPrivacy.html index d2aeb605..a7adeb8f 100644 --- a/docs/cdmPrivacy.html +++ b/docs/cdmPrivacy.html @@ -319,6 +319,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -352,6 +360,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmRPackage.html b/docs/cdmRPackage.html index 03249524..bbe62063 100644 --- a/docs/cdmRPackage.html +++ b/docs/cdmRPackage.html @@ -352,6 +352,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -385,6 +393,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmRefreshProcess.html b/docs/cdmRefreshProcess.html index be5d6ea8..40f2caba 100644 --- a/docs/cdmRefreshProcess.html +++ b/docs/cdmRefreshProcess.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/cdmRequestProcess.html b/docs/cdmRequestProcess.html index 253ceb7a..9dd25887 100644 --- a/docs/cdmRequestProcess.html +++ b/docs/cdmRequestProcess.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/contribute.html b/docs/contribute.html index 88f9b3ea..19ca46b0 100644 --- a/docs/contribute.html +++ b/docs/contribute.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/customConcepts.html b/docs/customConcepts.html index 26d83cf6..f2c4de27 100644 --- a/docs/customConcepts.html +++ b/docs/customConcepts.html @@ -319,6 +319,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -352,6 +360,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/dataModelConventions.html b/docs/dataModelConventions.html index a2ac1b07..df61215d 100644 --- a/docs/dataModelConventions.html +++ b/docs/dataModelConventions.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/download.html b/docs/download.html index f9157d8e..d7de581d 100644 --- a/docs/download.html +++ b/docs/download.html @@ -317,6 +317,14 @@
  • Custom Concepts +
  • +
  • + + How to Calculate Drug Dose +
  • +
  • + + Observation Period Considerations for EHR Data
  • @@ -350,6 +358,14 @@
  • - CDM v5.4 Tooling Support +
  • +
  • + + CDM v5.5 +
  • +
  • + + - Changes from CDM v5.4
  • diff --git a/docs/drug_dose.html b/docs/drug_dose.html index 7addc5e3..ca115749 100644 --- a/docs/drug_dose.html +++ b/docs/drug_dose.html @@ -9,7 +9,7 @@ -drug_dose – OMOP Common Data Model +How to Calculate Drug Dose – OMOP Common Data Model