='[PERIODE]' ";
}
if ('[QUELLEDATE]' == 'EN') {
return " AND v_sejours_1.date_entree BETWEEN '[PERIODE]' AND '[TOPERIODE]' ";
}
if ('[QUELLEDATE]' == 'SO') {
return " AND code_sorti = '1' AND v_sejours_1.date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]' ";
}
EVAL]
]]>
=''[PERIODE]''',1)
WHERE EXISTS (SELECT 1 FROM information_schema.views WHERE table_schema = 'pmsi' AND table_name = 'v_rsf_total_1');
SELECT base.cti_execute('
INSERT INTO w_DATA
SELECT t_finess.texte as finess_texte,
num_admin_sejour as numero_sejour_administratif,
t_exoneration_tm.code as exoneration_tm_code
FROM
pmsissr.p_ssr
LEFT JOIN pmsissr.p_rsf_a ON ssr_id = p_ssr.num_admin_sejour
LEFT JOIN base.t_finess ON p_ssr.finess_id = t_finess.oid
LEFT JOIN base.t_exoneration_tm ON justif_exo_tm = t_exoneration_tm.oid
WHERE
p_ssr.date_entree <= ''[TOPERIODE]''
AND p_ssr.date_sortie >=''[PERIODE]''',1)
WHERE EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'pmsissr' AND table_name = 'p_rsf_a');
SELECT base.cti_execute('
INSERT INTO w_DATA
SELECT t_finess.texte as finess_texte,
num_admin_sejour as numero_sejour_administratif,
t_exoneration_tm.code as exoneration_tm_code
FROM
pmsissr.p_ssr_fil_eau
LEFT JOIN pmsissr.p_rsf_a_fil_eau ON ssr_id = p_ssr_fil_eau.oid
LEFT JOIN base.t_finess ON p_ssr_fil_eau.finess_id = t_finess.oid
LEFT JOIN base.t_exoneration_tm ON justif_exo_tm = t_exoneration_tm.oid
WHERE
p_ssr_fil_eau.date_entree <= ''[TOPERIODE]''
AND p_ssr_fil_eau.date_sortie >=''[PERIODE]''',1)
WHERE EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'pmsissr' AND table_name = 'p_rsf_a_fil_eau');
SELECT DISTINCT
v_sejours_1.no_sejour AS "Code séjour"
,COALESCE(w_DATA.finess_texte,t_finess.texte) AS "Nom Etablissement"
,v_sejours_1.no_patient AS "IPP"
,prenom AS "Prénom"
,nom AS "Nom"
,p_coordonnees_patient.adresse AS "Adresse postale rue"
,code_postal_code AS "Adresse postale CP"
,code_postal_texte AS "Adresse postale ville"
,telephone_fixe AS "N° de téléphone fixe"
,telephone_portable AS "N° de téléphone portable"
,p_coordonnees_patient.email AS "Mail"
,sexe_texte_court AS "Sexe"
,age_id AS "Age"
,type_sejour_texte AS "MDT (Ambu,Hosp,externe,...)"
,lieu_sortie_service_texte AS "Service de facturation"
,exoneration_tm_code AS "Code exonération sécu"
,t_tiers_payant.texte || CASE
WHEN tiers_payant_22_id != 0
THEN ', ' || t_tiers_payant_22.code
ELSE ''
END AS "Codes mutuelles"
--lieu_id
FROM
#V_SEJOURS_X# LEFT JOIN w_DATA ON no_sejour_administratif = no_sejour
LEFT JOIN activite.p_patients ON v_sejours_1.no_patient = p_patients.no_patient
LEFT JOIN activite.p_coordonnees_patient ON p_coordonnees_patient.sejour_id = v_sejours_1.sejour_id
LEFT JOIN activite.t_tiers_payant ON t_tiers_payant.oid = tiers_payant_2_id AND tiers_payant_2_id != 0
LEFT JOIN activite.t_tiers_payant t_tiers_payant_22 ON t_tiers_payant_22.oid = tiers_payant_2_id AND tiers_payant_22_id != 0
JOIN base.t_finess ON t_finess.oid = (SELECT min(oid) FROM base.t_finess)
WHERE
v_sejours_1.date_entree <= '[TOPERIODE]'
AND v_sejours_1.date_sortie >='[PERIODE]'
[VIEW.NO_SEJOUR_SELECT]
[VIEW.NOM_SELECT]
[VIEW.SEJOURS_SELECT]
[VIEW.DATE_SEJOUR_SELECT]
[VIEW.PATIENTS_SELECT]
AND no_sejour = ANY(ARRAY(SELECT v_mouvements_sejour_2.no_sejour
FROM #V_MOUVEMENTS_SEJOUR_X#
JOIN #V_SEJOURS_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
WHERE v_mouvements_sejour_2.date BETWEEN '[PERIODE]' AND '[TOPERIODE]'
[VIEW.NO_SEJOUR_SELECT]
[VIEW.MOUVEMENTS_SELECT]
[VIEW.PATIENTS_SELECT])::text[])
UNION ALL
SELECT
'-9999999',
COUNT(*)::text || ' séjours, ' || count(DISTINCT v_sejours_1.no_patient)::text || ' patients',
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
FROM
#V_SEJOURS_X#, activite.p_patients
WHERE
v_sejours_1.date_entree <= '[TOPERIODE]'
AND v_sejours_1.date_sortie >='[PERIODE]'
AND v_sejours_1.no_patient = p_patients.no_patient
[VIEW.NO_SEJOUR_SELECT]
[VIEW.NOM_SELECT]
[VIEW.SEJOURS_SELECT]
[VIEW.DATE_SEJOUR_SELECT]
AND no_sejour = ANY(ARRAY(SELECT v_mouvements_sejour_2.no_sejour
FROM #V_MOUVEMENTS_SEJOUR_X#
JOIN #V_SEJOURS_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
WHERE v_mouvements_sejour_2.date BETWEEN '[PERIODE]' AND '[TOPERIODE]'
[VIEW.NO_SEJOUR_SELECT]
[VIEW.MOUVEMENTS_SELECT]
[VIEW.PATIENTS_SELECT])::text[])
;
]]>