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.
 
 

128 lines
3.5 KiB

-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;
CREATE TEMP TABLE w_dbsetup AS
SELECT
code, texte, base_request, clear_request, post_class
FROM pmsi.t_etude
ORDER BY 1
LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
code,
texte,
base_request,
clear_request,
post_class
)
VALUES
('CTI_CANCERO_2022', 'Seuils cancérologie 2022', 'WITH chir_digestive_by_year AS (
SELECT
EXTRACT(YEAR FROM date_sortie) as year,
count(*) as total_digestive
FROM pmsi.p_rss_cancero
JOIN pmsi.p_rss ON p_rss.oid = p_rss_cancero.rss_id
WHERE cancero_code = ''CHIR2'' AND cdc = ''2022''
GROUP BY 1
),
chir_thoracique_by_year AS (
SELECT
EXTRACT(YEAR FROM date_sortie) as year,
count(*) as total_thoracique
FROM pmsi.p_rss_cancero
JOIN pmsi.p_rss ON p_rss.oid = p_rss_cancero.rss_id
WHERE cancero_code = ''CHIR4'' AND cdc = ''2022''
GROUP BY 1
),
rss_actes AS (
SELECT
oid as rss_id,
array_agg(acte_id) as actes
FROM pmsi.p_rss
LEFT JOIN pmsi.p_rss_actes ON p_rss_actes.rss_id = p_rss.oid
GROUP BY 1
),
rss_diags AS (
SELECT
oid as rss_id,
array_agg(diagnostic_id) as diags
FROM pmsi.p_rss
LEFT JOIN pmsi.p_rss_diagnostics ON p_rss_diagnostics.rss_id = p_rss.oid
GROUP BY 1
)
INSERT INTO pmsi.p_rss_cancero
(
cdc,
cancero_id,
cancero_code,
cancero_texte,
cancero_texte_court,
activite_cancero_id,
activite_cancero_code,
activite_cancero_texte,
rss_id
)
SELECT
''2022'',
v_categorie_cancero.oid AS cancero_id,
v_categorie_cancero.code AS cancero_code,
v_categorie_cancero.texte AS cancero_texte,
v_categorie_cancero.texte_court AS cancero_texte_court,
v_categorie_cancero.activite_id AS activite_cancero_id,
v_categorie_cancero.activite_code AS activite_cancero_code,
v_categorie_cancero.activite_texte AS activite_cancero_texte,
p_rss.oid AS rss_id
FROM
pmsi.p_rss
JOIN rss_actes ON rss_actes.rss_id = p_rss.oid
JOIN rss_diags ON rss_diags.rss_id = p_rss.oid
JOIN pmsi.v_categorie_cancero ON 1 = 1
LEFT JOIN chir_digestive_by_year ON chir_digestive_by_year.year = EXTRACT(YEAR FROM p_rss.date_sortie)
LEFT JOIN chir_thoracique_by_year ON chir_digestive_by_year.year = EXTRACT(YEAR FROM p_rss.date_sortie)
{{ WHERE }}
GROUP BY 1,2,3,4,5,6,7,8,9', 'DELETE FROM pmsi.p_rss_cancero WHERE cdc = ''2022''', ''),
('CTI_CARDIO_INTERVENTIONNELLE_2022', 'Cardiologie Interventionnelle 2022', 'INSERT INTO pmsi.p_rss_cardio(
finess,
rss_id,
acte_id,
date_acte,
nombre,
liste_id,
cardio_modalite_id,
cardio_mention_id ,
cardio_famille_acte_id,
cdc
)
SELECT finess,
rss_id,
acte_id,
date_acte,
nombre,
t_listes.oid AS liste_id,
cardio_modalite_id,
cardio_mention_id ,
t_etude_cardio_familles_actes.oid AS cardio_famille_acte_id,
''2022'' AS cdc
FROM pmsi.p_rss_actes
JOIN pmsi.t_listes_contenu on t_listes_contenu.to_id = p_rss_actes.acte_id
JOIN pmsi.t_listes ON t_listes.oid = t_listes_contenu.liste_id
JOIN pmsi.t_etude_cardio_familles_actes ON t_listes.oid = t_etude_cardio_familles_actes.liste_id
AND activite_ccam <> 4 -- 4 = Actes d''anesthésie
WHERE est_seuil IS TRUE AND date_acte >= ''20220101''', 'DELETE FROM pmsi.p_rss_cardio WHERE cdc = ''2022''', 'EtudeCardioPost')
;
-- 3/3 : Mŕj de la table iCTI
TRUNCATE pmsi.t_etude;
INSERT INTO pmsi.t_etude(code, texte, base_request, clear_request, post_class)
SELECT
w_dbsetup.code,
w_dbsetup.texte,
w_dbsetup.base_request,
w_dbsetup.clear_request,
w_dbsetup.post_class
FROM w_dbsetup
;