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.
 
 

102 lines
5.1 KiB

-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;
CREATE TEMP TABLE w_dbsetup AS
SELECT
CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid,
code,
texte,
texte_court
FROM activite.t_forme_activite
ORDER BY code LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
oid,
code,
texte,
texte_court
)
VALUES
(0, '***', 'Non renseignée', 'Non renseignée'),
(1, '111', 'Hospitalisation complète MCO Médecine', 'Hospitalisation complète MCO Médecine'),
(1, '112', 'Hospitalisation complète MCO Chirurgie', 'Hospitalisation complète MCO Chirurgie'),
(1, '113', 'Hospitalisation complète MCO Obstétrique', 'Hospitalisation complète MCO Obstétrique'),
(1, '114', 'Hospitalisation complète MCO Esthétique', 'Hospitalisation complète MCO Esthétique'),
(1, '117', 'Hospitalisation complète MCO A préciser', 'Hospitalisation complète MCO A préciser'),
(1, '118', 'Hospitalisation complète MCO A préciser', 'Hospitalisation complète MCO A préciser'),
(1, '119', 'Hospitalisation complète MCO Autre', 'Hospitalisation complète MCO Autre'),
(1, '121', 'Hospitalisation de jour MCO Médecine', 'Hospitalisation de jour MCO Médecine'),
(1, '122', 'Hospitalisation de jour MCO Chirurgie', 'Hospitalisation de jour MCO Chirurgie'),
(1, '123', 'Hospitalisation de jour MCO Obstétrique', 'Hospitalisation de jour MCO Obstétrique'),
(1, '124', 'Hospitalisation de jour MCO Esthétique', 'Hospitalisation de jour MCO Esthétique'),
(1, '127', 'Hospitalisation de jour MCO A préciser', 'Hospitalisation de jour MCO A préciser'),
(1, '128', 'Hospitalisation de jour MCO A préciser', 'Hospitalisation de jour MCO A préciser'),
(1, '129', 'Hospitalisation de jour MCO Autre', 'Hospitalisation de jour MCO Autre'),
(1, '131', 'Séances de dialyse', 'Séances de dialyse'),
(1, '132', 'Séances de chimiothérapie', 'Séances de chimiothérapie'),
(1, '133', 'Séances de transfusion', 'Séances de transfusion'),
(1, '139', 'Autres séances', 'Autres séances'),
(1, '211', 'Hospitalisation complète SSR Soins de Suite Médicalisés', 'Hospitalisation complète SSR Soins de Suite Médicalisés'),
(1, '212', 'Hospitalisation complète SSR Rééducation Fonctionnelle', 'Hospitalisation complète SSR Rééducation Fonctionnelle'),
(1, '217', 'Hospitalisation complète SSR A préciser', 'Hospitalisation complète SSR A préciser'),
(1, '218', 'Hospitalisation complète SSR A préciser', 'Hospitalisation complète SSR A préciser'),
(1, '219', 'Hospitalisation complète SSR Autre', 'Hospitalisation complète SSR Autre'),
(1, '221', 'Hospitalisation de jour SSR Soins de Suite Médicalisés', 'Hospitalisation de jour SSR Soins de Suite Médicalisés'),
(1, '222', 'Hospitalisation de jour SSR Rééducation Fonctionnelle', 'Hospitalisation de jour SSR Rééducation Fonctionnelle'),
(1, '227', 'Hospitalisation de jour SSR A préciser', 'Hospitalisation de jour SSR A préciser'),
(1, '228', 'Hospitalisation de jour SSR A préciser', 'Hospitalisation de jour SSR A préciser'),
(1, '229', 'Hospitalisation de jour SSR Autre', 'Hospitalisation de jour SSR Autre'),
(1, '311', 'Hospitalisation complète PSY', 'Hospitalisation complète PSY'),
(1, '317', 'Hospitalisation complète PSY A préciser', 'Hospitalisation complète PSY A préciser'),
(1, '318', 'Hospitalisation complète PSY A préciser', 'Hospitalisation complète PSY A préciser'),
(1, '319', 'Hospitalisation complète PSY Autre', 'Hospitalisation complète PSY Autre'),
(1, '321', 'Hospitalisation de jour PSY', 'Hospitalisation de jour PSY'),
(1, '327', 'Hospitalisation de jour PSY A préciser', 'Hospitalisation de jour PSY A préciser'),
(1, '328', 'Hospitalisation de jour PSY A préciser', 'Hospitalisation de jour PSY A préciser'),
(1, '329', 'Hospitalisation de jour PSY Autre', 'Hospitalisation de jour PSY Autre'),
(1, '401', 'Hospitalisation à Domicile', 'Hospitalisation à Domicile'),
(1, '501', 'EHPAD', 'EHPAD'),
(1, '502', 'USLD', 'USLD'),
(1, '503', 'Foyer de vie', 'Foyer de vie'),
(1, '701', 'Activité SE', 'Activité SE'),
(1, '702', 'Urgences Externes', 'Urgences Externes'),
(1, '709', 'Autres externes', 'Autres externes'),
(1, '999', 'Autres formes d''activité', 'Autres formes d''activité')
;
-- 3/3 : Màj de la table iCTI
UPDATE activite.t_forme_activite SET
code = w_dbsetup.code,
texte = w_dbsetup.texte, texte_court = w_dbsetup.texte_court
FROM w_dbsetup
WHERE w_dbsetup.oid = t_forme_activite.oid AND w_dbsetup.oid = 0;
UPDATE activite.t_forme_activite SET
texte = w_dbsetup.texte,
texte_court = w_dbsetup.texte
FROM w_dbsetup
WHERE activite.t_forme_activite.code = w_dbsetup.code AND
(
activite.t_forme_activite.texte IS DISTINCT FROM w_dbsetup.texte OR
activite.t_forme_activite.texte_court IS DISTINCT FROM w_dbsetup.texte_court
)
;
INSERT INTO activite.t_forme_activite(oid, code, texte, texte_court)
SELECT oid, code, texte, texte_court
FROM w_dbsetup
WHERE oid = 0 AND
oid NOT IN (SELECT oid FROM activite.t_forme_activite)
;
INSERT INTO activite.t_forme_activite(code, texte, texte_court)
SELECT code, texte, texte_court
FROM w_dbsetup
WHERE oid <> 0 AND
code NOT IN (SELECT code FROM activite.t_forme_activite WHERE code IS NOT NULL)
;
SELECT activite.cti_update_schema_classes('FORMEACTIVITE');