-- 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');