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.
 
 

124 lines
4.9 KiB

-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;
CREATE TEMP TABLE w_dbsetup AS
SELECT
CASE WHEN t_classes.oid = 0 THEN t_classes.oid ELSE 1 END AS oid,
t_classes.code,
t_classes.texte,
t_classes.is_cti,
t_classes.sequence,
t_listes_tables.code as table_code,
t_classes.contenu_by_code
FROM
pmsi.t_classes,
pmsi.t_listes_tables
WHERE
(is_cti = '1' OR t_classes.code ilike 'CTI_%')
AND table_id = t_listes_tables.oid
ORDER BY t_classes.code LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
oid,
code,
texte,
is_cti,
sequence,
table_code,
contenu_by_code
)
VALUES
(1, 'CTI_ACTCL', 'Actes classants', '1', 11, 'ACTE', '0'),
(1, 'CTI_AGE_TX_RECOURS', 'Tranches d''âge taux de recours', '1', 11, 'AGE', '0'),
(1, 'CTI_APP_CIM10', 'Cancérologie appareil', '1', 10, 'DIAG', '0'),
(1, 'CTI_ARRETEVERS', 'Prestations Arrêté versement', '1', 10, 'PRESTA', '1'),
(1, 'CTI_CLASSES_OMEDIT', 'Classes OMEDIT', '1', 7, 'LPP', '0'),
(1, 'CTI_CMA_2025', 'CMA', '1', 14, 'DIAG', '0'),
(1, 'CTI_DUROVA', 'Durées OVALIDE', '1', 8, 'DURSEJ', '0'),
(1, 'CTI_EXPERTCTL_OVA', 'Categorie Controles OVALIDE', '1', 9, 'EXPERTCTL', '0'),
(1, 'CTI_GHMDA', 'Domaines d''activité ATIH', '1', 9, 'GHM', '0'),
(1, 'CTI_GHMGA', 'Groupes d''activité ATIH', '1', 7, 'GHM', '0'),
(1, 'CTI_GHMGP', 'Groupes de planification ATIH', '1', 8, 'GHM', '0'),
(1, 'CTI_GHM_DEDO', 'GHM dédoublé 2017', '1', 10, 'GHM', '0'),
(1, 'CTI_GM2009', 'Gestes marqueurs MSAP 2009', '1', 7, 'ACTE', '0'),
(1, 'CTI_GM2010', 'Gestes marqueurs MSAP 2010', '1', 8, 'ACTE', '0'),
(1, 'CTI_GM2012', 'Gestes marqueurs nationaux 2012', '1', 6, 'ACTE', '0'),
(1, 'CTI_GM_MSAP_2012', 'Gestes marqueurs MSAP 2012', '1', 9, 'ACTE', '0'),
(1, 'CTI_GM_MSAP_2014', 'Gestes marqueurs MSAP 2014', '1', 10, 'ACTE', '0'),
(1, 'CTI_GM_MSAP_2015', 'Gestes marqueurs MSAP 2015', '1', 12, 'ACTE', '0'),
(1, 'CTI_HOSAMB', 'Ambulatoires - Hospitalisés', '1', 7, 'DURSEJ', '0'),
(1, 'CTI_IND_UCD_1', 'Indications UCD Niveau 1', '1', 10, 'INDICATIONUCD', '0'),
(1, 'CTI_IND_UCD_2', 'Indications UCD Niveau 2', '1', 11, 'INDICATIONUCD', '0'),
(1, 'CTI_LCIM10_POLYHL', 'CIM10 polyhandicap lourd', '1', 13, 'DIAG', '0'),
(1, 'CTI_LPP_CLADIMED_1', 'CLADIMED', '1', 10, 'LPP', '0'),
(1, 'CTI_LPP_CLADIMED_2', 'CLADIMED (2)', '1', 11, 'LPP', '0'),
(1, 'CTI_LPP_CLADIMED_3', 'CLADIMED (3)', '1', 12, 'LPP', '0'),
(1, 'CTI_LPP_CLADIMED_4', 'CLADIMED (4)', '1', 13, 'LPP', '0'),
(1, 'CTI_LPP_CLADIMED_5', 'CLADIMED (5)', '1', 14, 'LPP', '0'),
(1, 'CTI_ORG_CIM10', 'Cancérologie organe', '1', 11, 'DIAG', '0'),
(1, 'CTI_ORG_DET_CIM10', 'Cancérologie organe détaillé', '1', 12, 'DIAG', '0'),
(1, 'CTI_OVA_UCD', 'Groupe UCD', '1', 10, 'UCD', '0'),
(1, 'CTI_PER_CTL', 'Périodicité contrôles', '1', 11, 'EXPERTCTL', '0'),
(1, 'CTI_PREDCA', 'Décomposition CA (CTI)', '1', 9, 'PRESTA', '0'),
(1, 'CTI_RAFA_P', 'Prestations OVALIDE (CTI)', '1', 8, 'PRESTA', '0'),
(1, 'CTI_REG', 'Nouvelles Régions', '1', 10, 'CODEPOST', '0'),
(1, 'CTI_REGRP_OMEDIT', 'Regroupements OMEDIT', '1', 8, 'LPP', '0'),
(1, 'CTI_SEV_CPOM', 'Sévérités CPOM', '1', 6, 'GHM', '0'),
(1, 'CTI_SEV_MAHOS', 'Sévérités MAHOS', '1', 5, 'GHM', '0'),
(1, 'CTI_TAGE', 'Tranches d''âge', '1', 9, 'AGE', '0'),
(1, 'CTI_TER_SAN', 'Territoires de Santé', '1', 11, 'CODEPOST', '0'),
(1, 'CTI_TRA_AG_OVA', 'Tranches d''âge Ovalide', '1', 10, 'AGE', '0'),
(1, 'CTI_TX_REC', 'Classe Age tx de rec', '1', 31, 'AGE', '0'),
(1, 'CTI_TYPEFACT', 'Type facturation', '1', 7, 'TYPEFACT', '0'),
(1, 'CTI_TYP_EXP', 'Type de contrôle expert', '1', 10, 'EXPERTCTL', '0'),
(1, 'ETUDE_BARIATRIQUE_2022', 'Etude chirurgie bariatrique 2022', '1', 13, 'ACTE', '0')
;
-- 3/3 : Màj de la table iCTI
DELETE FROM pmsi.t_classes
WHERE
oid NOT IN (
SELECT t_classes.oid
FROM
w_dbsetup,
pmsi.t_listes_tables,
pmsi.t_classes
WHERE
w_dbsetup.table_code = t_listes_tables.code
AND t_classes.sequence = w_dbsetup.sequence
AND t_classes.table_id = t_listes_tables.oid
)
AND is_cti = '1';
UPDATE pmsi.t_classes SET
code = w_dbsetup.code,
texte = w_dbsetup.texte,
table_id = t_listes_tables.oid,
is_cti = w_dbsetup.is_cti,
contenu_by_code = w_dbsetup.contenu_by_code
FROM
w_dbsetup,
pmsi.t_listes_tables
WHERE
w_dbsetup.table_code = t_listes_tables.code
AND t_classes.sequence = w_dbsetup.sequence
AND t_classes.table_id = t_listes_tables.oid ;
INSERT INTO pmsi.t_classes(code, texte, table_id, is_cti, sequence, contenu_by_code)
SELECT
w_dbsetup.code,
w_dbsetup.texte,
t_listes_tables.oid,
w_dbsetup.is_cti,
w_dbsetup.sequence,
w_dbsetup.contenu_by_code
FROM
w_dbsetup,
pmsi.t_listes_tables
WHERE
w_dbsetup.table_code = t_listes_tables.code
AND t_listes_tables.oid::text || '-'::text || w_dbsetup.sequence::text NOT IN (SELECT table_id::text || '-'::text || sequence::text FROM pmsi.t_classes) AND w_dbsetup.texte NOT LIKE '*SUPPRIME%';