Consolidated Documentation
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
© 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.
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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:
The results of OMOP's research has been widely published and presented at scientific conferences, including annual symposia.
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.
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.
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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.
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The CDM defines table structures in a person-centric way. At a minimum, the tables have a foreign key into the Person table and a date. This allows for a longitudinal view on all the healthcare-relevant events. The exceptions from this rule are the standardized health system data tables, which are linked directly to events of the various domains.
To represent the relevant domains, the CDM contains the following 39 tables:
Table name | Description |
---|---|
Standardized Vocabularies | |
CONCEPT | The CONCEPT table contains records that uniquely identify each fundamental unit of meaning used to express clinical information. Concepts are derived from source vocabularies, which represent clinical information across different domains (e.g. conditions, drugs, procedures) through the use of source codes and associated descriptions. Some concepts are designated as standard concepts, meaning these concepts can be used within the OMOP Common Data Model and within standardized analytics. Each standard concept has a primary domain, which defines the location where the concept would be expected to be observed within OMOP Common Data Model. |
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. |
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 each standardized field. This reference table is populated with a single record for each domain and includes a descriptive name for the Domain. |
CONCEPT_CLASS | The CONCEPT_CLASS table includes a list of the classifications used to differentiate concepts within a given vocabulary. Concept Classes are defined by the source Vocabulary, but might be slightly altered to fit OMOP CDM table constraints. This reference table is populated with a single record with a descriptive name for each Concept Class. |
CONCEPT_RELATIONSHIP | The CONCEPT_RELATIONSHIP table contains records that define direct relationships between any two concepts and the nature of the relationship. The type of relationship is defined in the Relationship table. |
RELATIONSHIP | The RELATIONSHIP table provides a reference list of all allowable types of relationships that can be used to associate any two concepts in the CONCEPT_RELATIONSHIP table. |
CONCEPT_SYNONYM | The CONCEPT_SYNONYM table is used to store alternate names and descriptions for a concept. |
CONCEPT_ANCESTOR | The CONCEPT_ANCESTOR table contains records that define the inferred hierarchical relationships between all Standard Concepts. The concept ancestor table is fully derived from the CONCEPT, CONCEPT_RELATIONSHIP, and RELATIONSHIP tables and is designed to simplify observational analysis by providing the complete hierarchical relationships between Concepts. |
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 extract, transform, and load (ETL) processes to maintain local source codes which are not available as concepts in the Standardized Vocabularies. |
DRUG_STRENGTH | The DRUG_STRENGTH table contains structured content about the amount or concentration and associated units of a specific ingredient within a particular drug product. The drug strength table is a supplemental file to support standardized analysis of drug utilization. |
COHORT_DEFINITION | The COHORT_DEFINITION table contains records to define each derived Cohort through an associated description and syntax and can store operational programming code to instantiate the cohort within a OMOP common data model. |
ATTRIBUTE_DEFINITION | The ATTRIBUTE_DEFINITION table contains records to define each attribute through an associated description and syntax. Attributes are derived elements that can be selected or calculated for a subject within a cohort. |
Standardized meta-data | |
CDM_SOURCE | The CDM_SOURCE table contains detail about the source database and the process used to transform the data into the OMOP common data model. If a source database is derived from multiple data feeds, the integration of those disparate sources is expected to be documented in the ETL specifications. |
Standardized clinical data | |
PERSON | The PERSON table contains records that uniquely identify each patient in the source data who has time at-risk to have clinical events recorded within the source systems. |
OBSERVATION_PERIOD | The OBSERVATION_PERIOD table contains records which uniquely define the spans of time for which a Person is at-risk to have clinical events recorded within the source systems, even if no events in fact are recorded (healthy patient with no healthcare interactions). |
SPECIMEN | The SPECIMEN table contains the records identifying each biological sample from a person. |
DEATH | The DEATH table contains the clinical event for how and when a Person dies. A person can have up to one record if the source system contains evidence about the Death. |
VISIT_OCCURRENCE | The VISIT_OCCURRENCE table contains the spans of time a person continuously receives medical services from one or more providers at a facility in a given setting within the health care system. Visits are classified into 4 settings: outpatient care, inpatient confinement, emergency room, and long-term care. Persons may transition between these settings over the course of an episode of care. |
PROCEDURE_OCCURRENCE | The PROCEDURE_OCCURRENCE table contains records of activities or processes ordered by, or carried out by, a healthcare provider on the patient to have a diagnostic or therapeutic purpose. |
DRUG_EXPOSURE | The DRUG_EXPOSURE table captures records about the inferred utilization of a biochemical substance with a physiological therapeutic effect when ingested or otherwise introduced into the body. Drugs include prescription and over-the-counter medicines, vaccines, and large-molecule biologic therapies. |
DEVICE_EXPOSURE | The device exposure domain captures information about a person’s exposure to a foreign physical object or instrument that which is used for diagnostic or therapeutic purposes through a mechanism beyond chemical action. Devices include implantable objects (e.g. pacemakers, stents, artificial joints), durable medical equipment and supplies (e.g. bandages, crutches, syringes), and other instruments used in medical procedures (e.g. sutures, defibrillators). |
CONDITION_OCCURRENCE | Conditions are records of a Person suggesting the presence of a disease or medical condition stated as a diagnosis, a sign or a symptom, which is either observed by a Provider or reported by the patient. |
MEASUREMENT | The MEASUREMENT table contains records of Measurement, i.e. structured values (numerical or categorical) obtained through systematic and standardized examination or testing of a Person or Person's sample. The MEASUREMENT table contains both orders and results of such Measurements as laboratory tests, vital signs, quantitative findings from pathology reports, etc |
NOTE | The NOTE table captures unstructured information that was recorded by a provider or a patient in free text notes on a given date. |
OBSERVATION | The OBSERVATION table captures clinical facts about a Person obtained in the context of examination, questioning or a procedure. Any data that cannot be represented by any other domains, such as social and lifestyle facts, medical history, family history, etc. are recorded here. |
FACT_RELATIONSHIP | The FACT_RELATIONSHIP table contains records about the relationships between facts stored as records in any table of the CDM. Relationships can be defined between facts from the same domain (table), or different domains. Examples of Fact Relationships include: Person relationships (parent-child), care site relationships (hierarchical organizational structure of facilities within a health system), indication relationship (between drug exposures and associated conditions), usage relationships (of devices during the course of an associated procedure), or facts derived from one another (measurements derived from an associated specimen). |
Standardized health system data | |
LOCATION | |
CARE_SITE | The CARE_SITE table contains a list of uniquely identified institutional (physical or organizational) units where healthcare delivery is practiced (offices, wards, hospitals, clinics, etc.). |
PROVIDER | The PROVIDER table contains a list of uniquely identified health care providers. These are individuals providing hands-on healthcare to patients, such as physicians, nurses, midwives, physical therapists etc. |
Standardized health economics | |
PAYER_PLAN_PERIOD | The PAYER_PLAN_PERIOD table captures the unique combination of the period of time that a Person is continuously enrolled under a specific health Plan benefit structure from a given Payer as well as covered family members. |
VISIT_COST | The VISIT_COST table captures the costs of health visit of a patient which are not itemized to specific procedures, drugs, or devices used within the Visit. |
PROCEDURE_COST | The PROCEDURE_COST table captures the cost of a Procedure performed on a Person. The information about the cost is only derived from the amount of money paid for the Procedure. |
DRUG_COST | The DRUG_COST table captures records indicating the cost of a Drug Exposure. The information about the cost is defined by the amount of money paid by the person and payer for the drug, as well as the charged cost of the drug. |
DEVICE_COST | The DEVICE_COST table captures the cost of a medical device or supply used on a Person. The information about the cost is only derived from the amount of money paid for the device. |
Standardized derived elements | |
COHORT | The COHORT table contains records derived as a set of subjects that satisfy a given set of inclusion criteria for a duration of time COHORT_DEFINITION table. Cohorts can be constructed of patients (Persons), Providers or Visits. |
COHORT_ATTRIBUTE | The COHORT_ATTRIBUTE table contains attributes associated with each subject within a cohort, as defined by a given set of criteria for a duration of time. The definition of the Cohort Attribute is contained in the ATTRIBUTE_DEFINITION table. |
DRUG_ERA | A Drug Era is defined as a span of time when the Person is assumed to be exposed to a particular active ingredient, i.e. successive periods of Drug Exposures combined under certain rules to produce continuous Drug Eras. |
DOSE_ERA | A Dose Era is defined as a span of time when the Person is assumed to be exposed to a constant dose of a specific active ingredient. |
CONDITION_ERA | A Condition Era is defined as a span of time when the Person is assumed to have a given condition. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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.
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.
Variable names across all tables follow one convention:
Notation | Description |
---|---|
<entity>_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 |
<entity>_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. |
<entity>_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’ |
<entity>_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. |
<entity>_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’ |
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..
Many tables contain equivalent information multiple times: As a Source Value, a Source Concept and as a Standard Concept.
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.
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).
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.
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.
Each table contains fields for source values, source concept ids, and standard concept ids.
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:
When processing your data where source value is a reference to a coding scheme contained within the Standardized Vocabularies:
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.
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.
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The changes can be summarized into the following categories:
A number of new tables where introduced to reflect the additional information that will be stored in the CDM.
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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). |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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:
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:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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.
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 DOMAIN table the Concept belongs to. |
vocabulary_id | Yes | varchar(20) | A foreign key to the 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. |
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:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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. |
vocabulary_id previously | vocabulary_id Version 5 |
---|---|
0 | None |
1 | SNOMED |
2 | ICD9CM |
3 | ICD9Proc |
4 | CPT4 |
5 | HCPCS |
6 | LOINC |
7 | NDFRT |
8 | RxNorm |
9 | NDC |
10 | GPI |
11 | UCUM |
12 | Gender |
13 | Race |
14 | Place of Service |
15 | MedDRA |
16 | Multum |
17 | Read |
18 | OXMIS |
19 | Indication |
20 | ETC |
21 | ATC |
22 | Multilex |
24 | Visit |
28 | VA Product |
31 | SMQ |
32 | VA Class |
33 | Cohort |
34 | ICD10 |
35 | ICD10PCS |
36 | Drug Type |
37 | Condition Type |
38 | Procedure Type |
39 | Observation Type |
40 | DRG |
41 | MDC |
42 | APC |
43 | Revenue Code |
44 | Ethnicity |
45 | Death Type |
46 | Mesh |
47 | NUCC |
48 | Specialty |
49 | 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 |
66 | Relationship |
67 | Vocabulary |
68 | Concept Class |
69 | Cohort Type |
70 | ICD10CM |
71 | ICDO3 |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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 and CONDITION_ERA 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 table for the unique Domain Concept the Domain record belongs to. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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 table for the unique Concept Class the record belongs to. |
concept_class previously | concept_class_id Version 5 |
---|---|
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 |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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 table.
Field | Required | Type | Description |
---|---|---|---|
concept_id_1 | Yes | integer | A foreign key to a Concept in the CONCEPT 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 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 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. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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. |
relationship_id previously | relationship_id Version 5 |
---|---|
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 |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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. |
A path between two concepts can be characterized by the sequence of relationships that need to be traversed in order to reach a descendant concept from an ancestor concept.
For example, for concepts
descendant_concept_id | descendant_concept_name | ancestor_concept_id | ancestor_concept_name | min_levels_of_separation | max_levels_of_separation |
---|---|---|---|---|---|
313217 | Atrial fibrillation | 321588 | Heart disease | 3 | 4 |
the shortest path in concept_relationship will be :
313217 Atrial fibrillation Is a 4226399 Fibrillation Is a 44784217 Cardiac arrhythmia Is a 321588 Heart disease
the longest:
313217 Atrial fibrillation Is a 4068155 Atrial arrhythmia Is a 4248028 Supraventricular arrhythmia Is a 44784217 Cardiac arrhythmia Is a 321588 Heart disease
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table had the field denominator_value added with version 5.0.1 (5-Apr-2016) of the OMOP CDM.
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 (V5.0.1) | 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. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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 |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
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 |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
Metadata about the data should be derived from the data themselves during ETL. However, the following contains a few key pieces of information that are convenient especially for software applications utilizing the CDM data.
Below provides an entity-relationship diagram highlighting the tables within the Standardized Metadata portion of the OMOP Common Data Model:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The CDM_SOURCE table contains detail about the source database and the process used to transform the data into the OMOP Common Data Model.
Field | Required | Type | Description |
---|---|---|---|
cdm_source_name | Yes | varchar(255) | The full name of the source |
cdm_source_abbreviation | No | varchar(25) | An abbreviation of the name |
cdm_holder | No | varchar(255) | The name of the organization responsible for the development of the CDM instance |
source_description | No | CLOB | A description of the source data origin and purpose for collection. The description may contain a summary of the period of time that is expected to be covered by this dataset. |
source_documentation_reference | No | varchar(255) | URL or other external reference to location of source documentation |
cdm_etl _reference | No | varchar(255) | URL or other external reference to location of ETL specification documentation and ETL source code |
source_release_date | No | date | The date for which the source data are most current, such as the last day of data capture |
cdm_release_date | No | date | The date when the CDM was instantiated |
cdm_version | No | varchar(10) | The version of CDM used |
vocabulary_version | No | varchar(20) | The version of the vocabulary used |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
These tables contain the core information about the clinical events that occurred longitudinally during valid Observation Periods for each Person, as well as demographic information for the Person. Below provides an entity-relationship diagram highlighting the tables within the Standardized Clinical Data portion of the OMOP Common Data Model:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The name of the field time_of_birth was changed to birth_datetime.
The Person Domain contains records that uniquely identify each patient in the source data who is time at-risk to have clinical observations recorded within the source systems.
Field | Required | Type | Description |
---|---|---|---|
person_id | Yes | integer | A unique identifier for each person. |
gender_concept_id | Yes | integer | A foreign key that refers to an identifier in the CONCEPT table for the unique gender of the person. |
year_of_birth | Yes | integer | The year of birth of the person. For data sources with date of birth, the year is extracted. For data sources where the year of birth is not available, the approximate year of birth is derived based on any age group categorization available. |
month_of_birth | No | integer | The month of birth of the person. For data sources that provide the precise date of birth, the month is extracted and stored in this field. |
day_of_birth | No | integer | The day of the month of birth of the person. For data sources that provide the precise date of birth, the day is extracted and stored in this field. |
birth_datetime | No | datetime | The date and time of birth of the person. |
race_concept_id | Yes | integer | A foreign key that refers to an identifier in the CONCEPT table for the unique race of the person. |
ethnicity_concept_id | Yes | integer | A foreign key that refers to the standard concept identifier in the Standardized Vocabularies for the ethnicity of the person. |
location_id | No | integer | A foreign key to the place of residency for the person in the location table, where the detailed address information is stored. |
provider_id | No | integer | A foreign key to the primary care provider the person is seeing in the provider table. |
care_site_id | No | integer | A foreign key to the site of primary care in the care_site table, where the details of the care site are stored. |
person_source_value | No | varchar(50) | An (encrypted) key derived from the person identifier in the source data. This is necessary when a use case requires a link back to the person data at the source dataset. |
gender_source_value | No | varchar(50) | The source code for the gender of the person as it appears in the source data. The person’s gender is mapped to a standard gender concept in the Standardized Vocabularies; the original value is stored here for reference. |
gender_source_concept_id | No | Integer | A foreign key to the gender concept that refers to the code used in the source. |
race_source_value | No | varchar(50) | The source code for the race of the person as it appears in the source data. The person race is mapped to a standard race concept in the Standardized Vocabularies and the original value is stored here for reference. |
race_source_concept_id | No | Integer | A foreign key to the race concept that refers to the code used in the source. |
ethnicity_source_value | No | varchar(50) | The source code for the ethnicity of the person as it appears in the source data. The person ethnicity is mapped to a standard ethnicity concept in the Standardized Vocabularies and the original code is, stored here for reference. |
ethnicity_source_concept_id | No | Integer | A foreign key to the ethnicity concept that refers to the code used in the source. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The OBSERVATION_PERIOD table contains records which uniquely define the spans of time for which a Person is at-risk to have clinical events recorded within the source systems, even if no events in fact are recorded (healthy patient with no healthcare interactions).
Field | Required | Type | Description |
---|---|---|---|
observation_period_id | Yes | integer | A unique identifier for each observation period. |
person_id | Yes | integer | A foreign key identifier to the person for whom the observation period is defined. The demographic details of that person are stored in the person table. |
observation_period_start_date | Yes | date | The start date of the observation period for which data are available from the data source. |
observation_period_end_date | Yes | date | The end date of the observation period for which data are available from the data source. |
period_type_concept_id | Yes | Integer | A foreign key identifier to the predefined concept in the Standardized Vocabularies reflecting the source of the observation period information |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The field specimen_datetime was added.
The specimen domain contains the records identifying biological samples from a person.
Field | Required | Type | Description |
---|---|---|---|
specimen_id | Yes | integer | A unique identifier for each specimen. |
person_id | Yes | integer | A foreign key identifier to the Person for whom the Specimen is recorded. |
specimen_concept_id | Yes | integer | A foreign key referring to a Standard Concept identifier in the Standardized Vocabularies for the Specimen. |
specimen_type_concept_id | Yes | integer | A foreign key referring to the Concept identifier in the Standardized Vocabularies reflecting the system of record from which the Specimen was represented in the source data. |
specimen_date | Yes | date | The date the specimen was obtained from the Person. |
specimen_datetime | No | datetime | The date and time on the date when the Specimen was obtained from the person. |
quantity | No | float | The amount of specimen collection from the person during the sampling procedure. |
unit_concept_id | No | integer | A foreign key to a Standard Concept identifier for the Unit associated with the numeric quantity of the Specimen collection. |
anatomic_site_concept_id | No | integer | A foreign key to a Standard Concept identifier for the anatomic location of specimen collection. |
disease_status_concept_id | No | integer | A foreign key to a Standard Concept identifier for the Disease Status of specimen collection. |
specimen_source_id | No | varchar(50) | The Specimen identifier as it appears in the source data. |
specimen_source_value | No | varchar(50) | The Specimen value as it appears in the source data. This value is mapped to a Standard Concept in the Standardized Vocabularies and the original code is, stored here for reference. |
unit_source_value | No | varchar(50) | The information about the Unit as detailed in the source. |
anatomic_site_source_value | No | varchar(50) | The information about the anatomic site as detailed in the source. |
disease_status_source_value | No | varchar(50) | The information about the disease status as detailed in the source. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The death_datetime was added.
The death domain contains the clinical event for how and when a Person dies. A person can have up to one record if the source system contains evidence about the Death, such as:
Field | Required | Type | Description |
---|---|---|---|
person_id | Yes | integer | A foreign key identifier to the deceased person. The demographic details of that person are stored in the person table. |
death_date | Yes | date | The date the person was deceased. If the precise date including day or month is not known or not allowed, December is used as the default month, and the last day of the month the default day. |
death_datetime | No | datetime | The date and time the person was deceased. If the precise date including day or month is not known or not allowed, December is used as the default month, and the last day of the month the default day. |
death_type_concept_id | Yes | integer | A foreign key referring to the predefined concept identifier in the Standardized Vocabularies reflecting how the death was represented in the source data. |
cause_concept_id | No | integer | A foreign key referring to a standard concept identifier in the Standardized Vocabularies for conditions. |
cause_source_value | No | varchar(50) | The source code for the cause of death as it appears in the source data. This code is mapped to a standard concept in the Standardized Vocabularies and the original code is, stored here for reference. |
cause_source_concept_id | No | integer | A foreign key to the concept that refers to the code used in the source. Note, this variable name is abbreviated to ensure it will be allowable across database platforms. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed version 5.1 of the OMOP CDM. The fields visit_start_datetime and visit_end_datetime were added. For 5.0.1, the fields admitting_source_concept_id, discharge_to_concept_id, admitting_source_value and discharge_to_source_value were added.
The VISIT_OCCURRENCE table contains the spans of time a Person continuously receives medical services from one or more providers at a Care Site in a given setting within the health care system. Visits are classified into 4 settings: outpatient care, inpatient confinement, emergency room, and long-term care. Persons may transition between these settings over the course of an episode of care (for example, treatment of a disease onset).
Field | Required | Type | Description |
---|---|---|---|
visit_occurrence_id | Yes | integer | A unique identifier for each Person's visit or encounter at a healthcare provider. |
person_id | Yes | integer | A foreign key identifier to the Person for whom the visit is recorded. The demographic details of that Person are stored in the PERSON table. |
visit_concept_id | Yes | integer | A foreign key that refers to a visit Concept identifier in the Standardized Vocabularies. |
visit_start_date | Yes | date | The start date of the visit. |
visit_start_datetime | No | datetime | The date and time of the visit started. |
visit_end_date | Yes | date | The end date of the visit. If this is a one-day visit the end date should match the start date. |
visit_end_datetime | No | datetime | The date and time of the visit end. |
visit_type_concept_id | Yes | Integer | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the type of source data from which the visit record is derived. |
provider_id | No | integer | A foreign key to the provider in the provider table who was associated with the visit. |
care_site_id | No | integer | A foreign key to the care site in the care site table that was visited. |
admitting_source_concept_id | No | integer | A foreign key to the predefined concept in the Place of Service Vocabulary reflecting the admitting source for a visit. |
discharge_to_concept_id | No | integer | A foreign key to the predefined concept in the Place of Service Vocabulary reflecting the discharge disposition (destination) for a visit. |
preceding_visit_occurrence_id | No | integer | A foreign key to the VISIT_OCCURRENCE table record of the visit immediately preceding this visit. |
visit_source_value | No | string(50) | The source code for the visit as it appears in the source data. |
visit_source_concept_id | No | Integer | A foreign key to a Concept that refers to the code used in the source. |
admitting_source_value | No | string(50) | The source code for the admitting source as it appears in the source data. |
discharge_to_source_value | No | string(50) | The source code for the discharge disposition as it appears in the source data. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The field procedure_datetime was added.
The PROCEDURE_OCCURRENCE tabe contains records of activities or processes ordered by, or carried out by, a healthcare provider on the patient to have a diagnostic or therapeutic purpose. Procedures are present in various data sources in different forms with varying levels of standardization. For example:
Field | Required | Type | Description |
---|---|---|---|
procedure_occurrence_id | Yes | integer | A system-generated unique identifier for each Procedure Occurrence. |
person_id | Yes | integer | A foreign key identifier to the Person who is subjected to the Procedure. The demographic details of that Person are stored in the PERSON table. |
procedure_concept_id | Yes | integer | A foreign key that refers to a standard procedure Concept identifier in the Standardized Vocabularies. |
procedure_date | Yes | date | The date on which the Procedure was performed. |
procedure_datetime | No | datetime | The date and time on which the Procedure was performed. |
procedure_type_concept_id | Yes | integer | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the type of source data from which the procedure record is derived. |
modifier_concept_id | No | integer | A foreign key to a Standard Concept identifier for a modifier to the Procedure (e.g. bilateral) |
quantity | No | integer | The quantity of procedures ordered or administered. |
provider_id | No | integer | A foreign key to the provider in the provider table who was responsible for carrying out the procedure. |
visit_occurrence_id | No | integer | A foreign key to the visit in the visit table during which the Procedure was carried out. |
procedure_source_value | No | varchar(50) | The source code for the Procedure as it appears in the source data. This code is mapped to a standard procedure Concept in the Standardized Vocabularies and the original code is, stored here for reference. Procedure source codes are typically ICD-9-Proc, CPT-4, HCPCS or OPCS-4 codes. |
procedure_source_concept_id | No | integer | A foreign key to a Procedure Concept that refers to the code used in the source. |
qualifier_source_value | No | varchar(50) | The source code for the qualifier as it appears in the source data. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The fields drug_exposure_start_datetime and drug_exposure_end_datetime were added.
The drug exposure domain captures records about the utilization of a Drug when ingested or otherwise introduced into the body. A Drug is a biochemical substance formulated in such a way that when administered to a Person it will exert a certain physiological effect. Drugs include prescription and over-the-counter medicines, vaccines, and large-molecule biologic therapies. Radiological devices ingested or applied locally do not count as Drugs.
Drug Exposure is inferred from clinical events associated with orders, prescriptions written, pharmacy dispensings, procedural administrations, and other patient-reported information, for example:
Field | Required | Type | Description |
---|---|---|---|
drug_exposure_id | Yes | integer | A system-generated unique identifier for each Drug utilization event. |
person_id | Yes | integer | A foreign key identifier to the person who is subjected to the Drug. The demographic details of that person are stored in the person table. |
drug_concept_id | Yes | integer | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies for the Drug concept. |
drug_exposure_start_date | Yes | date | The start date for the current instance of Drug utilization. Valid entries include a start date of a prescription, the date a prescription was filled, or the date on which a Drug administration procedure was recorded. |
drug_exposure_start_datetime | No | datetime | The start date and time for the current instance of Drug utilization. Valid entries include a start date of a prescription, the date a prescription was filled, or the date on which a Drug administration procedure was recorded. |
drug_exposure_end_date | No | date | The end date for the current instance of Drug utilization. It is not available from all sources. |
drug_exposure_end_datetime | No | datetime | The end date and time for the current instance of Drug utilization. It is not available from all sources. |
drug_type_concept_id | Yes | integer | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the type of Drug Exposure recorded. It indicates how the Drug Exposure was represented in the source data. |
stop_reason | No | varchar(20) | The reason the Drug was stopped. Reasons include regimen completed, changed, removed, etc. |
refills | No | integer | The number of refills after the initial prescription. The initial prescription is not counted, values start with 0. |
quantity | No | float | The quantity of drug as recorded in the original prescription or dispensing record. |
days_supply | No | integer | The number of days of supply of the medication as recorded in the original prescription or dispensing record. |
sig | No | clob | The directions (“signetur”) on the Drug prescription as recorded in the original prescription (and printed on the container) or dispensing record. |
route_concept_id | No | integer | A foreign key to a predefined concept in the Standardized Vocabularies reflecting the route of administration. |
effective_drug_dose | No | float | Numerical value of Drug dose for this Drug Exposure record. |
dose_unit_concept_ id | No | integer | A foreign key to a predefined concept in the Standardized Vocabularies reflecting the unit the effective_drug_dose value is expressed. |
lot_number | No | varchar(50) | An identifier assigned to a particular quantity or lot of Drug product from the manufacturer. |
provider_id | No | integer | A foreign key to the provider in the provider table who initiated (prescribed or administered) the Drug Exposure. |
visit_occurrence_id | No | integer | A foreign key to the visit in the visit table during which the Drug Exposure was initiated. |
drug_source_value | No | varchar(50) | The source code for the Drug as it appears in the source data. This code is mapped to a Standard Drug concept in the Standardized Vocabularies and the original code is, stored here for reference. |
drug_source_concept_id | No | integer | A foreign key to a Drug Concept that refers to the code used in the source. |
route_source_value | No | varchar(50) | The information about the route of administration as detailed in the source. |
dose_unit_source_value | No | varchar(50) | The information about the dose unit as detailed in the source. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The fields device_exposure_start_datetime and device_exposure_end_datetime were added.
The device exposure domain captures information about a person’s exposure to a foreign physical object or instrument that which is used for diagnostic or therapeutic purposes through a mechanism beyond chemical action. Devices include implantable objects (e.g. pacemakers, stents, artificial joints), medical equipment and supplies (e.g. bandages, crutches, syringes), other instruments used in medical procedures (e.g. sutures, defibrillators) and material used in clinical care (e.g. adhesives, body material, dental material, surgical material).
Field | Required | Type | Description |
---|---|---|---|
device_exposure_id | Yes | integer | A system-generated unique identifier for each Device Exposure. |
person_id | Yes | integer | A foreign key identifier to the Person who is subjected to the Device. The demographic details of that person are stored in the Person table. |
device_concept_id | Yes | integer | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies for the Device concept. |
device_exposure_start_date | Yes | date | The date the Device or supply was applied or used. |
device_exposure_start_datetime | No | datetime | The date and time the Device or supply was applied or used. |
device_exposure_end_date | No | date | The date the Device or supply was removed from use. |
device_exposure_end_datetime | No | datetime | The date and time the Device or supply was removed from use. |
device_type_concept_id | Yes | integer | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the type of Device Exposure recorded. It indicates how the Device Exposure was represented in the source data. |
unique_device_id | No | varchar(50) | A UDI or equivalent identifying the instance of the Device used in the Person. |
quantity | No | integer | The number of individual Devices used for the exposure. |
provider_id | No | integer | A foreign key to the provider in the PROVIDER table who initiated of administered the Device. |
visit_occurrence_id | No | integer | A foreign key to the visit in the VISIT table during which the device was used. |
device_source_value | No | varchar(50) | The source code for the Device as it appears in the source data. This code is mapped to a standard Device Concept in the Standardized Vocabularies and the original code is stored here for reference. |
device_source_ concept_id | No | integer | A foreign key to a Device Concept that refers to the code used in the source. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The fields condition_start_datetime and condition_end_datetime were added. For 5.0.1, this table changed in version 5.X of the OMOP CDM. The fields condition_status_concept_id and condition_status_source_value were added.
Conditions are records of a Person suggesting the presence of a disease or medical condition stated as a diagnosis, a sign or a symptom, which is either observed by a Provider or reported by the patient. Conditions are recorded in different sources and levels of standardization, for example:
Field | Required | Type | Description |
---|---|---|---|
condition_occurrence_id | Yes | integer | A unique identifier for each Condition Occurrence event. |
person_id | Yes | integer | A foreign key identifier to the Person who is experiencing the condition. The demographic details of that Person are stored in the PERSON table. |
condition_concept_id | Yes | integer | A foreign key that refers to a Standard Condition Concept identifier in the Standardized Vocabularies. |
condition_start_date | Yes | date | The date when the instance of the Condition is recorded. |
condition_start_datetime | No | datetime | The date and time when the instance of the Condition is recorded. |
condition_end_date | No | date | The date when the instance of the Condition is considered to have ended. |
condition_end_datetime | No | date | The date when the instance of the Condition is considered to have ended. |
condition_type_concept_id | Yes | integer | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the source data from which the condition was recorded, the level of standardization, and the type of occurrence. |
stop_reason | No | varchar(20) | The reason that the condition was no longer present, as indicated in the source data. |
provider_id | No | integer | A foreign key to the Provider in the PROVIDER table who was responsible for capturing (diagnosing) the Condition. |
visit_occurrence_id | No | integer | A foreign key to the visit in the VISIT table during which the Condition was determined (diagnosed). |
condition_status_concept_id | No | integer | A foreign key to the predefined concept in the standard vocabulary reflecting the condition status. |
condition_source_concept_id | No | integer | A foreign key to a Condition Concept that refers to the code used in the source. |
condition_source_value | No | varchar(50) | The source code for the condition as it appears in the source data. This code is mapped to a standard condition concept in the Standardized Vocabularies and the original code is stored here for reference. |
condition_status_source_value | No | varchar(50) |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The field measurement_datetime was added.
The MEASUREMENT table contains records of Measurement, i.e. structured values (numerical or categorical) obtained through systematic and standardized examination or testing of a Person or Person's sample. The MEASUREMENT table contains both orders and results of such Measurements as laboratory tests, vital signs, quantitative findings from pathology reports, etc.
Field | Required | Type | Description |
---|---|---|---|
measurement_id | Yes | integer | A unique identifier for each Measurement. |
person_id | Yes | integer | A foreign key identifier to the Person about whom the measurement was recorded. The demographic details of that Person are stored in the PERSON table. |
measurement_concept_id | Yes | integer | A foreign key to the standard measurement concept identifier in the Standardized Vocabularies. |
measurement_date | Yes | date | The date of the Measurement. |
measurement_datetime | No | datetime | The date and time of the Measurement. (Some database systems don't have a datatype of time. To accomodate all temporal analyses, datatype datetime can be used (combining measurement_date and measurement_time)Relevant Forum Discussion |
measurement_type_concept_id | Yes | integer | A foreign key to the predefined Concept in the Standardized Vocabularies reflecting the provenance from where the Measurement record was recorded. |
operator_concept_id | No | integer | A foreign key identifier to the predefined Concept in the Standardized Vocabularies reflecting the mathematical operator that is applied to the value_as_number. Operators are <, ≤, =, ≥, >. |
value_as_number | No | float | A Measurement result where the result is expressed as a numeric value. |
value_as_concept_id | No | integer | A foreign key to a Measurement result represented as a Concept from the Standardized Vocabularies (e.g., positive/negative, present/absent, low/high, etc.). |
unit_concept_id | No | integer | A foreign key to a Standard Concept ID of Measurement Units in the Standardized Vocabularies. |
range_low | No | float | The lower limit of the normal range of the Measurement result. The lower range is assumed to be of the same unit of measure as the Measurement value. |
range_high | No | float | The upper limit of the normal range of the Measurement. The upper range is assumed to be of the same unit of measure as the Measurement value. |
provider_id | No | integer | A foreign key to the provider in the PROVIDER table who was responsible for initiating or obtaining the measurement. |
visit_occurrence_id | No | integer | A foreign key to the Visit in the VISIT_OCCURRENCE table during which the Measurement was recorded. |
measurement_source_value | No | varchar(50) | The Measurement name as it appears in the source data. This code is mapped to a Standard Concept in the Standardized Vocabularies and the original code is stored here for reference. |
measurement_source_concept_id | No | integer | A foreign key to a Concept in the Standard Vocabularies that refers to the code used in the source. |
unit_source_value | No | varchar(50) | The source code for the unit as it appears in the source data. This code is mapped to a standard unit concept in the Standardized Vocabularies and the original code is stored here for reference. |
value_source_value | No | varchar(50) | The source value associated with the content of the value_as_number or value_as_concept_id as stored in the source data. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.2 of the OMOP CDM. The fields note_datetime, note_class_concept_id, note_title, encoding_concept_id, language_concept_id were added.
The NOTE table captures unstructured information that was recorded by a provider about a patient in free text notes on a given date.
Field | Required | Type | Description |
---|---|---|---|
note_id | Yes | integer | A unique identifier for each note. |
person_id | Yes | integer | A foreign key identifier to the Person about whom the Note was recorded. The demographic details of that Person are stored in the PERSON table. |
note_date | Yes | date | The date the note was recorded. |
note_datetime | No | datetime | The date and time the note was recorded. |
note_type_concept_id | Yes | integer | A foreign key to the predefined Concept in the Standardized Vocabularies reflecting the type, origin or provenance of the Note. |
note_class_concept_id | Yes | integer | A foreign key to the predefined Concept in the Standardized Vocabularies reflecting the HL7 LOINC Document Type Vocabulary classification of the note. |
note_title | No | string(250) | The title of the Note as it appears in the source. |
note_text | No | RBDMS dependent text | The content of the Note. |
encoding_concept_id | Yes | integer | A foreign key to the predefined Concept in the Standardized Vocabularies reflecting the note character encoding type. |
language_concept_id | Yes | integer | A foreign key to the predefined Concept in the Standardized Vocabularies reflecting the language of the note. |
provider_id | No | integer | A foreign key to the Provider in the PROVIDER table who took the Note. |
visit_occurrence_id | No | integer | Foreign key to the Visit in the VISIT_OCCURRENCE table when the Note was taken. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
This table changed in version 5.1 of the OMOP CDM. The field observation_datetime was added.
The OBSERVATION table captures clinical facts about a Person obtained in the context of examination, questioning or a procedure. Any data that cannot be represented by any other domains, such as social and lifestyle facts, medical history, family history, etc. are recorded here.
Field | Required | Type | Description |
---|---|---|---|
observation_id | Yes | integer | A unique identifier for each observation. |
person_id | Yes | integer | A foreign key identifier to the Person about whom the observation was recorded. The demographic details of that Person are stored in the PERSON table. |
observation_concept_id | Yes | integer | A foreign key to the standard observation concept identifier in the Standardized Vocabularies. |
observation_date | Yes | date | The date of the observation. |
observation_datetime | No | datetime | The date and time of the observation. |
observation_type_concept_id | Yes | integer | A foreign key to the predefined concept identifier in the Standardized Vocabularies reflecting the type of the observation. |
value_as_number | No | float | The observation result stored as a number. This is applicable to observations where the result is expressed as a numeric value. |
value_as_string | No | varchar(60) | The observation result stored as a string. This is applicable to observations where the result is expressed as verbatim text. |
value_as_concept_id | No | Integer | A foreign key to an observation result stored as a Concept ID. This is applicable to observations where the result can be expressed as a Standard Concept from the Standardized Vocabularies (e.g., positive/negative, present/absent, low/high, etc.). |
qualifier_concept_id | No | integer | A foreign key to a Standard Concept ID for a qualifier (e.g., severity of drug-drug interaction alert) |
unit_concept_id | No | integer | A foreign key to a Standard Concept ID of measurement units in the Standardized Vocabularies. |
provider_id | No | integer | A foreign key to the provider in the PROVIDER table who was responsible for making the observation. |
visit_occurrence_id | No | integer | A foreign key to the visit in the VISIT_OCCURRENCE table during which the observation was recorded. |
observation_source_value | No | varchar(50) | The observation code as it appears in the source data. This code is mapped to a Standard Concept in the Standardized Vocabularies and the original code is, stored here for reference. |
observation_source_concept_id | No | integer | A foreign key to a Concept that refers to the code used in the source. |
unit_source_value | No | varchar(50) | The source code for the unit as it appears in the source data. This code is mapped to a standard unit concept in the Standardized Vocabularies and the original code is, stored here for reference. |
qualifier_source_value | No | varchar(50) | The source value associated with a qualifier to characterize the observation |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The FACT_RELATIONSHIP table contains records about the relationships between facts stored as records in any table of the CDM. Relationships can be defined between facts from the same domain (table), or different domains. Examples of Fact Relationships include: Person relationships (parent-child), care site relationships (hierarchical organizational structure of facilities within a health system), indication relationship (between drug exposures and associated conditions), usage relationships (of devices during the course of an associated procedure), or facts derived from one another (measurements derived from an associated specimen).
Field | Required | Type | Description |
---|---|---|---|
domain_concept _id_1 | Yes | integer | The concept representing the domain of fact one, from which the corresponding table can be inferred. |
fact_id_1 | Yes | integer | The unique identifier in the table corresponding to the domain of fact one. |
domain_concept_id_2 | Yes | integer | The concept representing the domain of fact two, from which the corresponding table can be inferred. |
fact_id_2 | Yes | integer | The unique identifier in the table corresponding to the domain of fact two. |
relationship_concept_id | Yes | integer | A foreign key to a Standard Concept ID of relationship in the Standardized Vocabularies. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
These tables describe the healthcare provider system responsible for administering the healthcare of the patient, rather than the demographic or clinical events the patient experienced. Below provides an entity-relationship diagram highlighting the tables within the Standardized Health System portion of the OMOP Common Data Model:
Standardized Health System Data Entity-Relationship diagram
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The LOCATION table represents a generic way to capture physical location or address informationof Persons and Care Sites.
Field | Required | Type | Description |
---|---|---|---|
location_id | Yes | integer | A unique identifier for each geographic location. |
address_1 | No | varchar(50) | The address field 1, typically used for the street address, as it appears in the source data. |
address_2 | No | varchar(50) | The address field 2, typically used for additional detail such as buildings, suites, floors, as it appears in the source data. |
city | No | varchar(50) | The city field as it appears in the source data. |
state | No | varchar(2) | The state field as it appears in the source data. |
zip | No | varchar(9) | The zip or postal code. |
county | No | varchar(20) | The county. |
location_source_value | No | varchar(50) | The verbatim information that is used to uniquely identify the location as it appears in the source data. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The CARE_SITE table contains a list of uniquely identified institutional (physical or organizational) units where healthcare delivery is practiced (offices, wards, hospitals, clinics, etc.).
Field | Required | Type | Description |
---|---|---|---|
care_site_id | Yes | integer | A unique identifier for each Care Site. |
care_site_name | No | varchar(255) | The verbatim description or name of the Care Site as in data source |
place_of_service_concept_id | No | integer | A foreign key that refers to a Place of Service Concept ID in the Standardized Vocabularies. |
location_id | No | integer | A foreign key to the geographic Location in the LOCATION table, where the detailed address information is stored. |
care_site_source_value | No | varchar(50) | The identifier for the Care Site in the source data, stored here for reference. |
place_of_service_source_value | No | varchar(50) | The source code for the Place of Service as it appears in the source data, stored here for reference. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The PROVIDER table contains a list of uniquely identified healthcare providers. These are individuals providing hands-on healthcare to patients, such as physicians, nurses, midwives, physical therapists etc.
Field | Required | Type | Description |
---|---|---|---|
provider_id | Yes | integer | A unique identifier for each Provider. |
provider_name | No | varchar(50) | A description of the Provider. |
npi | No | varchar(20) | The National Provider Identifier (NPI) of the provider. |
dea | No | varchar(20) | The Drug Enforcement Administration (DEA) number of the provider. |
specialty_concept_id | No | integer | A foreign key to a Standard Specialty Concept ID in the Standardized Vocabularies. |
care_site_id | No | integer | A foreign key to the main Care Site where the provider is practicing. |
year_of_birth | No | integer | The year of birth of the Provider. |
gender_concept_id | No | integer | The gender of the Provider. |
provider_source_value | No | varchar(50) | The identifier used for the Provider in the source data, stored here for reference. |
specialty_source_value | No | varchar(50) | The source code for the Provider specialty as it appears in the source data, stored here for reference. |
specialty_source_concept_id | No | integer | A foreign key to a Concept that refers to the code used in the source. |
gender_source_value | No | varchar(50) | The gender code for the Provider as it appears in the source data, stored here for reference. |
gender_source_concept_id | No | integer | A foreign key to a Concept that refers to the code used in the source. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
These tables contain cost information about healthcare. They are dependent on the healthcare delivery system the patient is involved in, which may vary significantly within a country and across different countries. However, the current model is focused on the US healthcare system. Below provides an entity-relationship diagram highlighting the tables within the Standardized Health Economics portion of the OMOP Common Data Model: Standardized Health Economics Data Entity-Relationship diagram
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The PAYER_PLAN_PERIOD table captures details of the period of time that a Person is continuously enrolled under a specific health Plan benefit structure from a given Payer. Each Person receiving healthcare is typically covered by a health benefit plan, which pays for (fully or partially), or directly provides, the care. These benefit plans are provided by payers, such as health insurances or state or government agencies. In each plan the details of the health benefits are defined for the Person or her family, and the health benefit Plan might change over time typically with increasing utilization (reaching certain cost thresholds such as deductibles), plan availability and purchasing choices of the Person. The unique combinations of Payer organizations, health benefit Plans and time periods in which they are valid for a Person are recorded in this table.
Field | Required | Type | Description |
---|---|---|---|
payer_plan_period_id | Yes | integer | A identifier for each unique combination of payer, plan, family code and time span. |
person_id | Yes | integer | A foreign key identifier to the Person covered by the payer. The demographic details of that Person are stored in the PERSON table. |
payer_plan_period_start_date | Yes | date | The start date of the payer plan period. |
payer_plan_period_end_date | Yes | date | The end date of the payer plan period. |
payer_source_value | No | varchar(50) | The source code for the payer as it appears in the source data. |
plan_source_value | No | varchar(50) | The source code for the Person's health benefit plan as it appears in the source data. |
family_source_value | No | varchar(50) | The source code for the Person's family as it appears in the source data. |
As of version 5.0.1 (5-Apr-2016), this table is no longer part of the OMOP CDM. It is replaced by the COST table.
For prior definition, see below.
The VISIT_COST table captures the cost of a Visit of a Person not itemized to specific procedures, drugs, or devices used during the Visit.
Field | Required | Type | Description |
---|---|---|---|
visit_cost_id | Yes | integer | A unique identifier for each procedure cost record. |
visit_occurrence_id | Yes | integer | A foreign key identifier to the procedure record for which cost data are recorded. |
currency_concept_id | No | integer | A concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. |
paid_copay | No | float | The amount paid by the Person as a fixed contribution to the expenses. Copay does not contribute to the out_of_pocket expenses. |
paid_coinsurance | No | float | The amount paid by the Person as a joint assumption of risk. Typically, this is a percentage of the expenses defined by the Health benefit Plan after the person's deductible is exceeded. |
paid_toward_ deductible | No | float | The amount paid by the Person that is counted toward the deductible defined by the health benefit Plan. |
paid_by_payer | No | float | The amount paid by the Payer (insurer). If there is more than one Payer, several VISIT_COST records indicate that fact. |
paid_by_coordination_benefits | No | float | The amount paid by a secondary Payer through the coordination of benefits. |
total_out_of_pocket | No | float | The total amount paid by the Person as a share of the expenses, excluding the copay. |
total_paid | No | float | The total amount paid for the expenses of the procedure. |
payer_plan_period_id | No | integer | A foreign key to the PAYER_PLAN_PERIOD table, where the details of the Payer, Plan and Family are stored. |
As of version 5.0.1 (5-Apr-2016), this table is no longer part of the OMOP CDM. It is replaced by the COST table.
For prior definition, see below.
The PROCEDURE_COST table captures the cost of a Procedure performed on a Person. The information about the cost is only derived from the amounts paid for the Procedure. This is in contrast to the Drug Cost data which also contain information about true amount charged by the distributor. In addition, Revenue codes are captured.
Field | Required | Type | Description |
---|---|---|---|
procedure_cost_id | Yes | integer | A unique identifier for each procedure cost record. |
procedure_occurrence_id | Yes | integer | A foreign key identifier to the procedure record for which cost data are recorded. |
currency_concept_id | No | integer | A concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. |
paid_copay | No | float | The amount paid by the Person as a fixed contribution to the expenses. Copay does not contribute to the out_of_pocket expenses. |
paid_coinsurance | No | float | The amount paid by the Person as a joint assumption of risk. Typically, this is a percentage of the expenses defined by the health benefit Plan after the Person's deductible is exceeded. |
paid_toward_deductible | No | float | The amount paid by the Person that is counted toward the deductible defined by the health benefit Plan. |
paid_by_payer | No | float | The amount paid by the Payer. If there is more than one Payer, several PROCEDURE_COST records indicate that fact. |
paid_by_coordination_benefits | No | float | The amount paid by a secondary Payer through the coordination of benefits. |
total_out_of_pocket | No | float | The total amount paid by the Person as a share of the expenses |
total_paid | No | float | The total amount paid for the expenses of the Procedure. |
revenue_code_concept_id | No | integer | A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for Revenue codes. |
payer_plan_period_id | No | integer | A foreign key to the PAYER_PLAN_PERIOD table, where the details of the payer, plan and family are stored. |
revenue_code_source_value | No | varchar(50) | The source code for the Revenue code as it appears in the source data, stored here for reference. |
As of version 5.0.1 (5-Apr-2016), this table is no longer part of the OMOP CDM. It is replaced by the COST table.
For prior definition, see below.
The DRUG_COST table captures records containing the cost of a Drug Exposure. The information about the cost is defined by the amount of money paid by the Person and Payer for the Drug, as well as the charged cost of the Drug. In addition, a reference to the health plan information in the PAYER_PLAN_PERIOD table is stored in the record that is responsible for the determination of the cost as well as some of the Payments.
Field | Required | Type | Description |
---|---|---|---|
drug_cost_id | Yes | integer | A unique identifier for each DRUG_COST record. |
drug_exposure_id | Yes | integer | A foreign key identifier to the Drug record for which cost data are recorded. |
currency_concept_id | No | integer | A concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. |
paid_copay | No | float | The amount paid by the Person as a fixed contribution to the expenses. Copay does not contribute to the out of pocket expenses. |
paid_coinsurance | No | float | The amount paid by the Person as a joint assumption of risk. Typically, this is a percentage of the expenses defined by the Payer Plan after the Person's deductible is exceeded. |
paid_toward_deductible | No | float | The amount paid by the Person that is counted toward the deductible defined by the Payer Plan. |
paid_by_payer | No | float | The amount paid by the Payer. If there is more than one Payer, several DRUG_COST records indicate that fact. |
paid_by_coordination_benefits | No | float | The amount paid by a secondary Payer through the coordination of benefits. |
total_out_of_pocket | No | float | The total amount paid by the Person as a share of the expenses. |
total_paid | No | float | The total amount paid for the expenses of drug exposure. |
ingredient_cost | No | float | The portion of the drug expenses due to the cost charged by the manufacturer for the drug, typically a percentage of the Average Wholesale Price. |
dispensing_fee | No | float | The portion of the drug expenses due to the dispensing fee charged by the pharmacy, typically a fixed amount. |
average_wholesale_price | No | float | List price of a Drug set by the manufacturer. |
payer_plan_period_id | No | integer | A foreign key to the PAYER_PLAN_PERIOD table, where the details of the Payer, Plan and Family are stored. |
As of version 5.0.1 (5-Apr-2016), this table is no longer part of the OMOP CDM. It is replaced by the COST table.
For prior definition, see below.
The DEVICE_COST table captures the cost of a medical Device or supply used on a Person. The information about the cost is only derived from the amounts paid for the device.
Field | Required | Type | Description |
---|---|---|---|
device_cost_id | Yes | integer | A unique identifier for each DEVICE_COST record. |
device_exposure_ id | Yes | integer | A foreign key identifier to the DEVICE_EXPOSURE record for which cost data are recorded. |
currency_concept_id | No | integer | A concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. |
paid_copay | No | float | The amount paid by the Person as a fixed contribution to the expenses. Copay does not contribute to the out_of_pocket expenses. |
paid_coinsurance | No | float | The amount paid by the Person as a joint assumption of risk. Typically, this is a percentage of the expenses defined by the Payer Plan after the person's deductible is exceeded. |
paid_toward_ deductible | No | float | The amount paid by the Person that is counted toward the deductible defined by the Payer Plan. |
paid_by_payer | No | float | The amount paid by the Payer. If there is more than one payer, several procedure_cost records indicate that fact. |
paid_by_coordination_benefits | No | float | The amount paid by a secondary payer through the coordination of benefits. |
total_out_of_pocket | No | float | The total amount paid by the Person as a share of the expenses, excluding the copay. |
total_paid | No | float | The total amount paid for the expenses of the procedure. |
payer_plan_period_id | No | integer | A foreign key to the payer_plan_period table, where the details of the payer, plan and family are stored. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
These tables contain information about the clinical events of a patient that are not obtained directly from the raw source data, but from other tables of the CDM. Below provides an entity-relationship diagram highlighting the tables within the Standardized Derived Elements portion of the OMOP Common Data Model:
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The COHORT table contains records of subjects that satisfy a given set of criteria for a duration of time. The definition of the cohort is contained within the COHORT_DEFINITION table. Cohorts can be constructed of patients (Persons), Providers or Visits.
Field | Required | Type | Description |
---|---|---|---|
cohort_definition_id | Yes | integer | A foreign key to a record in the COHORT_DEFINITION table containing relevant Cohort Definition information. |
subject_id | Yes | integer | A foreign key to the subject in the cohort. These could be referring to records in the PERSON, PROVIDER, VISIT_OCCURRENCE table. |
cohort_start_date | Yes | date | The date when the Cohort Definition criteria for the Person, Provider or Visit first match. |
cohort_end_date | Yes | date | The date when the Cohort Definition criteria for the Person, Provider or Visit no longer match or the Cohort membership was terminated. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
The COHORT_ATTRIBUTE table contains attributes associated with each subject within a cohort, as defined by a given set of criteria for a duration of time. The definition of the Cohort Attribute is contained in the ATTRIBUTE_DEFINITION table.
Field | Required | Type | Description |
---|---|---|---|
cohort_definition_id | Yes | integer | A foreign key to a record in the COHORT_DEFINITION table containing relevant Cohort Definition information. |
subject_id | Yes | integer | A foreign key to the subject in the Cohort. These could be referring to records in the PERSON, PROVIDER, VISIT_OCCURRENCE table. |
cohort_start_date | Yes | date | The date when the Cohort Definition criteria for the Person, Provider or Visit first match. |
cohort_end_date | Yes | date | The date when the Cohort Definition criteria for the Person, Provider or Visit no longer match or the Cohort membership was terminated. |
attribute_definition_id | Yes | integer | A foreign key to a record in the ATTRIBUTE_DEFINITION table containing relevant Attribute Definition information. |
value_as_number | No | float | The attribute result stored as a number. This is applicable to attributes where the result is expressed as a numeric value. |
value_as_concept_id | No | integer | The attribute result stored as a Concept ID. This is applicable to attributes where the result is expressed as a categorical value. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
A Drug Era is defined as a span of time when the Person is assumed to be exposed to a particular active ingredient. A Drug Era is not the same as a Drug Exposure: Exposures are individual records corresponding to the source when Drug was delivered to the Person, while successive periods of Drug Exposures are combined under certain rules to produce continuous Drug Eras.
Field | Required | Type | Description |
---|---|---|---|
drug_era_id | Yes | integer | A unique identifier for each Drug Era. |
person_id | Yes | integer | A foreign key identifier to the Person who is subjected to the Drug during the fDrug Era. The demographic details of that Person are stored in the PERSON table. |
drug_concept_id | Yes | integer | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies for the Ingredient Concept. |
drug_era_start_date | Yes | date | The start date for the Drug Era constructed from the individual instances of Drug Exposures. It is the start date of the very first chronologically recorded instance of conutilization of a Drug. |
drug_era_end_date | Yes | date | The end date for the drug era constructed from the individual instance of drug exposures. It is the end date of the final continuously recorded instance of utilization of a drug. |
drug_exposure_count | No | integer | The number of individual Drug Exposure occurrences used to construct the Drug Era. |
gap_days | No | integer | The number of days that are not covered by DRUG_EXPOSURE records that were used to make up the era record. |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
A Dose Era is defined as a span of time when the Person is assumed to be exposed to a constant dose of a specific active ingredient.
Field | Required | Type | Description |
---|---|---|---|
dose_era_id | Yes | integer | A unique identifier for each Dose Era. |
person_id | Yes | integer | A foreign key identifier to the Person who is subjected to the drug during the drug era. The demographic details of that Person are stored in the PERSON table. |
drug_concept_id | Yes | integer | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies for the active Ingredient Concept. |
unit_concept_id | Yes | integer | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies for the unit concept. |
dose_value | Yes | float | The numeric value of the dose. |
dose_era_start_date | Yes | date | The start date for the drug era constructed from the individual instances of drug exposures. It is the start date of the very first chronologically recorded instance of utilization of a drug. |
dose_era_end_date | Yes | date | The end date for the drug era constructed from the individual instance of drug exposures. It is the end date of the final continuously recorded instance of utilization of a drug. |
1 | Tablets and other fixed amount formulations |
---|---|
Example: Acetaminophen (Paracetamol) 500 mg, 20 tablets. | |
DRUG_STRENGTH | The denominator_unit is empty |
DRUG_EXPOSURE | The quantity refers to number of pieces, e.g. tablets |
In the example: 20 | |
Ingredient dose= | quantity x amount_value [amount_unit_concept_id] |
Acetaminophen dose = 20 x 500mg = 10,000mg |
|
2 | Puffs of an inhaler |
Note: There is no difference to use case 1 besides that the DRUG_STRENGTH table may put {actuat} in the denominator unit. In this case the strength is provided in the numerator. | |
DRUG_STRENGTH | The denominator_unit is {actuat} |
DRUG_EXPOSURE | The quantity refers to the number of pieces, e.g. puffs |
Ingredient dose= | quantity x numerator_value [numerator_unit_concept_id] |
3 | Quantified Drugs which are formulated as a concentration |
Example: The Clinical Drug is Acetaminophen 250 mg/mL in a 5mL oral suspension. The Quantified Clinical Drug would have 1250 mg / 5 ml in the DRUG_STRENGTH table. Two suspensions are dispensed. | |
DRUG_STRENGTH | The denominator_unit is either mg or mL. The denominator_value might be different from 1. |
DRUG_EXPOSURE | The quantity refers to a fraction or, multiple of the pack. |
Example: 2 | |
Ingredient dose= | quantity x numerator_value [numerator_unit_concept_id] |
Acetaminophen dose = 2 x 1250mg = 2500mg |
|
4 | Drugs with the total amount provided in quantity, e.g. chemotherapeutics |
Example: 42799258 “Benzyl Alcohol 0.1 ML/ML / Pramoxine hydrochloride 0.01 MG/MG Topical Gel” dispensed in a 1.25oz pack. | |
DRUG_STRENGTH | The denominator_unit is either mg or mL. |
Example: Benzyl Alcohol in mL and Pramoxine hydrochloride in mg | |
DRUG_EXPOSURE | The quantity refers to mL or g. |
Example: 1.25 x 30 (conversion factor oz → mL) = 37 | |
Ingredient dose= | quantity x numerator_value [numerator_unit_concept_id] |
Benzyl Alcohol dose = 37 x 0.1mL = 3.7mL |
|
Pramoxine hydrochloride dose = 37 x 0.01mg x 1000 = 370mg |
|
Note: The analytical side should check the denominator in the DRUG_STRENGTH table. As mg is used for the second ingredient the factor 1000 will be applied to convert between g and mg. | |
5 | Compounded drugs |
Example: Ibuprofen 20%/Piroxicam 1% Cream, 30ml in 5ml tubes. | |
DRUG_STRENGTH | We need entries for the ingredients of Ibuprofen and Piroxicam, probably with an amount_value of 1 and a unit of mg. |
DRUG_EXPOSURE | The quantity refers to the total amount of the compound. Use one record in the DRUG_EXPOSURE table for each compound. |
Example: 20% Ibuprofen of 30ml = 6mL, 1% Piroxicam of 30ml = 0.3mL | |
Ingredient dose= | Depends on the drugs involved: One of the use cases above. |
Ibuprofen dose = 6 x 1mg x 1000 = 6000mg |
|
Piroxicam dose = 0.3 x 1mg x 1000 = 300mg |
|
Note: The analytical side determines that the denominator for both ingredients in the DRUG_STRENGTH table is mg and applies the factor 1000 to convert between mL/g and mg. | |
6 | Drugs with the active ingredient released over time, e.g. patches |
Example: Ethinyl Estradiol 0.000833 MG/HR / norelgestromin 0.00625 MG/HR Weekly Transdermal Patch | |
DRUG_STRENGTH | The denominator units refer to hour. |
Example: Ethinyl Estradiol 0.000833 mg/h / norelgestromin 0.00625 mg/h | |
DRUG_EXPOSURE | The quantity refers to the number of pieces. |
Example: 1 patch | |
Ingredient rate= | numerator_value [numerator_unit_concept_id] |
Ethinyl Estradiol rate = 0.000833 mg/h |
|
norelgestromin rate 0.00625 mg/h |
|
Note: This can be converted to a daily dosage by multiplying it with 24. (Assuming 1 patch at a time for at least 24 hours) |
THIS IS OUTDATED. All documentation is now on the github wiki. Please refer there or to the CDM working group for more information
A Condition Era is defined as a span of time when the Person is assumed to have a given condition. Similar to Drug Eras, Condition Eras are chronological periods of Condition Occurrence. Combining individual Condition Occurrences into a single Condition Era serves two purposes:
For example, consider a Person who visits her Primary Care Physician (PCP) and who is referred to a specialist. At a later time, the Person visits the specialist, who confirms the PCP’s original diagnosis and provides the appropriate treatment to resolve the condition. These two independent doctor visits should be aggregated into one Condition Era.
Field | Required | Type | Description |
---|---|---|---|
condition_era_id | Yes | integer | A unique identifier for each Condition Era. |
person_id | Yes | integer | A foreign key identifier to the Person who is experiencing the Condition during the Condition Era. The demographic details of that Person are stored in the PERSON table. |
condition_concept_id | Yes | integer | A foreign key that refers to a standard Condition Concept identifier in the Standardized Vocabularies. |
condition_era_start_date | Yes | date | The start date for the Condition Era constructed from the individual instances of Condition Occurrences. It is the start date of the very first chronologically recorded instance of the condition. |
condition_era_end_date | Yes | date | The end date for the Condition Era constructed from the individual instances of Condition Occurrences. It is the end date of the final continuously recorded instance of the Condition. |
condition_occurrence_count | No | integer | The number of individual Condition Occurrences used to construct the condition era. |
The condition_concept_id field contains Concepts that are identical to those of the CONDITION_OCCURRENCE table records that make up the Condition Era. In contrast to Drug Eras, Condition Eras are not aggregated to contain Conditions of different hierarchical layers. The Condition Era Start Date is the start date of the first Condition Occurrence. The Condition Era End Date is the end date of the last Condition Occurrence.