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.
 
 

138 lines
4.4 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,
"type"
FROM pmsi.t_specialites_medecin
WHERE
(length(code) = 2 OR oid = 0)
AND code != texte
ORDER BY code LIMIT 0
;
-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
code,
oid,
texte,
type
)
VALUES
('01', 1, 'MEDECINE GENERALE', 'E'),
('02', 1, 'ANESTHESIOLOGIE - REANIMATION CHIRURGICALE', 'E'),
('03', 1, 'PATHOLOGIE CARDIO-VASCULAIRE', 'E'),
('04', 1, 'CHIRURGIE GENERALE', 'E'),
('05', 1, 'DERMATOLOGIE ET VENEROLOGIE', 'E'),
('06', 1, 'RADIODIAGNOSTIC ET IMAGERIE MEDICALE', 'E'),
('07', 1, 'GYNECOLOGIE OBSTETRIQUE', 'E'),
('08', 1, 'GASTRO-ENTEROLOGIE ET HEPATOLOGIE', 'E'),
('09', 1, 'MEDECINE INTERNE', 'E'),
('10', 1, 'NEUROCHIRURGIEN', 'E'),
('11', 1, 'OTO RHINO LARYNGOLOGISTE', 'E'),
('12', 1, 'PEDIATRE', 'E'),
('13', 1, 'PNEUMOLOGIE', 'E'),
('14', 1, 'RHUMATOLOGIE', 'E'),
('15', 1, 'OPHTAMOLOGIE', 'E'),
('16', 1, 'CHIRURGIE UROLOGIQUE', 'E'),
('17', 1, 'NEURO PSYCHIATRIE', 'E'),
('18', 1, 'STOMATOLOGIE', 'E'),
('19', 1, 'DENTISTES', 'E'),
('20', 1, 'REANIMATION MEDICALE', 'E'),
('21', 1, 'SAGES FEMMES', 'E'),
('22', 1, 'SPECIALISTE EN MED GENER', ' '),
('23', 1, 'RECONNAISS SPEC MED GENER', ' '),
('24', 1, 'INFIRMIER-E', 'E'),
('26', 1, 'MASSEUR KINE', 'E'),
('27', 1, 'PEDICURE', 'E'),
('28', 1, 'ORTHOPHONISTE', 'E'),
('29', 1, 'ORTHOPTISTE', 'E'),
('30', 1, 'LABORATOIRES', 'E'),
('31', 1, 'MEDECINE PHYSIQUE ET DE READAPTATION', 'E'),
('32', 1, 'NEUROLOGIE', 'E'),
('33', 1, 'PSYCHIATRIE GENERALE', 'E'),
('34', 1, 'GERIATRIE', 'E'),
('35', 1, 'NEPHROLOGIE', 'E'),
('36', 1, 'ODF', 'E'),
('37', 1, 'ANATOMO-CYTO-PATHOLOGIE', 'E'),
('38', 1, 'MEDECINS BIOLOGISTES', 'E'),
('39', 1, 'LABORATOIRES POLYVALENTS', 'E'),
('40', 1, 'LABORATOIRES D ANATOMO-CYTO-PATHOLOGIE', 'E'),
('41', 1, 'CHIRURGIE ORTHOPEDIQUE et TRAUMATOLOGIE', 'E'),
('42', 1, 'ENDOCRINOLOGIE et METABOLISMES', 'E'),
('43', 1, 'CHIRURGIE INFANTILE', 'E'),
('44', 1, 'CHIRURGIE MAXILLO-FACIALE', 'E'),
('45', 1, 'CHIRURGIE MAXILLO-FACIALE et STOMATOLOGIE', 'E'),
('46', 1, 'CHIRURGIE PLASTIQUE RECONSTRUCTRICE et ESTHETIQUE', 'E'),
('47', 1, 'CHIRURGIE THORACIQUE et CARDIO-VASCULAIRE', 'E'),
('48', 1, 'CHIRURGIE VASCULAIRE', 'E'),
('49', 1, 'CHIRURGIE VISCERALE et DIGESTIVE', 'E'),
('50', 1, 'PHARMACIE D OFFICINE', 'E'),
('51', 1, 'PHARMACIE MUTUALISTE', 'E'),
('53', 1, 'CHIRURGIEN-DENTISTE SPECIALISTE EN CHIRURGIE ORALE', ' '),
('54', 1, 'CHIRURGIEN-DENTISTE SPECIALISTE EN MEDECINE BUCCO-DENTAIRE', ' '),
('55', 1, 'TRANSPORTEUR SANITAIRE', 'E'),
('56', 1, 'TRANSPORTEUR NON SANITAIRE', 'E'),
('60', 1, 'FOURNISSEUR', 'E'),
('69', 1, 'MEDECIN SPECIALISE EN CHIRURGIE ORALE', ' '),
('70', 1, 'GYNECOLOGIE MEDICALE', 'E'),
('71', 1, 'HEMATOLOGIE', 'E'),
('72', 1, 'MEDECINE NUCLEAIRE', 'E'),
('73', 1, 'ONCOLOGIE MEDICALE', 'E'),
('74', 1, 'ONCOLOGIE RADIOTHERAPIQUE', 'E'),
('75', 1, 'PSYCHIATRIE DE L''ENFANT et de L''ADOLESCENT', 'E'),
('76', 1, 'RADIOTHERAPIE', 'E'),
('77', 1, 'OBSTETRIQUE', 'E'),
('78', 1, 'GENETIQUE MEDICALE', 'E'),
('79', 1, 'GYNECOLOGIE OBSTETRIQUE ET GYNECOLOGIE MEDICALE', 'E'),
('80', 1, 'SANTE PUBLIQUE ET MEDECINE SOCIALE', 'E'),
('81', 1, 'MEDECINE DES MALADIES INFECTIEUSES ET TROPICALES', ' '),
('82', 1, 'MEDECINE LEGALE ET EXPERTISES MEDICALES', ' '),
('83', 1, 'MEDECINE D URGENCE', ' '),
('84', 1, 'MEDECINE VASCULAIRE', ' '),
('85', 1, 'ALLERGOLOGIE', ' '),
('99', 1, 'AUTRES SPECIALITES', 'E'),
('**', 0, 'Non renseignée', 'E')
;
-- 3/3 : Màj de la table iCTI
UPDATE pmsi.t_specialites_medecin SET
code = w_dbsetup.code
FROM w_dbsetup
WHERE
t_specialites_medecin.oid = w_dbsetup.oid
AND w_dbsetup.oid = 0;
UPDATE pmsi.t_specialites_medecin SET
texte = w_dbsetup.texte,
type = w_dbsetup.type
FROM w_dbsetup
WHERE
t_specialites_medecin.code = w_dbsetup.code
AND (
t_specialites_medecin.texte <> w_dbsetup.texte OR
t_specialites_medecin.type <> w_dbsetup.type OR
t_specialites_medecin.texte IS NULL OR
t_specialites_medecin.type IS NULL
);
INSERT INTO pmsi.t_specialites_medecin(oid, code, texte, type)
SELECT oid, code, texte, type
FROM w_dbsetup
WHERE
oid = 0
AND oid NOT IN (SELECT oid FROM pmsi.t_specialites_medecin);
INSERT INTO pmsi.t_specialites_medecin(code, texte, type)
SELECT code, texte, type
FROM w_dbsetup
WHERE
oid <> 0
AND code NOT IN (SELECT code FROM pmsi.t_specialites_medecin);