pour déploiement auto v2 via gitlab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

108 lines
3.7 KiB

-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;
CREATE TEMP TABLE w_dbsetup AS
SELECT
code,
CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid,
texte,
texte_court
FROM pmsi.t_cmd
ORDER BY code
LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
code,
oid,
texte,
texte_court
)
VALUES
('01', 1, 'Affections du système nerveux', 'Aff.Système nerveux'),
('02', 1, 'Affections de l''oeil', 'Aff.Oeil'),
('03', 1, 'Affections des oreilles, du nez, de la gorge, de la bouche et des dents', 'Aff.O.N.G.B.D'),
('04', 1, 'Affections de l''appareil respiratoire', 'Aff.Appareil respiratoire'),
('05', 1, 'Affections de l''appareil circulatoire', 'Aff.Appareil circulatoire'),
('06', 1, 'Affections du tube digestif', 'Aff.Tube digestif'),
('07', 1, 'Affections du système hépatobiliaire et du pancréas', 'Aff.Syst.hépato.&Pancréas'),
('08', 1, 'Affections et traumatismes de l''appareil musculo-squelettique et du tissu conjonctif', 'Aff.traumato.app M.S&T.C'),
('09', 1, 'Affections de la peau, des tissus souscutanés et des seins', 'Aff.Peau Tissus S.C Seins'),
('10', 1, 'Affections endocriniennes, métaboliques et nutritionnelles', 'Aff.Endo.Métabo.Nutrition'),
('11', 1, 'Affections du rein et des voies urinaires', 'Aff.Rein & voies urinaire'),
('12', 1, 'Affections de l''appareil génital masculin', 'Aff.App.Gén.Masculin'),
('13', 1, 'Affections de l''appareil génital féminin', 'Aff.App.Gén.Féminin'),
('14', 1, 'Grossesses pathologiques, accouchements et affections du post-partum', 'Gros.Patho,Acc.&Aff.P.P'),
('15', 1, 'Nouveau-nés, prématurés et affections de la période périnatale', 'N.nés,prématurés&Aff.P.P'),
('16', 1, 'Affections du sang et des organes hématopoïétiques', 'Aff.Sang & org.hématopoï.'),
('17', 1, 'Affections myéloprolifératives et tumeurs de siège imprécis ou diffus', 'Aff.Myélo.&tumeurs S.I.'),
('18', 1, 'Maladies infectieuses et parasitaires', 'Mal.Infectieuses &parasit'),
('19', 1, 'Maladies et troubles mentaux', 'Mal. & troubles mentaux'),
('20', 1, 'Troubles mentaux organiques liés à l''absorption de drogues ou induits par celles-ci', 'T. mentaux liés abs.drog.'),
('21', 1, 'Traumatismes, allergies et empoisonnements', 'Traum.Allerg.&Empoison.'),
('22', 1, 'Brûlures', 'Brûlures'),
('23', 1, 'Facteurs influant sur l''état de santé et autres motifs de recours aux services de santé', 'Fact.influant/état santé'),
('24', 1, '@Séjours de moins de 2 jours', '@Séjours.<2j'),
('25', 1, 'Maladies dues à une infection par le VIH', 'Mal.dues à infec.VIH'),
('26', 1, 'Traumatismes multiples graves', 'Traumat.mult.graves'),
('27', 1, 'Transplantations d''organes', '@Transplant.organes'),
('28', 1, 'Séances', 'Séances'),
('77', 1, 'Forfaits innovation', 'Forfaits innovation'),
('90', 1, 'Erreurs et autres séjours inclassables', '@Erreurs&aut.séj.incl.'),
('99', 1, 'Non attribué', 'Non attribué'),
('ZZ', 1, 'Autres CMD...', 'Autres CMD'),
('**', 0, 'Hors PMSI', 'Hors PMSI')
;
-- 3/3 : Màj de la table iCTI
UPDATE pmsi.t_cmd SET
code = w_dbsetup.code
FROM w_dbsetup
WHERE
t_cmd.oid = w_dbsetup.oid
AND w_dbsetup.oid = 0;
UPDATE pmsi.t_cmd SET
texte = w_dbsetup.texte,
texte_court = w_dbsetup.texte_court
FROM w_dbsetup
WHERE t_cmd.code = w_dbsetup.code
AND (
t_cmd.texte <> w_dbsetup.texte OR
t_cmd.texte_court <> w_dbsetup.texte_court OR
t_cmd.texte IS NULL OR
t_cmd.texte_court IS NULL
);
INSERT INTO pmsi.t_cmd(
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_cmd);
INSERT INTO pmsi.t_cmd(
code,
texte,
texte_court)
SELECT
code,
texte,
texte_court
FROM w_dbsetup
WHERE
oid <> 0
AND code NOT IN (SELECT code FROM pmsi.t_cmd);