|
|
-- 1/3 : Création de la table temporaire
|
|
|
DROP TABLE IF EXISTS w_dbsetup
|
|
|
;
|
|
|
|
|
|
CREATE TEMP TABLE w_dbsetup AS
|
|
|
SELECT
|
|
|
t_etude_rule.code, t_etude_rule.texte, t_etude_rule.json, t_etude.code as table_code
|
|
|
FROM pmsi.t_etude_rule
|
|
|
JOIN pmsi.t_etude ON t_etude.oid = t_etude_rule.etude_id
|
|
|
ORDER BY 1
|
|
|
LIMIT 0
|
|
|
;
|
|
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
|
INSERT INTO w_dbsetup(
|
|
|
code,
|
|
|
texte,
|
|
|
json,
|
|
|
table_code
|
|
|
)
|
|
|
VALUES
|
|
|
('CTI_CANCERO_CHIM1', 'Chimiothérapie chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIM1'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_CHIMIOTHERAPIE_DIAG_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_relie_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_CANCER_DIAG_2022'"]}, {"some": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_CANCER_DIAG_2022'"]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR1', 'Chirurgie du sein chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR1'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_SEIN_DIAG_2022'"]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_SEIN_ACTE_2022'"]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR2', 'Chirurgie digestive chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR2'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ABDO_PELVIEN_ACTE_2022' AND to_id NOT IN (SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code IN (''CTI_CANCERO_EXERESE_OESOPHAGE_ACTE_2022'', ''CTI_CANCERO_EXERESE_FOIE_ACTE_2022'', ''CTI_CANCERO_EXERESE_PANCREAS_ACTE_2022'', ''CTI_CANCERO_EXERESE_RECTUM_ACTE_2022'', ''CTI_CANCERO_EXERESE_ESTOMAC_ACTE_2022''))"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR21', 'Chirurgie de l''estomac chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR21'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ESTOMAC_ACTE_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR22', 'Chirurgie du foie chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR22'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_FOIE_ACTE_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR23', 'Chirurgie du pancreas chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR23'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_PANCREAS_ACTE_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR24', 'Chirurgie de l''oesophage chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR24'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_OESOPHAGE_ACTE_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR25', 'Chirurgie du rectum chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR25'"]}, {">=": ["p_rss.age", 18]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_DIGESTIVE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_GYNECOLOGIQUE_DIAG_2022'"]}]}]}, {"or": [{"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_RECTUM_ACTE_2022'"]}, {"and": [{"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_RECTUM_DIAG_2022'"]}, {"in": ["p_rss.diagnostic_relie_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_RECTUM_DIAG_2022'"]}, {"some": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_RECTUM_DIAG_2022'"]}]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ABDO_PELVIEN_ACTE_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR3', 'Chirurgie urologique chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR3'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_UROLOGIQUE_DIAG_2022'"]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ABDO_PELVIEN_ACTE_2022'"]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR4', 'Chirurgie thoracique chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR4'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_THORACIQUE_DIAG_2022'"]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_THORACIQUE_ACTE_2022'"]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR52', 'Chirurgie gynécologique hors cancer avancé de l''ovaire', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR52'"]}, {">=": ["p_rss.age", 18]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ABDO_PELVIEN_ACTE_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_AUTRES_TUMEURS_GYNECOLOGIQUES_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"some": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_AUTRES_TUMEURS_GYNECOLOGIQUES_DIAG_2022'"]}, {"none": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_OVAIRE_DIAG_2022'"]}]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_CHIR6', 'Chirurgie ORL chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR6'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_ORL_DIAG_2022'"]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_EXERESE_ORL_ACTE_2022'"]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTI_CANCERO_RAD1', 'Radiothérapie chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'RAD1'"]}, {">=": ["p_rss.age", 18]}, {"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_RADIOTHERAPIE_DIAG_2022'"]}, {"or": [{"in": ["p_rss.diagnostic_relie_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_CANCER_DIAG_2022'"]}, {"some": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_CANCER_DIAG_2022'"]}]}]}, 'CTI_CANCERO_2022'),
|
|
|
('CTU_CANCERO_CHIR51', 'Chirurgie du cancer avancé de l''ovaire chez l''adulte', {"and": [{"===": ["v_categorie_cancero.code", "'CHIR51'"]}, {">=": ["p_rss.age", 18]}, {"or": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_OVAIRE_DIAG_2022'"]}, {"and": [{"in": ["p_rss.diagnostic_principal_id", "SELECT to_id FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_META_PERITOINE_DIAG_2022'"]}, {"some": ["diags", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_TUMEUR_OVAIRE_DIAG_2022'"]}]}]}, {"or": [{"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_OMENTECTOMIE_LAPARO_ACTE_2022'"]}, {"and": [{"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_OMENTECTOMIE_COELIO_ACTE_2022'"]}, {"some": ["actes", "SELECT array_agg(distinct to_id) FROM pmsi.t_listes_contenu JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = 'CTI_CANCERO_AUTRES_RESECTIONS_COELIO_ACTE_2022'"]}]}]}]}, 'CTI_CANCERO_2022')
|
|
|
;
|
|
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
|
TRUNCATE pmsi.t_etude_rule;
|
|
|
|
|
|
INSERT INTO pmsi.t_etude_rule(code, texte, json, etude_id)
|
|
|
SELECT
|
|
|
w_dbsetup.code,
|
|
|
w_dbsetup.texte,
|
|
|
w_dbsetup.json,
|
|
|
t_etude.oid
|
|
|
FROM w_dbsetup
|
|
|
JOIN pmsi.t_etude ON t_etude.code = w_dbsetup.table_code
|
|
|
;
|