-- 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 pmsi.t_poles_oap
|
|
ORDER BY code LIMIT 0
|
|
;
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
INSERT INTO w_dbsetup(
|
|
oid,
|
|
code,
|
|
texte,
|
|
texte_court
|
|
)
|
|
VALUES
|
|
(1, '**11', 'Codes FG11 non affectés', 'Codes FG11 non affectés'),
|
|
(1, '90**', 'Erreurs de groupage', 'Erreurs de groupage'),
|
|
(1, 'AA', 'Digestif', 'Digestif'),
|
|
(1, 'AB', 'Orthopédie, Rhumatologie', 'Ortho,Rhumato'),
|
|
(1, 'AC', 'Uro-néphrologie', 'Uro-néphrologie'),
|
|
(1, 'AD', 'Système nerveux', 'Syst.nerveux'),
|
|
(1, 'AE', 'Cardiologie', 'Cardiologie'),
|
|
(1, 'AF', 'Vasculaire périphérique', 'Vasc.périphérique'),
|
|
(1, 'AG', 'Pneumologie', 'Pneumologie'),
|
|
(1, 'AH', 'ORL, Stomatologie', 'ORL,Stomatologie'),
|
|
(1, 'AI', 'Ophtalmologie', 'Opthalmologie'),
|
|
(1, 'AJ', 'Gynécologie', 'Gynécologie'),
|
|
(1, 'AK', 'Obstétrique', 'Obstétrique'),
|
|
(1, 'AL', 'Nouveau-nés', 'Nouveau-nés'),
|
|
(1, 'AM', 'Hématologie', 'Hématologie'),
|
|
(1, 'AN', 'Chimiothérapie, radiothérapie, transfusion', 'Chimio,radio,trans'),
|
|
(1, 'AO', 'Endocrinologie', 'Endocrinologie'),
|
|
(1, 'AP', 'Tissu cutané et tissu sous-cutané (dont chir obésité)', 'Tissus'),
|
|
(1, 'AQ', 'Brûlures', 'Brûlures'),
|
|
(1, 'AR', 'Maladies infectieuses (hors VIH)', 'Mal.Infec.(horsVIH)'),
|
|
(1, 'AS', 'Maladie VIH', 'Maladie VIH'),
|
|
(1, 'AU', 'Traumatismes multiples ou complexes graves', 'Traumatologie'),
|
|
(1, 'AV', 'Psychiatrie, Toxicologie, Intoxications, Alcool', 'Psy,toxico,intox.'),
|
|
(1, 'AX', 'Autres prises en charge', 'Autres PEC'),
|
|
(1, 'AZ', 'Vasculaire interventionnel', 'Vasc.interventionnel'),
|
|
(1, 'BC', 'Endoscopies sans anesthésie (GHS 9600)', 'Endoscopies sans anes'),
|
|
(1, 'BD', 'Dermatologie (externe) (GHS 9601)', 'Dermatologie externe'),
|
|
(1, 'ZZ', 'Autres pôles OAP', 'Autres pôles'),
|
|
(0, '**', 'Hors PMSI', 'Hors PMSI'),
|
|
(1, '**11', 'Codes FG11 non affectés', 'Codes FG11 non affectés')
|
|
;
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
UPDATE pmsi.t_poles_oap SET
|
|
code = w_dbsetup.code
|
|
FROM w_dbsetup
|
|
WHERE t_poles_oap.oid = w_dbsetup.oid AND w_dbsetup.oid = 0;
|
|
|
|
|
|
UPDATE pmsi.t_poles_oap SET
|
|
texte = w_dbsetup.texte,
|
|
texte_court = w_dbsetup.texte_court
|
|
FROM w_dbsetup
|
|
WHERE
|
|
t_poles_oap.code = w_dbsetup.code
|
|
AND (
|
|
t_poles_oap.texte <> w_dbsetup.texte OR
|
|
t_poles_oap.texte_court <> w_dbsetup.texte_court OR
|
|
t_poles_oap.texte IS NULL OR
|
|
t_poles_oap.texte_court IS NULL
|
|
);
|
|
|
|
|
|
INSERT INTO pmsi.t_poles_oap(
|
|
oid,
|
|
code,
|
|
texte,
|
|
texte_court)
|
|
SELECT
|
|
oid,
|
|
code,
|
|
texte,
|
|
texte_court
|
|
FROM w_dbsetup
|
|
WHERE
|
|
oid = 0
|
|
AND oid NOT IN (SELECT oid FROM pmsi.t_poles_oap);
|
|
|
|
|
|
INSERT INTO pmsi.t_poles_oap(
|
|
code,
|
|
texte,
|
|
texte_court)
|
|
SELECT
|
|
code,
|
|
texte,
|
|
texte_court
|
|
FROM w_dbsetup
|
|
WHERE
|
|
oid <> 0
|
|
AND code NOT IN (SELECT code FROM pmsi.t_poles_oap);
|