'' AND
RU_CODE_MED NOT IN (SELECT code FROM pmsi.t_medecins)
GROUP BY 1;
INSERT INTO pmsi.t_comites_medicaux(code, texte)
SELECT CASE WHEN CODE_COMITE IS NOT NULL AND CODE_COMITE <> '' THEN CODE_COMITE ELSE RU_LIB_UF END AS CODE_COMITE, MAX(RU_LIB_UF)
FROM prod_baclesse.V_CFB_RSS_RESPONSABILITE
WHERE (CODE_COMITE <> '' OR RU_LIB_UF <> '') AND
CASE WHEN CODE_COMITE IS NOT NULL AND CODE_COMITE <> '' THEN CODE_COMITE ELSE RU_LIB_UF END NOT IN (SELECT code FROM pmsi.t_comites_medicaux)
GROUP BY 1
ORDER BY 1;
]]>
'' THEN CODE_COMITE ELSE COALESCE(RU_LIB_UF,'') END AS CODE_COMITE
FROM prod_baclesse.V_RSS_IDENT
LEFT JOIN prod_baclesse.V_CFB_RSS_RESPONSABILITE ON V_RSS_IDENT.RSS_ID = V_CFB_RSS_RESPONSABILITE.RU_RSS
;
CREATE INDEX W_RSS_IDENT_ik_RSS_ID
ON W_RSS_IDENT
USING btree
(RSS_ID);
CREATE INDEX W_RSS_IDENT_ik_HO_NUM
ON W_RSS_IDENT
USING btree
(HO_NUM);
CREATE INDEX W_RSS_IDENT_ik_CODE_MED
ON W_RSS_IDENT
USING btree
(CODE_MED);
CREATE INDEX W_RSS_IDENT_ik_CODE_COMITE
ON W_RSS_IDENT
USING btree
(CODE_COMITE);
UPDATE [SCHEMA].p_identites SET
nom = IDENT_NOM,
prenom = IDENT_PRENOM
FROM [SCHEMA].p_rss
JOIN W_RSS_IDENT ON p_rss.no_rss = W_RSS_IDENT.rss_id AND date_sortie = RSS_DFIN
WHERE p_identites.rss_id = p_rss.oid AND
(nom IS DISTINCT FROM IDENT_NOM OR
prenom IS DISTINCT FROM IDENT_PRENOM);
UPDATE [SCHEMA].p_identites SET
nom = IDENT_NOM,
prenom = IDENT_PRENOM
FROM [SCHEMA].p_rss
JOIN W_RSS_IDENT ON p_rss.no_sejour_administratif = W_RSS_IDENT.HO_NUM AND date_sortie = RSS_DFIN
WHERE p_identites.rss_id = p_rss.oid AND
(nom IS DISTINCT FROM IDENT_NOM OR
prenom IS DISTINCT FROM IDENT_PRENOM);
UPDATE [SCHEMA].p_rss SET
medecin_rss_id = COALESCE(t_medecins.oid,p_rss.medecin_rss_id),
comite_medical_id = COALESCE(t_comites_medicaux.oid,p_rss.comite_medical_id),
no_patient = NIP
FROM W_RSS_IDENT
LEFT JOIN pmsi.t_medecins ON CODE_MED = t_medecins.code
LEFT JOIN pmsi.t_comites_medicaux ON CODE_COMITE = t_comites_medicaux.code
WHERE no_rss = rss_id AND date_sortie = RSS_DFIN AND
(medecin_rss_id IS DISTINCT FROM COALESCE(t_medecins.oid,p_rss.medecin_rss_id) OR
comite_medical_id IS DISTINCT FROM COALESCE(t_comites_medicaux.oid,p_rss.comite_medical_id) OR
no_patient IS DISTINCT FROM NIP);
UPDATE [SCHEMA].p_rss SET
medecin_rss_id = COALESCE(t_medecins.oid,p_rss.medecin_rss_id),
comite_medical_id = COALESCE(t_comites_medicaux.oid,p_rss.comite_medical_id),
no_patient = NIP
FROM W_RSS_IDENT
LEFT JOIN pmsi.t_medecins ON CODE_MED = t_medecins.code
LEFT JOIN pmsi.t_comites_medicaux ON CODE_COMITE = t_comites_medicaux.code
WHERE p_rss.no_sejour_administratif = W_RSS_IDENT.HO_NUM AND date_sortie = RSS_DFIN AND
(medecin_rss_id IS DISTINCT FROM COALESCE(t_medecins.oid,p_rss.medecin_rss_id) OR
comite_medical_id IS DISTINCT FROM COALESCE(t_comites_medicaux.oid,p_rss.comite_medical_id) OR
no_patient IS DISTINCT FROM NIP);
]]>
'' AND
DATE(DAT_ACTE) BETWEEN DATE(RSS_DDEB) AND DATE(RSS_DFIN)
GROUP BY 1,2,3,4,5
;
CREATE INDEX w_RSS_ACTE_RSS_ID
ON w_RSS_ACTE
USING btree
(RSS_ID);
CREATE INDEX w_RSS_ACTE_CODE_ACTE
ON w_RSS_ACTE
USING btree
(CODE_ACTE);
CREATE INDEX w_RSS_ACTE_INTER_EXE
ON w_RSS_ACTE
USING btree
(INTER_EXE);
UPDATE [SCHEMA].p_rss_actes
SET medecin_id = t_medecins.oid
FROM w_RSS_ACTE
JOIN [SCHEMA].p_rss ON w_RSS_ACTE.RSS_ID = p_rss.no_rss
JOIN pmsi.t_medecins ON INTER_EXE = t_medecins.code
JOIN pmsi.t_actes ON substring(CODE_ACTE, 1, 7) = t_actes.code
WHERE p_rss_actes.rss_id = p_rss.oid AND
p_rss_actes.date_acte = DAT_ACTE AND
p_rss_actes.activite_ccam = ACTIVITE AND
p_rss_actes.acte_id = t_actes.oid AND
p_rss_actes.medecin_id IS DISTINCT FROM t_medecins.oid;
]]>