-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;

CREATE TEMP TABLE w_dbsetup AS
    SELECT
    	code,
    	mco,
    	CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid,
    	texte,
    	texte_court
    FROM pmsi.t_groupes_activite
    ORDER BY code
     LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    code,
    mco,
    oid,
    texte,
    texte_court
)
VALUES
('**11', ' ', 1, 'Codes FG11 non affectés', 'Codes FG11 non affectés'),
('90**', ' ', 1, 'Erreurs de groupage', 'Erreurs de groupage'),
('C01C', 'C', 1, 'Transplantations d''organes (hors greffes de moelle : GA_DMT : M18KZ)', 'Transplantations d''organe'),
('C02C', 'C', 1, 'Neuro-chirurgie avec craniotomie, Chirurgie du rachis, de l''hypophyse', 'Neuro-chirurgie avec cran'),
('C03CK', 'C', 1, 'Autres interventions pour affections du système nerveux, Neurostimulateurs, Embolisations', 'Autres int. Système nerv.'),
('C04M', 'C', 1, 'Traumatismes crâniens, Commotions cérébrales, sans ACO (Acte Classant Opératoire)', 'Traum.crâniens sans ACO'),
('C05C', 'C', 1, 'Chirurgie cardio-thoracique (hors transplantation d''organe), Pontages aorto-coronariens', 'Chirurgie cardio-thoraciq'),
('C06CM', 'C', 1, 'Traumatismes multiples graves avec ou sans ACO (Acte Classant Opératoire)', 'Traum.multiples graves'),
('C07M', 'C', 1, 'Traumatismes thoraciques sans ACO', 'Traum.thoracique sans ACO'),
('C08C', 'C', 1, 'Chirurgie vasculaire', 'Chirurgie vasculaire'),
('C09C', 'C', 1, 'Stimulateurs, Défibrillateurs cardiaques', 'Stimulateurs, Défi.cardi.'),
('C10C', 'C', 1, 'Chir. majeure de l''appareil locomoteur, Chir. du bassin, de la hanche, du fémur, de l''épaule', 'Chir. Maj. Appareil locom'),
('C11C', 'C', 1, 'Chirurgie des nerfs craniens ou périphériques, du canal carpien...', 'Chirurgie nerfs craniens'),
('C12C', 'C', 1, 'Arthroscopies, Biopsies ostéo-articulaires, Ablations de matériel', 'Arthroscopies, Biopsies o'),
('C13C', 'C', 1, 'Autres chirurgies de l''appareil locomoteur', 'Autres chir. App.locomot.'),
('C14M', 'C', 1, 'Traumatismes, Fractures, Entorses, Luxations, Arthrites...sans ACO', 'Traum, Fract... sans ACO'),
('C15C', 'C', 1, 'Chirurgie majeure digestive : oesophage, estomac, colon, rectum...', 'Chirurgie maj. Digestive'),
('C16CM', 'C', 1, 'Autre chirurgie viscérale : grèle, colon, hernies, occlusions..., avec ou sans ACO', 'Aut.chirurgie Viscérale'),
('C17C', 'C', 1, 'Chirurgie Hépato-biliaire et Pancréatique', 'Chirurgie Hépato-biliaire'),
('C18C', 'C', 1, 'Interventions pour Aff. des Org. Hématopoiétiques, Lymphomes, Leucémies, Tumeurs SID...', 'Interventions pour Aff. d'),
('C19CM', 'C', 1, 'Chirurgie Urologique', 'Chirurgie Urologique'),
('C20C', 'C', 1, 'Chirurgie de l''appareil génital masculin', 'Chirurgie de l''appareil g'),
('C21C', 'C', 1, 'Chirurgie gynécologique', 'Chirurgie gynécologique'),
('C22C', 'C', 1, 'Chirurgie du sein', 'Chirurgie du sein'),
('C23C', 'C', 1, 'Chirurgie Ophtalmologique', 'Chirurgie Ophtalmologique'),
('C24C', 'C', 1, 'Chirurgie ORL, Stomato', 'Chirurgie ORL, Stomato'),
('C25KM', 'C', 1, 'Affections de la bouche, des dents, Traumatismes du Nez, Epistaxis... Sans ACO', 'Affections de la bouche,'),
('C26C', 'C', 1, 'Chirurgie de la Thyroide, Parathyroide, du Tractus Thyréoglosse', 'Chirurgie de la Thyroide,'),
('C27CMZ', 'C', 1, 'Brûlures avec ou sans ACO', 'Brûlures avec ou sans ACO'),
('C28CZ', 'C', 1, 'Parages de plaies, Greffes de peau, Chirurgie Esthétique, de Confort, des Tissus S/C', 'Parages de plaies, Greffe'),
('C30CK', 'C', 1, 'Séjours de moins de 2 jours, avec ACO, ou sans ACO mais avec anesthésie', 'Séjours de moins de 2 jou'),
('C35CKM', 'C', 1, 'Chirurgies diverses & actes : Traumatologie, VIH, Amputations, Accès vasculaires', 'Chirurgies diverses & act'),
('C90CH', 'C', 1, 'Reclassement des séjours avec ACO', 'Reclass.séjours avec ACO'),
('M01M', 'M', 1, 'Neurologie, Traitements orthopédiques du rachis', 'Neurologie, Traitements o'),
('M02M', 'M', 1, 'Pneumologie', 'Pneumologie'),
('M03K', 'M', 1, 'Coronarographie, Endoprothèse coronaire, Cathétérisme, Embolisation, Acte par voie vasc.', 'Coronarographie, Endoprot'),
('M04MZ', 'M', 1, 'Cardiologie', 'Cardiologie'),
('M05M', 'M', 1, 'Rhumatologie, Traumatismes, Infections, Affections malignes de l''app. locomoteur, sans ACO', 'Rhumatologie, Traumatisme'),
('M06M', 'M', 1, 'Hépato-Gastro-Entérologie', 'Hépato-Gastro-Entérologie'),
('M07M', 'M', 1, 'Diabète, Maladies métaboliques, Endocrinologie (hors complications)', 'Diabète, Maladies métabol'),
('M08MK', 'M', 1, 'Uro-Néphrologie (hors Séances)', 'Uro-Néphrologie (hors Séa'),
('M09M', 'M', 1, 'Appareil génital masculin', 'Appareil génital masculin'),
('M10M', 'M', 1, 'Gynécologie-Obstétrique, Sénologie', 'Gynécologie-Obstétrique,'),
('M11Z', 'M', 1, 'Nouveau-nés, prématurés, affections de la période périnatale (<121jours)', 'Nouveau-nés, prématurés,'),
('M12M', 'M', 1, 'Ophtalmologie', 'Ophtalmologie'),
('M13M', 'M', 1, 'ORL et Stomato', 'ORL et Stomato'),
('M14MZ', 'M', 1, 'Fièvre, Infection, Septicémie', 'Fièvre, Infection, Septic'),
('M15KZ', 'M', 1, 'Greffe d''organes (Moelle), Auto et Allogreffes de cellules souches', 'Greffe d''organes (Moelle)'),
('M16M', 'M', 1, 'Maladies immunitaires, du Sang, des Organes hématopoïétiques, Tumeurs SID', 'Maladies imm. du sang'),
('M17K', 'M', 1, 'Endoscopies, sans ACO, avec ou sous anesthésie, séjours de moins de 2 jours', 'Endos, sans ACO, - 2j'),
('M18K', 'M', 1, 'Explorations, sans ACO, avec anesthésie, séjours de moins de 2 jours', 'Explor, sans ACO,  -2 j'),
('M19KMZ', 'M', 1, 'Suivi thérapeutique, d''affections connues, Rééducation, Soins Palliatifs, Douleurs chroniques', 'Suivi thérapeutique'),
('M20KM', 'M', 1, 'Hors séances : Curiethérapie, Autres irradiations, Chimiothérapies', 'Hors séances-Chim.Cur.Irr'),
('M30Z', 'M', 1, 'Séances : Chimiothérapie, Curiethérapie, Radiothérapie, Dialyse, Transfusion, Hyperbarie', 'Séances-Chim.Cur.Rad.Dia'),
('M35Z', 'M', 1, 'Décés, Transferts des séjours de moins de 2 jours, (hors Infarctus, Nouveaux-nés, Brûlures)', 'Décés, Transf. Séjour -2j'),
('M45M', 'M', 1, 'V.I.H. sans ACO', 'V.I.H. sans ACO'),
('M50MZ', 'M', 1, 'Psychiatrie, Toxicologie, Alcool', 'Psychiatrie, Toxicologie,'),
('M60M', 'M', 1, 'Divers sans acte: Traumatismes, Symptomes, Intoxications, Allergies...', 'Divers sans acte: Traumat'),
('O10CZ', 'O', 1, 'Accouchements, Césariennes', 'Accouchements, Césarienne'),
('O15C', 'O', 1, 'Obstétrique avec acte (hors accouchements, césariennes)', 'Obst.avec acte (hors acc)'),
('O20CZ', 'O', 1, 'Avortements, Dilatations et Curetages, IVG', 'Avortements, Dilatations'),
('O30MZ', 'O', 1, 'Affections anté-post-partum, et du post abortum', 'Affections anté-post-part'),
('Z99HZ', 'Z', 1, 'Erreurs (Hors séjours reclassés)', 'Erreurs (Hors séj.reclas)'),
('****', ' ', 0, 'Hors PMSI', 'Hors PMSI'),
('**11', ' ', 1, 'Codes FG11 non affectés', 'Codes FG11 non affectés')
;

-- 3/3 : Màj de la table iCTI
UPDATE pmsi.t_groupes_activite SET 
	code = w_dbsetup.code
FROM w_dbsetup
WHERE t_groupes_activite.oid = w_dbsetup.oid AND w_dbsetup.oid = 0;


UPDATE pmsi.t_groupes_activite SET 
	texte = w_dbsetup.texte, 
	texte_court = w_dbsetup.texte_court,
	mco = w_dbsetup.mco
FROM w_dbsetup
WHERE 
	t_groupes_activite.code = w_dbsetup.code
	AND (
		t_groupes_activite.texte <> w_dbsetup.texte OR
		t_groupes_activite.texte_court <> w_dbsetup.texte_court OR
		t_groupes_activite.mco <> w_dbsetup.mco OR
		t_groupes_activite.texte IS NULL OR
		t_groupes_activite.texte_court IS NULL OR
		t_groupes_activite.mco IS NULL
	);


INSERT INTO pmsi.t_groupes_activite(
	oid, 
	code, 
	texte, 
	texte_court, 
	mco)
SELECT
	oid, 
	code, 
	texte, 
	texte_court, 
	mco 
FROM 
	w_dbsetup 
WHERE 
	oid = 0 
	AND oid NOT IN (SELECT oid FROM pmsi.t_groupes_activite);


INSERT INTO pmsi.t_groupes_activite(
	code, 
	texte, 
	texte_court, 
	mco)
SELECT 
	code, 
	texte, 
	texte_court, 
	mco 
FROM 
	w_dbsetup 
WHERE 
	oid <> 0 
	AND code NOT IN (SELECT code FROM pmsi.t_groupes_activite);