pour déploiement auto v2 via gitlab
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.
 
 

67 lines
3.7 KiB

src: |
SELECT p_rsf_detail.rss_id,
p_rsf_detail.finess,
p_rsf_detail.no_rss,
p_rsf_detail.nature,
p_rsf_detail.mt,
p_rsf_detail.dmt,
p_rsf_detail.date_debut,
p_rsf_detail.date_fin,
p_rsf_detail.nombre,
p_rsf_detail.coefficient,
p_rsf_detail.nombre * p_rsf_detail.coefficient AS nombre_coefficient,
p_rsf_detail.prix_unitaire,
p_rsf_detail.taux_remboursement,
p_rsf_detail.base_remboursement,
round((p_rsf_detail.prix_unitaire * p_rsf_detail.nombre * p_rsf_detail.coefficient + COALESCE(p_rsf_detail.montant_supplement_nf, 0::numeric)) * p_rsf_detail.coefficient_geo * p_rsf_detail.coefficient_pacte_resp, 2) AS base_remboursement_sauf_transition,
p_rsf_detail.sejour_remboursable,
(p_rsf_detail.prix_unitaire * p_rsf_detail.nombre * p_rsf_detail.coefficient + COALESCE(p_rsf_detail.montant_supplement_nf, 0::numeric)) * p_rsf_detail.coefficient_mco AS base_remboursement_sans_arrondi,
(p_rsf_detail.prix_unitaire * p_rsf_detail.nombre * p_rsf_detail.coefficient + COALESCE(p_rsf_detail.montant_supplement_nf, 0::numeric)) * p_rsf_detail.coefficient_geo * p_rsf_detail.coefficient_pacte_resp AS base_remboursement_sauf_transition_sans_arrondi,
(p_rsf_detail.prix_unitaire * p_rsf_detail.nombre * p_rsf_detail.coefficient + COALESCE(p_rsf_detail.montant_supplement_nf, 0::numeric)) * p_rsf_detail.coefficient_mco * p_rsf_detail.taux_remboursement / 100::numeric AS sejour_remboursable_sans_arrondi,
p_rsf_detail.sejour_facture,
CASE
WHEN t_prestations.compteur_rsf::text = '1'::text OR p_rsf_detail.ligne_t2a = '1'::bpchar THEN p_rsf_detail.sejour_facture
ELSE 0::numeric
END AS t2a_facture,
CASE
WHEN t_prestations.compteur_rsf::text = '3'::text THEN p_rsf_detail.sejour_facture
ELSE 0::numeric
END AS dmi_facture,
CASE
WHEN t_prestations.compteur_rsf::text = '7'::text THEN p_rsf_detail.sejour_facture
ELSE 0::numeric
END AS phc_facture,
p_rsf_detail.compteur,
p_rsf_detail.ligne_t2a,
p_rsf_detail.pec_fj,
p_rsf_detail.pec_fj_id,
t_pec_fj.code AS pec_fj_code,
t_pec_fj.texte AS pec_fj_texte,
p_rsf_detail.coefficient_mco,
p_rsf_detail.coefficient_geo,
p_rsf_detail.sejour_remboursable_2,
p_rsf_detail.ghs_id,
t_ghs.code_text AS ghs_code,
t_ghs.texte AS ghs_texte,
p_rsf_detail.sejour_rembourse_noemie,
p_rsf_detail.nature_noemie,
p_rsf_detail.prestation_id,
t_prestations.code AS prestation_code,
t_prestations.texte_court AS prestation_texte,
t_prestations.section_id AS prestation_section_id,
t_prestations.section_code AS prestation_section_code,
t_prestations.section_texte AS prestation_section_texte,
CASE
WHEN t_prestations.code::text = 'GHS'::text AND p_rsf_detail.coefficient < 1::numeric THEN 'EXB'::text
WHEN t_prestations.code::text = 'EXH'::text THEN 'EXH'::text
ELSE ''::text
END AS prestation_exb_exh,
CASE
WHEN p_rsf_detail.base_remboursement_sauf_transition_sauf_ame <> 0::numeric THEN p_rsf_detail.base_remboursement_sauf_transition_sauf_ame
ELSE round(p_rsf_detail.prix_unitaire * p_rsf_detail.nombre * p_rsf_detail.coefficient, 2)
END AS base_remboursement_sauf_transition_sauf_ame
FROM pmsi.p_rsf_detail
JOIN pmsi.t_prestations ON t_prestations.oid = p_rsf_detail.prestation_id
JOIN pmsi.t_ghs ON t_ghs.oid = p_rsf_detail.ghs_id
JOIN base.t_pec_fj ON t_pec_fj.oid = p_rsf_detail.pec_fj_id
WHERE p_rsf_detail.type = 'C'::bpchar AND p_rsf_detail.est_ligne_rss = '1'::bpchar;