pour déploiement auto v2 via gitlab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

120 lines
7.6 KiB

-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;
CREATE TEMP TABLE w_dbsetup AS
SELECT
t_etude_cardio_familles_actes.code,
t_etude_cardio_familles_actes.texte,
t_etude_cardio_familles_actes.texte_court,
t_etude_cardio_familles_actes.mention,
t_etude_cardio_familles_actes.seuil_annuel,
t_etude_cardio_familles_actes.est_seuil,
t_listes.code AS liste_code,
t_etude_cardio_familles_actes.cdc,
t_etude_cardio_modalites.code AS cardio_modalite_code,
t_etude_cardio_mentions.code AS cardio_mention_code
FROM pmsi.t_etude_cardio_familles_actes
JOIN pmsi.t_listes ON t_listes.oid = liste_id
JOIN pmsi.t_etude_cardio_mentions ON t_etude_cardio_mentions.oid = t_etude_cardio_familles_actes.cardio_mention_id
JOIN pmsi.t_etude_cardio_modalites ON t_etude_cardio_modalites.oid = t_etude_cardio_familles_actes.cardio_modalite_id
LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
code,
texte,
texte_court,
mention,
seuil_annuel,
est_seuil,
liste_code,
cdc,
cardio_modalite_code,
cardio_mention_code
)
VALUES
('CONGA3', 'Fermeture du canal artériel', 'Fermeture du canal artériel', 'A', 40, 't', 'CTI_CARDIO_FERMETURE_ARTERIEL_ACTES_2022', 2022, 'CONG', 'CONGA'),
('CONGA2', 'Dilatation de sténose valvulaire pulmonaire', 'Dilatation de sténose valvulaire pulmonaire', 'A', 40, 't', 'CTI_CARDIO_DILATATION_STENOSE_ACTES_2022', 2022, 'CONG', 'CONGA'),
('CONGA1', 'Anomalies du cloisonnement interatrial', 'Anomalies du cloisonnement interatrial', 'A', 40, 't', 'CTI_CARDIO_ANOMALIES_CLOISONNEMENT_ACTES_2022', 2022, 'CONG', 'CONGA'),
('CONGB3', 'Intervention sur septum atrial ou ventriculaire', 'Intervention sur septum atrial ou ventriculaire', 'B', 80, 't', 'CTI_CARDIO_SEPTUM_ACTES_2022', 2022, 'CONG', 'CONGB'),
('CONGB21', 'Dilatation chez l''enfant', 'Dilatation chez l''enfant', 'B', 80, 't', 'CTI_CARDIO_DILATATION_ENF_ACTES_2022', 2022, 'CONG', 'CONGB'),
('CONGB2', 'Dilatation', 'Dilatation', 'B', 80, 't', 'CTI_CARDIO_DILATATION_ACTES_2022', 2022, 'CONG', 'CONGB'),
('CONGB11', 'Pose de stent ou de dispositif intracardiaque chez l''enfant', 'Pose de stent ou de dispositif intracardiaque chez l''enfant', 'B', 80, 't', 'CTI_CARDIO_POSE_STENT_ENF_ACTES_2022', 2022, 'CONG', 'CONGB'),
('CONGB1', 'Pose de stent ou de dispositif intracardiaque', 'Pose de stent ou de dispositif intracardiaque', 'B', 80, 't', 'CTI_CARDIO_POSE_STENT_ACTES_2022', 2022, 'CONG', 'CONGB'),
('ISCHA2', 'Prise en charge des cardiopathies structurelles acquises sans pose de prothèse et des fermetures de septum interauriculaires', 'Prise en charge des cardiopathies structurelles', 'A', 15, 't', 'CTI_CARDIO_FERM_SEPTUM_ACTES_2022', 2022, 'ISCH', 'ISCHA'),
('ISCHA1HS', 'Prise en charge des cardiopathies ischémiques (hors seuil)', 'Prise en charge des cardiopathies ischémiques (HS)', 'A', 400, 'f', 'CTI_CARDIO_ISCHEMIQUES_ACTES_HS_2022', 2022, 'ISCH', 'ISCHA'),
('ISCHA1', 'Prise en charge des cardiopathies ischémiques', 'Prise en charge des cardiopathies ischémiques', 'A', 400, 't', 'CTI_CARDIO_ISCHEMIQUES_ACTES_2022', 2022, 'ISCH', 'ISCHA'),
('RYTHA2', 'Pose de pace maker mono et double chambre avec sonde', 'Pose de pace maker mono et double chambre avec sonde', 'A', 10, 't', 'CTI_CARDIO_MAKER_MONO_DOUBLE_ACTES_2022', 2022, 'RYTH', 'RYTHA'),
('RYTHA1', 'Actes interventionnels d''électrophysiologie diagnostique', 'Actes interventionnels d''électrophysiologie diagnostique', 'A', 10, 't', 'CTI_CARDIO_ELECTRO_ACTES_2022', 2022, 'RYTH', 'RYTHA'),
('RYTHB2HS', 'Pose de défibrillateurs et de stimulateurs multisites (hors seuil)', 'Pose de défibrillateurs et de stimulateurs multisites (HS)', 'B', 50, 'f', 'CTI_CARDIO_DEFIBR_MULTI_ACTES_HS_2022', 2022, 'RYTH', 'RYTHB'),
('RYTHB2', 'Pose de défibrillateurs et de stimulateurs multisites', 'Pose de défibrillateurs et de stimulateurs multisites', 'B', 50, 't', 'CTI_CARDIO_DEFIBR_MULTI_ACTES_2022', 2022, 'RYTH', 'RYTHB'),
('RYTHB1', 'Ablations atriales droites et atrioventriculaires', 'Ablations atriales droites et atrioventriculaires', 'B', 50, 't', 'CTI_CARDIO_ABLATION_ATR_DROITE_ACTES_2022', 2022, 'RYTH', 'RYTHB'),
('RYTHC1HS', 'Ablations atriales avec abord transeptal (hors seuil)', 'Ablations atriales avec abord transeptal (HS)', 'C', 100, 'f', 'CTI_CARDIO_ABLATION_ATR_TRANS_ACTES_HS_2022', 2022, 'RYTH', 'RYTHC'),
('RYTHC1', 'Ablations atriales avec abord transeptal', 'Ablations atriales avec abord transeptal', 'C', 100, 't', 'CTI_CARDIO_ABLATION_ATR_TRANS_ACTES_2022', 2022, 'RYTH', 'RYTHC'),
('RYTHD1HS', 'Activités à haut risque de plaie cardiaque (hors seuil)', 'Activités à haut risque de plaie cardiaque', 'D', 100, 'f', 'CTI_CARDIO_RISQUE_PLAIE_ACTES_HS_2022', 2022, 'RYTH', 'RYTHD')
;
-- 3/3 : Màj de la table iCTI
UPDATE pmsi.t_etude_cardio_familles_actes SET
texte = w_dbsetup.texte,
texte_court = w_dbsetup.texte_court,
mention = w_dbsetup.mention,
seuil_annuel = w_dbsetup.seuil_annuel,
est_seuil = w_dbsetup.est_seuil,
liste_id = t_listes.oid,
cardio_modalite_id = t_etude_cardio_modalites.oid,
cardio_mention_id = t_etude_cardio_mentions.oid
FROM w_dbsetup
JOIN pmsi.t_listes ON t_listes.code = liste_code
JOIN pmsi.t_etude_cardio_mentions ON t_etude_cardio_mentions.code = cardio_mention_code
JOIN pmsi.t_etude_cardio_modalites ON t_etude_cardio_modalites.code = cardio_modalite_code
WHERE 1=1
AND t_etude_cardio_familles_actes.code = w_dbsetup.code
AND t_etude_cardio_familles_actes.cdc = w_dbsetup.cdc
AND (
t_etude_cardio_familles_actes.texte IS DISTINCT FROM w_dbsetup.texte
OR t_etude_cardio_familles_actes.texte_court IS DISTINCT FROM w_dbsetup.texte_court
OR t_etude_cardio_familles_actes.mention IS DISTINCT FROM w_dbsetup.mention
OR t_etude_cardio_familles_actes.seuil_annuel IS DISTINCT FROM w_dbsetup.seuil_annuel
OR t_etude_cardio_familles_actes.est_seuil IS DISTINCT FROM w_dbsetup.est_seuil
OR t_etude_cardio_familles_actes.liste_id IS DISTINCT FROM t_listes.oid
OR t_etude_cardio_familles_actes.cardio_modalite_id IS DISTINCT FROM t_etude_cardio_modalites.oid
OR t_etude_cardio_familles_actes.cardio_mention_id IS DISTINCT FROM t_etude_cardio_mentions.oid
)
;
INSERT INTO pmsi.t_etude_cardio_familles_actes(
code,
texte,
texte_court,
mention,
seuil_annuel,
est_seuil,
liste_id,
cdc,
cardio_modalite_id,
cardio_mention_id
)
SELECT
w_dbsetup.code,
w_dbsetup.texte,
w_dbsetup.texte_court,
w_dbsetup.mention,
w_dbsetup.seuil_annuel,
w_dbsetup.est_seuil,
t_listes.oid,
w_dbsetup.cdc,
t_etude_cardio_modalites.oid,
t_etude_cardio_mentions.oid
FROM w_dbsetup
JOIN pmsi.t_listes ON t_listes.code = w_dbsetup.liste_code
JOIN pmsi.t_etude_cardio_mentions ON t_etude_cardio_mentions.code = w_dbsetup.cardio_mention_code
JOIN pmsi.t_etude_cardio_modalites ON t_etude_cardio_modalites.code = w_dbsetup.cardio_modalite_code
LEFT JOIN pmsi.t_etude_cardio_familles_actes
ON t_etude_cardio_familles_actes.code = w_dbsetup.code
AND t_etude_cardio_familles_actes.cdc = w_dbsetup.cdc
WHERE t_etude_cardio_familles_actes.code IS NULL OR t_etude_cardio_familles_actes.cdc IS NULL
;