-- 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
    FROM pmsi.t_ghm_gp
    ORDER BY code
     LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    oid,
    code,
    texte
)
VALUES
(1, 'C01', 'Transplant. d''organes (hors greffes de moelle & cornée)'),
(1, 'C02', 'Chirurgie du rachis, Neuro-chirurgie'),
(1, 'C03', 'Neurostimulateurs'),
(1, 'C04', 'Chir. cardio-thoracique (hors transplant. d''organe), Pontages aorto-coronariens'),
(1, 'C05', 'Chir. majeure sur le thorax, l''app. respiratoire, interventions sous thoracoscopie'),
(1, 'C06', 'Chir. Digestive majeure : oesophage, estomac, grêle, côlon, rectum'),
(1, 'C07', 'Chir. Viscérale autre : rate, grêle, colon, proctologie, hernies'),
(1, 'C08', 'Chir. hépato-biliaire et pancréatique'),
(1, 'C09', 'Chir. majeure de l''app. Locomoteur:  hanche, fémur, genou, épaule'),
(1, 'C10', 'Arthroscopies, Biopsies ostéo-articulaires'),
(1, 'C11', 'Chirurgies autres de l''appareil locomoteur, amputations'),
(1, 'C12', 'Traumatismes multiples graves'),
(1, 'C13', 'Stimulateurs, Défibrillateurs cardiaques'),
(1, 'C14', 'Chirurgie vasculaire'),
(1, 'C15', 'Chirurgie ORL stomato'),
(1, 'C16', 'Chirurgie Ophtalmologique et greffe de cornée'),
(1, 'C17', 'Chirurgie Gynécologique'),
(1, 'C18', 'Chirurgie du sein'),
(1, 'C19', 'Chirurgie Urologique'),
(1, 'C20', 'Chirurgie de l''appareil génital masculin'),
(1, 'C21', 'Chir. pour Aff. des Org. Hématopoiétiques, Lymphomes, Leucémies, Tumeurs SID'),
(1, 'C22', 'Chirurgie de la Thyroide, Parathyroide, du Tractus Thyréoglosse, endocrinologie'),
(1, 'C23', 'Parages de plaies, Greffes de peau, des Tissus S/C'),
(1, 'C24', 'Chirurgie pour brûlures'),
(1, 'C25', 'Chirurgie inter spécialités'),
(1, 'C26', 'Chirurgie de la peau'),
(1, 'K01', 'Hépato-Gastro-Entérologie, sans acte opératoire, avec anesthésie'),
(1, 'K02', 'Endoscopies digestives et biliaires avec ou sans anesthésie'),
(1, 'K03', 'Neurologie médicale avec Acte classant non opératoire, ou anesthésie'),
(1, 'K04', 'Aff. Cardio-vasculaire avec Acte classant non opératoire, ou anesthésie'),
(1, 'K05', 'Cathétérismes vasculaires diagnostiques et interventionnels'),
(1, 'K06', 'Mise en place d''accès vasculaire'),
(1, 'K07', 'Endoscopies bronchiques, avec ou sans anesthésie'),
(1, 'K08', 'Traumatologie avec acte classant non opératoire ou anesthésie'),
(1, 'K09', 'ORL Stomato avec Acte classant non opératoire et endoscopies'),
(1, 'K10', 'Aff. génito-urinaires avec Acte classant non opératoire et endoscopies'),
(1, 'K11', 'Douleur chroniques, avec bloc ou infiltration, en ambulatoire'),
(1, 'K12', 'Explorations nocturnes, séjours de moins de 2 jours'),
(1, 'K13', 'Dialyse (hors Séances)'),
(1, 'K14', 'Radiothérapie (hors séances)'),
(1, 'K15', 'Autres séj. sans acte, avec anesthésie, en ambulatoire (Aff. myéloP., peau, sein...)'),
(1, 'K16', 'Brûlures sans acte opératoire, avec anesthésie, en ambulatoire'),
(1, 'K17', 'Traumatismes, allergies et empoisonnements sans acte opératoire, avec anesthésie, en ambulatoire'),
(1, 'N01', 'Chirurgie des nouveau-nés, prématurés et de la période périnatale'),
(1, 'N02', 'Aff. médicales des nouveau-nés, prématurés et de la période périnatale'),
(1, 'N03', 'Mort-nés, décès et transferts précoces de nouveau-nés'),
(1, 'O01', ' Accouchements par voie basse'),
(1, 'O02', 'Césariennes'),
(1, 'O03', 'IVG'),
(1, 'O04', 'Obstétrique autre'),
(1, 'S01', 'Dialyse'),
(1, 'S02', 'Chimiothérapie pour tumeur'),
(1, 'S03', 'Chimiothérapie pour aff. Non tumorale'),
(1, 'S04', 'Radiothérapie'),
(1, 'S05', 'Transfusion'),
(1, 'S06', 'Aphérèse'),
(1, 'S07', 'Oxygénothérapie hyperbare, en séances'),
(1, 'X01', 'Greffe de moelle, Auto et Allogreffes de cellules souches'),
(1, 'X02', 'Hépato-Gastro-Entérologie'),
(1, 'X03', 'Neurologie médicale'),
(1, 'X04', 'Commotions cérébrales, Traumatismes crâniens'),
(1, 'X05', 'Traumatologie et ablation de matériel de l''appareil locomoteur'),
(1, 'X06', 'Rhumatologie'),
(1, 'X07', 'Affections Cardio-vasculaires'),
(1, 'X08', 'Pneumologie'),
(1, 'X09', 'ORL, Stomato'),
(1, 'X10', 'Ophtalmologie'),
(1, 'X11', 'Gynécologie, Sénologie (hors Obstétrique)'),
(1, 'X12', 'Uro-Néphrologie médicale (hors Séances)'),
(1, 'X13', 'Appareil génital masculin'),
(1, 'X14', 'Maladies immunitaires, du Sang, des Organes hématopoïétiques, Tumeurs SID'),
(1, 'X15', 'Diabète, Maladies métaboliques, Endocrinologie (hors complications)'),
(1, 'X16', 'Affections et traumatismes de la peau, gelures'),
(1, 'X17', 'Brûlures'),
(1, 'X18', 'Suivi thérap. d''affections connues, Allergologie, Rééducation, Convalescence'),
(1, 'X19', 'Fièvre, Infection, Septicémie, VIH'),
(1, 'X20', 'Psychiatrie'),
(1, 'X21', 'Effets nocifs, alcool, toxicologie, allergies'),
(1, 'X22', 'Douleur et soins palliatifs'),
(1, 'X23', 'Chimiothérapie (hors séances)'),
(1, 'X24', 'Médecine inter spécialités, Autres symptômes ou motifs médicaux'),
(1, 'X25', 'Traumatismes multiples graves'),
(1, 'X26', 'Chirurgie esthétique et de confort'),
(1, 'Z99', 'Séjours en Erreur')
;

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

UPDATE pmsi.t_ghm_gp SET
	texte = w_dbsetup.texte
FROM w_dbsetup
WHERE
	t_ghm_gp.code = w_dbsetup.code
	AND (
		t_ghm_gp.texte IS DISTINCT FROM w_dbsetup.texte
	);


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


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