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.
 
 

179 lines
9.0 KiB

src: |
SELECT p_factures_lignes_c.finess,
p_sejours.no_sejour,
p_sejours.etat AS sejour_etat,
p_factures.sejour_id,
p_factures.no_facture_reference,
p_factures.facture_reference_id,
p_factures.oid AS facture_id,
p_sejours.no_patient,
p_sejours.date_entree,
p_factures_lignes_c.no_facture,
p_factures.type_facture,
to_char(p_factures.date_facture::timestamp with time zone, 'YYYYMM'::text) AS mois_facture,
p_factures.date_facture,
to_char(p_factures.date_vente::timestamp with time zone, 'YYYYMM'::text) AS mois_vente,
p_factures.date_vente,
to_char(p_sejours.date_sortie::timestamp with time zone, 'YYYYMM'::text) AS mois_sortie,
p_sejours.date_sortie,
to_char(p_factures_lignes_c.date_debut::timestamp with time zone, 'YYYYMM'::text) AS mois_debut,
to_char(p_factures_lignes_c.date_fin::timestamp with time zone, 'YYYYMM'::text) AS mois_fin,
p_factures_lignes_c.date_debut,
p_factures_lignes_c.date_fin,
p_factures_lignes_c.coefficient,
p_factures_lignes_c.coefficient_mco,
p_factures_lignes_c.prix_unitaire,
p_factures_lignes_c.taux_0,
p_factures_lignes_c.taux_1,
p_factures_lignes_c.taux_2,
p_factures_lignes_c.taux_22,
p_sejours.ghs_id,
t_ghs_c.ghs_code_text AS ghs_code,
t_ghs_c.ghs_texte,
p_sejours.ghm_id,
t_ghm_c.ghm_code,
t_ghm_c.ghm_texte,
t_ghm_c.ghm5_id,
t_ghm_c.ghm5_code,
t_ghm_c.ghm5_texte,
t_ghm_c.severite_ghm_id,
t_ghm_c.severite_ghm_code,
t_ghm_c.severite_ghm_texte,
t_ghm_c.cas_id,
t_ghm_c.cas_code,
t_ghm_c.cas_texte,
t_ghm_c.mco_id,
t_ghm_c.mco_code,
t_ghm_c.mco_texte,
t_ghm_c.cmd_id,
t_ghm_c.cmd_code,
t_ghm_c.cmd_texte,
t_ghm_c.mco_id AS mcos_id,
t_ghm_c.mco_code AS mcos_code,
t_ghm_c.mco_texte AS mcos_texte,
t_ghm_c.ghm_section_id,
t_ghm_c.ghm_section_code,
t_ghm_c.ghm_section_texte,
p_sejours.type_sejour,
CASE
WHEN p_sejours.type_sejour = '1'::text THEN 'Hospitalisés'::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
ELSE p_sejours.type_sejour
END AS type_sejour_texte,
p_factures_lignes_c.lieu_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.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,
t_lieux_c.service_facturation_id AS lieu_service_id,
t_lieux_c.service_facturation_code AS lieu_service_code,
t_lieux_c.service_facturation_texte AS lieu_service_texte,
t_lieux_c.service_facturation_section_id AS lieu_service_section_id,
t_lieux_c.service_facturation_section_code AS lieu_service_section_code,
t_lieux_c.service_facturation_section_texte AS lieu_service_section_texte,
t_lieux_c.activite_id AS lieu_activite_id,
t_lieux_c.activite_code AS lieu_activite_code,
t_lieux_c.activite_texte AS lieu_activite_texte,
t_lieux_c.etage_id AS lieu_etage_id,
t_lieux_c.etage_code AS lieu_etage_code,
t_lieux_c.etage_texte AS lieu_etage_texte,
t_lieux_c.etage_section_id AS lieu_etage_section_id,
t_lieux_c.etage_section_code AS lieu_etage_section_code,
t_lieux_c.etage_section_texte AS lieu_etage_section_texte,
t_lieux_c.lit_id AS lieu_lit_id,
t_lieux_c.lit_code AS lieu_lit_code,
t_lieux_c.lit_texte AS lieu_lit_texte,
t_lieux_c.lit_section_id,
t_lieux_c.lit_section_code,
t_lieux_c.lit_section_texte,
t_lieux_c.unite_medicale_id AS lieu_unite_id,
p_factures_lignes_c.rubrique_facturation_id,
t_rubriques_facturation.code AS rubrique_facturation_code,
t_rubriques_facturation.texte_court AS rubrique_facturation_texte,
p_factures_lignes_c.rubrique_comptabilisation_id,
t_rubriques_facturation_c.code AS rubrique_comptabilisation_code,
t_rubriques_facturation_c.texte_court AS rubrique_comptabilisation_texte,
p_factures_lignes_c.prestation_id,
t_prestations.code AS prestation_code,
t_prestations.texte_court AS prestation_texte,
p_factures_lignes_c.nb_rubrique,
p_factures_lignes_c.nb_prestation,
p_factures_lignes_c.montant_facture,
p_factures_lignes_c.montant_facture_0,
p_factures_lignes_c.montant_facture_1,
p_factures_lignes_c.montant_facture_2,
p_factures_lignes_c.montant_facture_22,
p_factures_lignes_c.origine_facturation_id,
CASE p_factures_lignes_c.origine_facturation_id
WHEN 1 THEN '1'::text
WHEN 2 THEN '2'::text
WHEN 3 THEN '3'::text
ELSE p_factures_lignes_c.origine_facturation_id::text
END AS origine_facturation_code,
CASE p_factures_lignes_c.origine_facturation_id
WHEN 1 THEN 'Séjour'::text
WHEN 2 THEN 'Actes'::text
WHEN 3 THEN 'Actes inclus dans séjour'::text
ELSE p_factures_lignes_c.origine_facturation_id::text
END AS origine_facturation_texte,
p_factures_lignes_c.montant_facture_actes_inclus_dans_sejour,
p_factures_lignes_c.montant_facture_0_actes_inclus_dans_sejour,
p_factures_lignes_c.montant_facture_1_actes_inclus_dans_sejour,
p_factures_lignes_c.montant_facture_2_actes_inclus_dans_sejour,
p_factures_lignes_c.montant_facture_22_actes_inclus_dans_sejour,
p_factures_lignes_c.montant_comptabilise,
p_factures_lignes_c.montant_comptabilise_0,
p_factures_lignes_c.montant_comptabilise_1,
p_factures_lignes_c.montant_comptabilise_2,
p_factures_lignes_c.montant_comptabilise_22,
p_factures_lignes_c.montant_comptabilise_budget_global_1 AS montant_comptabilise_budget_global,
0 AS montant_comptabilise_budget_global_0,
p_factures_lignes_c.montant_comptabilise_budget_global_1,
0 AS montant_comptabilise_budget_global_2,
0 AS montant_comptabilise_budget_global_22,
CASE
WHEN p_factures_lignes_c.montant_encours IS NOT NULL THEN p_factures_lignes_c.montant_encours
ELSE 0::numeric
END AS montant_encours,
CASE
WHEN p_factures_lignes_c.montant_encours_0 IS NOT NULL THEN p_factures_lignes_c.montant_encours_0
ELSE 0::numeric
END AS montant_encours_0,
CASE
WHEN p_factures_lignes_c.montant_encours_1 IS NOT NULL THEN p_factures_lignes_c.montant_encours_1
ELSE 0::numeric
END AS montant_encours_1,
CASE
WHEN p_factures_lignes_c.montant_encours_2 IS NOT NULL THEN p_factures_lignes_c.montant_encours_2
ELSE 0::numeric
END AS montant_encours_2,
CASE
WHEN p_factures_lignes_c.montant_encours_22 IS NOT NULL THEN p_factures_lignes_c.montant_encours_22
ELSE 0::numeric
END AS montant_encours_22,
0 AS no_oid,
0 AS no_nb_lits
FROM activite.p_factures_lignes_c
JOIN activite.p_factures ON p_factures_lignes_c.no_facture = p_factures.no_facture
JOIN activite.p_sejours ON p_factures.no_sejour = p_sejours.no_sejour
JOIN activite.t_ghs_c ON p_sejours.ghs_id = t_ghs_c.ghs_id
JOIN activite.t_ghm_c ON p_sejours.ghm_id = t_ghm_c.ghm_id
JOIN activite.t_medecins_administratifs_c ON p_sejours.medecin_sejour_id = t_medecins_administratifs_c.oid
JOIN activite.t_lieux_c ON p_factures_lignes_c.lieu_id = t_lieux_c.oid
JOIN activite.t_rubriques_facturation ON p_factures_lignes_c.rubrique_facturation_id = t_rubriques_facturation.oid
JOIN activite.t_rubriques_facturation t_rubriques_facturation_c ON p_factures_lignes_c.rubrique_comptabilisation_id = t_rubriques_facturation_c.oid
JOIN activite.t_prestations ON p_factures_lignes_c.prestation_id = t_prestations.oid;