|
| 1 | +-- http://ohdsi.github.io/CommonDataModel/cdm54Changes.html |
| 2 | +-- BigQuery SQL references: |
| 3 | +-- https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#creating_a_new_table_from_an_existing_table |
| 4 | +-- https://cloud.google.com/bigquery/docs/manually-changing-schemas |
| 5 | +-- https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_column_set_data_type_statement |
| 6 | +-- https://cloud.google.com/bigquery/docs/managing-tables#renaming-table |
| 7 | +-- |
| 8 | + |
| 9 | +-- VISIT_OCCURRENCE |
| 10 | +-- admitting_source_concept_id -> admitted_from_concept_id |
| 11 | +-- admitting_source_value -> admitted_from_source_value |
| 12 | +-- discharge_to_concept_id -> discharged_to_concept_id |
| 13 | +-- discharge_to_source_value -> discharged_to_source_value |
| 14 | + |
| 15 | +alter table @cdmDatabaseSchema.visit_occurrence rename to visit_occurrence_old; |
| 16 | +create table @cdmDatabaseSchema.visit_occurrence |
| 17 | +as |
| 18 | +select * EXCEPT(admitting_source_concept_id,admitting_source_value,discharge_to_concept_id,discharge_to_source_value), |
| 19 | + admitting_source_concept_id as admitted_from_concept_id, |
| 20 | + admitting_source_value as admitted_from_source_value, |
| 21 | + discharge_to_concept_id as discharged_to_concept_id, |
| 22 | + discharge_to_source_value as discharged_to_source_value |
| 23 | +from visit_occurrence_old; |
| 24 | + |
| 25 | +-- |
| 26 | +-- VISIT_DETAIL |
| 27 | +-- admitting_source_concept_id -> admitted_from_concept_id |
| 28 | +-- admitting_source_value -> admitted_from_source_value |
| 29 | +-- discharge_to_concept_id -> discharged_to_concept_id |
| 30 | +-- discharge_to_source_value -> discharged_to_source_value |
| 31 | +-- visit_detail_parent_id -> parent_visit_detail_id |
| 32 | + |
| 33 | +alter table @cdmDatabaseSchema.visit_detail rename to visit_detail_old; |
| 34 | +create table @cdmDatabaseSchema.visit_occurrence |
| 35 | +as |
| 36 | +select * EXCEPT(admitting_source_concept_id,admitting_source_value,discharge_to_concept_id,discharge_to_source_value,visit_detail_parent_id), |
| 37 | + admitting_source_concept_id as admitted_from_concept_id, |
| 38 | + admitting_source_value as admitted_from_source_value, |
| 39 | + discharge_to_concept_id as discharged_to_concept_id, |
| 40 | + discharge_to_source_value as discharged_to_source_value, |
| 41 | + visit_detail_parent_id as parent_visit_detail_id |
| 42 | +from visit_detail_old; |
| 43 | + |
| 44 | +-- PROCEDURE_OCCURRENCE |
| 45 | +-- + Procedure_end_date |
| 46 | +-- + Procedure_end_datetime |
| 47 | + |
| 48 | +alter table @cdmDatabaseSchema.procedure_occurrence add column procedure_end_date date; |
| 49 | +alter table @cdmDatabaseSchema.procedure_occurrence add column procedure_end_datetime datetime; |
| 50 | + |
| 51 | +-- DEVICE_EXPOSURE |
| 52 | +-- Unique_device_id -> Changed to varchar(255) (already a STRING on bigquery) |
| 53 | +-- + Production_id |
| 54 | +-- + Unit_concept_id |
| 55 | +-- + Unit_source_value |
| 56 | +-- + Unit_source_concept_id |
| 57 | + |
| 58 | +alter table @cdmDatabaseSchema.device_exposure add column production_id int64; |
| 59 | +alter table @cdmDatabaseSchema.device_exposure add column unit_concept_id int64; |
| 60 | +alter table @cdmDatabaseSchema.device_exposure add column unit_source_value string; |
| 61 | +alter table @cdmDatabaseSchema.device_exposure add column unit_source_concept_id int64; |
| 62 | + |
| 63 | +-- MEASUREMENT |
| 64 | +-- + Unit_source_concept_id |
| 65 | +-- + Measurement_event_id |
| 66 | +-- + Meas_event_field_concept_id |
| 67 | + |
| 68 | +alter table @cdmDatabaseSchema.measurement add column unit_source_concept_id int64; |
| 69 | +alter table @cdmDatabaseSchema.measurement add column measurement_event_id int64; |
| 70 | +alter table @cdmDatabaseSchema.measurement add column meas_event_field_concept_id int64; |
| 71 | + |
| 72 | +-- OBSERVATION |
| 73 | +-- + Value_source_value |
| 74 | +-- + Observation_event_id |
| 75 | +-- + Obs_event_field_concept_id |
| 76 | + |
| 77 | +alter table @cdmDatabaseSchema.observation add column value_source_value string; |
| 78 | +alter table @cdmDatabaseSchema.observation add column observation_event_id int64; |
| 79 | +alter table @cdmDatabaseSchema.observation add column obs_event_field_concept_id int64; |
| 80 | + |
| 81 | +-- NOTE |
| 82 | +-- + Note_event_id |
| 83 | +-- + Note_event_field_concept_id |
| 84 | + |
| 85 | +alter table @cdmDatabaseSchema.note add column note_event_id int64; |
| 86 | +alter table @cdmDatabaseSchema.note add column note_event_field_concept_id int64; |
| 87 | + |
| 88 | +-- LOCATION |
| 89 | +-- + Country_concept_id |
| 90 | +-- + Country_source_value |
| 91 | +-- + Latitude |
| 92 | +-- + Longitude |
| 93 | + |
| 94 | +alter table @cdmDatabaseSchema.location add column country_concept_id int64; |
| 95 | +alter table @cdmDatabaseSchema.location add column country_source_value string; |
| 96 | +alter table @cdmDatabaseSchema.location add column latitude float64; |
| 97 | +alter table @cdmDatabaseSchema.location add column longitude float64; |
| 98 | + |
| 99 | +-- EPISODE |
| 100 | +create table @cdmDatabaseSchema.episode ( |
| 101 | + episode_id INT64 not null, |
| 102 | + person_id INT64 not null, |
| 103 | + episode_concept_id INT64 not null, |
| 104 | + episode_start_date date not null, |
| 105 | + episode_start_datetime datetime null, |
| 106 | + episode_end_date date null, |
| 107 | + episode_end_datetime datetime null, |
| 108 | + episode_parent_id INT64, |
| 109 | + episode_number INT64, |
| 110 | + episode_object_concept_id INT64 not null, |
| 111 | + episode_type_concept_id INT64 not null, |
| 112 | + episode_source_value STRING, |
| 113 | + episode_source_concept_id INT64 ); |
| 114 | + |
| 115 | +-- EPISODE_EVENT |
| 116 | +CREATE TABLE @cdmDatabaseSchema.EPISODE_EVENT ( |
| 117 | + episode_id int64 NOT NULL, |
| 118 | + event_id int64 NOT NULL, |
| 119 | + episode_event_field_concept_id int64 NOT NULL ); |
| 120 | + |
| 121 | + |
| 122 | +-- METADATA |
| 123 | +-- + Metadata_id |
| 124 | +-- + Value_as_number |
| 125 | + |
| 126 | +alter table @cdmDatabaseSchema.metadata add column metadata_id int64; |
| 127 | +alter table @cdmDatabaseSchema.metadata add column value_as_number float64; |
| 128 | + |
| 129 | +-- CDM_SOURCE |
| 130 | +-- Cdm_source_name -> Mandatory field |
| 131 | +-- Cdm_source_abbreviation -> Mandatory field |
| 132 | +-- Cdm_holder -> Mandatory field |
| 133 | +-- Source_release_date -> Mandatory field |
| 134 | +-- Cdm_release_date -> Mandatory field |
| 135 | +-- + Cdm_version_concept_id |
| 136 | + |
| 137 | +alter table @cdmDatabaseSchema.cdm_source rename to cdm_source_v53; |
| 138 | + |
| 139 | +CREATE TABLE @cdmDatabaseSchema.cdm_source ( |
| 140 | + cdm_source_name string NOT NULL, |
| 141 | + cdm_source_abbreviation string NOT NULL, |
| 142 | + cdm_holder string NOT NULL, |
| 143 | + source_description string NULL, |
| 144 | + source_documentation_reference string NULL, |
| 145 | + cdm_etl_reference string NULL, |
| 146 | + source_release_date datetime NOT NULL, |
| 147 | + cdm_release_date datetime NOT NULL, |
| 148 | + cdm_version string NULL, |
| 149 | + cdm_version_concept_id int64 NOT NULL, |
| 150 | + vocabulary_version string NOT NULL ); |
| 151 | + |
| 152 | +insert into @cdmDatabaseSchema.cdm_source |
| 153 | +select cdm_source_name,cdm_source_abbreviation,cdm_holder, |
| 154 | + source_description,source_documentation_reference,cdm_etl_reference, |
| 155 | + source_release_date,cdm_release_date,'5.4', |
| 156 | + 756265,vocabulary_version |
| 157 | +from @cdmDatabaseSchema.cdm_source_v53; |
| 158 | + |
| 159 | + |
| 160 | +-- VOCABULARY |
| 161 | +-- Vocabulary_reference -> Non-mandatory field |
| 162 | +-- Vocabulary_version -> Non-mandatory field |
| 163 | +alter table @cdmDatabaseSchema.vocabulary rename to vocabulary_v53; |
| 164 | + |
| 165 | +CREATE TABLE @cdmDatabaseSchema.vocabulary ( |
| 166 | + vocabulary_id string NOT NULL, |
| 167 | + vocabulary_name string NOT NULL, |
| 168 | + vocabulary_reference string NULL, |
| 169 | + vocabulary_version string NULL, |
| 170 | + vocabulary_concept_id int64 NOT NULL ); |
| 171 | + |
| 172 | +insert into @cdmDatabaseSchema.vocabulary |
| 173 | +select vocabulary_id,vocabulary_name,vocabulary_reference, |
| 174 | + vocabulary_version, vocabulary_concept_id |
| 175 | +from @cdmDatabaseSchema.vocabulary_v53; |
| 176 | + |
| 177 | + |
| 178 | +-- ATTRIBUTE_DEFINITION |
| 179 | +drop table @cdmDatabaseSchema.attribute_definition; |
| 180 | + |
| 181 | +-- COHORT |
| 182 | +CREATE TABLE @cdmDatabaseSchema.cohort ( |
| 183 | + cohort_definition_id int64 NOT NULL, |
| 184 | + subject_id int64 NOT NULL, |
| 185 | + cohort_start_date datetime NOT NULL, |
| 186 | + cohort_end_date datetime NOT NULL ); |
| 187 | + |
| 188 | + |
0 commit comments