src: | SELECT p_sejours.finess, p_sejours.provider_id, p_factures_encours.no_sejour, p_factures_encours.sejour_id, p_sejours.no_patient, p_sejours.code_sexe, CASE WHEN p_sejours.code_sexe = '1'::bpchar THEN 'M'::bpchar WHEN p_sejours.code_sexe = '2'::bpchar THEN 'F'::bpchar ELSE p_sejours.code_sexe END AS sexe_texte_court, p_sejours.age, p_sejours.code_postal_id, p_sejours.code_prevu, p_factures_encours.type_sejour, p_sejours.forme_activite_id, p_sejours.est_budget_global, to_char(p_sejours.date_entree::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_entree, p_sejours.date_entree, p_sejours.heure_entree, p_sejours.mode_entree, p_sejours.provenance, to_char(p_sejours.date_sortie::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_sortie, p_sejours.code_sorti, p_sejours.date_sortie, p_sejours.heure_sortie, p_sejours.mode_sortie, p_sejours.destination, p_sejours.code_cp_demandee, p_sejours.ghs_id, p_sejours.ghm_id, p_sejours.tiers_payant_0_id, p_sejours.tiers_payant_1_id, p_sejours.tiers_payant_2_id, p_sejours.tiers_payant_22_id, p_sejours.medecin_sejour_id AS medecin_adm_sejour_id, p_sejours.lieu_sortie_id, p_sejours.gme_id, p_sejours.risque_id, p_factures_encours.oid AS facture_id, p_factures_encours.code_origine, p_factures_encours.date_debut AS date_debut_facture, p_factures_encours.date_fin AS date_fin_facture, to_char(p_factures_encours.date_fin::timestamp with time zone, 'YYYYMM'::text) AS mois_fin_facture, CASE WHEN p_sejours.ghs_id > 0 THEN p_factures_encours.date_groupage ELSE '2099-12-31'::date END AS encours_date_groupage, p_sejours.ghs_id AS encours_ghs_id, p_factures_encours_lignes_c.no_facture, to_char(p_factures_encours.date_encours::timestamp with time zone, 'YYYYMM'::text) AS mois_comptable, p_factures_encours.date_encours AS date_comptable, to_char(p_factures_encours_lignes_c.date_debut::timestamp with time zone, 'YYYYMM'::text) AS mois_debut, to_char(p_factures_encours_lignes_c.date_fin::timestamp with time zone, 'YYYYMM'::text) AS mois_fin, p_factures_encours_lignes_c.date_debut, p_factures_encours_lignes_c.date_fin, p_factures_encours_lignes_c.coefficient, p_factures_encours_lignes_c.coefficient_mco, p_factures_encours_lignes_c.prix_unitaire, p_factures_encours_lignes_c.taux_0, p_factures_encours_lignes_c.taux_1, p_factures_encours_lignes_c.taux_2, p_factures_encours_lignes_c.taux_22, p_factures_encours_lignes_c.lieu_id, p_factures_encours_lignes_c.rubrique_facturation_id, p_factures_encours_lignes_c.rubrique_comptabilisation_id, p_factures_encours_lignes_c.prestation_id, p_factures_encours_lignes_c.compte_produit_id, p_factures_encours_lignes_c.nb_rubrique, p_factures_encours_lignes_c.nb_prestation, 0::numeric AS montant_comptabilise, 0::numeric AS montant_comptabilise_0, 0::numeric AS montant_comptabilise_1, 0::numeric AS montant_comptabilise_2, 0::numeric AS montant_comptabilise_22, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours, CASE WHEN p_factures_encours_lignes_c.montant_encours_0 IS NOT NULL THEN p_factures_encours_lignes_c.montant_encours_0 ELSE 0::numeric END AS montant_encours_0, CASE WHEN p_factures_encours_lignes_c.montant_encours_1 IS NOT NULL THEN p_factures_encours_lignes_c.montant_encours_1 ELSE 0::numeric END AS montant_encours_1, CASE WHEN p_factures_encours_lignes_c.montant_encours_2 IS NOT NULL THEN p_factures_encours_lignes_c.montant_encours_2 ELSE 0::numeric END AS montant_encours_2, CASE WHEN p_factures_encours_lignes_c.montant_encours_22 IS NOT NULL THEN p_factures_encours_lignes_c.montant_encours_22 ELSE 0::numeric END AS montant_encours_22, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND p_factures_encours.code_sorti = '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_sorti, CASE WHEN p_factures_encours_lignes_c.montant_encours_0 IS NOT NULL AND p_factures_encours.code_sorti = '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_0 ELSE 0::numeric END AS montant_encours_sorti_0, CASE WHEN p_factures_encours_lignes_c.montant_encours_1 IS NOT NULL AND p_factures_encours.code_sorti = '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_1 ELSE 0::numeric END AS montant_encours_sorti_1, CASE WHEN p_factures_encours_lignes_c.montant_encours_2 IS NOT NULL AND p_factures_encours.code_sorti = '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_2 ELSE 0::numeric END AS montant_encours_sorti_2, CASE WHEN p_factures_encours_lignes_c.montant_encours_22 IS NOT NULL AND p_factures_encours.code_sorti = '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_22 ELSE 0::numeric END AS montant_encours_sorti_22, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND p_factures_encours.code_sorti <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_present, CASE WHEN p_factures_encours_lignes_c.montant_encours_0 IS NOT NULL AND p_factures_encours.code_sorti <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_0 ELSE 0::numeric END AS montant_encours_present_0, CASE WHEN p_factures_encours_lignes_c.montant_encours_1 IS NOT NULL AND p_factures_encours.code_sorti <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_1 ELSE 0::numeric END AS montant_encours_present_1, CASE WHEN p_factures_encours_lignes_c.montant_encours_2 IS NOT NULL AND p_factures_encours.code_sorti <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_2 ELSE 0::numeric END AS montant_encours_present_2, CASE WHEN p_factures_encours_lignes_c.montant_encours_22 IS NOT NULL AND p_factures_encours.code_sorti <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours_22 ELSE 0::numeric END AS montant_encours_present_22, CASE WHEN p_factures_encours.code_sorti <> '1'::bpchar THEN 0::numeric WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND t_lieux_c_sortie.type_t2a <> '1'::bpchar THEN p_factures_encours_lignes_c.montant_encours WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND (p_factures_encours.type_sejour <> ALL (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) THEN p_factures_encours_lignes_c.montant_encours WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND date(date_trunc('month'::text, p_factures_encours.date_groupage::timestamp with time zone)) <= p_factures_encours.date_encours THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_groupe, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND t_lieux_c_sortie.type_t2a = '1'::bpchar AND (p_factures_encours.type_sejour = ANY (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) AND (date(date_trunc('month'::text, p_factures_encours.date_groupage::timestamp with time zone)) > p_factures_encours.date_encours OR p_sejours.ghs_id < 0) THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_non_groupe, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND t_lieux_c_sortie.type_t2a = '1'::bpchar AND (p_factures_encours.type_sejour = ANY (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) AND p_factures_encours.code_sorti = '1'::bpchar AND (date(date_trunc('month'::text, p_factures_encours.date_groupage::timestamp with time zone)) > p_factures_encours.date_encours OR p_sejours.ghs_id < 0) THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_non_groupe_sorti, CASE WHEN p_factures_encours_lignes_c.montant_encours IS NOT NULL AND t_lieux_c_sortie.type_t2a = '1'::bpchar AND (p_factures_encours.type_sejour = ANY (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) AND p_factures_encours.code_sorti <> '1'::bpchar AND (date(date_trunc('month'::text, p_factures_encours.date_groupage::timestamp with time zone)) > p_factures_encours.date_encours OR p_sejours.ghs_id < 0) THEN p_factures_encours_lignes_c.montant_encours ELSE 0::numeric END AS montant_encours_non_groupe_present, 0 AS no_oid, 0 AS no_nb_lits, p_factures_encours_lignes_c.pole_id, p_factures_encours.filiere_soin_principale_id, p_factures_encours_lignes_c.lpp_id, p_factures_encours_lignes_c.ucd_id FROM activite.p_factures_encours_lignes_c JOIN activite.p_factures_encours ON p_factures_encours_lignes_c.facture_id = p_factures_encours.oid JOIN activite.p_sejours ON p_sejours.no_sejour = p_factures_encours.no_sejour LEFT JOIN activite.t_lieux_c t_lieux_c_sortie ON p_sejours.lieu_sortie_id = t_lieux_c_sortie.oid;