diff --git a/Documentation/.Rhistory b/Documentation/.Rhistory index a5ebd21..b420f57 100644 --- a/Documentation/.Rhistory +++ b/Documentation/.Rhistory @@ -1,113 +1,3 @@ -library(BigKnn) -library(caret) -2 -# general initial settings `50g' means 50GB - you may need to reduce -options(fftempdir = "drive:/FFtemp") -h2o.init(nthreads = -1, max_mem_size = '50g') -dbms <- "pdw" -user <- mblacke -pw <- N8wgd=p34 -server <- "jrdusapsctl01" -port <- 17001 -oracleTempSchema <- NULL -cdmVersion <- 5 -connectionDetails <- DatabaseConnector::createConnectionDetails(dbms = dbms, -server = server, -user = user, -password = pw, -port = port) -conn <- DatabaseConnector::connect(connectionDetails) -dbms <- "pdw" -user <- "mblacke" -pw <- "N8wgd=p34" -server <- "jrdusapsctl01" -port <- 17001 -oracleTempSchema <- NULL -cdmVersion <- 5 -connectionDetails <- DatabaseConnector::createConnectionDetails(dbms = dbms, -server = server, -user = user, -password = pw, -port = port) -conn <- DatabaseConnector::connect(connectionDetails) -dbms="pdw", -server="JRDUSAPSCTL01", -port="17001" -oracleTempSchema <- NULL -cdmVersion <- 5 -connectionDetails <- DatabaseConnector::createConnectionDetails(dbms = dbms, -server = server, -port = port) -conn <- DatabaseConnector::connect(connectionDetails) -library(DatabaseConnector) -library(SqlRender) -library(httr) -library(RJSONIO) -library(reshape2) -library('ReporteRs') -#=============================================================# -# -# ADD THE STUDY SETTINGS HERE: -#=============================================================# -dir <- "\\wprdusmj12rcz\Epi\Mood_Haliperidol\project390" -# settings: -prior_start <- '2013-07-01' -tab_start <- '2014-01-01' -tab_end <- '2015-12-31' -studytype <- 'new' -mingap <- 182 -install.packages("ReporteRs") -library('ReporteRs') -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) names(inds) <-conceptSetIds[[1]] conceptSetIds inds <- lapply(conceptSetIds[[2]], getConcepts) @@ -504,9 +394,119 @@ removeCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = old createOhdsiResultsTables(cdmSources = newCdmSources, sqlOnly = TRUE) insertCdmSources(repoConnectionDetails = repoConnectionDetails, cdmSources = newCdmSources, sourceIdx = TRUE, daimonIdx = TRUE, sqlOnly = TRUE) -getwd() setwd("C:/Git/CommonDataModel/Documentation") +render("GlossaryofTerms.md","pdf_document") library(rmarkdown) render("GlossaryofTerms.md","pdf_document") -render("GlossaryofTerms.md","pdf_document", template = "default") -render("GlossaryofTerms.md",pdf_document(template = "default")) +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') diff --git a/Documentation/Background/Background.md b/Documentation/Background/Background.md deleted file mode 100644 index db1fa44..0000000 --- a/Documentation/Background/Background.md +++ /dev/null @@ -1,29 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) - ---- - -# 1 Background - -
[1.1 The Role of the Common Data Model](TheRoleoftheCommonDataModel.md) -
[1.2 Design Principles](DesignPrinciples.md) -
[1.3 Data Model Conventions](DataModelConventions.md) - -The Observational Medical Outcomes Partnership (OMOP) was a public-private partnership established to inform the appropriate use of observational healthcare databases for studying the effects of medical products. Over the course of the 5-year project and through its community of researchers from industry, government, and academia, OMOP successfully achieved its aims to: - - - Conduct methodological research to empirically evaluate the performance of various analytical methods on their ability to identify true associations and avoid false findings, - - Develop tools and capabilities for transforming, characterizing, and analyzing disparate data sources across the health care delivery spectrum, and - - Establish a shared resource so that the broader research community can collaboratively advance the science. - -The results of OMOP's research has been widely published and presented at scientific conferences, including [annual symposia](https://www.ohdsi.org/events/2017-ohdsi-symposium/). - -The OMOP Legacy continues... - -The community is actively using the OMOP Common Data Model for their various research purposes. Those tools will continue to be maintained and supported, and information about this work is available in the public domain. - -The Observational Health Data Sciences and Informatics (OHDSI) has been established as a multi-stakeholder, interdisciplinary collaborative to create open-source solutions that bring out the value of observational health data through large-scale analytics. The OHDSI collaborative includes all of the original OMOP research investigators, and will develop its tools using the OMOP Common Data Model. Learn more at [ohdsi.org](http://ohdsi.org). - -The OMOP Common Data Model will continue to be an open-source, community standard for observational healthcare data. The model specifications and associated work products will be placed in the public domain, and the entire research community is encouraged to use these tools to support everybody's own research activities. diff --git a/Documentation/Background/DataModelConventions.md b/Documentation/Background/DataModelConventions.md deleted file mode 100644 index 255140d..0000000 --- a/Documentation/Background/DataModelConventions.md +++ /dev/null @@ -1,95 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Background](Background.md) - ---- - -# 1.3 Data Model Conventions - -There are a number of implicit and explicit conventions that have been adopted in the CDM. Developers of methods that run methods against the CDM need to understand these conventions. - -## General conventions of data tables - -The CDM is platform-independent. Data types are defined generically using ANSI SQL data types (VARCHAR, INTEGER, FLOAT, DATE, TIME, CLOB). Precision is provided only for VARCHAR. It reflects the minimal required string length and can be expanded within a CDM instantiation. The CDM does not prescribe the date and time format. Standard queries against CDM may vary for local instantiations and date/time configurations. - -In most cases, the first field in each table ends in "_id", containing a record identifier that can be used as a foreign key in another table. - -## General conventions of fields - -Variable names across all tables follow one convention: - -Notation|Description ---------|----------- -|_SOURCE_VALUE|Verbatim information from the source data, typically used in ETL to map to CONCEPT_ID, and not to be used by any standard analytics. For example, condition_source_value = ‘787.02’ was the ICD-9 code captured as a diagnosis from the administrative claim| -|_ID|Unique identifiers for key entities, which can serve as foreign keys to establish relationships across entities For example, person_id uniquely identifies each individual. visit_occurrence_id uniquely identifies a PERSON encounter at a point of care.| -|_CONCEPT_ID|Foreign key into the Standardized Vocabularies (i.e. the standard_concept attribute for the corresponding term is true), which serves as the primary basis for all standardized analytics For example, condition_concept_id = 31967 contains reference value for SNOMED concept of ‘Nausea’| -|_SOURCE_CONCEPT_ID|Foreign key into the Standardized Vocabularies representing the concept and terminology used in the source data, when applicable For example, condition_source_concept_id = 35708202 denotes the concept of ‘Nausea’ in the MedDRA terminology; the analogous condition_concept_id might be 31967, since SNOMED-CT is the Standardized Vocabularies for most clinical diagnoses and findings.| -|_TYPE_CONCEPT_ID|Delineates the origin of the source information, standardized within the Standardized Vocabularies For example, drug_type_concept_id can allow analysts to discriminate between ‘Pharmacy dispensing’ and ‘Prescription written’| - -## Representation of content through Concepts - -In CDM data tables the meaning of the content of each record is represented using Concepts. Concepts are stored with their concept_id as foreign keys to the CONCEPT table in the Standardized Vocabularies, which contains Concepts necessary to describe the healthcare experience of a patient. If a Standard Concept does not exist or cannot be identified, the Concept with the concept_id 0 is used, representing a non-existing or unmappable concept. - -Records in the CONCEPT table contain all the detailed information about it (name, relationships, types etc.). Concepts, Concept Relationships and other information relating to Concepts contained in the tables of the Standardized Vocabularies.. - -## Difference between Concept IDs and Source Values - -Many tables contain equivalent information multiple times: As a Source Value, a Source Concept and as a Standard Concept. - * Source Values contains the codes from public code systems such as ICD-9-CM, NDC, CPT-4 etc. or local controlled vocabularies (such as F for female and M for male) copied from the source data. Source Values are stored in the _source_value field in the data tables. - * Concepts are CDM-specific entities that represent the meaning of a clinical fact. Most concepts are based on code systems used in healthcare (called Source Concepts), while others were created de-novo (concept_code = "OMOP generated"). Concepts have unique IDs across all domains. - * Source Concepts are the concepts that represent the code used in the source. Source Concepts are only used for common healthcare code systems, but not for OMOP-generated Concepts. Source Concepts are stored in the source_concept_id field in the data tables. - * Standard Concepts are those concepts that are used to define the unique meaning of a clinical entity. For each entity there is one Standard Concept. Standard Concepts are typically drawn from existing public vocabulary sources. Concepts that have the equivalent meaning to a Standard Concept are mapped to the Standard Concept. Standard Concepts are referred to in the concept_id field of the data tables. - -Source Values are only provided for convenience and quality assurance (QA) purposes. Source Values and Source Concepts are optional, while Standard Concepts are mandatory. Source Values may contain information that is only meaningful in the context of a specific data source. - -## Difference between general Concepts and Type Concepts - -Type Concepts (ending in _type_concept_id) and general Concepts (ending in _concept_id) are part of many tables. The former are special Concepts with the purpose of indicating where the data are derived from in the source. For example, the Type Concept field can be used to distinguish a DRUG_EXPOSURE record that is derived from a pharmacy-dispensing claim from one indicative of a prescription written in an electronic health record (EHR). - -## Time span of available data - -Data tables for clinical data contain a date stamp (ending in _date, _start_date or _end_date), indicating when that clinical event occurred. As a rule, no record can be outside of a valid OBSERVATION_PERIOD time period. Clinical information that relates to events happened prior the first OBSERVATION_PERIOD, it will be captured as a record in the OBSERVATION table of 'Medical history' (concept_id = 43054928), with the observation_date set to the first observation_period_start_date of that patient, and the value_as_concept_id set to the corresponding concept_id for the condition/drug/procedure that occurred in the past. No data occurring after the last observation_period_end_date can be valid records in the CDM. - -## Content of each table - -For the tables of the main domains of the CDM it is imperative that used concepts are strictly limited to the domain. For example, the CONDITION_OCCURRENCE table contains only information about conditions (diagnoses, signs, symptoms), but no information about procedures. Not all source coding schemes adhere to such rules. For example, ICD-9-CM codes, which contain mostly diagnoses of human disease, also contain information about the status of patients having received a procedure: V25.5 "Encounter for insertion of implantable subdermal contraceptive" defines a procedure and is therefore stored in the PROCEDURE_OCCURRENCE table. - -## Differentiating between source values, source concept ids, and standard concept ids - -Each table contains fields for source values, source concept ids, and standard concept ids. - - * Source values are fields to maintain the verbatim information from the source database, are stored as unstructured text, and are generally not to be used by any standardized analytics. - * Source concept ids provide a repeatable representation of the source concept, when the source data are drawn from a commonly-used internationally-recognized vocabulary that has been distributed with the OMOP Common Data Model. Specific use cases where source vocabulary-specific analytics are required can be accommodated by the use of the source concept id fields, but these are generally not applicable across disparate data sources. The standard concept id fields are **strongly suggested** to be used in all standardized analytics, as specific vocabularies have been established within each data domain to facilitate standardization of both structure and content within the OMOP Common Data Model. - -The following provide conventions for processing source data using these three fields in each domain: - -When processing data where the source value is either free text or a reference to a coding scheme that is not contained within the Standardized Vocabularies: - - - Map all source values directly to standard concept_ids. Store these mappings in the SOURCE_TO_CONCEPT_MAP table. - - If the source code is not mappable to a vocabulary term, the source_concept_id field is set to 0 - -When processing your data where source value is a reference to a coding scheme contained within the Standardized Vocabularies: - - - Map all your source values to the corresponding concept_ids in the source vocabulary. Store the result in the source_concept_id field. - - If the source code follows the same formatting as the distributed vocabulary, the mapping can be directly obtained from the CONCEPT table using the CONCEPT_CODE field. - - If the source code uses alternative formatting (ex. format has removed decimal point from ICD-9 codes), you will need to perform the formatting transformation within the ETL. In this case, you may wish to store the mappings from original codes to source concept ids in the SOURCE_TO_CONCEPT_MAP table. - - If the source code is not mappable to a vocabulary term, the source_concept_id field is set to 0 - - Use the CONCEPT_RELATIONSHIP table to identify the standard concept_id that corresponds to the source_concept_id in the domain. - - Each source_concept_id can have 1 or more Standard concept_id mapped to it. Each Standard concept_id belongs to only one primary domain, but when a source concept_id maps to multiple standard concept_ids, it is possible for that source_concept_id to result in records being produced across multiple domains. For example, HCPCS code for infusion of a drug will map to a concept in the procedure domain of the infusion and a different concept in the drug domain for the product infused. It is also possible for one source_concept_id to map to multiple standard concept_ids within the same domain. For example, ICD-9 for ‘viral hepatitis with hepatic coma’ maps to SNOMED ‘viral hepatitis’ and a different concept for ‘hepatic coma’ in which case multiple condition_occurrence records will be generated for the one source value record. - - If the source_concept_id is not mappable to any standard concept_id, the concept_id field is set to 0. - - Write the data record into table(s) corresponding to the domain of the standard concept_id(s). - - If the source value is mapped to source_concept_id, but the source_concept_id is not mapped to a standard concept_id, then the domain for the data record, and hence it's table location, is determined by the domain_id field of the CONCEPT record the source_concept_id refers to. The standard concept_id is set to 0. - - If the source value cannot be mapped to a source_concept_id or standard concept_id, then direct the data record to the most appropriate CDM domain based on your local knowledge of the intent of the source data and associated value. For example, if the unmappable source_value came from a ‘diagnosis’ table, then in the absence of other information, you may choose to record that fact in the CONDITION_OCCURRENCE table. - -Each standard concept_id field has a set of allowable concept_id values. The allowable values are defined by the domain of the concepts. For example, there is a domain concept of ‘Gender’, for which there are only two allowable standard concepts of practical use (8507- ‘Male’, 8532- ‘Female’) and one allowable generic concept to represent a standard notion of ‘no information’ (concept_id = 0). - -There is no constraint on allowed concept_ids within the source_concept_id fields. - -## Custom source_to_concept_maps - -When the source data uses coding systems that are not currently in the Standardized Vocabularies (e.g. ICPC codes for diagnoses), the convention is to store the mapping of such source codes to Standard Concepts in the SOURCE_TO_CONCEPT_MAP table. The codes used in the data source can be recorded in the source_value fields, but no source_concept_id will be available. - -Custom source codes are not allowed to map to Standard Concepts that are marked as invalid. diff --git a/Documentation/Background/DesignPrinciples.md b/Documentation/Background/DesignPrinciples.md deleted file mode 100644 index 1c3281c..0000000 --- a/Documentation/Background/DesignPrinciples.md +++ /dev/null @@ -1,24 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Background](Background.md) - ---- - -# 1.2 Design Principles - -The CDM is designed to include all observational health data elements (experiences of the patient receiving health care) that are relevant for analysis use cases to support the generation of reliable scientific evidence about disease natural history, healthcare delivery, effects of medical interventions, the identification of demographic information, health care interventions and outcomes. - -Therefore, the CDM is designed to store observational data to allow for research, under the following principles: - - **Suitability for purpose.** The CDM aims at providing data organized in a way optimal for analysis, rather than for the purpose of operational needs of health care providers or payers. - - **Data protection.** All data that might jeopardize the identity and protection of patients, such as names, precise birthdays etc. are limited. Exceptions are possible where the research expressly requires more detailed information, such as precise birth dates for the study of infants. - - **Design of domains.** The domains are modeled in a person-centric relational data model, where for each record the identity of the person and a date is captured as a minimum. - - **Rationale for domains.** Domains are identified and separately defined in an Entity-relationship model if they have an analysis use case and the domain has specific attributes that are not otherwise applicable. All other data can be preserved as an observation in an entity-attribute-value structure. - - **Standardized Vocabularies.** To standardize the content of those records, the CDM relies on the Standardized Vocabularies containing all necessary and appropriate corresponding standard healthcare concepts. - - **Reuse of existing vocabularies.** If possible, these concepts are leveraged from national or industry standardization or vocabulary definition organizations or initiatives, such as the National Library of Medicine, the Department of Veterans' Affairs, the Center of Disease Control and Prevention, etc. - - **Maintaining source codes.** Even though all codes are mapped to the Standardized Vocabularies, the model also stores the original source code to ensure no information is lost. - - **Technology neutrality.** The CDM does not require a specific technology. It can be realized in any relational database, such as Oracle, SQL Server etc., or as SAS analytical datasets. - - **Scalability.** The CDM is optimized for data processing and computational analysis to accommodate data sources that vary in size, including databases with up to hundreds of millions of persons and billions of clinical observations. - - **Backwards compatibility.** All changes from previous CDMs are clearly delineated. Older versions of the CDM can be easily created from this CDMv5, and no information is lost that was present previously. diff --git a/Documentation/Background/TheRoleoftheCommonDataModel.md b/Documentation/Background/TheRoleoftheCommonDataModel.md deleted file mode 100644 index fd4902f..0000000 --- a/Documentation/Background/TheRoleoftheCommonDataModel.md +++ /dev/null @@ -1,13 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Background](Background.md) - ---- - -# 1.1 The Role of the Common Data Model -No single observational data source provides a comprehensive view of the clinical data a patient accumulates while receiving healthcare, and therefore none can be sufficient to meet all expected outcome analysis needs. This explains the need for assessing and analyzing multiple data sources concurrently using a common data standard. This standard is provided by the OMOP Common Data Model (CDM). - -The CDM is designed to support the conduct of research to identify and evaluate associations between interventions (drug exposure, procedures, healthcare policy changes etc.) and outcomes caused by these interventions (condition occurrences, procedures, drug exposure etc.). Outcomes can be efficacious (benefit) or adverse (safety risk). Often times, specific patient cohorts (e.g., those taking a certain drug or suffering from a certain disease) may be defined for treatments or outcomes, using clinical events (diagnoses, observations, procedures, etc.) that occur in predefined temporal relationships to each other. The CDM, combined with its standardized content (via the Standardized Vocabularies), will ensure that research methods can be systematically applied to produce meaningfully comparable and reproducible results. diff --git a/Documentation/GlossaryofTerms.md b/Documentation/GlossaryofTerms.md deleted file mode 100644 index c1118f3..0000000 --- a/Documentation/GlossaryofTerms.md +++ /dev/null @@ -1,31 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](TableofContents.md) - ---- - -# 2 Glossary of Terms - -Term|Abbr.|Description| -----|-----|------------ -|Ancestor| |The higher level Concept in a hierarchical relationship. Note that ancestors and descendants can be many levels apart from each other.| -|Average Wholesale Price|AWP|The price manufacturers set for prescription drugs to be purchased at the wholesale level to pharmacies and healthcare provider.| -|Centers for Disease Control and Prevention|CDC|The Centers for Disease Control and Prevention is a United States federal agency under the Department of Health and Human Services. It works to protect public health and safety by providing information to enhance health decisions.| -|Common Data Model|CDM|The CDM intends to facilitate observational analyses of disparate healthcare databases. The CDM defines table structures for each of the data entities (e.g., Persons, Visit Occurrence, Drug Exposure, Condition Occurrence, Observation, Procedure Occurrence, etc.). It includes observational data elements that are relevant to identifying exposure to various treatments and defining condition occurrence. The CDM includes both the Standardized Vocabularies of terms and the entity domain tables.| -|Concept| |A concept is the basic unit of information. Concepts may be grouped into a given domain. A concept is a unique term that has a unique and static identifier/name, belongs to a domain, and may exist in relation to other concepts. The vertical relationships consist of "is a" statements that form a logical hierarchy. In general, concepts above a given concept are referred to as ancestors and those below as descendants.| -|Conceptual Data Model| |A conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature. Specifically, it describes the things of significance to an organization (entity classes), about which it is inclined to collect information, and characteristics of (attributes) and associations between pairs of those things of significance (relationships).| -|Data mapping| |It is the data element mappings between two distinct data models, terminologies, or concepts. Data mapping is the process of creating data element mappings between two distinct data models. Data mapping is used as a first step for a wide variety of data integration tasks.| -|Demographics| |Demographics refer to selected characteristics of persons. Demographics may include data such as race, age, sex, date of birth, location, etc.| -|Descendant| |The lower level Concept in a hierarchical relationship. Note that ancestors and descendants can be many levels apart from each other.| -|Design Principle| |An organized arrangement of one or more elements or principles for a purpose. It identifies core principles and best practices to assist developers to produce software. Thoroughly understanding the goals of stakeholders and designing systems with those goals in mind are the best approaches to successfully deliver results.| -|Electronic Health Record|EHR|Electronic health record refers to an individual person's medical record in digital format. It may be made up of electronic medical records from many locations and/or sources. The EHR is a longitudinal electronic record of person health information generated by one or more encounters in any care delivery setting. Included in this information are person demographics, progress notes, problems, medications, vital signs, past medical history, immunizations, laboratory data and radiology reports.| -|Electronic Medical Record|EMR|An electronic medical record is a computerized medical record created in an organization that delivers care, such as a hospital or outpatient setting. Electronic medical records tend to be a part of a local stand-alone health information system that allows storage, retrieval and manipulation of records. This document will reference EHR moving forward even if specific data source might internally use EMR definition.| -|Extract Transform Load|ETL|Process of getting data out of one data store (Extract), modifying it (Transform), and inserting it into a different data store (Load).| -|Health Insurance Portability and Accountability Act|HIPAA|A federal law that was designed to allow portability of health insurance between jobs. In addition, it required the creation of a federal law to protect personally identifiable health information; if that did not occur by a specific date (which it did not), HIPAA directed the Department of Health and Human Services (DHHS) to issue federal regulations with the same purpose. DHHS has issued HIPAA privacy regulations (the HIPAA Privacy Rule) as well as other regulations under HIPAA.| -|Logical Data Model| |Logical data models are graphical representation of the business requirements. They describe the things of importance to an organization and how they relate to one another, as well as business definitions and examples. The logical data model can be validated and approved by a business representative, and can be the basis of physical database design.| -|Primary Care Provider|PCP|A health care provider designated as responsible to provide general medical care to a patient, including evaluation and treatment as well as referral to specialists.| -|Protected Health Information|PHI|Protected health information under HIPAA includes any individually identifiable health information. Identifiable refers not only to data that is explicitly linked to a particular individual (that's identified information). It also includes health information with data items which reasonably could be expected to allow individual identification. De-identified information is that from which all potentially identifying information has been removed.| -|Terminology| |Technical or special terms used in a business or special subject area.| -|Vocabulary| |A computerized list (as of items of data or words) used for reference (as for information retrieval or word processing).| diff --git a/Documentation/License.md b/Documentation/License.md deleted file mode 100644 index 5072945..0000000 --- a/Documentation/License.md +++ /dev/null @@ -1,12 +0,0 @@ -# License - -© 2014 Observational Health Data Sciences and Informatics - -This work is based on work by the Observational Medical Outcomes Partnership (OMOP) and used under license from the FNIH at http://omop.fnih.org/publiclicense. - -All derivative work after the OMOP CDM v4 specification is dedicated to the public domain. Observational Health Data Sciences and Informatics (OHDSI) has waived all copyright and related or neighboring rights to the extent allowed by law. - -![](http://www.ohdsi.org/web/wiki/lib/exe/fetch.php?cache=&w=88&h=31&tok=3977bb&media=documentation:cdm:cdm:public_domain.png) -http://creativecommons.org/publicdomain/zero/1.0/ - -[Table of Contents*](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) diff --git a/Documentation/OMOP_CDM_PDF.Rmd b/Documentation/OMOP_CDM_PDF.Rmd new file mode 100644 index 0000000..6ed5c18 --- /dev/null +++ b/Documentation/OMOP_CDM_PDF.Rmd @@ -0,0 +1,203 @@ +--- +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 +--- + +# License + +```{r child = 'C:/Git/CommonDataModel.wiki/License.md'} +``` + +# Background +```{r child = 'C:/Git/CommonDataModel.wiki/Background/Background.md'} +``` + +## The Role of the Common Data Model +```{r child = 'C:/Git/CommonDataModel.wiki/Background/The-Role-of-the-Common-Data-Model.md'} +``` + +## Design Principles +```{r child = 'C:/Git/CommonDataModel.wiki/Background/Design-Principles.md'} +``` + +## Data Model Conventions +```{r child = 'C:/Git/CommonDataModel.wiki/Background/Data-Model-Conventions.md'} +``` + +# Glossary of Terms +```{r child = 'C:/Git/CommonDataModel.wiki/Glossary-of-Terms.md'} +``` + +# Standardized Vocabularies +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/Standardized-Vocabularies.md'} +``` + +## CONCEPT +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/CONCEPT.md'} +``` + +## VOCABULARY +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/VOCABULARY.md'} +``` + +## DOMAIN +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/DOMAIN.md'} +``` + +## CONCEPT_CLASS +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/CONCEPT_CLASS.md'} +``` + +## CONCEPT_RELATIONSHIP +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/CONCEPT_RELATIONSHIP.md'} +``` + +## RELATIONSHIP +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/RELATIONSHIP.md'} +``` + +## CONCEPT_SYNONYM +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/CONCEPT_SYNONYM.md'} +``` + +## CONCEPT_ANCESTOR +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/CONCEPT_ANCESTOR.md'} +``` + +## SOURCE_TO_CONCEPT_MAP +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/SOURCE_TO_CONCEPT_MAP.md'} +``` + +## DRUG_STRENGTH +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/DRUG_STRENGTH.md'} +``` + +## COHORT_DEFINITION +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/COHORT_DEFINITION.md'} +``` + +## ATTRIBUTE_DEFINITION +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedVocabularies/ATTRIBUTE_DEFINITION.md'} +``` + +# Standardized Metadata +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedMetadata/Standardized-Metadata.md'} +``` + +## CDM_SOURCE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedMetadata/CDM_SOURCE.md'} +``` + +# Standardized Clinical Data Tables +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/Standardized-clinical-Data-Tables.md'} +``` + +## PERSON +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/PERSON.md'} +``` + +## OBSERVATION_PERIOD +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/OBSERVATION_PERIOD.md'} +``` + +## SPECIMEN +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/SPECIMEN.md'} +``` + +## DEATH +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/DEATH.md'} +``` + +## VISIT_OCCURRENCE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/VISIT_OCCURRENCE.md'} +``` + +## PROCEDURE_OCCURRENCE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/PROCEDURE_OCCURRENCE.md'} +``` + +## DRUG_EXPOSURE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/DRUG_EXPOSURE.md'} +``` + +## DEVICE_EXPOSURE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/DEVICE_EXPOSURE.md'} +``` + +## CONDITION_OCCURRENCE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/CONDITION_OCCURRENCE.md'} +``` + +## MEASUREMENT +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/MEASUREMENT.md'} +``` + +## NOTE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/NOTE.md'} +``` + +## OBSERVATION +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/OBSERVATION.md'} +``` + +## FACT_RELATIONSHIP +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedclinicalDataTables/FACT_RELATIONSHIP.md'} +``` + +# Standardized Health System Data Tables +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthSystemDataTables/Standardized-Health-System-Data-Tables.md'} +``` + +## LOCATION +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthSystemDataTables/LOCATION.md'} +``` + +## CARE_SITE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthSystemDataTables/CARE_SITE.md'} +``` + +## PROVIDER +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthSystemDataTables/PROVIDER.md'} +``` + +# Standardized Health Economics Data Tables +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthEconomicsDataTables/Standardized-Health-Economics-Data-Tables.md'} +``` + +## PAYER_PLAN_PERIOD +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthEconomicsDataTables/PAYER_PLAN_PERIOD.md'} +``` + +## COST +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedHealthEconomicsDataTables/COST.md'} +``` + +# Standardized Derived Elements +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/Standardized-Derived-Elements.md'} +``` + +## COHORT +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/COHORT.md'} +``` + +## COHORT_ATTRIBUTE +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/COHORT_ATTRIBUTE.md'} +``` + +## DRUG_ERA +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/DRUG_ERA.md'} +``` + +## DOSE_ERA +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/DOSE_ERA.md'} +``` + +## CONDITION_ERA +```{r child = 'C:/Git/CommonDataModel.wiki/StandardizedDerivedElements/CONDITION_ERA.md'} +``` \ No newline at end of file diff --git a/Documentation/StandardizedClinicalDataTables/CONDITION_OCCURRENCE.md b/Documentation/StandardizedClinicalDataTables/CONDITION_OCCURRENCE.md deleted file mode 100644 index 541d123..0000000 --- a/Documentation/StandardizedClinicalDataTables/CONDITION_OCCURRENCE.md +++ /dev/null @@ -1,10 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# CONDITION_OCCURRENCE \ No newline at end of file diff --git a/Documentation/StandardizedDerivedElements/COHORT.md b/Documentation/StandardizedDerivedElements/COHORT.md deleted file mode 100644 index 64a3b0d..0000000 --- a/Documentation/StandardizedDerivedElements/COHORT.md +++ /dev/null @@ -1,9 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) - ---- - -# 8.1 COHORT \ No newline at end of file diff --git a/Documentation/StandardizedDerivedElements/CONDITION_ERA.md b/Documentation/StandardizedDerivedElements/CONDITION_ERA.md deleted file mode 100644 index b9e168b..0000000 --- a/Documentation/StandardizedDerivedElements/CONDITION_ERA.md +++ /dev/null @@ -1,10 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# CONDITION_ERA \ No newline at end of file diff --git a/Documentation/StandardizedVocabularies/ATTRIBUTE_DEFINITION.md b/Documentation/StandardizedVocabularies/ATTRIBUTE_DEFINITION.md deleted file mode 100644 index bc45f0b..0000000 --- a/Documentation/StandardizedVocabularies/ATTRIBUTE_DEFINITION.md +++ /dev/null @@ -1,25 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.12 ATTRIBUTE_DEFINITION - -The ATTRIBUTE_DEFINITION table contains records defining Attributes, or covariates, to members of a Cohort through an associated description and syntax and upon instantiation (execution of the algorithm) placed into the COHORT_ATTRIBUTE table. Attributes are derived elements that can be selected or calculated for a subject in a Cohort. The ATTRIBUTE_DEFINITION table provides a standardized structure for maintaining the rules governing the calculation of covariates for a subject in a Cohort, and can store operational programming code to instantiate the Attributes for a given Cohort within the OMOP Common Data Model. - -Field|Required|Type|Description -:----|:-------|:---|:---------- -|attribute_definition_id|Yes|integer|A unique identifier for each Attribute.| -|attribute_name|Yes|varchar(255)|A short description of the Attribute.| -|attribute_description|No|CLOB|A complete description of the Attribute definition| -|attribute_type_concept_id|Yes|integer|Type defining what kind of Attribute Definition the record represents and how the syntax may be executed| -|attribute_syntax|No|CLOB|Syntax or code to operationalize the Attribute definition| - - -## Conventions - * Like the definition syntax field for the COHORT_DEFINITION table, the attribute_syntax does not prescribe any specific syntax or programming language. Typically, it would be any flavor SQL, or a cohort definition language, or a free-text description of the algorithm. - * The Attribute Definition is generic and not necessarily related to a specific Cohort Definition, however the instantiated Attribute is linked to the Cohort records (see below the [COHORT](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/StandardizedDerivedElements/COHORT.md) table). For example, the Attribute "Age" can be defined as the amount of time between the cohort_start_date of the COHORT table and the year_of_birth, month_of_birth and day_of_birth of the PERSON table. Thus, such a Attribute Definition can be applied and instantiated with any Cohort, as long as it is applied to a Cohort of the same Domain (Person in this case), as it is defined in the subject_concept_id in the COHORT_DEFINITION table. diff --git a/Documentation/StandardizedVocabularies/COHORT_DEFINITION.md b/Documentation/StandardizedVocabularies/COHORT_DEFINITION.md deleted file mode 100644 index 71109a1..0000000 --- a/Documentation/StandardizedVocabularies/COHORT_DEFINITION.md +++ /dev/null @@ -1,26 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.11 COHORT_DEFINITION - -The COHORT_DEFINITION table contains records defining a Cohort derived from the data through the associated description and syntax and upon instantiation (execution of the algorithm) placed into the COHORT table. Cohorts are a set of subjects that satisfy a given combination of inclusion criteria for a duration of time. The COHORT_DEFINITION table provides a standardized structure for maintaining the rules governing the inclusion of a subject into a cohort, and can store operational programming code to instantiate the cohort within the OMOP Common Data Model. - -Field|Required|Type|Description -:----|:-------|:---|:---------- -|cohort_definition_id|Yes|integer|A unique identifier for each Cohort.| -|cohort_definition_name|Yes|varchar(255)|A short description of the Cohort.| -|cohort_definition_description|No|CLOB|A complete description of the Cohort definition| -|definition_type_concept_id|Yes|integer|Type defining what kind of Cohort Definition the record represents and how the syntax may be executed| -|cohort_definition_syntax|No|CLOB|Syntax or code to operationalize the Cohort definition| -|subject_concept_id|Yes|integer|A foreign key to the Concept to which defines the domain of subjects that are members of the cohort (e.g., Person, Provider, Visit).| -|cohort_instantiation_date|No|Date|A date to indicate when the Cohort was instantiated in the COHORT table| - -## Conventions - * The cohort_definition_syntax does not prescribe any specific syntax or programming language. Typically, it would be any flavor SQL, a cohort definition language, or a free-text description of the algorithm. - * The subject_concept_id determines what the individual subjects or entities of the Cohort consists of. In most cases, that would be a Person (patient). But cohorts could also be constructed for Providers, Visits or any other Domain. Note that the Domain is not codified using the alphanumerical domain_id like in the CONCEPT table. Instead, the corresponding Concept is used. The Concepts for each domain can be obtained from the DOMAIN table in the domain_concept_id. diff --git a/Documentation/StandardizedVocabularies/CONCEPT.md b/Documentation/StandardizedVocabularies/CONCEPT.md deleted file mode 100644 index cdc4bb7..0000000 --- a/Documentation/StandardizedVocabularies/CONCEPT.md +++ /dev/null @@ -1,49 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.1 CONCEPT - -## CONCEPT table -The Standardized Vocabularies contains records, or Concepts, that uniquely identify each fundamental unit of meaning used to express clinical information in all domain tables of the CDM. Concepts are derived from vocabularies, which represent clinical information across a domain (e.g. conditions, drugs, procedures) through the use of codes and associated descriptions. Some Concepts are designated Standard Concepts, meaning these Concepts can be used as normative expressions of a clinical entity within the OMOP Common Data Model and within standardized analytics. Each Standard Concept belongs to one domain, which defines the location where the Concept would be expected to occur within data tables of the CDM. - -Concepts can represent broad categories (like “Cardiovascular disease”), detailed clinical elements (”Myocardial infarction of the anterolateral wall”) or modifying characteristics and attributes that define Concepts at various levels of detail (severity of a disease, associated morphology, etc.). - -Records in the Standardized Vocabularies tables are derived from national or international vocabularies such as SNOMED-CT, RxNorm, and LOINC, or custom Concepts defined to cover various aspects of observational data analysis. For a detailed description of these vocabularies, their use in the OMOP CDM and their relationships to each other please refer to the [specifications](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary). - -Field|Required|Type|Description -:-----|:--------|:----|:----------- -|concept_id|Yes|integer|A unique identifier for each Concept across all domains.| -|concept_name|Yes|varchar(255)|An unambiguous, meaningful and descriptive name for the Concept.| -|domain_id|Yes|varchar(20)|A foreign key to the [[documentation:cdm:domain|DOMAIN]] table the Concept belongs to.| -|vocabulary_id|Yes|varchar(20)|A foreign key to the [[documentation:cdm:vocabulary|VOCABULARY]] table indicating from which source the Concept has been adapted.| -|concept_class_id|Yes|varchar(20)|The attribute or concept class of the Concept. Examples are “Clinical Drug”, “Ingredient”, “Clinical Finding” etc.| -|standard_concept|No|varchar(1)|This flag determines where a Concept is a Standard Concept, i.e. is used in the data, a Classification Concept, or a non-standard Source Concept. The allowables values are 'S' (Standard Concept) and 'C' (Classification Concept), otherwise the content is NULL.| -|concept_code|Yes|varchar(50)|The concept code represents the identifier of the Concept in the source vocabulary, such as SNOMED-CT concept IDs, RxNorm RXCUIs etc. Note that concept codes are not unique across vocabularies.| -|valid_start_date|Yes|date|The date when the Concept was first recorded. The default value is 1-Jan-1970, meaning, the Concept has no (known) date of inception.| -|valid_end_date|Yes|date|The date when the Concept became invalid because it was deleted or superseded (updated) by a new concept. The default value is 31-Dec-2099, meaning, the Concept is valid until it becomes deprecated.| -|invalid_reason|No|varchar(1)|Reason the Concept was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value.| - -### Conventions -Concepts in the Common Data Model are derived from a number of public or proprietary terminologies such as SNOMED-CT and RxNorm, or custom generated to standardize aspects of observational data. Both types of Concepts are integrated based on the following rules: - * All Concepts are maintained centrally by the CDM and Vocabularies Working Group. Additional concepts can be added, as needed, upon request. - * For all Concepts, whether they are custom generated or adopted from published terminologies, a unique numeric identifier concept_id is assigned and used as the key to link all observational data to the corresponding Concept reference data. - * The concept_id of a Concept is persistent, i.e. stays the same for the same Concept between releases of the Standardized Vocabularies. - * A descriptive name for each Concept is stored as the Concept Name as part of the CONCEPT table. Additional names and descriptions for the Concept are stored as Synonyms in the [CONCEPT_SYNONYM](CONCEPT_SYNONYM.md) table. - * Each Concept is assigned to a Domain. For Standard Concepts, these is always a single Domain. Source Concepts can be composite or coordinated entities, and therefore can belong to more than one Domain. The domain_id field of the record contains the abbreviation of the Domain, or Domain combination. Please refer to the Standardized Vocabularies [specification](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary) for details of the Domain Assignment. - * For details of the Vocabularies adopted for use in the OMOP CDM refer to the Standardized Vocabularies specification. - * Concept Class designation are attributes of Concepts. Each Vocabulary has its own set of permissible Concept Classes, although the same Concept Class can be used by more than one Vocabulary. Depending on the Vocabulary, the Concept Class may categorize Concepts vertically (parallel) or horizontally (hierarchically). See the specification of each vocabulary for details. - * Concept Class attributes should not be confused with Classification Concepts. These are separate Concepts that have a hierarchical relationship to Standard Concepts or each other, while Concept Classes are unique Vocabulary-specific attributes for each Concept. - * For Concepts inherited from published terminologies, the source code is retained in the concept_code field and can be used to reference the source vocabulary. - * Standard Concepts (designated as 'S' in the standard_concept field) may appear in CDM tables in all *_concept_id fields, whereas Classification Concepts ('C') should not appear in the CDM data, but participate in the construction of the [CONCEPT_ANCESTOR](CONCEPT_ANCESTOR.md) table and can be used to identify Descendants that may appear in the data. See [CONCEPT_ANCESTOR](CONCEPT_ANCESTOR.md) table. Non-standard Concepts can only appear in *_source_concept_id fields and are not used in CONCEPT_ANCESTOR table. Please refer to the Standardized Vocabularies [specifications](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:standard_classification_and_source_concepts) for details of the Standard Concept designation. - * All logical data elements associated with the various CDM tables (usually in the _type_concept_id field) are called Type Concepts, including defining characteristics, qualifying attributes etc. They are also stored as Concepts in the CONCEPT table. Since they are generated by OMOP, their is no meaningful concept_code. - * The lifespan of a Concept is recorded through its valid_start_date, valid_end_date and the invalid_reason fields. This allows Concepts to correctly reflect at which point in time were defined. Usually, Concepts get deprecatd if their meaning was deamed ambigous, a duplication of another Conncept, or needed revision for scientific reason. For example, drug ingredients get updated when different salt or isomer variants enter the market. Usually, drugs taken off the market do not cause a deprecation by the terminology vendor. Since observational data are valid with respect to the time they are recorded, it is key for the Standardized Vocabularies to provide even obsolete codes and maintain their relationships to other current Concepts . - * Concepts without a known instantiated date are assigned valid_start_date of ‘1-Jan-1970’. - * Concepts that are not invalid are assigned valid_end_date of ‘31-Dec-2099’. - * Deprecated Concepts (with a valid_end_date before the release date of the Standardized Vocabularies) will have a value of 'D' (deprecated without successor) or 'U' (updated). The updated Concepts have a record in the [CONCEPT_RELATIONSHIP](CONCEPT_RELATIONSHIP.md) table indicating their active replacement Concept. - * Values for concept_ids generated as part of Standardized Vocabularies will be reserved from 0 to 2,000,000,000. Above this range, concept_ids are available for local use and are guaranteed not to clash with future releases of the Standardized Vocabularies. diff --git a/Documentation/StandardizedVocabularies/CONCEPT_ANCESTOR.md b/Documentation/StandardizedVocabularies/CONCEPT_ANCESTOR.md deleted file mode 100644 index b0a0698..0000000 --- a/Documentation/StandardizedVocabularies/CONCEPT_ANCESTOR.md +++ /dev/null @@ -1,27 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.8 CONCEPT_ANCESTOR - -The CONCEPT_ANCESTOR table is designed to simplify observational analysis by providing the complete hierarchical relationships between Concepts. Only direct parent-child relationships between Concepts are stored in the CONCEPT_RELATIONSHIP table. To determine higher level ancestry connections, all individual direct relationships would have to be navigated at analysis time. The CONCEPT_ANCESTOR table includes records for all parent-child relationships, as well as grandparent-grandchild relationships and those of any other level of lineage. Using the CONCEPT_ANCESTOR table allows for querying for all descendants of a hierarchical concept. For example, drug ingredients and drug products are all descendants of a drug class ancestor. - -This table is entirely derived from the CONCEPT, CONCEPT_RELATIONSHIP and RELATIONSHIP tables. - -Field|Required|Type|Description -:---|:---|:---|:--- -|ancestor_concept_id|Yes|integer|A foreign key to the concept in the concept table for the higher-level concept that forms the ancestor in the relationship.| -|descendant_concept_id|Yes|integer|A foreign key to the concept in the concept table for the lower-level concept that forms the descendant in the relationship.| -|min_levels_of_separation|Yes|integer|The minimum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis.| -|max_levels_of_separation|Yes|integer|The maximum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis.| - -## Conventions - - * Each concept is also recorded as an ancestor of itself. - * Only valid and Standard Concepts participate in the CONCEPT_ANCESTOR table. It is not possible to find ancestors or descendants of deprecated or Source Concepts. - * Usually, only Concepts of the same Domain are connected through records of the CONCEPT_ANCESTOR table, but there might be exceptions. diff --git a/Documentation/StandardizedVocabularies/CONCEPT_CLASS.md b/Documentation/StandardizedVocabularies/CONCEPT_CLASS.md deleted file mode 100644 index 7aa52bd..0000000 --- a/Documentation/StandardizedVocabularies/CONCEPT_CLASS.md +++ /dev/null @@ -1,136 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.4 CONCEPT_CLASS - -The CONCEPT_CLASS table is a reference table, which includes a list of the classifications used to differentiate Concepts within a given Vocabulary. This reference table is populated with a single record for each Concept Class: - -Field|Required|Type|Description -:----|:-----|:-----|:----- -|concept_class_id|Yes|varchar(20)|A unique key for each class.| -|concept_class_name|Yes|varchar(255)|The name describing the Concept Class, e.g. "Clinical Finding", "Ingredient", etc.| -|concept_class_concept_id|Yes|integer|A foreign key that refers to an identifier in the [CONCEPT](CONCEPT.md) table for the unique Concept Class the record belongs to.| - -## Conventions - - * There is one record for each Concept Class. Concept Classes are used to create additional structure to the Concepts within each Vocabulary. Some Concept Classes are unique to a Vocabulary (for example "Clinical Finding" in SNOMED), but others can be used across different Vocabularies. The separation of Concepts through Concept Classes can be semantically horizontal (each Class subsumes Concepts of the same hierarchical level, akin to sub-Vocabularies within a Vocabulary) or vertical (each Class subsumes Concepts of a certain kind, going across hierarchical levels). For example, Concept Classes in SNOMED are vertical: The classes "Procedure" and "Clinical Finding" define very granular to very generic Concepts. On the other hand, "Clinical Drug" and "Ingredient" Concept Classes define horizontal layers or strata in the RxNorm vocabulary, which all belong to the same concept of a Drug. - * The concept_class_id field contains an alphanumerical identifier, that can also be used as the abbreviation of the Concept Class. - * The concept_class_name field contains the unabbreviated names of the Concept Class. - * Each Concept Class also has an entry in the Concept table, which is recorded in the concept_class_concept_id field. This is for purposes of creating a closed Information Model, where all entities in the OMOP CDM are covered by unique Concepts. - * Past versions of the OMOP CDM did not have a separate reference table for all Concept Classes. Also, the content of the old concept_class and the new concept_class_id fields are not always identical. A conversion talbe can be found here: - -Previous CONCEPT_CLASS|Version 5 CONCEPT_CLASS_ID -:-----|:------ -|Administrative concept|Admin Concept| -|Admitting Source|Admitting Source| -|Anatomical Therapeutic Chemical Classification|ATC| -|Anatomical Therapeutic Chemical Classification|ATC| -|APC|Procedure| -|Attribute|Attribute| -|Biobank Flag|Biobank Flag| -|Biological function|Biological Function| -|Body structure|Body Structure| -|Brand Name|Brand Name| -|Branded Drug|Branded Drug| -|Branded Drug Component|Branded Drug Comp| -|Branded Drug Form|Branded Drug Form| -|Branded Pack|Branded Pack| -|CCS_DIAGNOSIS|Condition| -|CCS_PROCEDURES|Procedure| -|Chart Availability|Chart Availability| -|Chemical Structure|Chemical Structure| -|Clinical Drug|Clinical Drug| -|Clinical Drug Component|Clinical Drug Comp| -|Clinical Drug Form|Clinical Drug Form| -|Clinical finding|Clinical Finding| -|Clinical Pack|Clinical Pack| -|Concept Relationship|Concept Relationship| -|Condition Occurrence Type|Condition Occur Type| -|Context-dependent category|Context-dependent| -|CPT-4|Procedure| -|Currency|Currency| -|Death Type|Death Type| -|Device Type|Device Type| -|Discharge Disposition|Discharge Dispo| -|Discharge Status|Discharge Status| -|Domain|Domain| -|Dose Form|Dose Form| -|DRG|Diagnostic Category| -|Drug Exposure Type|Drug Exposure Type| -|Drug Interaction|Drug Interaction| -|Encounter Type|Encounter Type| -|Enhanced Therapeutic Classification|ETC| -|Enrollment Basis|Enrollment Basis| -|Environment or geographical location|Location| -|Ethnicity|Ethnicity| -|Event|Event| -|Gender|Gender| -|HCPCS|Procedure| -|Health Care Provider Specialty|Provider Specialty| -|HES specialty|Provider Specialty| -|High Level Group Term|HLGT| -|High Level Term|HLT| -|Hispanic|Hispanic| -|ICD-9-Procedure|Procedure| -|Indication or Contra-indication|Ind / CI| -|Ingredient|Ingredient| -|LOINC Code|Measurement| -|LOINC Multidimensional Classification|Meas Class| -|Lowest Level Term|LLT| -|MDC|Diagnostic Category| -|Measurement Type|Meas Type| -|Mechanism of Action|Mechanism of Action| -|Model component|Model Comp| -|Morphologic abnormality|Morph Abnormality| -|MS-DRG|Diagnostic Category| -|Namespace concept|Namespace Concept| -|Note Type|Note Type| -|Observable entity|Observable Entity| -|Observation Period Type|Obs Period Type| -|Observation Type|Observation Type| -|OMOP DOI cohort|Drug Cohort| -|OMOP HOI cohort|Condition Cohort| -|OPCS-4|Procedure| -|Organism|Organism| -|Patient Status|Patient Status| -|Pharmaceutical / biologic product|Pharma/Biol Product| -|Pharmaceutical Preparations|Pharma Preparation| -|Pharmacokinetics|PK| -|Pharmacologic Class|Pharmacologic Class| -|Physical force|Physical Force| -|Physical object|Physical Object| -|Physiologic Effect|Physiologic Effect| -|Place of Service|Place of Service| -|Preferred Term|PT| -|Procedure|Procedure| -|Procedure Occurrence Type|Procedure Occur Type| -|Qualifier value|Qualifier Value| -|Race|Race| -|Record artifact|Record Artifact| -|Revenue Code|Revenue Code| -|Sex|Gender| -|Social context|Social Context| -|Special concept|Special Concept| -|Specimen|Specimen| -|Staging and scales|Staging / Scales| -|Standardized MedDRA Query|SMQ| -|Substance|Substance| -|System Organ Class|SOC| -|Therapeutic Class|Therapeutic Class| -|UCUM|Unit| -|UCUM Canonical|Canonical Unit| -|UCUM Custom|Unit| -|UCUM Standard|Unit| -|Undefined|Undefined| -|UNKNOWN|Undefined| -|VA Class|Drug Class| -|VA Drug Interaction|Drug Interaction| -|VA Product|Drug Product| -|Visit|Visit| -|Visit Type|Visit Type| diff --git a/Documentation/StandardizedVocabularies/CONCEPT_RELATIONSHIP.md b/Documentation/StandardizedVocabularies/CONCEPT_RELATIONSHIP.md deleted file mode 100644 index 0c9068a..0000000 --- a/Documentation/StandardizedVocabularies/CONCEPT_RELATIONSHIP.md +++ /dev/null @@ -1,29 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.5 CONCEPT_RELATIONSHIP - -The CONCEPT_RELATIONSHIP table contains records that define direct relationships between any two Concepts and the nature or type of the relationship. Each type of a relationship is defined in the [RELATIONSHIP](RELATIONSHIP.md) table. - -Field|Required|Type|Description -:-----|:-----|:----|:----- -|concept_id_1|Yes|integer|A foreign key to a Concept in the [CONCEPT](CONCEPT.md) table associated with the relationship. Relationships are directional, and this field represents the source concept designation.| -|concept_id_2|Yes|integer|A foreign key to a Concept in the [CONCEPT](CONCEPT.md) table associated with the relationship. Relationships are directional, and this field represents the destination concept designation.| -|relationship_id|Yes|varchar(20)|A unique identifier to the type or nature of the Relationship as defined in the [RELATIONSHIP](RELATIONSHIP.md) table.| -|valid_start_date|Yes|date|The date when the instance of the Concept Relationship is first recorded.| -|valid_end_date|Yes|date|The date when the Concept Relationship became invalid because it was deleted or superseded (updated) by a new relationship. Default value is 31-Dec-2099.| -|invalid_reason|No|varchar(1)|Reason the relationship was invalidated. Possible values are 'D' (deleted), 'U' (replaced with an update) or NULL when valid_end_date has the default value.| - -## Conventions - * Relationships can generally be classified as hierarchical (parent-child) or non-hierarchical (lateral). - * All Relationships are directional, and each Concept Relationship is represented twice symmetrically within the CONCEPT_RELATIONSHIP table. For example, the two SNOMED concepts of ‘Acute myocardial infarction of the anterior wall’ and ‘Acute myocardial infarction’ have two Concept Relationships: 1- ‘Acute myocardial infarction of the anterior wall’ ‘Is a’ ‘Acute myocardial infarction’, and 2- ‘Acute myocardial infarction’ ‘Subsumes’ ‘Acute myocardial infarction of the anterior wall’. - * There is one record for each Concept Relationship connecting the same Concepts with the same relationship_id. - * Since all Concept Relationships exist with their mirror image (concept_id_1 and concept_id_2 swapped, and the relationship_id replaced by the reverse_relationship_id from the [RELATIONSHIP](RELATIONSHIP.md) table), it is not necessary to query for the existence of a relationship both in the concept_id_1 and concept_id_2 fields. - * Concept Relationships define direct relationships between Concepts. Indirect relationships through 3rd Concepts are not captured in this table. However, the [CONCEPT_ANCESTOR](CONCEPT_ANCESTOR.md) table does this for hierachical relationships over several "generations" of direct relationships. - * In previous versions of the CDM, the relationship_id used to be a numerical identifier. See the [RELATIONSHIP](RELATIONSHIP.md) table. diff --git a/Documentation/StandardizedVocabularies/CONCEPT_SYNONYM.md b/Documentation/StandardizedVocabularies/CONCEPT_SYNONYM.md deleted file mode 100644 index dba9185..0000000 --- a/Documentation/StandardizedVocabularies/CONCEPT_SYNONYM.md +++ /dev/null @@ -1,24 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.7 CONCEPT_SYNONYM - -The CONCEPT_SYNONYM table is used to store alternate names and descriptions for Concepts. - -Field|Required|Type|Description -:----|:----|:----|:---- -|concept_id|Yes|Integer|A foreign key to the Concept in the CONCEPT table.| -|concept_synonym_name|Yes|varchar(1000)|The alternative name for the Concept.| -|language_concept_id|Yes|integer|A foreign key to a Concept representing the language.| - -## Conventions - - * The concept_name field contains a valid Synonym of a concept, including the description in the concept_name itself. I.e. each Concept has at least one Synonym in the CONCEPT_SYNONYM table. As an example, for a SNOMED-CT Concept, if the fully specified name is stored as the concept_name of the CONCEPT table, then the Preferred Term and Synonyms associated with the Concept are stored in the CONCEPT_SYNONYM table. - * Only Synonyms that are active and current are stored in the CONCEPT_SYNONYM table. Tracking synonym/description history and mapping of obsolete synonyms to current Concepts/Synonyms is out of scope for the Standard Vocabularies. - * Currently, only English Synonyms are included. diff --git a/Documentation/StandardizedVocabularies/DOMAIN.md b/Documentation/StandardizedVocabularies/DOMAIN.md deleted file mode 100644 index dd5fe62..0000000 --- a/Documentation/StandardizedVocabularies/DOMAIN.md +++ /dev/null @@ -1,26 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.3 DOMAIN - -The DOMAIN table includes a list of OMOP-defined Domains the Concepts of the Standardized Vocabularies can belong to. A Domain defines the set of allowable Concepts for the standardized fields in the CDM tables. For example, the "Condition" Domain contains Concepts that describe a condition of a patient, and these Concepts can only be stored in the condition_concept_id field of the [CONDITION_OCCURRENCE](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/StandardizedClinicalDataTables/CONDITION_OCCURRENCE.md) and [CONDITION_ERA](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/StandardizedDerivedElements/CONDITION_ERA.md) tables. This reference table is populated with a single record for each Domain and includes a descriptive name for the Domain. - -Field|Required|Type|Description -:----|:----|:----|:----- -|domain_id|Yes|varchar(20)|A unique key for each domain.| -|domain_name|Yes|varchar(255)|The name describing the Domain, e.g. "Condition", "Procedure", "Measurement" etc.| -|domain_concept_id|Yes|integer|A foreign key that refers to an identifier in the [CONCEPT](CONCEPT.md) table for the unique Domain Concept the Domain record belongs to.| - -## Conventions - - * There is one record for each Domain. The domains are defined by the tables and fields in the OMOP CDM that can contain Concepts describing all the various aspects of the healthcare experience of a patient. - * The domain_id field contains an alphanumerical identifier, that can also be used as the abbreviation of the Domain. - * The domain_name field contains the unabbreviated names of the Domain. - * Each Domain also has an entry in the Concept table, which is recorded in the domain_concept_id field. This is for purposes of creating a closed Information Model, where all entities in the OMOP CDM are covered by unique Concept. - * Versions prior to v5.0.0 of the OMOP CDM did not support the notion of a Domain. diff --git a/Documentation/StandardizedVocabularies/DRUG_STRENGTH.md b/Documentation/StandardizedVocabularies/DRUG_STRENGTH.md deleted file mode 100644 index 552ead4..0000000 --- a/Documentation/StandardizedVocabularies/DRUG_STRENGTH.md +++ /dev/null @@ -1,39 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.10 DRUG_STRENGTH - -The DRUG_STRENGTH table contains structured content about the amount or concentration and associated units of a specific ingredient contained within a particular drug product. This table is supplemental information to support standardized analysis of drug utilization. - -Field|Required|Type|Description -:----|:----|:----|:----- -|drug_concept_id|Yes|integer|A foreign key to the Concept in the CONCEPT table representing the identifier for Branded Drug or Clinical Drug Concept.| -|ingredient_concept_id|Yes|integer|A foreign key to the Concept in the CONCEPT table, representing the identifier for drug Ingredient Concept contained within the drug product.| -|amount_value|No|float|The numeric value associated with the amount of active ingredient contained within the product.| -|amount_unit_concept_id|No|integer|A foreign key to the Concept in the CONCEPT table representing the identifier for the Unit for the absolute amount of active ingredient.| -|numerator_value|No|float|The numeric value associated with the concentration of the active ingredient contained in the product| -|numerator_unit_concept_id|No|integer|A foreign key to the Concept in the CONCEPT table representing the identifier for the numerator Unit for the concentration of active ingredient.| -|denominator_value|No|float|The amount of total liquid (or other divisible product, such as ointment, gel, spray, etc.).| -|denominator_unit_concept_id|No|integer|A foreign key to the Concept in the CONCEPT table representing the identifier for the denominator Unit for the concentration of active ingredient.| -|valid_start_date|Yes|date|The date when the Concept was first recorded. The default value is 1-Jan-1970.| -|valid_end_date|Yes|date|The date when the concept became invalid because it was deleted or superseded (updated) by a new Concept. The default value is 31-Dec-2099.| -|invalid_reason|No|varchar(1)|Reason the concept was invalidated. Possible values are 'D' (deleted), 'U' (replaced with an update) or NULL when valid_end_date has the default value.| - -## Conventions - - * The DRUG_STRENGTH table contains information for each active (non-deprecated) standard drug concept. - * A drug which contains multiple active Ingredients will result in multiple DRUG_STRENGTH records, one for each active ingredient. - * Ingredient strength information is provided either as absolute amount (usually for solid formulations) or as concentration (usually for liquid formulations). - * If the absolute amount is provided (for example, 'Acetaminophen 5 MG Tablet') the amount_value and amount_unit_concept_id are used to define this content (in this case 5 and 'MG'). - * If the concentration is provided (for example 'Acetaminophen 48 MG/ML Oral Solution') the numerator_value in combination with the numerator_unit_concept_id and denominator_unit_concept_id are used to define this content (in this case 48, 'MG' and 'ML'). - * In case of Quantified Clinical or Branded Drugs the denominator_value contains the total amount of the solution (not the amount of the ingredient). In all other drug concept classes the denominator amount is NULL because the concentration is always normalized to the unit of the denominator. So, a product containing 960 mg in 20 mL is provided as 48 mg/mL in the Clinical Drug and Clinical Drug Component, while as a Quantified Clinical Drug it is written as 960 mg/20 mL. - * If the strength is provided in % (volume or mass-percent are not distinguished) it is stored in the numerator_value/numerator_unit_concept_id field combination, with both the denominator_value and denominator_unit_concept_id set to NULL. If it is a Quantified Drug the total amount of drug is provided in the denominator_value/denominator_unit_concept_id pair. E.g., the 30 G Isoconazole 2% Topical Cream is provided as 2% / in Clinical Drug and Clinical Drug Component, and as 2% /30 G. - * Sometimes, one Ingredient is listed with different units within the same drug. This is very rare, and usually this happens if there are more than one Precise Ingredient. For example, 'Penicillin G, Benzathine 150000 UNT/ML / Penicillin G, Procaine 150000 MEQ/ML Injectable Suspension' contains Penicillin G in two different forms. - * Sometimes, different ingredients in liquid drugs are listed with different units in the denominator_unit_concept_id. This is usually the case if the ingredients are liquids themselves (concentration provided as mL/mL) or solid substances (mg/mg). In these cases, the general assumptions is made that the density of the drug is that of water, and one can assume 1 g = 1 mL. - * All Drug vocabularies containing Standard Concepts have entries in the DRUG_STRENGTH table. diff --git a/Documentation/StandardizedVocabularies/RELATIONSHIP.md b/Documentation/StandardizedVocabularies/RELATIONSHIP.md deleted file mode 100644 index 674e9e9..0000000 --- a/Documentation/StandardizedVocabularies/RELATIONSHIP.md +++ /dev/null @@ -1,303 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.6 RELATIONSHIP - -The RELATIONSHIP table provides a reference list of all types of relationships that can be used to associate any two concepts in the CONCEPT_RELATIONSHP table. - -Field|Required|Type|Description -:----|:----|:----|:----- -|relationship_id|Yes|varchar(20)| The type of relationship captured by the relationship record.| -|relationship_name|Yes|varchar(255)| The text that describes the relationship type.| -|is_hierarchical|Yes|varchar(1)|Defines whether a relationship defines concepts into classes or hierarchies. Values are 1 for hierarchical relationship or 0 if not.| -|defines_ancestry|Yes|varchar(1)|Defines whether a hierarchical relationship contributes to the concept_ancestor table. These are subsets of the hierarchical relationships. Valid values are 1 or 0.| -|reverse_relationship_id|Yes|varchar(20)|The identifier for the relationship used to define the reverse relationship between two concepts.| -|relationship_concept_id|Yes|integer|A foreign key that refers to an identifier in the CONCEPT table for the unique relationship concept.| - -## Conventions - - * There is one record for each Relationship. - * Relationships are classified as hierarchical (parent-child) or non-hierarchical (lateral) - * They are used to determine which concept relationship records should be included in the computation of the CONCEPT_ANCESTOR table. - * The relationship_id field contains an alphanumerical identifier, that can also be used as the abbreviation of the Relationship. - * The relationship_name field contains the unabbreviated names of the Relationship. - * Relationships all exist symmetrically, i.e. in both direction. The relationship_id of the opposite Relationship is provided in the reverse_relationship_id field. - * Each Relationship also has an equivalent entry in the Concept table, which is recorded in the relationship_concept_id field. This is for purposes of creating a closed Information Model, where all entities in the OMOP CDM are covered by unique Concepts. - * Hierarchical Relationships are used to build a hierarchical tree out of the Concepts, which is recorded in the CONCEPT_ANCESTOR table. For example, "has_ingredient" is a Relationship between Concepst of the Concept Class 'Clinical Drug' and those of 'Ingredient', and all Ingredients can be classified as the "parental" hierarchical Concepts for the drug products they are part of. All 'Is a' Relationships are hierarchical. - * Relationships, also hierarchical, can be between Concepts within the same Vocabulary or those adopted from different Vocabulary sources. - * In past versions of the RELATIONSHIP table, the relationship_id used to be a numerical value. A conversion table between these old and new IDs is given below: - -Previous RELATIONSHIP_ID|Version 5 RELATIONSHIP_ID -:-----|:----- -|1|LOINC replaced by| -|2|Has precise ing| -|3|Has tradename| -|4|RxNorm has dose form| -|5|Has form| -|6|RxNorm has ing| -|7|Constitutes| -|8|Contains| -|9|Reformulation of| -|10|Subsumes| -|11|NDFRT has dose form| -|12|Induces| -|13|May diagnose| -|14|Has physio effect| -|15|Has CI physio effect| -|16|NDFRT has ing| -|17|Has CI chem class| -|18|Has MoA| -|19|Has CI MoA| -|20|Has PK| -|21|May treat| -|22|CI to| -|23|May prevent| -|24|Has metabolites| -|25|Has metabolism| -|26|May be inhibited by| -|27|Has chem structure| -|28|NDFRT - RxNorm eq| -|29|Has recipient cat| -|30|Has proc site| -|31|Has priority| -|32|Has pathology| -|33|Has part of| -|34|Has severity| -|35|Has revision status| -|36|Has access| -|37|Has occurrence| -|38|Has method| -|39|Has laterality| -|40|Has interprets| -|41|Has indir morph| -|42|Has indir device| -|43|Has specimen| -|44|Has interpretation| -|45|Has intent| -|46|Has focus| -|47|Has manifestation| -|48|Has active ing| -|49|Has finding site| -|50|Has episodicity| -|51|Has dir subst| -|52|Has dir morph| -|53|Has dir device| -|54|Has component| -|55|Has causative agent| -|56|Has asso morph| -|57|Has asso finding| -|58|Has measurement| -|59|Has property| -|60|Has scale type| -|61|Has time aspect| -|62|Has specimen proc| -|63|Has specimen source| -|64|Has specimen morph| -|65|Has specimen topo| -|66|Has specimen subst| -|67|Has due to| -|68|Has relat context| -|69|Has dose form| -|70|Occurs after| -|71|Has asso proc| -|72|Has dir proc site| -|73|Has indir proc site| -|74|Has proc device| -|75|Has proc morph| -|76|Has finding context| -|77|Has proc context| -|78|Has temporal context| -|79|Findinga sso with| -|80|Has surgical appr| -|81|Using device| -|82|Using energy| -|83|Using subst| -|84|Using acc device| -|85|Has clinical course| -|86|Has route of admin| -|87|Using finding method| -|88|Using finding inform| -|92|ICD9P - SNOMED eq| -|93|CPT4 - SNOMED cat| -|94|CPT4 - SNOMED eq| -|125|MedDRA - SNOMED eq| -|126|Has FDA-appr ind| -|127|Has off-label ind| -|129|Has CI| -|130|ETC - RxNorm| -|131|ATC - RxNorm| -|132|SMQ - MedDRA| -|135|LOINC replaces| -|136|Precise ing of| -|137|Tradename of| -|138|RxNorm dose form of| -|139|Form of| -|140|RxNorm ing of| -|141|Consists of| -|142|Contained in| -|143|Reformulated in| -|144|Is a| -|145|NDFRT dose form of| -|146|Induced by| -|147|Diagnosed through| -|148|Physiol effect by| -|149|CI physiol effect by| -|150|NDFRT ing of| -|151|CI chem class of| -|152|MoA of| -|153|CI MoA of| -|154|PK of| -|155|May be treated by| -|156|CI by| -|157|May be prevented by| -|158|Metabolite of| -|159|Metabolism of| -|160|Inhibits effect| -|161|Chem structure of| -|162|RxNorm - NDFRT eq| -|163|Recipient cat of| -|164|Proc site of| -|165|Priority of| -|166|Pathology of| -|167|Part of| -|168|Severity of| -|169|Revision status of| -|170|Access of| -|171|Occurrence of| -|172|Method of| -|173|Laterality of| -|174|Interprets of| -|175|Indir morph of| -|176|Indir device of| -|177|Specimen of| -|178|Interpretation of| -|179|Intent of| -|180|Focus of| -|181|Manifestation of| -|182|Active ing of| -|183|Finding site of| -|184|Episodicity of| -|185|Dir subst of| -|186|Dir morph of| -|187|Dir device of| -|188|Component of| -|189|Causative agent of| -|190|Asso morph of| -|191|Asso finding of| -|192|Measurement of| -|193|Property of| -|194|Scale type of| -|195|Time aspect of| -|196|Specimen proc of| -|197|Specimen identity of| -|198|Specimen morph of| -|199|Specimen topo of| -|200|Specimen subst of| -|201|Due to of| -|202|Relat context of| -|203|Dose form of| -|204|Occurs before| -|205|Asso proc of| -|206|Dir proc site of| -|207|Indir proc site of| -|208|Proc device of| -|209|Proc morph of| -|210|Finding context of| -|211|Proc context of| -|212|Temporal context of| -|213|Asso with finding| -|214|Surgical appr of| -|215|Device used by| -|216|Energy used by| -|217|subst used by| -|218|Acc device used by| -|219|Clinical course of| -|220|Route of admin of| -|221|Finding method of| -|222|Finding inform of| -|226|SNOMED - ICD9P eq| -|227|SNOMED cat - CPT4| -|228|SNOMED - CPT4 eq| -|239|SNOMED - MedDRA eq| -|240|Is FDA-appr ind of| -|241|Is off-label ind of| -|243|Is CI of| -|244|RxNorm - ETC| -|245|RxNorm - ATC| -|246|MedDRA - SMQ| -|247|Ind/CI - SNOMED| -|248|SNOMED - ind/CI| -|275|Has therap class| -|276|Therap class of| -|277|Drug-drug inter for| -|278|Has drug-drug inter| -|279|Has pharma prep| -|280|Pharma prep in| -|281|Inferred class of| -|282|Has inferred class| -|283|SNOMED proc - HCPCS| -|284|HCPCS - SNOMED proc| -|285|RxNorm - NDFRT name| -|286|NDFRT - RxNorm name| -|287|ETC - RxNorm name| -|288|RxNorm - ETC name| -|289|ATC - RxNorm name| -|290|RxNorm - ATC name| -|291|HOI - SNOMED| -|292|SNOMED - HOI| -|293|DOI - RxNorm| -|294|RxNorm - DOI| -|295|HOI - MedDRA| -|296|MedDRA - HOI| -|297|NUCC - CMS Specialty| -|298|CMS Specialty - NUCC| -|299|DRG - MS-DRG eq| -|300|MS-DRG - DRG eq| -|301|DRG - MDC cat| -|302|MDC cat - DRG| -|303|Visit cat - PoS| -|304|PoS - Visit cat| -|305|VAProd - NDFRT| -|306|NDFRT - VAProd| -|307|VAProd - RxNorm eq| -|308|RxNorm - VAProd eq| -|309|RxNorm replaced by| -|310|RxNorm replaces| -|311|SNOMED replaced by| -|312|SNOMED replaces| -|313|ICD9P replaced by| -|314|ICD9P replaces| -|315|Multilex has ing| -|316|Multilex ing of| -|317|RxNorm - Multilex eq| -|318|Multilex - RxNorm eq| -|319|Multilex ing - class| -|320|Class - Multilex ing| -|321|Maps to| -|322|Mapped from| -|325|Map includes child| -|326|Included in map from| -|327|Map excludes child| -|328|Excluded in map from| -|345|UCUM replaced by| -|346|UCUM replaces| -|347|Concept replaced by| -|348|Concept replaces| -|349|Concept same_as to| -|350|Concept same_as from| -|351|Concept alt_to to| -|352|Concept alt_to from| -|353|Concept poss_eq to| -|354|Concept poss_eq from| -|355|Concept was_a to| -|356|Concept was_a from| -|357|SNOMED meas - HCPCS| -|358|HCPCS - SNOMED meas| -|359|Domain subsumes| -|360|Is domain| diff --git a/Documentation/StandardizedVocabularies/SOURCE_TO_CONCEPT_MAP.md b/Documentation/StandardizedVocabularies/SOURCE_TO_CONCEPT_MAP.md deleted file mode 100644 index 2ead71a..0000000 --- a/Documentation/StandardizedVocabularies/SOURCE_TO_CONCEPT_MAP.md +++ /dev/null @@ -1,36 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.9 SOURCE_TO_CONCEPT_MAP - -The source to concept map table is a legacy data structure within the OMOP Common Data Model, recommended for use in ETL processes to maintain local source codes which are not available as Concepts in the Standardized Vocabularies, and to establish mappings for each source code into a Standard Concept as target_concept_ids that can be used to populate the Common Data Model tables. The SOURCE_TO_CONCEPT_MAP table is no longer populated with content within the Standardized Vocabularies published to the OMOP community. - -Field|Required|Type|Description -:---|:----|:---|:---- -|source_code|Yes|varchar(50)|The source code being translated into a Standard Concept.| -|source_concept_id|Yes|integer|A foreign key to the Source Concept that is being translated into a Standard Concept.| -|source_vocabulary_id|No|varchar(20)|A foreign key to the VOCABULARY table defining the vocabulary of the source code that is being translated to a Standard Concept.| -|source_code_description|Yes|varchar(255)|An optional description for the source code. This is included as a convenience to compare the description of the source code to the name of the concept.| -|target_concept_id|Yes|integer|A foreign key to the target Concept to which the source code is being mapped.| -|target_vocabulary_id|Yes|varchar(20)|A foreign key to the VOCABULARY table defining the vocabulary of the target Concept.| -|valid_start_date|Yes|date|The date when the mapping instance was first recorded.| -|valid_end_date|Yes|date|The date when the mapping instance became invalid because it was deleted or superseded (updated) by a new relationship. Default value is 31-Dec-2099.| -|invalid_reason|No|varchar(1)|Reason the mapping instance was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value.| - -## Conventions - - * This table is no longer used to distribute mapping information between source codes and Standard Concepts for the Standard Vocabularies. Instead, the CONCEPT_RELATIONSHIP table is used for this purpose, using the relationship_id='Maps to'. - * However, this table can still be used for the translation of local source codes into Standard Concepts. - * **Note:** This table should not be used to translate source codes to Source Concepts. The source code of a Source Concept is captured in its concept_code field. If the source codes used in a given database do not follow correct formatting the ETL will have to perform this translation. For example, if ICD-9-CM codes are recorded without a dot the ETL will have to perform a lookup function that allows identifying the correct ICD-9-CM Source Concept (with the dot in the concept_code field). - * The source_concept_id, or the combination of the fields source_code and the source_vocabulary_id uniquely identifies the source information. It is the equivalent to the concept_id_1 field in the CONCEPT_RELATIONSHIP table. - * If there is no source_concept_id available because the source codes are local and not supported by the Standard Vocabulary, the content of the field is 0 (zero, not null) encoding an undefined concept. However, local Source Concepts are established (concept_id values above 2,000,000,000). - * The source_code_description contains an optional description of the source code. - * The target_concept_id contains the Concept the source code is mapped to. It is equivalent to the concept_id_2 in the CONCEPT_RELATIONSHIP table - * The target_vocabulary_id field contains the vocabulary_id of the target concept. It is a duplication of the same information in the CONCEPT record of the Target Concept. - * The fields valid_start_date, valid_end_date and invalid_reason are used to define the life cycle of the mapping information. Invalid mapping records should not be used for mapping information. diff --git a/Documentation/StandardizedVocabularies/StandardizedVocabularies.md b/Documentation/StandardizedVocabularies/StandardizedVocabularies.md deleted file mode 100644 index 760a3d4..0000000 --- a/Documentation/StandardizedVocabularies/StandardizedVocabularies.md +++ /dev/null @@ -1,40 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) - ---- - -# 3 Standardized Vocabularies - -
[3.1 CONCEPT](CONCEPT.md) -
[3.2 VOCABULARY](VOCABULARY.md) -
[3.3 DOMAIN](DOMAIN.md) -
[3.4 CONCEPT_CLASS](CONCEPT_CLASS.md) -
[3.5 CONCEPT_RELATIONSHIP](CONCEPT_RELATIONSHIP.md) -
[3.6 RELATIONSHIP](RELATIONSHIP.md) -
[3.7 CONCEPT_SYNONYM](CONCEPT_SYNONYM.md) -
[3.8 CONCEPT_ANCESTOR](CONCEPT_ANCESTOR.md) -
[3.9 SOURCE_TO_CONCEPT_MAP](SOURCE_TO_CONCEPT_MAP.md) -
[3.10 DRUG_STRENGTH](DRUG_STRENGTH.md) -
[3.11 COHORT_DEFINITION](COHORT_DEFINITION.md) -
[3.12 ATTRIBUTE_DEFINITION](ATTRIBUTE_DEFINITION.md) - -These tables contain detailed information about the Concepts used in all of the CDM fact tables. The content of the Standardized Vocabularies tables is not generated anew by each CDM implementation. Instead, it is maintained centrally as a service to the community. - -A number of assumptions were made for the design of the Standardized Vocabularies tables: - - * There is one design which will accommodate all different source terminologies and classifications. - * All terminologies are loaded into the CONCEPT table. - * The key is a newly created concept_id, not the original code of the terminology, because source codes are not unique identifiers across terminologies. - * Some Concepts are declared Standard Concepts, i.e. they are used to represent a certain clinical entity in the data. All Concepts may be Source Concepts; they represent how the entity was coded in the source. Standard Concepts are identified through the standard_concept field in the CONCEPT table. - * Records in the CONCEPT_RELATIONSHIP table define semantic relationships between Concepts. Such relationships can be hierarchical or lateral. - * Records in the CONCEPT_RELATIONSHIP table are used to map Source codes to Standard Concepts, replacing the mechanism of the SOURCE_TO_CONCEPT_MAP table used in prior Standardized Vocabularies versions. The SOURCE_TO_CONCEPT_MAP table is retained as an optional aid to bookkeeping codes not found in the Standardized Vocabularies. - * Chains of hierarchical relationships are recorded in the CONCEPT_ANCESTOR table. Ancestry relationships are only recorded between Standard Concepts that are valid (not deprecated) and are connected through valid and hierarchical relationships in the RELATIONSHIP table (flag defines_ancestry). - -The advantage of this approach lies in the preservation of codes and relationships between them without adherence to the multiple different source data structures, a simple design for standardized access, and the optimization of performance for analysis. Navigation among Standard Concepts does not require knowledge of the source vocabulary. Finally, the approach is scalable and future vocabularies can be integrated easily. On the other hand, extensive transformation of source data to the Vocabulary is required and not every source data structure and original source hierarchy can be retained. - -Below is an entity-relationship diagram highlighting the tables within the Vocabulary portion of the OMOP Common Data Model: - -![](images/vocabulary_tables.png) diff --git a/Documentation/StandardizedVocabularies/VOCABULARY.md b/Documentation/StandardizedVocabularies/VOCABULARY.md deleted file mode 100644 index 1050d59..0000000 --- a/Documentation/StandardizedVocabularies/VOCABULARY.md +++ /dev/null @@ -1,95 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - -[Back to Table of Contents](https://github.com/OHDSI/CommonDataModel/blob/master/Documentation/TableofContents.md) -
[Back to Standardized Vocabularies](StandardizedVocabularies.md) - ---- - -# 3.2 VOCABULARY - -The VOCABULARY table includes a list of the Vocabularies collected from various sources or created de novo by the OMOP community. This reference table is populated with a single record for each Vocabulary source and includes a descriptive name and other associated attributes for the Vocabulary. - -Field|Required|Type|Description -:----|:----|:----|:----- -|vocabulary_id|Yes|varchar(20)|A unique identifier for each Vocabulary, such as ICD9CM, SNOMED, Visit.| -|vocabulary_name|Yes|varchar(255)|The name describing the vocabulary, for example "International Classification of Diseases, Ninth Revision, Clinical Modification, Volume 1 and 2 (NCHS)" etc.| -|vocabulary_reference|Yes|varchar(255)|External reference to documentation or available download of the about the vocabulary.| -|vocabulary_version|Yes|varchar(255)|Version of the Vocabulary as indicated in the source.| -|vocabulary_concept_id|Yes|integer|A foreign key that refers to a standard concept identifier in the CONCEPT table for the Vocabulary the VOCABULARY record belongs to.| - -## Conventions - - * There is one record for each Vocabulary. One Vocabulary source or vendor can issue several Vocabularies, each of them creating their own record in the VOCABULARY table. However, the choice of whether a Vocabulary contains Concepts of different Concept Classes, or when these different classes constitute separate Vocabularies cannot precisely be decided based on the definition of what constitutes a Vocabulary. For example, the ICD-9 Volume 1 and 2 codes (ICD9CM, containing predominantly conditions and some procedures and observations) and the ICD-9 Volume 3 codes (ICD9Proc, containing predominantly procedures) are realized as two different Vocabularies. On the other hand, SNOMED-CT codes of the class Condition and those of the class Procedure are part of one and the same Vocabulary. Please refer to the Standardized Vocabularies [specifications](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary) for details of each Vocabulary. - * The vocabulary_id field contains an alphanumerical identifier, that can also be used as the abbreviation of the Vocabulary name. - * The record with vocabulary_id = 'None' is reserved to contain information regarding the current version of the Entire Standardized Vocabularies. - * The vocabulary_name field contains the full official name of the Vocabulary, as well as the source or vendor in parenthesis. - * Each Vocabulary has an entry in the CONCEPT table, which is recorded in the vocabulary_concept_id field. This is for purposes of creating a closed Information Model, where all entities in the OMOP CDM are covered by a unique Concept. - * In past versions of the VOCABULARY table, the vocabulary_id used to be a numerical value. A conversion table between these old and new IDs is given below: - -Previous VOCABULARY_ID|Version 5 VOCABULARY_ID ------|----- -|0|None| -|1|[SNOMED](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:snomed)| -|2|[ICD9CM](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:icd9cm)| -|3|ICD9Proc| -|4|[CPT4](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:cpt4)| -|5|HCPCS| -|6|[LOINC](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:loinc)| -|7|NDFRT| -|8|[RxNorm](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:rxnorm)| -|9|[NDC](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:ndc)| -|10|GPI| -|11|[UCUM](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:ucum)| -|12|[Gender](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:gender)| -|13|Race| -|14|Place of Service| -|15|MedDRA| -|16|Multum| -|17|Read| -|18|OXMIS| -|19|Indication| -|20|ETC| -|21|[ATC](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:atc)| -|22|Multilex| -|24|Visit| -|28|VA Product| -|31|SMQ| -|32|VA Class| -|33|Cohort| -|34|[ICD10](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:icd10)| -|35|[ICD10PCS](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:icd10pcs)| -|36|Drug Type| -|37|Condition Type| -|38|Procedure Type| -|39|Observation Type| -|40|DRG| -|41|MDC| -|42|APC| -|43|Revenue Code| -|44|[Ethnicity](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:ethnicity)| -|45|Death Type| -|46|[Mesh](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:mesh)| -|47|NUCC| -|48|Specialty| -|49|[LOINC](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:loinc)| -|50|SPL| -|53|Genseqno| -|54|CCS| -|55|OPCS4| -|56|Gemscript| -|57|HES Specialty| -|58|Note Type| -|59|Domain| -|60|PCORNet| -|61|Obs Period Type| -|62|Visit Type| -|63|Device Type| -|64|Meas Type| -|65|[Currency](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:currency)| -|66|Relationship| -|67|Vocabulary| -|68|Concept Class| -|69|Cohort Type| -|70|[ICD10CM](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:vocabulary:icd10cm)| \ No newline at end of file diff --git a/Documentation/StandardizedVocabularies/images/vocabulary_tables.png b/Documentation/StandardizedVocabularies/images/vocabulary_tables.png deleted file mode 100644 index 79c635a..0000000 Binary files a/Documentation/StandardizedVocabularies/images/vocabulary_tables.png and /dev/null differ diff --git a/Documentation/TableofContents.md b/Documentation/TableofContents.md deleted file mode 100644 index f4eadbf..0000000 --- a/Documentation/TableofContents.md +++ /dev/null @@ -1,64 +0,0 @@ -*OMOP Common Data Model v5.1 Specifications* -
*Authors: Christian Reich, Patrick Ryan, Rimma Belenkaya, Karthik Natarajan, Clair Blacketer* -
***Release date needed*** - ---- - -# Table of Contents - -**[License](License.md)** -
-
**[1 Background](Background/Background.md)** -
[1.1 The Role of the Common Data Model](Background/TheRoleoftheCommonDataModel.md) -
[1.2 Design Principles](Background/DesignPrinciples.md) -
[1.3 Data Model Conventions](Background/DataModelConventions.md) -
-
**[2 Glossary of Terms](GlossaryofTerms.md)** -
-
**[3 Standardized Vocabularies](StandardizedVocabularies/StandardizedVocabularies.md)** -
[3.1 CONCEPT](StandardizedVocabularies/CONCEPT.md) -
[3.2 VOCABULARY](StandardizedVocabularies/VOCABULARY.md) -
[3.3 DOMAIN](StandardizedVocabularies/DOMAIN.md) -
[3.4 CONCEPT_CLASS](StandardizedVocabularies/CONCEPT_CLASS.md) -
[3.5 CONCEPT_RELATIONSHIP](StandardizedVocabularies/CONCEPT_RELATIONSHIP.md) -
[3.6 RELATIONSHIP](StandardizedVocabularies/RELATIONSHIP.md) -
[3.7 CONCEPT_SYNONYM](StandardizedVocabularies/CONCEPT_SYNONYM.md) -
[3.8 CONCEPT_ANCESTOR](StandardizedVocabularies/CONCEPT_ANCESTOR.md) -
[3.9 SOURCE_TO_CONCEPT_MAP](StandardizedVocabularies/SOURCE_TO_CONCEPT_MAP.md) -
[3.10 DRUG_STRENGTH](StandardizedVocabularies/DRUG_STRENGTH.md) -
[3.11 COHORT_DEFINITION](StandardizedVocabularies/COHORT_DEFINITION.md) -
[3.12 ATTRIBUTE_DEFINITION](StandardizedVocabularies/ATTRIBUTE_DEFINITION.md) -
-
**4 Standardized Metadata** -
4.1 CDM_SOURCE -
-
**5 Standardized Clinical Data Tables** -
5.1 PERSON -
5.2 OBSERVATION_PERIOD -
5.3 SPECIMEN -
5.4 DEATH -
5.5 VISIT_OCCURRENCE -
5.6 PROCEDURE_OCCURRENCE -
5.7 DRUG_EXPOSURE -
5.8 DEVICE_EXPOSURE -
5.9 CONDITION_OCCURRENCE -
5.10 MEASUREMENT -
5.11 NOTE -
5.12 OBSERVATION -
5.13 FACT_RELATIONSHIP -
-
**6 Standardized Health System Data Tables** -
6.1 LOCATION -
6.2 CARE_SITE -
6.3 PROVIDER -
-
**7 Standardized Health Economics Data Tables** -
7.1 PAYER_PLAN_PERIOD -
7.2 COST -
-
**8 Standardized Derived Elements** -
8.1 COHORT -
8.2 COHORT_ATTRIBUTE -
8.3 DRUG_ERA -
8.4 DOSE_ERA -
8.5 CONDITION_ERA diff --git a/Documentation/report.Rmd b/Documentation/report.Rmd deleted file mode 100644 index cfc600b..0000000 --- a/Documentation/report.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 ---- - -# License - -```{r child = 'C:/Git/CommonDataModel.wiki/License.md'} -``` - -# The Role of the Common Data Model -```{r child = 'C:/Git/CommonDataModel.wiki/Background/The-Role-of-the-Common-Data-Model.md'} -``` diff --git a/Documentation/report.pdf b/Documentation/report.pdf index d344ba6..86a09c0 100644 Binary files a/Documentation/report.pdf and b/Documentation/report.pdf differ