This commit is contained in:
clairblacketer 2017-06-13 15:45:07 -04:00
commit aeec6e3948
4 changed files with 431 additions and 356 deletions

View File

@ -229,7 +229,7 @@ CREATE TABLE person
year_of_birth INTEGER NOT NULL ,
month_of_birth INTEGER NULL,
day_of_birth INTEGER NULL,
time_of_birth VARCHAR(10) NULL,
birth_datetime TIMESTAMP WITH TIME ZONE NULL,
race_concept_id INTEGER NOT NULL,
ethnicity_concept_id INTEGER NOT NULL,
location_id INTEGER NULL,
@ -254,7 +254,9 @@ CREATE TABLE observation_period
observation_period_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
observation_period_start_date DATE NOT NULL ,
observation_period_start_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
observation_period_end_date DATE NOT NULL ,
observation_period_end_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
period_type_concept_id INTEGER NOT NULL
)
;
@ -268,7 +270,7 @@ CREATE TABLE specimen
specimen_concept_id INTEGER NOT NULL ,
specimen_type_concept_id INTEGER NOT NULL ,
specimen_date DATE NOT NULL ,
specimen_time VARCHAR(10) NULL ,
specimen_datetime TIMESTAMP WITH TIME ZONE NULL ,
quantity FLOAT NULL ,
unit_concept_id INTEGER NULL ,
anatomic_site_concept_id INTEGER NULL ,
@ -287,6 +289,7 @@ CREATE TABLE death
(
person_id INTEGER NOT NULL ,
death_date DATE NOT NULL ,
death_datetime TIMESTAMP WITH TIME ZONE NULL ,
death_type_concept_id INTEGER NOT NULL ,
cause_concept_id INTEGER NULL ,
cause_source_value VARCHAR(50) NULL,
@ -302,9 +305,9 @@ CREATE TABLE visit_occurrence
person_id INTEGER NOT NULL ,
visit_concept_id INTEGER NOT NULL ,
visit_start_date DATE NOT NULL ,
visit_start_time VARCHAR(10) NULL ,
visit_start_datetime TIMESTAMP WITH TIME ZONE NULL ,
visit_end_date DATE NOT NULL ,
visit_end_time VARCHAR(10) NULL ,
visit_end_datetime TIMESTAMP WITH TIME ZONE NULL ,
visit_type_concept_id INTEGER NOT NULL ,
provider_id INTEGER NULL,
care_site_id INTEGER NULL,
@ -321,6 +324,7 @@ CREATE TABLE procedure_occurrence
person_id INTEGER NOT NULL ,
procedure_concept_id INTEGER NOT NULL ,
procedure_date DATE NOT NULL ,
procedure_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
procedure_type_concept_id INTEGER NOT NULL ,
modifier_concept_id INTEGER NULL ,
quantity INTEGER NULL ,
@ -340,7 +344,9 @@ CREATE TABLE drug_exposure
person_id INTEGER NOT NULL ,
drug_concept_id INTEGER NOT NULL ,
drug_exposure_start_date DATE NOT NULL ,
drug_exposure_start_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
drug_exposure_end_date DATE NULL ,
drug_exposure_end_datetime TIMESTAMP WITH TIME ZONE NULL ,
drug_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
refills INTEGER NULL ,
@ -367,7 +373,9 @@ CREATE TABLE device_exposure
person_id INTEGER NOT NULL ,
device_concept_id INTEGER NOT NULL ,
device_exposure_start_date DATE NOT NULL ,
device_exposure_start_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
device_exposure_end_date DATE NULL ,
device_exposure_end_datetime TIMESTAMP WITH TIME ZONE NULL ,
device_type_concept_id INTEGER NOT NULL ,
unique_device_id VARCHAR(50) NULL ,
quantity INTEGER NULL ,
@ -385,7 +393,9 @@ CREATE TABLE condition_occurrence
person_id INTEGER NOT NULL ,
condition_concept_id INTEGER NOT NULL ,
condition_start_date DATE NOT NULL ,
condition_start_datetime TIMESTAMP WITH TIME ZONE NOT NULL ,
condition_end_date DATE NULL ,
condition_end_datetime TIMESTAMP WITH TIME ZONE NULL ,
condition_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
provider_id INTEGER NULL ,
@ -403,7 +413,7 @@ CREATE TABLE measurement
person_id INTEGER NOT NULL ,
measurement_concept_id INTEGER NOT NULL ,
measurement_date DATE NOT NULL ,
measurement_time VARCHAR(10) NULL ,
measurement_datetime TIMESTAMP WITH TIME ZONE NULL ,
measurement_type_concept_id INTEGER NOT NULL ,
operator_concept_id INTEGER NULL ,
value_as_number FLOAT NULL ,
@ -427,7 +437,7 @@ CREATE TABLE note
note_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
note_date DATE NOT NULL ,
note_time VARCHAR(10) NULL ,
note_datetime TIMESTAMP WITH TIME ZONE NULL ,
note_type_concept_id INTEGER NOT NULL ,
note_text CLOB NOT NULL ,
provider_id INTEGER NULL ,
@ -444,7 +454,7 @@ CREATE TABLE observation
person_id INTEGER NOT NULL ,
observation_concept_id INTEGER NOT NULL ,
observation_date DATE NOT NULL ,
observation_time VARCHAR(10) NULL ,
observation_datetime TIMESTAMP WITH TIME ZONE NULL ,
observation_type_concept_id INTEGER NOT NULL ,
value_as_number FLOAT NULL ,
value_as_string VARCHAR(60) NULL ,

View File

@ -229,7 +229,7 @@ CREATE TABLE person
year_of_birth INTEGER NOT NULL ,
month_of_birth INTEGER NULL,
day_of_birth INTEGER NULL,
time_of_birth VARCHAR(10) NULL,
birth_datetime TIMESTAMP NULL,
race_concept_id INTEGER NOT NULL,
ethnicity_concept_id INTEGER NOT NULL,
location_id INTEGER NULL,
@ -254,7 +254,9 @@ CREATE TABLE observation_period
observation_period_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
observation_period_start_date DATE NOT NULL ,
observation_period_start_datetime TIMESTAMP NOT NULL ,
observation_period_end_date DATE NOT NULL ,
observation_period_end_datetime TIMESTAMP NOT NULL ,
period_type_concept_id INTEGER NOT NULL
)
;
@ -268,7 +270,7 @@ CREATE TABLE specimen
specimen_concept_id INTEGER NOT NULL ,
specimen_type_concept_id INTEGER NOT NULL ,
specimen_date DATE NOT NULL ,
specimen_time VARCHAR(10) NULL ,
specimen_datetime TIMESTAMP NULL ,
quantity NUMERIC NULL ,
unit_concept_id INTEGER NULL ,
anatomic_site_concept_id INTEGER NULL ,
@ -287,6 +289,7 @@ CREATE TABLE death
(
person_id INTEGER NOT NULL ,
death_date DATE NOT NULL ,
death_datetime TIMESTAMP NULL ,
death_type_concept_id INTEGER NOT NULL ,
cause_concept_id INTEGER NULL ,
cause_source_value VARCHAR(50) NULL,
@ -302,9 +305,9 @@ CREATE TABLE visit_occurrence
person_id INTEGER NOT NULL ,
visit_concept_id INTEGER NOT NULL ,
visit_start_date DATE NOT NULL ,
visit_start_time VARCHAR(10) NULL ,
visit_start_datetime TIMESTAMP NULL ,
visit_end_date DATE NOT NULL ,
visit_end_time VARCHAR(10) NULL ,
visit_end_datetime TIMESTAMP NULL ,
visit_type_concept_id INTEGER NOT NULL ,
provider_id INTEGER NULL,
care_site_id INTEGER NULL,
@ -321,6 +324,7 @@ CREATE TABLE procedure_occurrence
person_id INTEGER NOT NULL ,
procedure_concept_id INTEGER NOT NULL ,
procedure_date DATE NOT NULL ,
procedure_datetime TIMESTAMP NOT NULL ,
procedure_type_concept_id INTEGER NOT NULL ,
modifier_concept_id INTEGER NULL ,
quantity INTEGER NULL ,
@ -340,7 +344,9 @@ CREATE TABLE drug_exposure
person_id INTEGER NOT NULL ,
drug_concept_id INTEGER NOT NULL ,
drug_exposure_start_date DATE NOT NULL ,
drug_exposure_start_datetime TIMESTAMP NOT NULL ,
drug_exposure_end_date DATE NULL ,
drug_exposure_end_datetime TIMESTAMP NULL ,
drug_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
refills INTEGER NULL ,
@ -367,7 +373,9 @@ CREATE TABLE device_exposure
person_id INTEGER NOT NULL ,
device_concept_id INTEGER NOT NULL ,
device_exposure_start_date DATE NOT NULL ,
device_exposure_start_datetime TIMESTAMP NOT NULL ,
device_exposure_end_date DATE NULL ,
device_exposure_end_datetime TIMESTAMP NULL ,
device_type_concept_id INTEGER NOT NULL ,
unique_device_id VARCHAR(50) NULL ,
quantity INTEGER NULL ,
@ -385,7 +393,9 @@ CREATE TABLE condition_occurrence
person_id INTEGER NOT NULL ,
condition_concept_id INTEGER NOT NULL ,
condition_start_date DATE NOT NULL ,
condition_start_datetime TIMESTAMP NOT NULL ,
condition_end_date DATE NULL ,
condition_end_datetime TIMESTAMP NULL ,
condition_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
provider_id INTEGER NULL ,
@ -403,7 +413,7 @@ CREATE TABLE measurement
person_id INTEGER NOT NULL ,
measurement_concept_id INTEGER NOT NULL ,
measurement_date DATE NOT NULL ,
measurement_time VARCHAR(10) NULL ,
measurement_datetime TIMESTAMP NULL ,
measurement_type_concept_id INTEGER NOT NULL ,
operator_concept_id INTEGER NULL ,
value_as_number NUMERIC NULL ,
@ -427,7 +437,7 @@ CREATE TABLE note
note_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
note_date DATE NOT NULL ,
note_time VARCHAR(10) NULL ,
note_datetime TIMESTAMP NULL ,
note_type_concept_id INTEGER NOT NULL ,
note_text TEXT NOT NULL ,
provider_id INTEGER NULL ,
@ -444,7 +454,7 @@ CREATE TABLE observation
person_id INTEGER NOT NULL ,
observation_concept_id INTEGER NOT NULL ,
observation_date DATE NOT NULL ,
observation_time VARCHAR(10) NULL ,
observation_datetime TIMESTAMP NULL ,
observation_type_concept_id INTEGER NOT NULL ,
value_as_number NUMERIC NULL ,
value_as_string VARCHAR(60) NULL ,

View File

@ -1,6 +1,51 @@
Common-Data-Model
=================
v5.1
See full CDM specification file on our [Wiki](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:cdm:single-page) or in the [CDM V5 PDF](https://github.com/OHDSI/CommonDataModel/blob/master/OMOP%20CDM%20v5.pdf)
Release Notes
=============
This version is bases on this CDM working group [proposal](http://www.ohdsi.org/web/wiki/doku.php?id=documentation:next_cdm:time). The proposed and accepted changes include adding a datetime field to every table that had a date column. These were the new columns added:
**PERSON**
* birth_datetime, not required
**SPECIMEN**
* specimen_datetime, not required
**DEATH**
* death_datetime, not required
**VISIT_OCCURRENCE**
* visit_start_datetime, not required
* visit_end_datetime, not required
**PROCEDURE_OCCURRENCE**
* procedure_datetime, not required
**DRUG_EXPOSURE**
* drug_exposure_start_datetime, not required
* drug_exposure_end_datetime, not required
**DEVICE_EXPOSURE**
* device_exposure_start_datetime, not required
* device_exposure_end_datetime, not required
**CONDITION_OCCURRENCE**
* condition_start_datetime, not required
* condition_end_datetime, not required
**MEASUREMENT**
* measurement_datetime as time, not required
**OBSERVATION**
* observation_datetime, not required
**NOTE**
* note_datetime, not required
=======
This repo contains the definition of the OMOP Common Data Model. It supports the 4 SQL technologies: Impala, Oracle, Postgres and SQL Server. For each, the DDL, constraints and indexes (if appropirate) are defined.
Versions are defined using tagging and versioning. Full versions (V6, 7 etc.) are released irregularly after a major strategy change or use case coverage. It will be issued during an OHDSI Symposium. Major version (V5.1, 5.2 etc.) are released half yearly (1-Jul and 1-Jan). Those versions are not guaranteed to be backward compatible. Minor versions (V5.1.1, V5.1.2 etc.) are released irregularly and often, and contain small hot fixes or backward compatible changes to the last Major Version.

View File

@ -229,7 +229,7 @@ CREATE TABLE person
year_of_birth INTEGER NOT NULL ,
month_of_birth INTEGER NULL,
day_of_birth INTEGER NULL,
time_of_birth VARCHAR(10) NULL,
birth_datetime DATETIME2 NULL,
race_concept_id INTEGER NOT NULL,
ethnicity_concept_id INTEGER NOT NULL,
location_id INTEGER NULL,
@ -254,7 +254,9 @@ CREATE TABLE observation_period
observation_period_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
observation_period_start_date DATE NOT NULL ,
observation_period_start_datetime DATETIME2 NOT NULL ,
observation_period_end_date DATE NOT NULL ,
observation_period_end_datetime DATETIME2 NOT NULL ,
period_type_concept_id INTEGER NOT NULL
)
;
@ -268,7 +270,7 @@ CREATE TABLE specimen
specimen_concept_id INTEGER NOT NULL ,
specimen_type_concept_id INTEGER NOT NULL ,
specimen_date DATE NOT NULL ,
specimen_time VARCHAR(10) NULL ,
specimen_datetime DATETIME2 NULL ,
quantity FLOAT NULL ,
unit_concept_id INTEGER NULL ,
anatomic_site_concept_id INTEGER NULL ,
@ -287,6 +289,7 @@ CREATE TABLE death
(
person_id INTEGER NOT NULL ,
death_date DATE NOT NULL ,
death_datetime DATETIME2 NULL ,
death_type_concept_id INTEGER NOT NULL ,
cause_concept_id INTEGER NULL ,
cause_source_value VARCHAR(50) NULL,
@ -302,9 +305,9 @@ CREATE TABLE visit_occurrence
person_id INTEGER NOT NULL ,
visit_concept_id INTEGER NOT NULL ,
visit_start_date DATE NOT NULL ,
visit_start_time VARCHAR(10) NULL ,
visit_start_datetime DATETIME2 NULL ,
visit_end_date DATE NOT NULL ,
visit_end_time VARCHAR(10) NULL ,
visit_end_datetime DATETIME2 NULL ,
visit_type_concept_id INTEGER NOT NULL ,
provider_id INTEGER NULL,
care_site_id INTEGER NULL,
@ -321,6 +324,7 @@ CREATE TABLE procedure_occurrence
person_id INTEGER NOT NULL ,
procedure_concept_id INTEGER NOT NULL ,
procedure_date DATE NOT NULL ,
procedure_datetime DATETIME2 NOT NULL ,
procedure_type_concept_id INTEGER NOT NULL ,
modifier_concept_id INTEGER NULL ,
quantity INTEGER NULL ,
@ -340,7 +344,9 @@ CREATE TABLE drug_exposure
person_id INTEGER NOT NULL ,
drug_concept_id INTEGER NOT NULL ,
drug_exposure_start_date DATE NOT NULL ,
drug_exposure_start_datetime DATETIME2 NOT NULL ,
drug_exposure_end_date DATE NULL ,
drug_exposure_end_datetime DATETIME2 NULL ,
drug_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
refills INTEGER NULL ,
@ -367,7 +373,9 @@ CREATE TABLE device_exposure
person_id INTEGER NOT NULL ,
device_concept_id INTEGER NOT NULL ,
device_exposure_start_date DATE NOT NULL ,
device_exposure_start_datetime DATETIME2 NOT NULL ,
device_exposure_end_date DATE NULL ,
device_exposure_end_datetime DATETIME2 NULL ,
device_type_concept_id INTEGER NOT NULL ,
unique_device_id VARCHAR(50) NULL ,
quantity INTEGER NULL ,
@ -385,7 +393,9 @@ CREATE TABLE condition_occurrence
person_id INTEGER NOT NULL ,
condition_concept_id INTEGER NOT NULL ,
condition_start_date DATE NOT NULL ,
condition_start_datetime DATETIME2 NOT NULL ,
condition_end_date DATE NULL ,
condition_end_datetime DATETIME2 NULL ,
condition_type_concept_id INTEGER NOT NULL ,
stop_reason VARCHAR(20) NULL ,
provider_id INTEGER NULL ,
@ -403,7 +413,7 @@ CREATE TABLE measurement
person_id INTEGER NOT NULL ,
measurement_concept_id INTEGER NOT NULL ,
measurement_date DATE NOT NULL ,
measurement_time VARCHAR(10) NULL ,
measurement_datetime DATETIME2 NULL ,
measurement_type_concept_id INTEGER NOT NULL ,
operator_concept_id INTEGER NULL ,
value_as_number FLOAT NULL ,
@ -427,7 +437,7 @@ CREATE TABLE note
note_id INTEGER NOT NULL ,
person_id INTEGER NOT NULL ,
note_date DATE NOT NULL ,
note_time VARCHAR(10) NULL ,
note_datetime DATETIME2 NULL ,
note_type_concept_id INTEGER NOT NULL ,
note_text VARCHAR(MAX) NOT NULL ,
provider_id INTEGER NULL ,
@ -444,7 +454,7 @@ CREATE TABLE observation
person_id INTEGER NOT NULL ,
observation_concept_id INTEGER NOT NULL ,
observation_date DATE NOT NULL ,
observation_time VARCHAR(10) NULL ,
observation_datetime DATETIME2 NULL ,
observation_type_concept_id INTEGER NOT NULL ,
value_as_number FLOAT NULL ,
value_as_string VARCHAR(60) NULL ,