# Oncology Extension

## OMOP Common Data Model Oncology Extension Documentation

This documentation details the ratified proposal of adding an oncology extension to the OMOP CDM. These tables and fields will become part of the next release (v6.1) of the Common Data Model. Below are their descriptions; showing additions to the model only. For example, two fields were added to the MEASUREMENT table as part of this extension so only those two fields are listed below for MEASUREMENT instead of the entire table. For more information, please see the OMOP Oncology wiki site.

The DDLs for these tables are located on the Oncology github, as detailed in the installation instructions.

### EPISODE

Table Description

The EPISODE table aggregates lower-level clinical events (VISIT_OCCURRENCE, DRUG_EXPOSURE, PROCEDURE_OCCURRENCE, DEVICE_EXPOSURE) into a higher-level abstraction representing clinically and analytically relevant disease phases/outcomes and treatments. The EPISODE_EVENT table connects qualifying clinical events (VISIT_OCCURRENCE, DRUG_EXPOSURE, PROCEDURE_OCCURRENCE, DEVICE_EXPOSURE) to the appropriate EPISODE entry.

ETL Conventions

Valid Episode Concepts belong to the ‘Episode’ domain.
Standard Episode Concepts are categorized by concept class:
Disease Episode
32528 “Disease First Occurrence”
32529 “Disease Recurrence”
32530 “Disease Remission”
32677 “Disease Progression”
Treatment Episode  32531 “Treatment Regimen”
32532 “Treatment Cycle”
Episode of Care  32533 “Episode of Care”
The relationship between a disease episode and treatment episodes can be represented by the self-referencing foreign key column EPISODE.episode_parent_id.
A treatment EPISODE can be delivered at regular intervals, cycles or fractions. The parent-child relationship between a treatment episode and its constituent treatment cycles can be represented by the self-referencing foreign key column EPISODE.episode_parent_id. 5 Some episodes may not have links to any underlying clinical events. For such episodes, the EPISODE_EVENT table is not populated.

CDM Field | User Guide | ETL Conventions | Datatype | Required | Primary Key | Foreign Key | FK Table | FK Domain | FK Class
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
episode_id | A unique identifier for each Episode event. |  | bigint | Yes | Yes | No |  |  |
person_id | A foreign key identifier to the Person who is experiencing the episdoe. The demographic details of that Person are stored in the PERSON table. |  | bigint | Yes | No | Yes | PERSON |  |
episode_concept_id | A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies belonging to the ‘Episode’ domain. |  | integer | Yes | No | Yes |  | Episode |
episode_start_datetime | The date and time when the Episode begins. |  | datetime | Yes | No | No |  |  |
episode_end_datetime | The date when the instance of the Episode is considered to have ended. |  | datetime | No | No | No |  |  |
episode_parent_id | A foreign key that refers to a parent Episode entry representing an entire episode if the episode spans multiple cycles. |  | bigint | No | No | No |  |  |
episode_number | An ordinal count for an Episode that spans multiple times. |  | integer | No | No | No |  |  |

episode_object_concept_id

A foreign key that refers to a concept identifier in the Standardized Vocabularies describing the disease, treatment, or other abstraction that the episode describes. Episode entries from the ‘Disease Episode’ concept class should have an episode_object_concept_id that comes from the Condition domain. Episode entries from the ‘Treatment Episode’ concept class should have an episode_object_concept_id that scome from the ‘Procedure’ or ‘Regimen’ domain.

integer

Yes

No

Yes

CONCEPT

Procedure, Regimen

episode_type_concept_id | A foreign key to the predefined Concept identifier in the Standardized Vocabularies reflecting the source data from which the Episode was recorded, the level of standardization, and the type of occurrence. These belong to the ‘Episode Type’ vocabulary |  | integer | Yes | No | Yes | CONCEPT | Type Concept |
episode_source_value | The source code for the Episdoe 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. |  | varchar(50) | No | No | No |  |  |
episode_source_concept_id | A foreign key to a Episdoe Concept that refers to the code used in the source. |  | integer | No | No | Yes | CONCEPT |  |

### EPISODE_EVENT

Table Description

The EPISODE_EVENT table connects qualifying clinical events (VISIT_OCCURRENCE, DRUG_EXPOSURE, PROCEDURE_OCCURRENCE, DEVICE_EXPOSURE) to the appropriate EPISODE entry. The EPISODE_EVENT table supports the linkage of an EPISODE abstraction to the low-level clinical events that implement the EPISODE abstraction.

ETL Conventions

Some episodes may not have links to any underlying clinical events. For such episodes, the EPISODE_EVENT table is not populated.

CDM Field | User Guide | ETL Conventions | Datatype | Required | Primary Key | Foreign Key | FK Table | FK Domain | FK Class
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
episode_id | A foreign key identifier to the Episode that the Episode Event belongs to. |  | bigint | Yes | No | Yes | EPISODE | Episode |
event_id | A foreign key identifier to the underlying event (condition, procedure, measurement, etc.) record in a respective table for which an episode is recorded. |  | bigint | Yes | No | No |  |  |
episode_event_field_concept_id | A foreign key identifier to the standardized concept corresponding to the table primary key column (condition_occurrence.condition_occurrence_id, procedure_occurrence.procedure_occurrence_id, measurment.measurment_id etc.) where the underlying event is stored. |  | integer | Yes | No | Yes | CONCEPT | Metadata |

### MEASUREMENT

Table Description

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. Measurements are stored as attribute value pairs, with the attribute as the Measurement Concept and the value representing the result. The value can be a Concept (stored in VALUE_AS_CONCEPT), or a numerical value (VALUE_AS_NUMBER) with a Unit (UNIT_CONCEPT_ID).

User Guide

Measurements differ from Observations in that they require a standardized test or some other activity to generate a quantitative or qualitative result.

CDM Field | User Guide | ETL Conventions | Datatype | Required | Primary Key | Foreign Key | FK Table | FK Domain | FK Class
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
modifier_of_event_id | A foreign key identifier to the event (e.g. condition, procedure, episode) record for which the modifier is recorded. |  | bigint | No | No | No |  |  |
modifier_of_field_concept_id | The concept representing the table field concept that contains the value of the event id for which the modifier is recorded (e.g. CONDITION_OCCURRENCE.condition_occurre nce_id). |  | integer | No | No | Yes | CONCEPT | Metadata |

### CONCEPT_NUMERIC

Table Description

In this table, numeric values, units and math operators indicating range limits (less than) corresponding to “numeric” concepts will be stored. It is an extension of the OMOP CDM and vocabulary that supports formal representation of concepts containing numeric values or ranges. This proposal has not yet been ratified by a larger CDM Workgroup. However, it plays a critical role in supporting ETL from tumor registries. NAACCR vocabulary includes concepts representing numeric values or numeric ranges. Often, these concepts also contain measurement units. For example, “Described as less than 1 centimeter (cm)”. In OMOP CDM, these concepts are normally used in Measurement and Observation tables to store value_as_concept_id. Analysis of these data is currently possible only if the user knows exactly which concepts are used to represent range or value, including their respective units. It is not possible to perform analysis on numeric values of these data, nor is it possible to differentiate numeric values by units.

CDM Field | User Guide | ETL Conventions | Datatype | Required | Primary Key | Foreign Key | FK Table | FK Domain | FK Class
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
concept_id | A foreign key that refers to a respective concept in the Standardized Vocabularies. |  | integer | Yes | No | Yes | CONCEPT |  |
value_as_number | A value of the concept expressed as a numeric value. |  | float | Yes | No | No |  |  |
unit_concept_id | A foreign key to a Standard Concept ID of the concept units in the Standardized Vocabularies that belong to the ‘Unit’ domain. |  | integer | No | No | Yes | CONCEPT |  |
operator_concept_id | 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 <, <=, =, >=, > and these concepts belong to the ‘Meas Value Operator’ domain. |  | float | yes | No | Yes | CONCEPT |  |