Fixes from testers for pdw, redshit, postgres and sql server and survey -> survey_conduct changes.
This commit is contained in:
parent
62207c4309
commit
86dbcec3e0
|
@ -203,7 +203,7 @@ Standardized clinical data
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE person
|
||||
(
|
||||
person_id BIGINT , --BIGINTs added
|
||||
person_id BIGINT ,
|
||||
gender_concept_id INTEGER ,
|
||||
year_of_birth INTEGER ,
|
||||
month_of_birth INTEGER ,
|
||||
|
@ -274,7 +274,7 @@ CREATE TABLE visit_occurrence
|
|||
care_site_id BIGINT ,
|
||||
visit_source_value VARCHAR(50),
|
||||
visit_source_concept_id INTEGER ,
|
||||
admitted_from_concept_id INTEGER , /*Changed from admitting_source_* */
|
||||
admitted_from_concept_id INTEGER ,
|
||||
admitted_from_source_value VARCHAR(50),
|
||||
discharge_to_source_value VARCHAR(50) ,
|
||||
discharge_to_concept_id INTEGER ,
|
||||
|
@ -297,7 +297,7 @@ CREATE TABLE visit_detail
|
|||
provider_id BIGINT ,
|
||||
care_site_id BIGINT ,
|
||||
discharge_to_concept_id INTEGER ,
|
||||
admitted_from_concept_id INTEGER , /*Changed from admitting_source_* */
|
||||
admitted_from_concept_id INTEGER ,
|
||||
admitted_from_source_value VARCHAR(50) ,
|
||||
visit_detail_source_value VARCHAR(50) ,
|
||||
visit_detail_source_concept_id INTEGER ,
|
||||
|
@ -496,8 +496,8 @@ CREATE TABLE observation
|
|||
observation_source_concept_id INTEGER ,
|
||||
unit_source_value VARCHAR(50) ,
|
||||
qualifier_source_value VARCHAR(50) ,
|
||||
observation_event_id BIGINT , /* This will link back to the event table (SURVEY) on SURVEY_OCCURRENCE_ID, changed name to comply with COST and NOTE*/
|
||||
obs_event_field_concept_id INTEGER , /* Changed name to comply with COST and NOTE. This should be 'Survey'. Had to use 'obs' for oracle restriction, may be added on 9/4*/
|
||||
observation_event_id BIGINT ,
|
||||
obs_event_field_concept_id INTEGER ,
|
||||
value_as_datetime TIMESTAMP
|
||||
)
|
||||
;
|
||||
|
@ -529,12 +529,11 @@ CREATE TABLE survey_conduct
|
|||
survey_version_number VARCHAR(20) ,
|
||||
visit_occurrence_id BIGINT ,
|
||||
visit_detail_id BIGINT ,
|
||||
response_to_visit_occurrence_id BIGINT
|
||||
response_visit_occurrence_id BIGINT
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
|
||||
CREATE TABLE fact_relationship
|
||||
(
|
||||
domain_concept_id_1 INTEGER ,
|
||||
|
@ -546,7 +545,6 @@ CREATE TABLE fact_relationship
|
|||
;
|
||||
|
||||
|
||||
|
||||
/************************
|
||||
|
||||
Standardized health system data
|
||||
|
@ -574,7 +572,7 @@ CREATE TABLE location_history
|
|||
(
|
||||
location_history_id BIGINT ,
|
||||
location_id BIGINT ,
|
||||
relationship_type_concept_id INTEGER , --Recent addition based on github discussion
|
||||
relationship_type_concept_id INTEGER ,
|
||||
domain_id VARCHAR(50) ,
|
||||
entity_id BIGINT ,
|
||||
start_date TIMESTAMP ,
|
||||
|
@ -654,7 +652,7 @@ CREATE TABLE cost
|
|||
cost_id BIGINT ,
|
||||
person_id BIGINT,
|
||||
cost_event_id BIGINT ,
|
||||
cost_event_field_concept_id INTEGER , /*This is still in discussion and most likely will replace cost_domain_id at 9/4 meeting*/
|
||||
cost_event_field_concept_id INTEGER ,
|
||||
cost_concept_id INTEGER ,
|
||||
cost_type_concept_id INTEGER ,
|
||||
currency_concept_id INTEGER ,
|
||||
|
|
|
@ -227,7 +227,7 @@ Standardized clinical data
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE person
|
||||
(
|
||||
person_id BIGINT NOT NULL , --BIGINTs added
|
||||
person_id BIGINT NOT NULL ,
|
||||
gender_concept_id INTEGER NOT NULL ,
|
||||
year_of_birth INTEGER NOT NULL ,
|
||||
month_of_birth INTEGER NULL,
|
||||
|
@ -542,7 +542,7 @@ DISTRIBUTE ON (person_id)
|
|||
|
||||
|
||||
--HINT DISTRIBUTE ON KEY(person_id)
|
||||
CREATE TABLE survey_conduct /*Should this be SURVEY_OCCURRENCE instead to comply with the other tables?*/
|
||||
CREATE TABLE survey_conduct
|
||||
(
|
||||
survey_conduct_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
|
@ -568,7 +568,7 @@ CREATE TABLE survey_conduct /*Should this be SURVEY_OCCURRENCE instead to comply
|
|||
survey_version_number VARCHAR(20) NULL ,
|
||||
visit_occurrence_id BIGINT NULL ,
|
||||
visit_detail_id BIGINT NULL ,
|
||||
response_to_visit_occurrence_id BIGINT NULL
|
||||
response_visit_occurrence_id BIGINT NULL
|
||||
)
|
||||
DISTRIBUTE ON (person_id)
|
||||
;
|
||||
|
@ -616,9 +616,9 @@ DISTRIBUTE ON RANDOM
|
|||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE location_history
|
||||
(
|
||||
location_history_id BIGINT NOT NULL , --unauthorized addition based on CDM conventions
|
||||
location_history_id BIGINT NOT NULL ,
|
||||
location_id BIGINT NOT NULL ,
|
||||
relationship_type_concept_id INTEGER NULL , --Recent addition based on github discussion
|
||||
relationship_type_concept_id INTEGER NULL ,
|
||||
domain_id VARCHAR(50) NOT NULL ,
|
||||
entity_id BIGINT NOT NULL ,
|
||||
start_date DATE NOT NULL ,
|
||||
|
|
|
@ -352,29 +352,29 @@ ALTER TABLE observation ADD CONSTRAint fpk_observation_v_detail FOREIGN KEY (vis
|
|||
ALTER TABLE observation ADD CONSTRAINT fpk_observation_concept_s FOREIGN KEY (observation_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_to_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
|
||||
ALTER TABLE fact_relationship ADD CONSTRAINT fpk_fact_domain_1 FOREIGN KEY (domain_concept_id_1) REFERENCES concept (concept_id);
|
||||
|
|
|
@ -215,7 +215,7 @@ Standardized clinical data
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE person
|
||||
(
|
||||
person_id NUMBER(19) NOT NULL , --BIGINTs added
|
||||
person_id NUMBER(19) NOT NULL ,
|
||||
gender_concept_id INTEGER NOT NULL ,
|
||||
year_of_birth INTEGER NOT NULL ,
|
||||
month_of_birth INTEGER NULL,
|
||||
|
@ -309,7 +309,7 @@ CREATE TABLE visit_detail
|
|||
provider_id NUMBER(19) NULL ,
|
||||
care_site_id NUMBER(19) NULL ,
|
||||
discharge_to_concept_id INTEGER NULL ,
|
||||
admitted_from_concept_id INTEGER NULL , /*Changed from admitting_source_* */
|
||||
admitted_from_concept_id INTEGER NULL ,
|
||||
admitted_from_source_value VARCHAR(50) NULL ,
|
||||
visit_detail_source_value VARCHAR(50) NULL ,
|
||||
visit_detail_source_concept_id INTEGER NULL ,
|
||||
|
@ -509,8 +509,8 @@ CREATE TABLE observation
|
|||
observation_source_concept_id INTEGER NULL ,
|
||||
unit_source_value VARCHAR(50) NULL ,
|
||||
qualifier_source_value VARCHAR(50) NULL ,
|
||||
observation_event_id NUMBER(19) NULL , /* This will link back to the event table (SURVEY) on SURVEY_OCCURRENCE_ID, changed name to comply with COST and NOTE*/
|
||||
obs_event_field_concept_id INTEGER NULL , /* Changed name to comply with COST and NOTE. Had to use 'obs' for oracle restriction, may be added on 9/4*/
|
||||
observation_event_id NUMBER(19) NULL ,
|
||||
obs_event_field_concept_id INTEGER NULL ,
|
||||
value_as_datetime TIMESTAMP NULL
|
||||
)
|
||||
;
|
||||
|
@ -543,7 +543,7 @@ CREATE TABLE survey_conduct --Table added
|
|||
survey_version_number VARCHAR(20) NULL ,
|
||||
visit_occurrence_id NUMBER(19) NULL ,
|
||||
visit_detail_id NUMBER(19) NULL ,
|
||||
response_visit_occurrence_id NUMBER(19) NULL
|
||||
response_visit_occurrence_id NUMBER(19) NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -591,7 +591,7 @@ CREATE TABLE location_history --Table added
|
|||
(
|
||||
location_history_id NUMBER(19) NOT NULL ,
|
||||
location_id NUMBER(19) NOT NULL ,
|
||||
relationship_type_concept_id INTEGER NULL , --Recent addition based on github discussion
|
||||
relationship_type_concept_id INTEGER NULL ,
|
||||
domain_id VARCHAR(50) NOT NULL ,
|
||||
entity_id NUMBER(19) NOT NULL ,
|
||||
start_date DATE NOT NULL ,
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
/*********************************************************************************
|
||||
# Copyright 2018-08 Observational Health Data Sciences and Informatics
|
||||
#
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
********************************************************************************/
|
||||
|
||||
/************************
|
||||
|
||||
####### # # ####### ###### ##### ###### # # ##### ###
|
||||
# # ## ## # # # # # # # # ## ## # # # # # #
|
||||
# # # # # # # # # # # # # # # # # # # # # #
|
||||
# # # # # # # ###### # # # # # # # # ###### # #
|
||||
# # # # # # # # # # # # # # # # ### # #
|
||||
# # # # # # # # # # # # # # # # # ### # #
|
||||
####### # # ####### # ##### ###### # # ## ##### ### ###
|
||||
|
||||
pdw script to create OMOP common data model results schema version 6.0
|
||||
|
||||
last revised: 27-Aug-2018
|
||||
|
||||
Authors: Patrick Ryan, Christian Reich, Clair Blacketer
|
||||
|
||||
|
||||
*************************/
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
IF XACT_STATE() = 1 COMMIT; CREATE TABLE
|
||||
cohort (
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL
|
||||
)
|
||||
WITH (DISTRIBUTION = HASH(subject_id));
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON RANDOM
|
||||
IF XACT_STATE() = 1 COMMIT; CREATE TABLE
|
||||
cohort_definition (
|
||||
cohort_definition_id INTEGER NOT NULL,
|
||||
cohort_definition_name VARCHAR(255) NOT NULL,
|
||||
cohort_definition_description VARCHAR(1000) NULL,
|
||||
definition_type_concept_id INTEGER NOT NULL,
|
||||
cohort_definition_syntax VARCHAR(1000) NULL,
|
||||
subject_concept_id INTEGER NOT NULL,
|
||||
cohort_initiation_date DATE NULL
|
||||
)
|
||||
WITH (DISTRIBUTION = REPLICATE);
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY NONCLUSTERED (cohort_definition_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
pdw script to create foreign key, unique, and check constraints within the OMOP common data model, version 6.0
|
||||
|
||||
last revised: 30-Augââ€Å’-2018
|
||||
last revised: 30-Aug-2018
|
||||
|
||||
author: Patrick Ryan, Clair Blacketer
|
||||
|
||||
|
@ -86,7 +86,7 @@ ALTER TABLE relationship ADD CONSTRAINT fpk_relationship_reverse FOREIGN KEY (re
|
|||
|
||||
ALTER TABLE concept_synonym ADD CONSTRAINT fpk_concept_synonym_concept FOREIGN KEY (concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE concept_synonym ADD CONSTRAINT fpk_concept_synonym_concept FOREIGN KEY (language_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE concept_synonym ADD CONSTRAINT fpk_synonym_language FOREIGN KEY (language_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE concept_ancestor ADD CONSTRAINT fpk_concept_ancestor_concept_1 FOREIGN KEY (ancestor_concept_id) REFERENCES concept (concept_id);
|
||||
|
@ -112,14 +112,6 @@ ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_2 FOREIGN KEY (n
|
|||
ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_3 FOREIGN KEY (denominator_unit_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT fpk_attribute_type_concept FOREIGN KEY (attribute_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
Standardized meta-data
|
||||
|
@ -194,9 +186,9 @@ ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_provider FOREIGN KEY (prov
|
|||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_care_site FOREIGN KEY (care_site_id) REFERENCES care_site (care_site_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_ visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_admitting_s FOREIGN KEY (admitting_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_admitting_s FOREIGN KEY (admitted_frome_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_discharge FOREIGN KEY (discharge_to_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
@ -215,7 +207,7 @@ ALTER TABLE visit_detail ADD CONSTRAINT fpk_v_detail_care_site FOREIGN KEY (care
|
|||
|
||||
ALTER TABLE visit_detail ADD CONSTRAINT fpk_v_detail_discharge FOREIGN KEY (discharge_to_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_detail ADD CONSTRAINT fpk_v_detail_admitting_s FOREIGN KEY (admitting_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE visit_detail ADD CONSTRAINT fpk_v_detail_admitting_s FOREIGN KEY (admitted_from_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_detail ADD CONSTRAINT fpk_v_detail_concept_s FOREIGN KEY (visit_detail_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
@ -360,29 +352,29 @@ ALTER TABLE observation ADD CONSTRAint fpk_observation_v_detail FOREIGN KEY (vis
|
|||
ALTER TABLE observation ADD CONSTRAINT fpk_observation_concept_s FOREIGN KEY (observation_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_to_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
|
||||
ALTER TABLE fact_relationship ADD CONSTRAINT fpk_fact_domain_1 FOREIGN KEY (domain_concept_id_1) REFERENCES concept (concept_id);
|
||||
|
@ -476,16 +468,6 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_attribute_definition FOREIGN KEY (attribute_definition_id) REFERENCES attribute_definition (attribute_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_value FOREIGN KEY (value_as_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_concept FOREIGN KEY (drug_concept_id) REFERENCES concept (concept_id);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -77,10 +77,6 @@ ALTER TABLE source_to_concept_map ADD CONSTRAINT xpk_source_to_concept_map PRIMA
|
|||
|
||||
ALTER TABLE drug_strength ADD CONSTRAINT xpk_drug_strength PRIMARY KEY NONCLUSTERED (drug_concept_id, ingredient_concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY NONCLUSTERED (cohort_definition_id);
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT xpk_attribute_definition PRIMARY KEY NONCLUSTERED (attribute_definition_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
|
@ -127,7 +123,7 @@ ALTER TABLE note_nlp ADD CONSTRAINT xpk_note_nlp PRIMARY KEY NONCLUSTERED ( note
|
|||
|
||||
ALTER TABLE observation ADD CONSTRAINT xpk_observation PRIMARY KEY NONCLUSTERED ( observation_id ) ;
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT xpk_survey PRIMARY KEY NONCLUSTERED ( survey_occurrence_id ) ;
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT xpk_survey PRIMARY KEY NONCLUSTERED ( survey_conduct_id ) ;
|
||||
|
||||
|
||||
/************************
|
||||
|
@ -165,9 +161,6 @@ Standardized derived elements
|
|||
|
||||
************************/
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT xpk_cohort_attribute PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date, attribute_definition_id ) ;
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT xpk_drug_era PRIMARY KEY NONCLUSTERED ( drug_era_id ) ;
|
||||
|
||||
|
@ -225,9 +218,6 @@ CREATE INDEX idx_source_to_concept_map_code ON source_to_concept_map (source_cod
|
|||
CREATE CLUSTERED INDEX idx_drug_strength_id_1 ON drug_strength (drug_concept_id ASC);
|
||||
CREATE INDEX idx_drug_strength_id_2 ON drug_strength (ingredient_concept_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_cohort_definition_id ON cohort_definition (cohort_definition_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_attribute_definition_id ON attribute_definition (attribute_definition_id ASC);
|
||||
|
||||
|
||||
/**************************
|
||||
|
@ -328,12 +318,6 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
||||
CREATE INDEX idx_ca_subject_id ON cohort_attribute (subject_id ASC);
|
||||
CREATE INDEX idx_ca_definition_id ON cohort_attribute (cohort_definition_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_drug_era_person_id ON drug_era (person_id ASC);
|
||||
CREATE INDEX idx_drug_era_concept_id ON drug_era (drug_concept_id ASC);
|
||||
|
||||
|
|
|
@ -14,3 +14,7 @@ n order to create your instantiation of the Common Data Model, we recommend foll
|
|||
4. Execute the script `OMOP CDM pdw indexes.txt` to add the minimum set of indices and primary keys we recommend.
|
||||
|
||||
5. Execute the script `OMOP CDM pdw constraints.txt` to add the foreign key constraints.
|
||||
|
||||
6. Create an empty schema for results.
|
||||
|
||||
7. Execute the script `OMOP CDM Results pdw ddl.txt` to create the tables and fields in the results schema.
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
/*********************************************************************************
|
||||
# Copyright 2018-08 Observational Health Data Sciences and Informatics
|
||||
#
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
********************************************************************************/
|
||||
|
||||
/************************
|
||||
|
||||
####### # # ####### ###### ##### ###### # # ##### ###
|
||||
# # ## ## # # # # # # # # ## ## # # # # # #
|
||||
# # # # # # # # # # # # # # # # # # # # # #
|
||||
# # # # # # # ###### # # # # # # # # ###### # #
|
||||
# # # # # # # # # # # # # # # # ### # #
|
||||
# # # # # # # # # # # # # # # # # ### # #
|
||||
####### # # ####### # ##### ###### # # ## ##### ### ###
|
||||
|
||||
postgresql script to create OMOP common data model results schema version 6.0
|
||||
|
||||
last revised: 27-Aug-2018
|
||||
|
||||
Authors: Patrick Ryan, Christian Reich, Clair Blacketer
|
||||
|
||||
|
||||
*************************/
|
||||
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
CREATE TABLE cohort
|
||||
(
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE cohort_definition (
|
||||
cohort_definition_id INTEGER NOT NULL,
|
||||
cohort_definition_name VARCHAR(255) NOT NULL,
|
||||
cohort_definition_description TEXT NULL,
|
||||
definition_type_concept_id INTEGER NOT NULL,
|
||||
cohort_definition_syntax TEXT NULL,
|
||||
subject_concept_id INTEGER NOT NULL,
|
||||
cohort_initiation_date DATE NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY (cohort_definition_id);
|
||||
|
||||
|
||||
CREATE INDEX idx_cohort_definition_id ON cohort_definition (cohort_definition_id ASC);
|
||||
CLUSTER cohort_definition USING idx_cohort_definition_id ;
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
postgresql script to create foreign key, unique, and check constraints within the OMOP common data model, version 6.0
|
||||
|
||||
last revised: 30-Augââ€Å’-2018
|
||||
last revised: 30-Aug-2018
|
||||
|
||||
author: Patrick Ryan, Clair Blacketer
|
||||
|
||||
|
@ -112,14 +112,6 @@ ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_2 FOREIGN KEY (n
|
|||
ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_3 FOREIGN KEY (denominator_unit_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT fpk_attribute_type_concept FOREIGN KEY (attribute_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
Standardized meta-data
|
||||
|
@ -194,7 +186,7 @@ ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_provider FOREIGN KEY (prov
|
|||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_care_site FOREIGN KEY (care_site_id) REFERENCES care_site (care_site_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_ visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_admitting_s FOREIGN KEY (admitting_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
@ -360,29 +352,29 @@ ALTER TABLE observation ADD CONSTRAint fpk_observation_v_detail FOREIGN KEY (vis
|
|||
ALTER TABLE observation ADD CONSTRAINT fpk_observation_concept_s FOREIGN KEY (observation_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_to_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
|
||||
ALTER TABLE fact_relationship ADD CONSTRAINT fpk_fact_domain_1 FOREIGN KEY (domain_concept_id_1) REFERENCES concept (concept_id);
|
||||
|
@ -476,16 +468,6 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_attribute_definition FOREIGN KEY (attribute_definition_id) REFERENCES attribute_definition (attribute_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_value FOREIGN KEY (value_as_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_concept FOREIGN KEY (drug_concept_id) REFERENCES concept (concept_id);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -77,10 +77,6 @@ ALTER TABLE source_to_concept_map ADD CONSTRAINT xpk_source_to_concept_map PRIMA
|
|||
|
||||
ALTER TABLE drug_strength ADD CONSTRAINT xpk_drug_strength PRIMARY KEY (drug_concept_id, ingredient_concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY (cohort_definition_id);
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT xpk_attribute_definition PRIMARY KEY (attribute_definition_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
|
@ -127,7 +123,7 @@ ALTER TABLE note_nlp ADD CONSTRAINT xpk_note_nlp PRIMARY KEY ( note_nlp_id ) ;
|
|||
|
||||
ALTER TABLE observation ADD CONSTRAINT xpk_observation PRIMARY KEY ( observation_id ) ;
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT xpk_survey PRIMARY KEY ( survey_occurrence_id ) ;
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT xpk_survey PRIMARY KEY ( survey_conduct_id ) ;
|
||||
|
||||
|
||||
/************************
|
||||
|
@ -139,7 +135,7 @@ Standardized health system data
|
|||
|
||||
ALTER TABLE location ADD CONSTRAINT xpk_location PRIMARY KEY ( location_id ) ;
|
||||
|
||||
ALTER TABLE location_history ADD CONSTRAINT xpk_location_history PRIMARY KEY ( location_history_id ) ; --Assuming this should be added
|
||||
ALTER TABLE location_history ADD CONSTRAINT xpk_location_history PRIMARY KEY ( location_history_id ) ;
|
||||
|
||||
ALTER TABLE care_site ADD CONSTRAINT xpk_care_site PRIMARY KEY ( care_site_id ) ;
|
||||
|
||||
|
@ -165,10 +161,6 @@ Standardized derived elements
|
|||
|
||||
************************/
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT xpk_cohort_attribute PRIMARY KEY ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date, attribute_definition_id ) ;
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT xpk_drug_era PRIMARY KEY ( drug_era_id ) ;
|
||||
|
||||
ALTER TABLE dose_era ADD CONSTRAINT xpk_dose_era PRIMARY KEY ( dose_era_id ) ;
|
||||
|
@ -234,12 +226,6 @@ CREATE INDEX idx_drug_strength_id_1 ON drug_strength (drug_concept_id ASC);
|
|||
CLUSTER drug_strength USING idx_drug_strength_id_1 ;
|
||||
CREATE INDEX idx_drug_strength_id_2 ON drug_strength (ingredient_concept_id ASC);
|
||||
|
||||
CREATE INDEX idx_cohort_definition_id ON cohort_definition (cohort_definition_id ASC);
|
||||
CLUSTER cohort_definition USING idx_cohort_definition_id ;
|
||||
|
||||
CREATE INDEX idx_attribute_definition_id ON attribute_definition (attribute_definition_id ASC);
|
||||
CLUSTER attribute_definition USING idx_attribute_definition_id ;
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
|
@ -317,8 +303,8 @@ CLUSTER observation USING idx_observation_person_id ;
|
|||
CREATE INDEX idx_observation_concept_id ON observation (observation_concept_id ASC);
|
||||
CREATE INDEX idx_observation_visit_id ON observation (visit_occurrence_id ASC);
|
||||
|
||||
CREATE INDEX idx_survey_person_id ON survey (person_id ASC);
|
||||
CLUSTER survey USING idx_survey_person_id ;
|
||||
CREATE INDEX idx_survey_person_id ON survey_conduct (person_id ASC);
|
||||
CLUSTER survey_conduct USING idx_survey_person_id ;
|
||||
|
||||
CREATE INDEX idx_fact_relationship_id_1 ON fact_relationship (domain_concept_id_1 ASC);
|
||||
CREATE INDEX idx_fact_relationship_id_2 ON fact_relationship (domain_concept_id_2 ASC);
|
||||
|
@ -356,12 +342,6 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
||||
CREATE INDEX idx_ca_subject_id ON cohort_attribute (subject_id ASC);
|
||||
CREATE INDEX idx_ca_definition_id ON cohort_attribute (cohort_definition_id ASC);
|
||||
|
||||
CREATE INDEX idx_drug_era_person_id ON drug_era (person_id ASC);
|
||||
CLUSTER drug_era USING idx_drug_era_person_id ;
|
||||
CREATE INDEX idx_drug_era_concept_id ON drug_era (drug_concept_id ASC);
|
||||
|
|
|
@ -16,3 +16,5 @@ In order to create your instantiation of the Common Data Model, we recommend fol
|
|||
5. Execute the script `OMOP CDM postgresql constraints.txt` to add the constraints (foreign keys).
|
||||
|
||||
Note: you could also apply the constraints and/or the indexes before loading the data, but this will slow down the insertion of the data considerably.
|
||||
|
||||
6. Repeat steps 1-3, executing the script `OMOP CDM Results postgresql ddl.txt`
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
/*********************************************************************************
|
||||
# Copyright 2018-08 Observational Health Data Sciences and Informatics
|
||||
#
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
********************************************************************************/
|
||||
|
||||
/************************
|
||||
|
||||
####### # # ####### ###### ##### ###### # # ##### ###
|
||||
# # ## ## # # # # # # # # ## ## # # # # # #
|
||||
# # # # # # # # # # # # # # # # # # # # # #
|
||||
# # # # # # # ###### # # # # # # # # ###### # #
|
||||
# # # # # # # # # # # # # # # # ### # #
|
||||
# # # # # # # # # # # # # # # # # ### # #
|
||||
####### # # ####### # ##### ###### # # ## ##### ### ###
|
||||
|
||||
redshift script to create OMOP common data model results schema version 6.0
|
||||
|
||||
last revised: 27-Aug-2018
|
||||
|
||||
Authors: Patrick Ryan, Christian Reich, Clair Blacketer
|
||||
|
||||
|
||||
*************************/
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
CREATE TABLE cohort (
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL
|
||||
)
|
||||
DISTKEY(subject_id);
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE cohort_definition (
|
||||
cohort_definition_id INTEGER NOT NULL,
|
||||
cohort_definition_name VARCHAR(255) NOT NULL,
|
||||
cohort_definition_description VARCHAR(MAX) NULL,
|
||||
definition_type_concept_id INTEGER NOT NULL,
|
||||
cohort_definition_syntax VARCHAR(MAX) NULL,
|
||||
subject_concept_id INTEGER NOT NULL,
|
||||
cohort_initiation_date DATE NULL
|
||||
)
|
||||
DISTSTYLE ALL;
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -11,4 +11,6 @@ In order to create your instantiation of the Common Data Model, we recommend fol
|
|||
|
||||
3. Execute the script `OMOP CDM redshift ddl.txt` to create the tables and fields.
|
||||
|
||||
4. Load your data into the schema using COPY commands from Amazon S3.
|
||||
4. Load your data into the schema using COPY commands from Amazon S3.
|
||||
|
||||
5. Repeat to create the results schema, executing the script `OMOP CDM Results redshift ddl.txt`
|
|
@ -41,6 +41,18 @@ Standardized vocabulary
|
|||
|
||||
************************/
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
CREATE TABLE cohort
|
||||
(
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE cohort_definition (
|
||||
cohort_definition_id INTEGER NOT NULL,
|
||||
|
@ -52,3 +64,28 @@ CREATE TABLE cohort_definition (
|
|||
cohort_initiation_date DATE NULL
|
||||
)
|
||||
;
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY NONCLUSTERED (cohort_definition_id);
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
|
||||
CREATE CLUSTERED INDEX idx_cohort_definition_id ON cohort_definition (cohort_definition_id ASC);
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -112,14 +112,6 @@ ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_2 FOREIGN KEY (n
|
|||
ALTER TABLE drug_strength ADD CONSTRAINT fpk_drug_strength_unit_3 FOREIGN KEY (denominator_unit_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_cohort_definition_concept FOREIGN KEY (definition_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT fpk_subject_concept FOREIGN KEY (subject_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT fpk_attribute_type_concept FOREIGN KEY (attribute_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
Standardized meta-data
|
||||
|
@ -194,7 +186,7 @@ ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_provider FOREIGN KEY (prov
|
|||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_care_site FOREIGN KEY (care_site_id) REFERENCES care_site (care_site_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_ visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_concept_s FOREIGN KEY (visit_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE visit_occurrence ADD CONSTRAINT fpk_visit_admitting_s FOREIGN KEY (admitting_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
@ -360,29 +352,29 @@ ALTER TABLE observation ADD CONSTRAint fpk_observation_v_detail FOREIGN KEY (vis
|
|||
ALTER TABLE observation ADD CONSTRAINT fpk_observation_concept_s FOREIGN KEY (observation_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_concept FOREIGN KEY (survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_provider FOREIGN KEY (provider_id) REFERENCES provider (provider_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_assist FOREIGN KEY (assisted_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_respondent_type FOREIGN KEY (respondent_type_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_timing FOREIGN KEY (timing_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_collection_method FOREIGN KEY (collection_method_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_source FOREIGN KEY (survey_source_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_validation FOREIGN KEY (validated_survey_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_visit FOREIGN KEY (visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_survey_v_detail FOREIGN KEY (visit_detail_id) REFERENCES visit_detail (visit_detail_id);
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_to_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT fpk_response_visit FOREIGN KEY (response_to_visit_occurrence_id) REFERENCES visit (visit_occurrence_id);
|
||||
|
||||
|
||||
ALTER TABLE fact_relationship ADD CONSTRAINT fpk_fact_domain_1 FOREIGN KEY (domain_concept_id_1) REFERENCES concept (concept_id);
|
||||
|
@ -476,16 +468,6 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT fpk_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_cohort_definition FOREIGN KEY (cohort_definition_id) REFERENCES cohort_definition (cohort_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_attribute_definition FOREIGN KEY (attribute_definition_id) REFERENCES attribute_definition (attribute_definition_id);
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT fpk_ca_value FOREIGN KEY (value_as_concept_id) REFERENCES concept (concept_id);
|
||||
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_person FOREIGN KEY (person_id) REFERENCES person (person_id);
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT fpk_drug_era_concept FOREIGN KEY (drug_concept_id) REFERENCES concept (concept_id);
|
||||
|
|
|
@ -215,7 +215,7 @@ Standardized clinical data
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE person
|
||||
(
|
||||
person_id BIGINT NOT NULL , --BIGINTs added
|
||||
person_id BIGINT NOT NULL ,
|
||||
gender_concept_id INTEGER NOT NULL ,
|
||||
year_of_birth INTEGER NOT NULL ,
|
||||
month_of_birth INTEGER NULL,
|
||||
|
@ -271,20 +271,6 @@ CREATE TABLE specimen
|
|||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
/*CREATE TABLE death
|
||||
(
|
||||
person_id BIGINT NOT NULL ,
|
||||
death_date DATE NULL ,
|
||||
death_datetime DATETIME2 NOT NULL ,
|
||||
death_type_concept_id INTEGER NOT NULL ,
|
||||
cause_concept_id INTEGER NULL ,
|
||||
cause_source_value VARCHAR(50) NULL,
|
||||
cause_source_concept_id INTEGER NULL
|
||||
)
|
||||
;*/
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE visit_occurrence
|
||||
(
|
||||
|
@ -300,7 +286,7 @@ CREATE TABLE visit_occurrence
|
|||
care_site_id BIGINT NULL,
|
||||
visit_source_value VARCHAR(50) NULL,
|
||||
visit_source_concept_id INTEGER NULL ,
|
||||
admitted_from_concept_id INTEGER NULL , /*Changed from admitting_source_* */
|
||||
admitted_from_concept_id INTEGER NULL ,
|
||||
admitted_from_source_value VARCHAR(50) NULL ,
|
||||
discharge_to_source_value VARCHAR(50) NULL ,
|
||||
discharge_to_concept_id INTEGER NULL ,
|
||||
|
@ -323,7 +309,7 @@ CREATE TABLE visit_detail
|
|||
provider_id BIGINT NULL ,
|
||||
care_site_id BIGINT NULL ,
|
||||
discharge_to_concept_id INTEGER NULL ,
|
||||
admitted_from_concept_id INTEGER NULL , /*Changed from admitting_source_* */
|
||||
admitted_from_concept_id INTEGER NULL ,
|
||||
admitted_from_source_value VARCHAR(50) NULL ,
|
||||
visit_detail_source_value VARCHAR(50) NULL ,
|
||||
visit_detail_source_concept_id INTEGER NULL ,
|
||||
|
@ -464,7 +450,7 @@ CREATE TABLE note
|
|||
note_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
note_event_id BIGINT NULL ,
|
||||
note_event_domain_id VARCHAR(20) NULL ,
|
||||
note_event_domain_id VARCHAR(20) NULL ,
|
||||
note_event_field_concept_id INTEGER NULL ,
|
||||
note_date DATE NULL ,
|
||||
note_datetime DATETIME2 NOT NULL ,
|
||||
|
@ -506,60 +492,59 @@ CREATE TABLE note_nlp
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE observation
|
||||
(
|
||||
observation_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
observation_concept_id INTEGER NOT NULL ,
|
||||
observation_date DATE NULL ,
|
||||
observation_datetime DATETIME2 NOT NULL ,
|
||||
observation_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
observation_concept_id INTEGER NOT NULL ,
|
||||
observation_date DATE NULL ,
|
||||
observation_datetime DATETIME2 NOT NULL ,
|
||||
observation_type_concept_id INTEGER NOT NULL ,
|
||||
value_as_number FLOAT NULL ,
|
||||
value_as_string VARCHAR(60) NULL ,
|
||||
value_as_concept_id INTEGER NULL ,
|
||||
qualifier_concept_id INTEGER NULL ,
|
||||
unit_concept_id INTEGER NULL ,
|
||||
provider_id INTEGER NULL ,
|
||||
visit_occurrence_id BIGINT NULL ,
|
||||
visit_detail_id BIGINT NULL ,
|
||||
observation_source_value VARCHAR(50) NULL ,
|
||||
value_as_number FLOAT NULL ,
|
||||
value_as_string VARCHAR(60) NULL ,
|
||||
value_as_concept_id INTEGER NULL ,
|
||||
qualifier_concept_id INTEGER NULL ,
|
||||
unit_concept_id INTEGER NULL ,
|
||||
provider_id INTEGER NULL ,
|
||||
visit_occurrence_id BIGINT NULL ,
|
||||
visit_detail_id BIGINT NULL ,
|
||||
observation_source_value VARCHAR(50) NULL ,
|
||||
observation_source_concept_id INTEGER NULL ,
|
||||
unit_source_value VARCHAR(50) NULL ,
|
||||
qualifier_source_value VARCHAR(50) NULL ,
|
||||
observation_event_id BIGINT NULL , /* This will link back to the event table (SURVEY) on SURVEY_OCCURRENCE_ID, changed name to comply with COST and NOTE*/
|
||||
observation_event_domain_id VARCHAR(20) NULL ,
|
||||
--obs_event_table_concept_id INTEGER NULL , /* Changed name to comply with COST and NOTE. Had to use 'obs' for oracle restriction, may be added on 9/4*/
|
||||
value_as_datetime DATETIME2 NULL
|
||||
unit_source_value VARCHAR(50) NULL ,
|
||||
qualifier_source_value VARCHAR(50) NULL ,
|
||||
observation_event_id BIGINT NULL ,
|
||||
obs_event_field_concept_id INTEGER NULL ,
|
||||
value_as_datetime DATETIME2 NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON KEY(person_id)
|
||||
CREATE TABLE survey_conduct --Table added
|
||||
CREATE TABLE survey_conduct
|
||||
(
|
||||
survey_conduct_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
survey_concept_id INTEGER NOT NULL ,
|
||||
survey_start_date DATE NULL ,
|
||||
survey_start_datetime DATETIME2 NULL ,
|
||||
survey_end_date DATE NULL ,
|
||||
survey_end_datetime DATETIME2 NOT NULL ,
|
||||
provider_id BIGINT NULL ,
|
||||
assisted_concept_id INTEGER NULL ,
|
||||
respondent_type_concept_id INTEGER NULL ,
|
||||
timing_concept_id INTEGER NULL ,
|
||||
collection_method_concept_id INTEGER NULL ,
|
||||
assisted_source_value VARCHAR(50) NULL ,
|
||||
respondent_type_source_value VARCHAR(100) NULL ,
|
||||
timing_source_value VARCHAR(100) NULL ,
|
||||
survey_conduct_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
survey_concept_id INTEGER NOT NULL ,
|
||||
survey_start_date DATE NULL ,
|
||||
survey_start_datetime DATETIME2 NULL ,
|
||||
survey_end_date DATE NULL ,
|
||||
survey_end_datetime DATETIME2 NOT NULL ,
|
||||
provider_id BIGINT NULL ,
|
||||
assisted_concept_id INTEGER NULL ,
|
||||
respondent_type_concept_id INTEGER NULL ,
|
||||
timing_concept_id INTEGER NULL ,
|
||||
collection_method_concept_id INTEGER NULL ,
|
||||
assisted_source_value VARCHAR(50) NULL ,
|
||||
respondent_type_source_value VARCHAR(100) NULL ,
|
||||
timing_source_value VARCHAR(100) NULL ,
|
||||
collection_method_source_value VARCHAR(100) NULL ,
|
||||
survey_source_value VARCHAR(100) NULL ,
|
||||
survey_source_concept_id INTEGER NULL ,
|
||||
survey_source_identifier VARCHAR(100) NULL ,
|
||||
validated_survey_concept_id INTEGER NULL ,
|
||||
survey_source_value VARCHAR(100) NULL ,
|
||||
survey_source_concept_id INTEGER NULL ,
|
||||
survey_source_identifier VARCHAR(100) NULL ,
|
||||
validated_survey_concept_id INTEGER NULL ,
|
||||
validated_survey_source_value VARCHAR(100) NULL ,
|
||||
survey_version_number VARCHAR(20) NULL ,
|
||||
visit_occurrence_id BIGINT NULL ,
|
||||
visit_detail_id BIGINT NULL ,
|
||||
response_to_visit_occurrence_id BIGINT NULL
|
||||
survey_version_number VARCHAR(20) NULL ,
|
||||
visit_occurrence_id BIGINT NULL ,
|
||||
visit_detail_id BIGINT NULL ,
|
||||
response_visit_occurrence_id BIGINT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -567,10 +552,10 @@ CREATE TABLE survey_conduct --Table added
|
|||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE fact_relationship
|
||||
(
|
||||
domain_concept_id_1 INTEGER NOT NULL ,
|
||||
fact_id_1 BIGINT NOT NULL ,
|
||||
domain_concept_id_2 INTEGER NOT NULL ,
|
||||
fact_id_2 BIGINT NOT NULL ,
|
||||
domain_concept_id_1 INTEGER NOT NULL ,
|
||||
fact_id_1 BIGINT NOT NULL ,
|
||||
domain_concept_id_2 INTEGER NOT NULL ,
|
||||
fact_id_2 BIGINT NOT NULL ,
|
||||
relationship_concept_id INTEGER NOT NULL
|
||||
)
|
||||
;
|
||||
|
@ -587,31 +572,31 @@ Standardized health system data
|
|||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE location
|
||||
(
|
||||
location_id BIGINT NOT NULL ,
|
||||
address_1 VARCHAR(50) NULL ,
|
||||
address_2 VARCHAR(50) NULL ,
|
||||
city VARCHAR(50) NULL ,
|
||||
state VARCHAR(2) NULL ,
|
||||
zip VARCHAR(9) NULL ,
|
||||
county VARCHAR(20) NULL ,
|
||||
country VARCHAR(100) NULL ,
|
||||
location_id BIGINT NOT NULL ,
|
||||
address_1 VARCHAR(50) NULL ,
|
||||
address_2 VARCHAR(50) NULL ,
|
||||
city VARCHAR(50) NULL ,
|
||||
state VARCHAR(2) NULL ,
|
||||
zip VARCHAR(9) NULL ,
|
||||
county VARCHAR(20) NULL ,
|
||||
country VARCHAR(100) NULL ,
|
||||
location_source_value VARCHAR(50) NULL ,
|
||||
latitude FLOAT NULL ,
|
||||
longitude FLOAT NULL
|
||||
latitude FLOAT NULL ,
|
||||
longitude FLOAT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE location_history --Table added
|
||||
CREATE TABLE location_history
|
||||
(
|
||||
location_history_id BIGINT NOT NULL ,
|
||||
location_id BIGINT NOT NULL ,
|
||||
relationship_type_concept_id INTEGER NULL , --Recent addition based on github discussion
|
||||
domain_id VARCHAR(50) NOT NULL ,
|
||||
entity_id BIGINT NOT NULL ,
|
||||
start_date DATE NOT NULL ,
|
||||
end_date DATE NULL
|
||||
location_history_id BIGINT NOT NULL ,
|
||||
location_id BIGINT NOT NULL ,
|
||||
relationship_type_concept_id INTEGER NULL ,
|
||||
domain_id VARCHAR(50) NOT NULL ,
|
||||
entity_id BIGINT NOT NULL ,
|
||||
start_date DATE NOT NULL ,
|
||||
end_date DATE NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -619,12 +604,12 @@ CREATE TABLE location_history --Table added
|
|||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE care_site
|
||||
(
|
||||
care_site_id BIGINT NOT NULL ,
|
||||
care_site_name VARCHAR(255) NULL ,
|
||||
place_of_service_concept_id INTEGER NULL ,
|
||||
location_id BIGINT NULL ,
|
||||
care_site_source_value VARCHAR(50) NULL ,
|
||||
place_of_service_source_value VARCHAR(50) NULL
|
||||
care_site_id BIGINT NOT NULL ,
|
||||
care_site_name VARCHAR(255) NULL ,
|
||||
place_of_service_concept_id INTEGER NULL ,
|
||||
location_id BIGINT NULL ,
|
||||
care_site_source_value VARCHAR(50) NULL ,
|
||||
place_of_service_source_value VARCHAR(50) NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -632,19 +617,19 @@ CREATE TABLE care_site
|
|||
--HINT DISTRIBUTE ON RANDOM
|
||||
CREATE TABLE provider
|
||||
(
|
||||
provider_id BIGINT NOT NULL ,
|
||||
provider_name VARCHAR(255) NULL ,
|
||||
NPI VARCHAR(20) NULL ,
|
||||
DEA VARCHAR(20) NULL ,
|
||||
specialty_concept_id INTEGER NULL ,
|
||||
care_site_id BIGINT NULL ,
|
||||
year_of_birth INTEGER NULL ,
|
||||
gender_concept_id INTEGER NULL ,
|
||||
provider_source_value VARCHAR(50) NULL ,
|
||||
specialty_source_value VARCHAR(50) NULL ,
|
||||
specialty_source_concept_id INTEGER NULL ,
|
||||
gender_source_value VARCHAR(50) NULL ,
|
||||
gender_source_concept_id INTEGER NULL
|
||||
provider_id BIGINT NOT NULL ,
|
||||
provider_name VARCHAR(255) NULL ,
|
||||
NPI VARCHAR(20) NULL ,
|
||||
DEA VARCHAR(20) NULL ,
|
||||
specialty_concept_id INTEGER NULL ,
|
||||
care_site_id BIGINT NULL ,
|
||||
year_of_birth INTEGER NULL ,
|
||||
gender_concept_id INTEGER NULL ,
|
||||
provider_source_value VARCHAR(50) NULL ,
|
||||
specialty_source_value VARCHAR(50) NULL ,
|
||||
specialty_source_concept_id INTEGER NULL ,
|
||||
gender_source_value VARCHAR(50) NULL ,
|
||||
gender_source_concept_id INTEGER NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -659,27 +644,27 @@ Standardized health economics
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE payer_plan_period
|
||||
(
|
||||
payer_plan_period_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
contract_person_id BIGINT NULL ,
|
||||
payer_plan_period_start_date DATE NOT NULL ,
|
||||
payer_plan_period_end_date DATE NOT NULL ,
|
||||
payer_concept_id INTEGER NULL ,
|
||||
plan_concept_id INTEGER NULL ,
|
||||
contract_concept_id INTEGER NULL ,
|
||||
sponsor_concept_id INTEGER NULL ,
|
||||
stop_reason_concept_id INTEGER NULL ,
|
||||
payer_source_value VARCHAR(50) NULL ,
|
||||
payer_source_concept_id INTEGER NULL ,
|
||||
plan_source_value VARCHAR(50) NULL ,
|
||||
plan_source_concept_id INTEGER NULL ,
|
||||
contract_source_value VARCHAR(50) NULL ,
|
||||
contract_source_concept_id INTEGER NULL ,
|
||||
sponsor_source_value VARCHAR(50) NULL ,
|
||||
sponsor_source_concept_id INTEGER NULL ,
|
||||
family_source_value VARCHAR(50) NULL ,
|
||||
stop_reason_source_value VARCHAR(50) NULL ,
|
||||
stop_reason_source_concept_id INTEGER NULL
|
||||
payer_plan_period_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
contract_person_id BIGINT NULL ,
|
||||
payer_plan_period_start_date DATE NOT NULL ,
|
||||
payer_plan_period_end_date DATE NOT NULL ,
|
||||
payer_concept_id INTEGER NULL ,
|
||||
plan_concept_id INTEGER NULL ,
|
||||
contract_concept_id INTEGER NULL ,
|
||||
sponsor_concept_id INTEGER NULL ,
|
||||
stop_reason_concept_id INTEGER NULL ,
|
||||
payer_source_value VARCHAR(50) NULL ,
|
||||
payer_source_concept_id INTEGER NULL ,
|
||||
plan_source_value VARCHAR(50) NULL ,
|
||||
plan_source_concept_id INTEGER NULL ,
|
||||
contract_source_value VARCHAR(50) NULL ,
|
||||
contract_source_concept_id INTEGER NULL ,
|
||||
sponsor_source_value VARCHAR(50) NULL ,
|
||||
sponsor_source_concept_id INTEGER NULL ,
|
||||
family_source_value VARCHAR(50) NULL ,
|
||||
stop_reason_source_value VARCHAR(50) NULL ,
|
||||
stop_reason_source_concept_id INTEGER NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -687,25 +672,24 @@ CREATE TABLE payer_plan_period
|
|||
--HINT DISTRIBUTE ON KEY(person_id)
|
||||
CREATE TABLE cost
|
||||
(
|
||||
cost_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL,
|
||||
cost_event_id BIGINT NOT NULL ,
|
||||
cost_domain_id VARCHAR(20) NOT NULL ,
|
||||
--cost_event_table_concept_id INTEGER NOT NULL , /*This is still in discussion and most likely will replace cost_domain_id at 9/4 meeting*/
|
||||
cost_concept_id INTEGER NOT NULL ,
|
||||
cost_type_concept_id INTEGER NOT NULL ,
|
||||
currency_concept_id INTEGER NULL ,
|
||||
cost FLOAT NULL ,
|
||||
incurred_date DATE NOT NULL ,
|
||||
billed_date DATE NULL ,
|
||||
paid_date DATE NULL ,
|
||||
revenue_code_concept_id INTEGER NULL ,
|
||||
drg_concept_id INTEGER NULL ,
|
||||
cost_source_value VARCHAR(50) NULL ,
|
||||
cost_source_concept_id INTEGER NULL ,
|
||||
revenue_code_source_value VARCHAR(50) NULL ,
|
||||
drg_source_value VARCHAR(3) NULL ,
|
||||
payer_plan_period_id BIGINT NULL
|
||||
cost_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL,
|
||||
cost_event_id BIGINT NOT NULL ,
|
||||
cost_event_field_concept_id INTEGER NOT NULL ,
|
||||
cost_concept_id INTEGER NOT NULL ,
|
||||
cost_type_concept_id INTEGER NOT NULL ,
|
||||
currency_concept_id INTEGER NULL ,
|
||||
cost FLOAT NULL ,
|
||||
incurred_date DATE NOT NULL ,
|
||||
billed_date DATE NULL ,
|
||||
paid_date DATE NULL ,
|
||||
revenue_code_concept_id INTEGER NULL ,
|
||||
drg_concept_id INTEGER NULL ,
|
||||
cost_source_value VARCHAR(50) NULL ,
|
||||
cost_source_concept_id INTEGER NULL ,
|
||||
revenue_code_source_value VARCHAR(50) NULL ,
|
||||
drg_source_value VARCHAR(3) NULL ,
|
||||
payer_plan_period_id BIGINT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -717,41 +701,16 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
CREATE TABLE cohort
|
||||
(
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(subject_id)
|
||||
CREATE TABLE cohort_attribute
|
||||
(
|
||||
cohort_definition_id BIGINT NOT NULL ,
|
||||
subject_id BIGINT NOT NULL ,
|
||||
cohort_start_date DATE NOT NULL ,
|
||||
cohort_end_date DATE NOT NULL ,
|
||||
attribute_definition_id BIGINT NOT NULL ,
|
||||
value_as_number FLOAT NULL ,
|
||||
value_as_concept_id INTEGER NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE drug_era
|
||||
(
|
||||
drug_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
drug_concept_id INTEGER NOT NULL ,
|
||||
drug_era_start_date DATE NOT NULL ,
|
||||
drug_era_end_date DATE NOT NULL ,
|
||||
drug_exposure_count INTEGER NULL ,
|
||||
gap_days INTEGER NULL
|
||||
drug_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
drug_concept_id INTEGER NOT NULL ,
|
||||
drug_era_start_date DATE NOT NULL ,
|
||||
drug_era_end_date DATE NOT NULL ,
|
||||
drug_exposure_count INTEGER NULL ,
|
||||
gap_days INTEGER NULL
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -759,12 +718,12 @@ CREATE TABLE drug_era
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE dose_era
|
||||
(
|
||||
dose_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
drug_concept_id INTEGER NOT NULL ,
|
||||
unit_concept_id INTEGER NOT NULL ,
|
||||
dose_value FLOAT NOT NULL ,
|
||||
dose_era_start_date DATE NOT NULL ,
|
||||
dose_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
drug_concept_id INTEGER NOT NULL ,
|
||||
unit_concept_id INTEGER NOT NULL ,
|
||||
dose_value FLOAT NOT NULL ,
|
||||
dose_era_start_date DATE NOT NULL ,
|
||||
dose_era_end_date DATE NOT NULL
|
||||
)
|
||||
;
|
||||
|
@ -773,11 +732,11 @@ CREATE TABLE dose_era
|
|||
--HINT DISTRIBUTE_ON_KEY(person_id)
|
||||
CREATE TABLE condition_era
|
||||
(
|
||||
condition_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
condition_concept_id INTEGER NOT NULL ,
|
||||
condition_era_start_date DATE NOT NULL ,
|
||||
condition_era_end_date DATE NOT NULL ,
|
||||
condition_era_id BIGINT NOT NULL ,
|
||||
person_id BIGINT NOT NULL ,
|
||||
condition_concept_id INTEGER NOT NULL ,
|
||||
condition_era_start_date DATE NOT NULL ,
|
||||
condition_era_end_date DATE NOT NULL ,
|
||||
condition_occurrence_count INTEGER NULL
|
||||
)
|
||||
;
|
||||
|
|
|
@ -77,10 +77,6 @@ ALTER TABLE source_to_concept_map ADD CONSTRAINT xpk_source_to_concept_map PRIMA
|
|||
|
||||
ALTER TABLE drug_strength ADD CONSTRAINT xpk_drug_strength PRIMARY KEY NONCLUSTERED (drug_concept_id, ingredient_concept_id);
|
||||
|
||||
ALTER TABLE cohort_definition ADD CONSTRAINT xpk_cohort_definition PRIMARY KEY NONCLUSTERED (cohort_definition_id);
|
||||
|
||||
ALTER TABLE attribute_definition ADD CONSTRAINT xpk_attribute_definition PRIMARY KEY NONCLUSTERED (attribute_definition_id);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
|
@ -127,7 +123,7 @@ ALTER TABLE note_nlp ADD CONSTRAINT xpk_note_nlp PRIMARY KEY NONCLUSTERED ( note
|
|||
|
||||
ALTER TABLE observation ADD CONSTRAINT xpk_observation PRIMARY KEY NONCLUSTERED ( observation_id ) ;
|
||||
|
||||
ALTER TABLE survey ADD CONSTRAINT xpk_survey PRIMARY KEY NONCLUSTERED ( survey_occurrence_id ) ;
|
||||
ALTER TABLE survey_conduct ADD CONSTRAINT xpk_survey PRIMARY KEY NONCLUSTERED ( survey_conduct_id ) ;
|
||||
|
||||
|
||||
/************************
|
||||
|
@ -139,7 +135,7 @@ Standardized health system data
|
|||
|
||||
ALTER TABLE location ADD CONSTRAINT xpk_location PRIMARY KEY NONCLUSTERED ( location_id ) ;
|
||||
|
||||
ALTER TABLE location_history ADD CONSTRAINT xpk_location_history PRIMARY KEY NONCLUSTERED ( location_history_id ) ; --Assuming this should be added
|
||||
ALTER TABLE location_history ADD CONSTRAINT xpk_location_history PRIMARY KEY NONCLUSTERED ( location_history_id ) ;
|
||||
|
||||
ALTER TABLE care_site ADD CONSTRAINT xpk_care_site PRIMARY KEY NONCLUSTERED ( care_site_id ) ;
|
||||
|
||||
|
@ -165,10 +161,6 @@ Standardized derived elements
|
|||
|
||||
************************/
|
||||
|
||||
ALTER TABLE cohort ADD CONSTRAINT xpk_cohort PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date ) ;
|
||||
|
||||
ALTER TABLE cohort_attribute ADD CONSTRAINT xpk_cohort_attribute PRIMARY KEY NONCLUSTERED ( cohort_definition_id, subject_id, cohort_start_date, cohort_end_date, attribute_definition_id ) ;
|
||||
|
||||
ALTER TABLE drug_era ADD CONSTRAINT xpk_drug_era PRIMARY KEY NONCLUSTERED ( drug_era_id ) ;
|
||||
|
||||
ALTER TABLE dose_era ADD CONSTRAINT xpk_dose_era PRIMARY KEY NONCLUSTERED ( dose_era_id ) ;
|
||||
|
@ -225,10 +217,6 @@ CREATE INDEX idx_source_to_concept_map_code ON source_to_concept_map (source_cod
|
|||
CREATE CLUSTERED INDEX idx_drug_strength_id_1 ON drug_strength (drug_concept_id ASC);
|
||||
CREATE INDEX idx_drug_strength_id_2 ON drug_strength (ingredient_concept_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_cohort_definition_id ON cohort_definition (cohort_definition_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_attribute_definition_id ON attribute_definition (attribute_definition_id ASC);
|
||||
|
||||
|
||||
/**************************
|
||||
|
||||
|
@ -292,7 +280,7 @@ CREATE CLUSTERED INDEX idx_observation_person_id ON observation (person_id ASC);
|
|||
CREATE INDEX idx_observation_concept_id ON observation (observation_concept_id ASC);
|
||||
CREATE INDEX idx_observation_visit_id ON observation (visit_occurrence_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_survey_person_id ON survey (person_id ASC);
|
||||
CREATE CLUSTERED INDEX idx_survey_person_id ON survey_conduct (person_id ASC);
|
||||
|
||||
CREATE INDEX idx_fact_relationship_id_1 ON fact_relationship (domain_concept_id_1 ASC);
|
||||
CREATE INDEX idx_fact_relationship_id_2 ON fact_relationship (domain_concept_id_2 ASC);
|
||||
|
@ -328,13 +316,7 @@ Standardized derived elements
|
|||
************************/
|
||||
|
||||
|
||||
CREATE INDEX idx_cohort_subject_id ON cohort (subject_id ASC);
|
||||
CREATE INDEX idx_cohort_c_definition_id ON cohort (cohort_definition_id ASC);
|
||||
|
||||
CREATE INDEX idx_ca_subject_id ON cohort_attribute (subject_id ASC);
|
||||
CREATE INDEX idx_ca_definition_id ON cohort_attribute (cohort_definition_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_drug_era_person_id ON drug_era (person_id ASC);
|
||||
REATE CLUSTERED INDEX idx_drug_era_person_id ON drug_era (person_id ASC);
|
||||
CREATE INDEX idx_drug_era_concept_id ON drug_era (drug_concept_id ASC);
|
||||
|
||||
CREATE CLUSTERED INDEX idx_dose_era_person_id ON dose_era (person_id ASC);
|
||||
|
|
|
@ -16,3 +16,5 @@ In order to create your instantiation of the Common Data Model, we recommend fol
|
|||
5. Execute the script `OMOP CDM sql server constraints.txt` to add the foreign key constraints.
|
||||
|
||||
Note: you could also apply the constraints and/or the indexes before loading the data, but this will slow down the insertion of the data considerably.
|
||||
|
||||
6. Repeat steps 1-3, executing the script `OMOP CDM Results sql server ddl.txt` to create the results schema
|
||||
|
|
Loading…
Reference in New Issue