-- 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_regles_non_valorisation 
    ORDER BY code LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    oid,
    code,
    texte
)
VALUES
(1, '01', 'MCS incompatible avec ATU'),
(1, '02', 'MCG incompatible avec ATU'),
(1, '03', 'FSD en double'),
(1, '04', 'SEh, FSD, FFM sans acte CCAM correspondant'),
(1, '06', 'Plus d''un ATU sur le séjour'),
(1, '07', 'Coeff MCO différent de coeff géo * coeff prud * coeff transition'),
(1, '08', 'Problème calcul base de remboursement'),
(1, '09', 'Lettres clés non prises en compte'),
(1, '11', 'Prélèvement d''organe sur patients décédés'),
(1, '12', 'SEh en double'),
(1, '13', 'AMI incompatible avec SE/FFM/ATU/APE'),
(1, '14', 'Mauvais coefficient prudentiel'),
(1, '15', 'ACE réalisé en activité libérale'),
(1, '16', 'Lettres clés hors période'),
(1, '17', 'Prix unitaire différent de celui du BO'),
(0, '*', 'Non renseigné')
;

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


UPDATE pmsi.t_regles_non_valorisation SET 
	texte = w_dbsetup.texte
FROM w_dbsetup
WHERE 1=1
	AND t_regles_non_valorisation.code = w_dbsetup.code
	AND t_regles_non_valorisation.texte IS DISTINCT FROM w_dbsetup.texte;


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


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