OMOP/BigQuery/OMOP CDM bigquery ddl.txt

652 lines
20 KiB
Plaintext
Raw Normal View History

create table concept (
2018-03-19 20:39:52 +00:00
concept_id INT64 not null ,
concept_name STRING not null ,
domain_id STRING not null ,
vocabulary_id STRING not null ,
concept_class_id STRING not null ,
standard_concept STRING null ,
concept_code STRING not null ,
valid_start_DATE DATE not null ,
valid_end_DATE DATE not null ,
invalid_reason STRING null
)
;
create table vocabulary (
2018-03-19 20:39:52 +00:00
vocabulary_id STRING not null,
vocabulary_name STRING not null,
vocabulary_reference STRING not null,
vocabulary_version STRING null,
vocabulary_concept_id INT64 not null
)
;
create table domain (
2018-03-19 20:39:52 +00:00
domain_id STRING not null,
domain_name STRING not null,
domain_concept_id INT64 not null
)
;
create table concept_class (
2018-03-19 20:39:52 +00:00
concept_class_id STRING not null,
concept_class_name STRING not null,
concept_class_concept_id INT64 not null
)
;
create table concept_relationship (
2018-03-19 20:39:52 +00:00
concept_id_1 INT64 not null,
concept_id_2 INT64 not null,
relationship_id STRING not null,
valid_start_DATE DATE not null,
valid_end_DATE DATE not null,
invalid_reason STRING null
)
;
create table relationship (
2018-03-19 20:39:52 +00:00
relationship_id STRING not null,
relationship_name STRING not null,
is_hierarchical STRING not null,
defines_ancestry STRING not null,
reverse_relationship_id STRING not null,
relationship_concept_id INT64 not null
)
;
create table concept_synonym (
2018-03-19 20:39:52 +00:00
concept_id INT64 not null,
concept_synonym_name STRING not null,
language_concept_id INT64 not null
)
;
create table concept_ancestor (
2018-03-19 20:39:52 +00:00
ancestor_concept_id INT64 not null,
descendant_concept_id INT64 not null,
min_levels_of_separation INT64 not null,
max_levels_of_separation INT64 not null
)
;
create table source_to_concept_map (
2018-03-19 20:39:52 +00:00
source_code STRING not null,
source_concept_id INT64 not null,
source_vocabulary_id STRING not null,
source_code_description STRING null,
target_concept_id INT64 not null,
target_vocabulary_id STRING not null,
valid_start_DATE DATE not null,
valid_end_DATE DATE not null,
invalid_reason STRING null
)
;
create table drug_strength (
2018-03-19 20:39:52 +00:00
drug_concept_id INT64 not null,
ingredient_concept_id INT64 not null,
amount_value FLOAT64 null,
amount_unit_concept_id INT64 null,
numerator_value FLOAT64 null,
numerator_unit_concept_id INT64 null,
denominator_value FLOAT64 null,
denominator_unit_concept_id INT64 null,
box_size INT64 null,
valid_start_DATE DATE not null,
valid_end_DATE DATE not null,
invalid_reason STRING null
)
;
create table cohort_definition (
2018-03-19 20:39:52 +00:00
cohort_definition_id INT64 not null,
cohort_definition_name STRING not null,
cohort_definition_description STRING null,
definition_type_concept_id INT64 not null,
cohort_definition_syntax STRING null,
subject_concept_id INT64 not null,
cohort_initiation_DATE DATE null
)
;
create table attribute_definition (
2018-03-19 20:39:52 +00:00
attribute_definition_id INT64 not null,
attribute_name STRING not null,
attribute_description STRING null,
attribute_type_concept_id INT64 not null,
attribute_syntax STRING null
)
;
create table cdm_source
(
2018-03-19 20:39:52 +00:00
cdm_source_name STRING not null ,
cdm_source_abbreviation STRING null ,
cdm_holder STRING null ,
source_description STRING null ,
source_documentation_reference STRING null ,
cdm_etl_reference STRING null ,
source_release_DATE DATE null ,
cdm_release_DATE DATE null ,
cdm_version STRING null ,
vocabulary_version STRING null
)
;
create table metadata
(
2018-03-19 20:39:52 +00:00
metadata_concept_id INT64 not null ,
metadata_type_concept_id INT64 not null ,
name STRING not null ,
value_as_string STRING null ,
value_as_concept_id INT64 null ,
metadata_DATE DATE null ,
metadata_DATETIME DATETIME null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table person
(
2018-03-19 20:39:52 +00:00
person_id INT64 not null ,
gender_concept_id INT64 not null ,
year_of_birth INT64 not null ,
month_of_birth INT64 null,
day_of_birth INT64 null,
birth_DATETIME DATETIME null,
race_concept_id INT64 not null,
ethnicity_concept_id INT64 not null,
location_id INT64 null,
provider_id INT64 null,
care_site_id INT64 null,
person_source_value STRING null,
gender_source_value STRING null,
gender_source_concept_id INT64 null,
race_source_value STRING null,
race_source_concept_id INT64 null,
ethnicity_source_value STRING null,
ethnicity_source_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table observation_period
(
2018-03-19 20:39:52 +00:00
observation_period_id INT64 not null ,
person_id INT64 not null ,
observation_period_start_DATE DATE not null ,
observation_period_end_DATE DATE not null ,
period_type_concept_id INT64 not null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table specimen
(
2018-03-19 20:39:52 +00:00
specimen_id INT64 not null ,
person_id INT64 not null ,
specimen_concept_id INT64 not null ,
specimen_type_concept_id INT64 not null ,
specimen_DATE DATE not null ,
specimen_DATETIME DATETIME null ,
quantity FLOAT64 null ,
unit_concept_id INT64 null ,
anatomic_site_concept_id INT64 null ,
disease_status_concept_id INT64 null ,
specimen_source_id STRING null ,
specimen_source_value STRING null ,
unit_source_value STRING null ,
anatomic_site_source_value STRING null ,
disease_status_source_value STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table death
(
2018-03-19 20:39:52 +00:00
person_id INT64 not null ,
death_DATE DATE not null ,
death_DATETIME DATETIME null ,
death_type_concept_id INT64 not null ,
cause_concept_id INT64 null ,
cause_source_value STRING null,
cause_source_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table visit_occurrence
(
2018-03-19 20:39:52 +00:00
visit_occurrence_id INT64 not null ,
person_id INT64 not null ,
visit_concept_id INT64 not null ,
visit_start_DATE DATE not null ,
visit_start_DATETIME DATETIME null ,
visit_end_DATE DATE not null ,
visit_end_DATETIME DATETIME null ,
visit_type_concept_id INT64 not null ,
provider_id INT64 null,
care_site_id INT64 null,
visit_source_value STRING null,
visit_source_concept_id INT64 null ,
admitting_source_concept_id INT64 null ,
admitting_source_value STRING null ,
discharge_to_concept_id INT64 null ,
discharge_to_source_value STRING null ,
preceding_visit_occurrence_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table visit_detail
(
2018-03-19 20:39:52 +00:00
visit_detail_id INT64 not null ,
person_id INT64 not null ,
visit_detail_concept_id INT64 not null ,
visit_start_DATE DATE not null ,
visit_start_DATETIME DATETIME null ,
visit_end_DATE DATE not null ,
visit_end_DATETIME DATETIME null ,
visit_type_concept_id INT64 not null ,
provider_id INT64 null ,
care_site_id INT64 null ,
admitting_source_concept_id INT64 null ,
discharge_to_concept_id INT64 null ,
preceding_visit_detail_id INT64 null ,
visit_source_value STRING null ,
visit_source_concept_id INT64 null ,
admitting_source_value STRING null ,
discharge_to_source_value STRING null ,
visit_detail_parent_id INT64 null ,
visit_occurrence_id INT64 not null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table procedure_occurrence
(
2018-03-19 20:39:52 +00:00
procedure_occurrence_id INT64 not null ,
person_id INT64 not null ,
procedure_concept_id INT64 not null ,
procedure_DATE DATE not null ,
procedure_DATETIME DATETIME null ,
procedure_type_concept_id INT64 not null ,
modifier_concept_id INT64 null ,
quantity INT64 null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
procedure_source_value STRING null ,
procedure_source_concept_id INT64 null ,
modifier_source_value STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table drug_exposure
(
2018-03-19 20:39:52 +00:00
drug_exposure_id INT64 not null ,
person_id INT64 not null ,
drug_concept_id INT64 not null ,
drug_exposure_start_DATE DATE not null ,
drug_exposure_start_DATETIME DATETIME null ,
drug_exposure_end_DATE DATE not null ,
drug_exposure_end_DATETIME DATETIME null ,
verbatim_end_DATE DATE null ,
drug_type_concept_id INT64 not null ,
stop_reason STRING null ,
refills INT64 null ,
quantity FLOAT64 null ,
days_supply INT64 null ,
sig STRING null ,
route_concept_id INT64 null ,
lot_number STRING null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
drug_source_value STRING null ,
drug_source_concept_id INT64 null ,
route_source_value STRING null ,
dose_unit_source_value STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table device_exposure
(
2018-03-19 20:39:52 +00:00
device_exposure_id INT64 not null ,
person_id INT64 not null ,
device_concept_id INT64 not null ,
device_exposure_start_DATE DATE not null ,
device_exposure_start_DATETIME DATETIME null ,
device_exposure_end_DATE DATE null ,
device_exposure_end_DATETIME DATETIME null ,
device_type_concept_id INT64 not null ,
unique_device_id STRING null ,
quantity INT64 null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
device_source_value STRING null ,
device_source_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table condition_occurrence
(
2018-03-19 20:39:52 +00:00
condition_occurrence_id INT64 not null ,
person_id INT64 not null ,
condition_concept_id INT64 not null ,
condition_start_DATE DATE not null ,
condition_start_DATETIME DATETIME null ,
condition_end_DATE DATE null ,
condition_end_DATETIME DATETIME null ,
condition_type_concept_id INT64 not null ,
stop_reason STRING null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
condition_source_value STRING null ,
condition_source_concept_id INT64 null ,
condition_status_source_value STRING null ,
condition_status_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table measurement
(
2018-03-19 20:39:52 +00:00
measurement_id INT64 not null ,
person_id INT64 not null ,
measurement_concept_id INT64 not null ,
measurement_DATE DATE not null ,
measurement_DATETIME DATETIME null ,
measurement_time STRING null ,
measurement_type_concept_id INT64 not null ,
operator_concept_id INT64 null ,
value_as_number FLOAT64 null ,
value_as_concept_id INT64 null ,
unit_concept_id INT64 null ,
range_low FLOAT64 null ,
range_high FLOAT64 null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
measurement_source_value STRING null ,
measurement_source_concept_id INT64 null ,
unit_source_value STRING null ,
value_source_value STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table note
(
2018-03-19 20:39:52 +00:00
note_id INT64 not null ,
person_id INT64 not null ,
note_DATE DATE not null ,
note_DATETIME DATETIME null ,
note_type_concept_id INT64 not null ,
note_class_concept_id INT64 not null ,
note_title STRING null ,
note_text STRING null ,
encoding_concept_id INT64 not null ,
language_concept_id INT64 not null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
note_source_value STRING null
)
;
create table note_nlp
(
2018-03-19 20:39:52 +00:00
note_nlp_id INT64 not null ,
note_id INT64 not null ,
section_concept_id INT64 null ,
snippet STRING null ,
"offset" STRING null ,
lexical_variant STRING not null ,
note_nlp_concept_id INT64 null ,
note_nlp_source_concept_id INT64 null ,
nlp_system STRING null ,
nlp_DATE DATE not null ,
nlp_DATETIME DATETIME null ,
term_exists STRING null ,
term_temporal STRING null ,
term_modifiers STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table observation
(
2018-03-19 20:39:52 +00:00
observation_id INT64 not null ,
person_id INT64 not null ,
observation_concept_id INT64 not null ,
observation_DATE DATE not null ,
observation_DATETIME DATETIME null ,
observation_type_concept_id INT64 not null ,
value_as_number FLOAT64 null ,
value_as_string STRING null ,
value_as_concept_id INT64 null ,
qualifier_concept_id INT64 null ,
unit_concept_id INT64 null ,
provider_id INT64 null ,
visit_occurrence_id INT64 null ,
visit_detail_id INT64 null ,
observation_source_value STRING null ,
observation_source_concept_id INT64 null ,
unit_source_value STRING null ,
qualifier_source_value STRING null
)
;
create table fact_relationship
(
2018-03-19 20:39:52 +00:00
domain_concept_id_1 INT64 not null ,
fact_id_1 INT64 not null ,
domain_concept_id_2 INT64 not null ,
fact_id_2 INT64 not null ,
relationship_concept_id INT64 not null
)
;
create table location
(
2018-03-19 20:39:52 +00:00
location_id INT64 not null ,
address_1 STRING null ,
address_2 STRING null ,
city STRING null ,
state STRING null ,
zip STRING null ,
county STRING null ,
location_source_value STRING null
)
;
create table care_site
(
2018-03-19 20:39:52 +00:00
care_site_id INT64 not null ,
care_site_name STRING null ,
place_of_service_concept_id INT64 null ,
location_id INT64 null ,
care_site_source_value STRING null ,
place_of_service_source_value STRING null
)
;
create table provider
(
2018-03-19 20:39:52 +00:00
provider_id INT64 not null ,
provider_name STRING null ,
npi STRING null ,
dea STRING null ,
specialty_concept_id INT64 null ,
care_site_id INT64 null ,
year_of_birth INT64 null ,
gender_concept_id INT64 null ,
provider_source_value STRING null ,
specialty_source_value STRING null ,
specialty_source_concept_id INT64 null ,
gender_source_value STRING null ,
gender_source_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table payer_plan_period
(
2018-03-19 20:39:52 +00:00
payer_plan_period_id INT64 not null ,
person_id INT64 not null ,
payer_plan_period_start_DATE DATE not null ,
payer_plan_period_end_DATE DATE not null ,
payer_concept_id INT64 null ,
payer_source_value STRING null ,
payer_source_concept_id INT64 null ,
plan_concept_id INT64 null ,
plan_source_value STRING null ,
plan_source_concept_id INT64 null ,
sponsor_concept_id INT64 null ,
sponsor_source_value STRING null ,
sponsor_source_concept_id INT64 null ,
family_source_value STRING null ,
stop_reason_concept_id INT64 null ,
stop_reason_source_value STRING null ,
stop_reason_source_concept_id INT64 null
)
;
create table cost
(
2018-03-19 20:39:52 +00:00
cost_id INT64 not null ,
cost_event_id INT64 not null ,
cost_domain_id STRING not null ,
cost_type_concept_id INT64 not null ,
currency_concept_id INT64 null ,
total_charge FLOAT64 null ,
total_cost FLOAT64 null ,
total_paid FLOAT64 null ,
paid_by_payer FLOAT64 null ,
paid_by_patient FLOAT64 null ,
paid_patient_copay FLOAT64 null ,
paid_patient_coinsurance FLOAT64 null ,
paid_patient_deductible FLOAT64 null ,
paid_by_primary FLOAT64 null ,
paid_ingredient_cost FLOAT64 null ,
paid_dispensing_fee FLOAT64 null ,
payer_plan_period_id INT64 null ,
amount_allowed FLOAT64 null ,
revenue_code_concept_id INT64 null ,
revenue_code_source_value STRING null,
drg_concept_id INT64 null,
drg_source_value STRING null
)
;
--HINT DISTRIBUTE_ON_KEY(subject_id)
create table cohort
(
2018-03-19 20:39:52 +00:00
cohort_definition_id INT64 not null ,
subject_id INT64 not null ,
cohort_start_DATE DATE not null ,
cohort_end_DATE DATE not null
)
;
--HINT DISTRIBUTE_ON_KEY(subject_id)
create table cohort_attribute
(
2018-03-19 20:39:52 +00:00
cohort_definition_id INT64 not null ,
subject_id INT64 not null ,
cohort_start_DATE DATE not null ,
cohort_end_DATE DATE not null ,
attribute_definition_id INT64 not null ,
value_as_number FLOAT64 null ,
value_as_concept_id INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table drug_era
(
2018-03-19 20:39:52 +00:00
drug_era_id INT64 not null ,
person_id INT64 not null ,
drug_concept_id INT64 not null ,
drug_era_start_DATE DATE not null ,
drug_era_end_DATE DATE not null ,
drug_exposure_count INT64 null ,
gap_days INT64 null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table dose_era
(
2018-03-19 20:39:52 +00:00
dose_era_id INT64 not null ,
person_id INT64 not null ,
drug_concept_id INT64 not null ,
unit_concept_id INT64 not null ,
dose_value FLOAT64 not null ,
dose_era_start_DATE DATE not null ,
dose_era_end_DATE DATE not null
)
;
--HINT DISTRIBUTE_ON_KEY(person_id)
create table condition_era
(
2018-03-19 20:39:52 +00:00
condition_era_id INT64 not null ,
person_id INT64 not null ,
condition_concept_id INT64 not null ,
condition_era_start_DATE DATE not null ,
condition_era_end_DATE DATE not null ,
condition_occurrence_count INT64 null
)
;