Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Table creation script for cascade_lvl00_progress_disease_codes
- -- Issue: memory limit
- CREATE TABLE IF NOT EXISTS cascade_lvl00_progress_disease_codes (
- id Int32,
- code_type String,
- encounter_id Int32,
- patient_id Int32,
- employee_id Int32 DEFAULT NULL,
- code String DEFAULT NULL,
- title String,
- ROLE String,
- diagnose_id Int32 DEFAULT NULL,
- legal_entity_id Int32 DEFAULT NULL,
- asserted_date DateTime,
- ehealth_status Enum('not_sent'=0,'finished'=1, 'entered_in_error'=2, 'failed'=3, 'pending'=4, 'failed_with_error'=5)
- ) ENGINE = MergeTree()
- ORDER BY tuple()
- -- This SQL script is used to import records into the `cascade_lvl00_progress_disease_codes` table.
- INSERT INTO cascade_lvl00_progress_disease_codes
- WITH icpc2_codes AS (
- SELECT
- buffer_classification_icpc2_items.*
- FROM buffer_classification_icpc2_items
- WHERE buffer_classification_icpc2_items.code IN
- [
- 'A15', 'A17', 'A19', 'A30.1', 'A30.2', 'A63', 'A70', 'A79', 'A98', 'B16.0', 'B16.1', 'B16.2', 'B16.9',
- 'B17.1', 'B18.0', 'B18.1', 'B18.2', 'B72', 'B74', 'B90', 'D72', 'D74', 'D75', 'D76',
- 'D77', 'D78', 'E10', 'E11', 'E13', 'E14', 'E66', 'F10', 'G31.2',
- 'J65', 'K22', 'K23.0', 'K67.3', 'K74', 'K76', 'K85', 'K86',
- 'K87', 'L71', 'M01', 'M49', 'M90', 'N33.0', 'N74', 'N74.0', 'N74.1', 'N97',
- 'O00', 'O01', 'O02', 'O03', 'O04', 'O05', 'O06', 'O07', 'O08', 'O09', 'O24.4',
- 'O30', 'O98.0', 'P15', 'P16', 'P17', 'P19', 'P37.0', 'R03.0', 'R63.5', 'R79',
- 'R81', 'R82', 'R84', 'R85', 'R95', 'R96', 'T05', 'T07', 'T08', 'T65.2', 'T71',
- 'T82', 'T83', 'T89', 'T90', 'U28', 'U75', 'U76', 'U77', 'W71', 'W72', 'W75',
- 'W76', 'W78', 'W79', 'W80', 'W81', 'W82', 'W83', 'W84', 'W85', 'W90', 'W91',
- 'W92', 'W93', 'X70', 'X71', 'X72', 'X73', 'X74', 'X75', 'X76', 'X77', 'X90',
- 'X91', 'X92', 'Y70', 'Y71', 'Y72', 'Y73', 'Y74', 'Y75', 'Y76', 'Y77', 'Y78',
- 'Z01', 'Z02', 'Z03', 'Z03.0', 'Z06', 'Z20.6', 'Z58.7', 'Z72.0', 'Z72.5',
- 'Z80.0', 'Z80.3', 'Z80.4', 'Z82.4', 'Z83.3', 'Z86.43'
- ]
- ), icd10_codes AS (
- SELECT buffer_classification_icd10_items.* FROM buffer_classification_icd10_items
- WHERE buffer_classification_icd10_items.code IN [
- 'A15', 'A16', 'A17', 'A18', 'A19', 'A30.1', 'A30.2', 'A50', 'A51', 'A52',
- 'A53', 'A54', 'A55', 'A56', 'A57', 'A58', 'A59', 'A60', 'A61', 'A62', 'A63',
- 'A64', 'A70', 'A79', 'A98', 'B16.0', 'B16.1', 'B16.2', 'B16.9', 'B17.1', 'B18.0',
- 'B18.1', 'B18.2', 'B72', 'B74', 'B90', 'D12', 'D72', 'D74', 'D75', 'D76',
- 'D77', 'D78', 'E10', 'E11', 'E13', 'E14', 'E66', 'F10', 'F17', 'G31.2',
- 'J65', 'K22', 'K23.0', 'K50', 'K51', 'K67.3', 'K74', 'K76', 'K85', 'K86',
- 'K87', 'L71', 'M01', 'M49', 'M90', 'N33.0', 'N74', 'N74.0', 'N74.1', 'N97',
- 'O00', 'O01', 'O02', 'O03', 'O04', 'O05', 'O06', 'O07', 'O08', 'O09', 'O24.4',
- 'O30', 'O98.0', 'P15', 'P16', 'P17', 'P19', 'P37.0', 'R03.0', 'R63.5', 'R79',
- 'R81', 'R82', 'R84', 'R85', 'R95', 'R96', 'T05', 'T07', 'T08', 'T65.2', 'T71',
- 'T82', 'T83', 'T89', 'T90', 'U28', 'U75', 'U76', 'U77', 'W71', 'W72', 'W75',
- 'W76', 'W78', 'W79', 'W80', 'W81', 'W82', 'W83', 'W84', 'W85', 'W90', 'W91',
- 'W92', 'W93', 'X70', 'X71', 'X72', 'X73', 'X74', 'X75', 'X76', 'X77', 'X90',
- 'X91', 'X92', 'Y70', 'Y71', 'Y72', 'Y73', 'Y74', 'Y75', 'Y76', 'Y77', 'Y78',
- 'Z01', 'Z02', 'Z03', 'Z03.0', 'Z06', 'Z20.6', 'Z58.7', 'Z72.0', 'Z72.5',
- 'Z80.0', 'Z80.3', 'Z80.4', 'Z82.4', 'Z83.3', 'Z86.43'
- ]
- ), condition_icpc2_codes AS (
- SELECT DISTINCT ON (id, diagnose_id, encounter_id)
- ehr_conditions.id AS id,
- ehr_diagnoses.encounter_id AS encounter_id,
- ehr_conditions.patient_id AS patient_id,
- ehr_conditions.employee_id AS employee_id,
- classification_icpc2_items.code AS code,
- classification_icpc2_items.title AS title,
- classification_fhir_items.code AS ROLE,
- ehr_diagnoses.id AS diagnose_id,
- receptions.legal_entity_id AS legal_entity_id,
- receptions.asserted_date AS asserted_date,
- receptions.ehealth_status AS ehealth_status
- FROM buffer_diagnoses ehr_diagnoses
- JOIN buffer_conditions ehr_conditions ON ehr_diagnoses.condition_id = ehr_conditions.id
- JOIN buffer_encounters receptions ON ehr_diagnoses.encounter_id = receptions.id
- JOIN buffer_classification_fhir_items classification_fhir_items ON classification_fhir_items.TYPE IN ('Classification::Fhir::ValueSet::DiagnoseRole') AND classification_fhir_items.id = ehr_diagnoses.role_id
- JOIN icpc2_codes classification_icpc2_items ON classification_icpc2_items.id = ehr_conditions.icpc2_code_id
- AND classification_icpc2_items.TYPE = 'Classification::Icpc2::Condition'
- ), condition_icd10_codes AS (
- SELECT DISTINCT ON (id, diagnose_id, encounter_id)
- ehr_conditions.id AS id,
- ehr_diagnoses.encounter_id AS encounter_id,
- ehr_conditions.patient_id AS patient_id,
- ehr_conditions.employee_id AS employee_id,
- cicd10i.code AS code,
- cicd10i.title AS title,
- classification_fhir_items.code AS ROLE,
- ehr_diagnoses.id AS diagnose_id,
- receptions.legal_entity_id AS legal_entity_id,
- receptions.asserted_date AS asserted_date,
- receptions.ehealth_status AS ehealth_status
- FROM buffer_diagnoses ehr_diagnoses
- JOIN buffer_conditions ehr_conditions ON ehr_diagnoses.condition_id = ehr_conditions.id
- JOIN buffer_encounters receptions ON ehr_diagnoses.encounter_id = receptions.id
- JOIN buffer_classification_fhir_items classification_fhir_items ON classification_fhir_items.TYPE IN ('Classification::Fhir::ValueSet::DiagnoseRole') AND classification_fhir_items.id = ehr_diagnoses.role_id
- JOIN icd10_codes cicd10i ON cicd10i.id = ehr_conditions.icd10_code_id
- ), reasons AS (
- SELECT
- br.id AS id,
- br.encounter_id AS encounter_id,
- be.patient_id AS patient_id,
- be.employee_id AS employee_id,
- bci2i.code AS code,
- bci2i.title AS title,
- NULL AS diagnose_id,
- be.legal_entity_id AS legal_entity_id,
- be.asserted_date AS asserted_date,
- be.ehealth_status AS ehealth_status
- FROM buffer_reasons br
- JOIN icpc2_codes bci2i ON br.icpc2_reason_id = bci2i.id
- JOIN buffer_encounters be ON be.id = br.encounter_id
- )
- SELECT
- cic2c.id AS id,
- 'icpc2' AS code_type,
- cic2c.encounter_id AS encounter_id,
- cic2c.patient_id AS patient_id,
- cic2c.employee_id AS employee_id,
- cic2c.code AS code,
- cic2c.title AS title,
- cic2c.ROLE AS ROLE,
- cic2c.diagnose_id AS diagnose_id,
- cic2c.legal_entity_id AS legal_entity_id,
- cic2c.asserted_date AS asserted_date,
- cic2c.ehealth_status AS ehealth_status
- FROM condition_icpc2_codes cic2c
- UNION ALL
- SELECT
- condition_icd10_codes.id AS id,
- 'icd10' AS code_type,
- ci10c.encounter_id AS encounter_id,
- ci10c.patient_id AS patient_id,
- ci10c.employee_id AS employee_id,
- ci10c.code AS code,
- ci10c.title AS title,
- ci10c.ROLE AS ROLE,
- ci10c.diagnose_id AS diagnose_id,
- ci10c.legal_entity_id AS legal_entity_id,
- ci10c.asserted_date AS asserted_date,
- ci10c.ehealth_status AS ehealth_status
- FROM condition_icd10_codes ci10c
- UNION ALL
- SELECT
- r.id,
- 'reason_icpc2' AS code_type,
- r.encounter_id AS encounter_id,
- r.patient_id AS patient_id,
- r.employee_id AS employee_id,
- r.code AS code,
- r.title AS title,
- 'reason' AS ROLE,
- r.diagnose_id,
- r.legal_entity_id AS legal_entity_id,
- r.asserted_date AS asserted_date,
- r.ehealth_status AS ehealth_status
- FROM reasons r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement