src: | SELECT p_sejours.finess, p_sejours.provider_id, p_sejours.no_sejour, p_sejours.oid AS 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_prevu, p_sejours.type_sejour, p_sejours.type_sejour AS type_sejour_code, p_sejours.est_budget_global, p_sejours.type_sejour::bigint AS type_sejour_id, CASE WHEN p_sejours.type_sejour = '1'::text THEN 'Hospitalisé'::text WHEN p_sejours.type_sejour = '2'::text THEN 'Ambulatoires'::text WHEN p_sejours.type_sejour = '3'::text THEN 'Externes'::text WHEN p_sejours.type_sejour = '4'::text THEN 'Long séjours'::text WHEN p_sejours.type_sejour = '5'::text THEN 'Séances'::text WHEN p_sejours.type_sejour = '6'::text THEN 'Bébés sans séjour'::text WHEN p_sejours.type_sejour = '9'::text THEN 'Fictifs'::text ELSE p_sejours.type_sejour END AS type_sejour_texte, t_lieux_c.mode_traitement_id, t_lieux_c.mode_traitement_code, t_lieux_c.mode_traitement_texte, 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.code_sorti, to_char(p_sejours.date_sortie::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_sortie, p_sejours.date_sortie, p_sejours.heure_sortie, p_sejours.code_cp_demandee, p_sejours.ghs_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, t_medecins_administratifs_c.adm_code AS medecin_adm_sejour_code, t_medecins_administratifs_c.adm_nom AS medecin_adm_sejour_nom, t_medecins_administratifs_c.adm_prenom AS medecin_adm_sejour_prenom, t_medecins_administratifs_c.adm_nom_prenom AS medecin_adm_sejour_nom_prenom, t_medecins_administratifs_c.section_id AS medecin_adm_sejour_section_id, t_medecins_administratifs_c.section_code AS medecin_adm_sejour_section_code, t_medecins_administratifs_c.section_texte AS medecin_adm_sejour_section_texte, t_medecins_administratifs_c.medecin_id AS medecin_sejour_id, t_medecins_administratifs_c.medecin_code AS medecin_sejour_code, t_medecins_administratifs_c.nom AS medecin_sejour_nom, t_medecins_administratifs_c.prenom AS medecin_sejour_prenom, t_medecins_administratifs_c.nom_prenom AS medecin_sejour_nom_prenom, t_medecins_administratifs_c.specialite_id AS medecin_sejour_specialite_id, t_medecins_administratifs_c.specialite_code AS medecin_sejour_specialite_code, t_medecins_administratifs_c.specialite_texte AS medecin_sejour_specialite_texte, p_sejours.lieu_sortie_id, t_lieux_c.service_facturation_id AS lieu_sortie_service_id, t_lieux_c.service_facturation_code AS lieu_sortie_service_code, t_lieux_c.service_facturation_texte AS lieu_sortie_service_texte, t_lieux_c.service_facturation_section_id AS lieu_sortie_service_section_id, t_lieux_c.service_facturation_section_code AS lieu_sortie_service_section_code, t_lieux_c.service_facturation_section_texte AS lieu_sortie_service_section_texte, t_lieux_c.service_facturation_section_nb_lits AS lieu_sortie_service_section_nb_lits, t_lieux_c.service_facturation_section_nb_cp AS lieu_sortie_service_section_nb_cp, t_lieux_c.activite_id AS lieu_sortie_activite_id, t_lieux_c.activite_code AS lieu_sortie_activite_code, t_lieux_c.activite_texte AS lieu_sortie_activite_texte, t_lieux_c.etage_id AS lieu_sortie_etage_id, t_lieux_c.etage_code AS lieu_sortie_etage_code, t_lieux_c.etage_texte AS lieu_sortie_etage_texte, t_lieux_c.etage_section_id AS lieu_sortie_etage_section_id, t_lieux_c.etage_section_code AS lieu_sortie_etage_section_code, t_lieux_c.etage_section_texte AS lieu_sortie_etage_section_texte, t_lieux_c.lit_id AS lieu_sortie_lit_id, t_lieux_c.lit_code AS lieu_sortie_lit_code, t_lieux_c.lit_texte AS lieu_sortie_lit_texte, t_lieux_c.lit_section_id AS lieu_sortie_lit_section_id, t_lieux_c.lit_section_code AS lieu_sortie_lit_section_code, t_lieux_c.lit_section_texte AS lieu_sortie_lit_section_texte, t_lieux_c.unite_medicale_id AS lieu_sortie_unite_medicale_id, t_lieux_c.unite_medicale_code AS lieu_sortie_unite_medicale_code, t_lieux_c.unite_medicale_texte AS lieu_sortie_unite_medicale_texte, t_lieux_c.unite_medicale_section_id AS lieu_sortie_unite_medicale_section_id, t_lieux_c.unite_medicale_section_code AS lieu_sortie_unite_medicale_section_code, t_lieux_c.unite_medicale_section_texte AS lieu_sortie_unite_medicale_section_texte, t_lieux_c.unite_fonctionnelle_id AS lieu_sortie_unite_fonctionnelle_id, t_lieux_c.unite_fonctionnelle_code AS lieu_sortie_unite_fonctionnelle_code, t_lieux_c.unite_fonctionnelle_texte AS lieu_sortie_unite_fonctionnelle_texte, t_lieux_c.unite_fonctionnelle_section_id AS lieu_sortie_unite_fonctionnelle_section_id, t_lieux_c.unite_fonctionnelle_section_code AS lieu_sortie_unite_fonctionnelle_section_code, t_lieux_c.unite_fonctionnelle_section_texte AS lieu_sortie_unite_fonctionnelle_section_texte, to_char( CASE WHEN p_sejours.ghs_id > 0 THEN p_sejours.date_groupage ELSE '2099-12-31'::date END::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_groupage, CASE WHEN p_sejours.ghs_id > 0 THEN p_sejours.date_groupage ELSE '2099-12-31'::date END AS date_groupage, CASE WHEN t_lieux_c.type_t2a = '1'::bpchar AND (p_sejours.type_sejour = ANY (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) AND p_sejours.ghs_id > 0 AND p_sejours.date_groupage < '2099-12-31'::date THEN 1 ELSE 0 END AS nb_delai_groupage, CASE WHEN t_lieux_c.type_t2a = '1'::bpchar AND (p_sejours.type_sejour = ANY (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text])) AND p_sejours.ghs_id > 0 AND p_sejours.date_groupage < '2099-12-31'::date THEN p_sejours.delai_groupage ELSE 0::numeric END AS delai_groupage, CASE WHEN p_sejours.type_sejour <> ALL (ARRAY['1'::bpchar::text, '2'::bpchar::text, '5'::bpchar::text]) THEN 0 WHEN p_sejours.code_sorti <> 1::numeric OR t_lieux_c.type_t2a <> '1'::bpchar OR p_sejours.date_groupage < '2099-12-31'::date AND p_sejours.ghs_id > 0 THEN 0 ELSE 1 END AS nb_non_groupe, to_char(p_sejours.date_facture::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_facture, p_sejours.date_facture, CASE WHEN p_sejours.date_facture < '2099-12-31'::date THEN 1 ELSE 0 END AS nb_delai_facture, CASE WHEN p_sejours.date_facture < '2099-12-31'::date THEN p_sejours.delai_facture ELSE 0::numeric END AS delai_facture, CASE WHEN p_sejours.date_facture = '2099-12-31'::date THEN 1 ELSE 0 END AS nb_non_facture, to_char(p_sejours.date_expedition::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_expedition, p_sejours.date_expedition, CASE WHEN p_sejours.date_facture < '2099-12-31'::date AND p_sejours.date_expedition < '2099-12-31'::date THEN 1 ELSE 0 END AS nb_delai_expedition, CASE WHEN p_sejours.date_facture = '2099-12-31'::date THEN 1 WHEN p_sejours.date_expedition_1 = '2099-12-31'::date AND (p_sejours.montant_comptabilise_1_c <> p_sejours.montant_regle_1_c OR p_sejours.montant_comptabilise_1_h <> p_sejours.montant_regle_1_h) THEN 1 WHEN p_sejours.date_expedition_2 = '2099-12-31'::date AND (p_sejours.montant_comptabilise_2_c <> p_sejours.montant_regle_2_c OR p_sejours.montant_comptabilise_2_h <> p_sejours.montant_regle_2_h) THEN 1 WHEN p_sejours.date_expedition_22 = '2099-12-31'::date AND (p_sejours.montant_comptabilise_22_c <> p_sejours.montant_regle_22_c OR p_sejours.montant_comptabilise_22_h <> p_sejours.montant_regle_22_h) THEN 1 ELSE 0 END AS nb_non_expedie, CASE WHEN p_sejours.date_facture = '2099-12-31'::date OR p_sejours.date_expedition_1 = '2099-12-31'::date THEN p_sejours.montant_comptabilise_1_c + p_sejours.montant_comptabilise_1_h - p_sejours.montant_regle_1_c - p_sejours.montant_regle_1_h ELSE 0::numeric END + CASE WHEN p_sejours.date_facture = '2099-12-31'::date OR p_sejours.date_expedition_2 = '2099-12-31'::date THEN p_sejours.montant_comptabilise_2_c + p_sejours.montant_comptabilise_2_h - p_sejours.montant_regle_2_c - p_sejours.montant_regle_2_h ELSE 0::numeric END + CASE WHEN p_sejours.date_facture = '2099-12-31'::date OR p_sejours.date_expedition_22 = '2099-12-31'::date THEN p_sejours.montant_comptabilise_22_c + p_sejours.montant_comptabilise_22_h - p_sejours.montant_regle_22_c - p_sejours.montant_regle_22_h ELSE 0::numeric END AS montant_non_expedie, CASE WHEN p_sejours.date_facture < '2099-12-31'::date OR p_sejours.date_expedition < '2099-12-31'::date THEN p_sejours.delai_expedition ELSE 0::numeric END AS delai_expedition, to_char(p_sejours.date_solde::timestamp with time zone, 'YYYYMM'::text)::numeric AS mois_solde, p_sejours.date_solde, CASE WHEN p_sejours.date_facture < '2099-12-31'::date AND p_sejours.date_solde < '2099-12-31'::date AND p_sejours.montant_regle_c = p_sejours.montant_comptabilise_c AND p_sejours.montant_regle_h = p_sejours.montant_comptabilise_h THEN 1 ELSE 0 END AS nb_delai_solde, CASE WHEN p_sejours.date_facture = '2099-12-31'::date OR p_sejours.montant_regle_c <> p_sejours.montant_comptabilise_c OR p_sejours.montant_regle_h <> p_sejours.montant_comptabilise_h THEN 1 ELSE 0 END AS nb_non_solde, CASE WHEN p_sejours.date_facture < '2099-12-31'::date AND p_sejours.montant_regle_c = p_sejours.montant_comptabilise_c AND p_sejours.montant_regle_h = p_sejours.montant_comptabilise_h THEN 0::numeric ELSE p_sejours.montant_comptabilise_c + p_sejours.montant_comptabilise_h - p_sejours.montant_regle_c - p_sejours.montant_regle_h END AS montant_non_solde, CASE WHEN p_sejours.date_facture < '2099-12-31'::date AND p_sejours.date_solde < '2099-12-31'::date AND p_sejours.montant_regle_c = p_sejours.montant_comptabilise_c AND p_sejours.montant_regle_h = p_sejours.montant_comptabilise_h THEN p_sejours.delai_solde ELSE 0::numeric END AS delai_solde, p_sejours.montant_facture_c, p_sejours.montant_facture_0_c, p_sejours.montant_facture_1_c, p_sejours.montant_facture_2_c, p_sejours.montant_facture_22_c, p_sejours.montant_facture_h, p_sejours.montant_facture_0_h, p_sejours.montant_facture_1_h, p_sejours.montant_facture_2_h, p_sejours.montant_facture_22_h, p_sejours.montant_facture_c_actes_inclus_dans_sejour, p_sejours.montant_facture_h_actes_inclus_dans_sejour, p_sejours.montant_comptabilise_c, p_sejours.montant_comptabilise_h, p_sejours.montant_comptabilise_budget_global_c, p_sejours.montant_regle_c, p_sejours.montant_regle_h, 1 AS nb_sejours, p_sejours.nb_factures, p_sejours.nb_factures_regularisation, p_sejours.nb_factures_rejet, 0 AS no_oid, CASE WHEN p_sejours.type_sejour = ANY (ARRAY['3'::bpchar::text, '5'::bpchar::text]) THEN 0 WHEN p_sejours.date_sortie <> '2099-12-31'::date AND p_sejours.date_sortie IS NOT NULL THEN p_sejours.date_sortie - p_sejours.date_entree WHEN p_sejours.type_sejour = '1'::text AND date(now()) > p_sejours.date_entree THEN date(now()) - p_sejours.date_entree ELSE 0 END AS duree, p_sejours.risque_id FROM activite.p_sejours JOIN activite.t_medecins_administratifs_c ON p_sejours.medecin_sejour_id = t_medecins_administratifs_c.oid JOIN activite.t_lieux_c ON p_sejours.lieu_sortie_id = t_lieux_c.oid WHERE p_sejours.etat = ''::bpchar;