Skip to content

Commit

Permalink
Added EPISODE and EPISODE_EVENT tables to table_level_5.4
Browse files Browse the repository at this point in the history
Also update the oncology extension documents to align with the table level file for v5.4
  • Loading branch information
Clair Blacketer committed Aug 19, 2021
1 parent 19462d3 commit a2812b8
Show file tree
Hide file tree
Showing 3 changed files with 432 additions and 449 deletions.
40 changes: 19 additions & 21 deletions inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
cdmTableName,cdmFieldName,isRequired,cdmDatatype,userGuidance,etlConventions,isPrimaryKey,isForeignKey,fkTableName,fkFieldName,fkDomain,fkClass
EPISODE,episode_id,Yes,bigint,A unique identifier for each Episode event.,,Yes,No,,,,
EPISODE,person_id,Yes,bigint,A foreign key identifier to the Person who is experiencing the episdoe. The demographic details of that Person are stored in the PERSON table.,,No,Yes,PERSON,PERSON_ID,,
EPISODE,episode_concept_id,Yes,integer,A foreign key that refers to a Standard Concept identifier in the Standardized Vocabularies belonging to the 'Episode' domain.,,No,Yes,,,Episode,
EPISODE,episode_start_datetime,Yes,datetime,The date and time when the Episode begins.,,No,No,,,,
EPISODE,episode_end_datetime,No,datetime,The date when the instance of the Episode is considered to have ended.,,No,No,,,,
EPISODE,episode_parent_id,No,bigint,A foreign key that refers to a parent Episode entry representing an entire episode if the episode spans multiple cycles.,,No,No,,,,
EPISODE,episode_number,No,integer,An ordinal count for an Episode that spans multiple times.,,No,No,,,,
EPISODE,episode_object_concept_id,Yes,integer,"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.",,No,Yes,CONCEPT,CONCEPT_ID,"Procedure, Regimen",
EPISODE,episode_type_concept_id,Yes,integer,"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",,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,
EPISODE,episode_source_value,No,varchar(50),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.,,No,No,,,,
EPISODE,episode_source_concept_id,No,integer,A foreign key to a Episdoe Concept that refers to the code used in the source.,,No,Yes,CONCEPT,CONCEPT_ID,,
EPISODE_EVENT,episode_id,Yes,bigint,A foreign key identifier to the Episode that the Episode Event belongs to.,,No,Yes,EPISODE,EPISODE_ID,Episode,
EPISODE_EVENT,event_id,Yes,bigint,"A foreign key identifier to the underlying event (condition, procedure, measurement, etc.) record in a respective table for which an episode is recorded.",,No,No,,,,
EPISODE_EVENT,episode_event_field_concept_id,Yes,integer,"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.",,No,Yes,CONCEPT,CONCEPT_ID,Metadata,
MEASUREMENT,modifier_of_event_id,No,bigint,"A foreign key identifier to the event (e.g. condition, procedure, episode) record for which the modifier is recorded.",,No,No,,,,
MEASUREMENT,modifier_of_field_concept_id,No,integer,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).,,No,Yes,CONCEPT,CONCEPT_ID,Metadata,
CONCEPT_NUMERIC,concept_id,Yes,integer,A foreign key that refers to a respective concept in the Standardized Vocabularies.,,No,Yes,CONCEPT,CONCEPT_ID,,
CONCEPT_NUMERIC,value_as_number,Yes,float,A value of the concept expressed as a numeric value.,,No,No,,,,
CONCEPT_NUMERIC,unit_concept_id,No,integer,A foreign key to a Standard Concept ID of the concept units in the Standardized Vocabularies that belong to the 'Unit' domain.,,No,Yes,CONCEPT,CONCEPT_ID,,
CONCEPT_NUMERIC,operator_concept_id,yes,float,"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.",,No,Yes,CONCEPT,CONCEPT_ID,,
cdmTableName,cdmFieldName,isRequired,cdmDatatype,userGuidance,etlConventions,isPrimaryKey,isForeignKey,fkTableName,fkFieldName,fkDomain,fkClass
EPISODE,episode_id,Yes,bigint,A unique identifier for each Episode.,,Yes,No,,,,
EPISODE,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the episode is recorded.,,No,Yes,PERSON,PERSON_ID,,
EPISODE,episode_concept_id,Yes,integer,"The EPISODE_CONCEPT_ID represents the kind abstraction related to the disease phase, outcome or treatment.","Choose a concept in the Episode domain that best represents the ongoing disease phase, outcome, or treatment. Please see [article] for cancers and [article] for non-cancers describing how these are defined. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Episode&page=1&pageSize=15&query=)",No,Yes,,,Episode,
EPISODE,episode_start_date,Yes,date,The date when the Episode beings. ,Please see [article] for how to define an Episode start date.,No,No,,,,
EPISODE,episode_start_datetime,No,datetime,The date and time when the Episode begins.,,No,No,,,,
EPISODE,episode_end_date,No,date,The date when the instance of the Episode is considered to have ended.,Please see [article] for how to define an Episode end date.,,,,,,
EPISODE,episode_end_datetime,No,datetime,The date when the instance of the Episode is considered to have ended.,,No,No,,,,
EPISODE,episode_parent_id,No,bigint,Use this field to find the Episode that subsumes the given Episode record. This is used in the case that an Episode are nested into each other.,"If there are multiple nested levels to how Episodes are represented, the EPISODE_PARENT_ID can be used to record this relationship. ",No,No,,,,
EPISODE,episode_number,No,integer,"For sequences of episodes, this is used to indicate the order the episodes occurred. For example, lines of treatment could be indicated here. ",Please see [article] for the details of how to count episodes.,No,No,,,,
EPISODE,episode_object_concept_id,Yes,integer,"A Standard Concept representing the disease phase, outcome, or other abstraction of which the episode consists. For example, if the EPISODE_CONCEPT_ID is [treatment regimen](https://athena.ohdsi.org/search-terms/terms/32531) then the EPISODE_OBJECT_CONCEPT_ID should contain the chemotherapy regimen concept, like [Afatinib monotherapy](https://athena.ohdsi.org/search-terms/terms/35804392). ",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' domain or 'Regimen' concept class.,No,Yes,CONCEPT,CONCEPT_ID,"Procedure, Regimen",
EPISODE,episode_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Episode record, as in whether the episode was from an EHR system, insurance claim, registry, or other sources.",Choose the EPISODE_TYPE_CONCEPT_ID that best represents the provenance of the record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,
EPISODE,episode_source_value,No,varchar(50),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.,,No,No,,,,
EPISODE,episode_source_concept_id,No,integer,A foreign key to a Episode Concept that refers to the code used in the source.,Given that the Episodes are user-defined it is unlikely that there will be a Source Concept available. If that is the case then set this field to zero. ,No,Yes,CONCEPT,CONCEPT_ID,,
EPISODE_EVENT,episode_id,Yes,bigint,Use this field to link the EPISODE_EVENT record to its EPISODE.,Put the EPISODE_ID that subsumes the EPISODE_EVENT record here.,No,Yes,EPISODE,EPISODE_ID,,
EPISODE_EVENT,event_id,Yes,bigint,"This field is the primary key of the linked record in the database. For example, if the Episode Event is a Condition Occurrence, then the CONDITION_OCCURRENCE_ID of the linked record goes in this field. ",Put the primary key of the linked record here. ,No,No,,,,
EPISODE_EVENT,episode_event_field_concept_id,Yes,integer,This field is the CONCEPT_ID that identifies which table the primary key of the linked record came from. ,Put the CONCEPT_ID that identifies which table and field the EVENT_ID came from. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?vocabulary=CDM&conceptClass=Field&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Metadata,
MEASUREMENT,modifier_of_event_id,No,bigint,"If the Measurement record is related to another record in the database, this field is the primary key of the linked record. ","Put the primary key of the linked record, if applicable, here. ",No,No,,,,
MEASUREMENT,modifier_of_field_concept_id,No,integer,"If the Measurement record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from. ",Put the CONCEPT_ID that identifies which table and field the MODIFIER_OF_EVENT_ID came from. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?vocabulary=CDM&conceptClass=Field&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Metadata,
23 changes: 4 additions & 19 deletions inst/csv/OMOP_CDM_Oncology_Ex_Table_Level.csv
Original file line number Diff line number Diff line change
@@ -1,19 +1,4 @@
cdmTableName,schema,isRequired,conceptPrefix,measurePersonCompleteness,measurePersonCompletenessThreshold,validation,tableDescription,userGuidance,etlConventions
EPISODE,CDM,No,,No,0,,"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.",,"Valid Episode Concepts belong to the 'Episode' domain.<br><br>
Standard Episode Concepts are categorized by concept class:<br>
Disease Episode<br>
&emsp;32528 ""Disease First Occurrence""<br>
&emsp;32529 ""Disease Recurrence""<br>
&emsp;32530 ""Disease Remission""<br>
&emsp;32677 ""Disease Progression""<br>
Treatment Episode
&emsp;32531 ""Treatment Regimen""<br>
&emsp;32532 ""Treatment Cycle""<br>
Episode of Care
&emsp;32533 ""Episode of Care""<br><br>
The relationship between a disease episode and treatment episodes can be represented by the self-referencing foreign key column EPISODE.episode_parent_id.<br><br>
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."
EPISODE_EVENT,CDM,No,,No,0,,"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.",,"Some episodes may not have links to any underlying clinical events. For such episodes, the EPISODE_EVENT table is not populated."
MEASUREMENT,CDM,No,MEASUREMENT_,Yes,0,,"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).",Measurements differ from Observations in that they require a standardized test or some other activity to generate a quantitative or qualitative result. ,
CONCEPT_NUMERIC,VOCAB,No,,No,0,,"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. ",,
cdmTableName,schema,isRequired,conceptPrefix,measurePersonCompleteness,measurePersonCompletenessThreshold,validation,tableDescription,userGuidance,etlConventions
EPISODE,CDM,No,,No,0,,"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. For example cancers including their development over time, their treatment, and final resolution. ","Valid Episode Concepts belong to the 'Episode' domain. For cancer episodes please see [article], for non-cancer episodes please see [article]. If your source data does not have all episodes that are relevant to the therapeutic area, write only those you can easily derive from the data. It is understood that that table is not currently expected to be comprehensive. ",
EPISODE_EVENT,CDM,No,,No,0,,"The EPISODE_EVENT table connects qualifying clinical events (such as CONDITION_OCCURRENCE, DRUG_EXPOSURE, PROCEDURE_OCCURRENCE, MEASUREMENT) to the appropriate EPISODE entry. For example, linking the precise location of the metastasis (cancer modifier in MEASUREMENT) to the disease episode. ",This connecting table is used instead of the FACT_RELATIONSHIP table for linking low-level events to abstracted Episodes.,"Some episodes may not have links to any underlying clinical events. For such episodes, the EPISODE_EVENT table is not populated."
MEASUREMENT,CDM,No,MEASUREMENT_,Yes,0,,"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).",Measurements differ from Observations in that they require a standardized test or some other activity to generate a quantitative or qualitative result. ,
Loading

0 comments on commit a2812b8

Please sign in to comment.