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.
 
 

228 lines
16 KiB

<?xml version="1.0" encoding="ISO-8859-15"?>
<VUE name="PMSI000025" label="PMSI. Prestations" title="= 'Prestations par ' + SELECT.GROUPBY_LABEL + ' (' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL + ') - ' + SELECT.VERSION_GROUPAGE_LABEL" database="iCTI" swf="*CTI_view1" softCode="iCTI_pmsi" globals="PMSI_globals.XML" componentsFile="PMSI_components.XML" helpDokuWIkiDir="pmsi:sejour_analyse_detaillee:prestations" helpDokuWIkiFile="pmsi000025" helpFile="iCTI_PMSI_PMSI000025.HTML">
<VIEWPROPERTIES componentName="PROPERTIES_PRESTATIONS" />
<VIEWPROPERTIES componentName="PROPERTIES_SELECT_TABTREE" />
<VIEWPROPERTIES>
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value" />
<PROPERTY name="SORTBY">
<value><![CDATA[[EVAL
if ('[GROUPBY_2]' != '-1' && '[GROUPBY]' != '-1' && '[GROUPBY_TAB]' != 'TAB') {
return 'ORDER BY 2,5,7';
}
else {
return 'ORDER BY 14 DESC,5,7';
}
EVAL]]]></value>
</PROPERTY>
<PROPERTY name="GHSASSOS">
<value><![CDATA[[EVAL
if ('[GROUPBY_2]' == 'GHSASSOS' || '[GROUPBY]' == 'GHSASSOS' ) {
return
'
AND v_rss_1.ghs_code <> v_rsf_detail_1.ghs_code
AND v_rsf_detail_1.ghs_code <> '0'::text
';
}
EVAL]]]></value>
</PROPERTY>
</VIEWPROPERTIES>
<SELECTIONS label="Paramètres de l'analyse">
<GROUP label="Période">
<FIELD name="ALIAS_PERIODE" label="" UI="combo" width="220" default="CUM_LAST_MONTH" tree="true" globalListProvider="ALIAS_PERIODE" />
<FIELD name="PERIODE" label="de" UI="combo" tree="true" width="200" default="2014-01-01" printable="false" globalListProvider="DATE_DEBUT" />
<FIELD name="TOPERIODE" label="à" UI="combo" tree="true" width="200" default="2014-12-31" printable="false" globalListProvider="DATE_FIN" />
</GROUP>
<GROUP label="Regroupements">
<FIELD name="GROUPBY" width="220" label="" UI="combo" default="PRESTA" tree="true">
<OPTION label="Options" data="" globalListProvider="PRESTATIONS_GROUPBY_OPTIONS" />
</FIELD>
<FIELD name="GROUPBY_TAB" width="100" label="Présentation" UI="combo" default="AUTO" visible="= SELECT.GROUPBY_2 != '-1' ">
<OPTION label="Automatique" data="AUTO" />
<OPTION label="Arbre" data="TREE" />
<OPTION label="Onglet" data="TAB" />
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="GROUPBY_2" width="220" label="" UI="combo" default="-1" tree="true">
<OPTION label="Pas de second niveau" data="-1" />
<OPTION label="Options" data="" globalListProvider="PRESTATIONS_GROUPBY_OPTIONS" />
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="GROUPBY_3" width="220" label="" UI="combo" default="-1" tree="true">
<OPTION label="Pas de troisième niveau" data="-1" />
<OPTION label="Options" data="" globalListProvider="PRESTATIONS_GROUPBY_OPTIONS" />
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_PRESTATIONS_SELECTIONS" />
<SELECTIONS componentName="FILTRES_PRESTATION_SOUSSELECTIONS" />
<SELECTIONS componentName="FILTRES_RSS_SELECTIONS" />
<QUERIES>
<QUERY label="">
<SQL optimizer="V_RSS_X" cacheEnabled="true">
<select><![CDATA[
CTISELECT_TREE
GROUPBY1{[VIEW.SELECT_TABTREE_OID_FIELD],, [VIEW.SELECT_TABTREE_COD_FIELD],, [VIEW.SELECT_TABTREE_TXT_FIELD]}
GROUPBY1MODE{[GROUPBY_TAB]}
GROUPBY2{[VIEW.SELECT_TABTREE_2_OID_FIELD],, [VIEW.SELECT_TABTREE_2_COD_FIELD],, [VIEW.SELECT_TABTREE_2_TXT_FIELD]}
GROUPBY3{[VIEW.SELECT_TABTREE_3_OID_FIELD],, [VIEW.SELECT_TABTREE_3_COD_FIELD],, [VIEW.SELECT_TABTREE_3_TXT_FIELD]}
SIGNIFDATA{[VIEW.SELECT_TABTREE_ACTIVITE_SIGNIFICATIVE_DATA],, [ACTIVITE_SIGNIFICATIVE_MODE],, [ACTIVITE_SIGNIFICATIVE_NUMBER]}
INDICATORS{
count(DISTINCT v_rss_1.patient_id),,
count(DISTINCT v_rss_1.rss_id),,
sum(nombre_coefficient),,
sum(v_rsf_detail_1.base_remboursement),,
sum(v_rsf_detail_1.base_remboursement_sauf_transition),,
sum(case when v_rss_1.traitement_epmsi IN ('30','32','33') THEN v_rsf_detail_1.sejour_remboursable ELSE 0 END),,
count(DISTINCT case when v_rss_1.traitement_epmsi IN ('21','22','23','24','25','26') then v_rss_1.rss_id ELSE NULL END),,
sum(case when v_rss_1.traitement_epmsi IN ('21','22','23','24','25','26') then v_rsf_detail_1.base_remboursement_sauf_transition ELSE NULL END),,
count(DISTINCT case when v_rss_1.traitement_epmsi IN ('30','31','32','33') then v_rss_1.rss_id ELSE NULL END),,
sum(case when v_rss_1.traitement_epmsi IN ('30','31','32','33') then v_rsf_detail_1.base_remboursement_sauf_transition ELSE NULL END),,
sum(case when v_rss_1.traitement_epmsi IN ('31') THEN v_rsf_detail_1.sejour_remboursable ELSE 0 END),,
sum(case when v_rss_1.traitement_epmsi IN ('30','31','32','33') THEN v_rsf_detail_1.sejour_remboursable ELSE 0 END),,
sum(case when v_rss_1.traitement_epmsi IN ('30','31','32','33') AND fides_detail IS DISTINCT FROM 1 THEN v_rsf_detail_1.sejour_remboursable ELSE 0 END),,
sum(case when v_rss_1.traitement_epmsi IN ('30','31','32','33') AND fides_detail = 1 THEN v_rsf_detail_1.sejour_remboursable ELSE 0 END),,
}
ORDERBY{indicateurs[4],, DESC}
FROM #V_RSS_X#
JOIN pmsi.v_rsf_detail_1 ON v_rss_1.rss_id = v_rsf_detail_1.rss_id
WHERE
date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
[VIEW.PRESTATION_SELECT]
[VIEW.FILTRE_RSS_SELECT]
[VIEW.GHSASSOS]
]]></select>
<FIELDS>
<INSERT name="CTISELECT_TREE_FIELDS"/>
<FIELD name="SORT" />
<FIELD name="NB_PAT" />
<FIELD name="NB_RSA" />
<FIELD name="NB" />
<FIELD name="MF" />
<FIELD name="MFHT" />
<FIELD name="MRAMO" />
<FIELD name="NSEJNVAL" />
<FIELD name="MTNVAL" />
<FIELD name="SEJVAL" />
<FIELD name="MTVAL" />
<FIELD name="MRAME" />
<FIELD name="MRTOT" />
<FIELD name="MRTOTNFID" />
<FIELD name="MRTOTFID" />
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL>
<select><![CDATA[
SELECT 'X_PERIODE_D', greatest(to_date(to_char('[PERIODE]'::date - INTERVAL '1 year', 'YYYY-MM-DD'), 'YYYY-MM-DD'), (SELECT min(date_debut) FROM pmsi.p_imports))::text
UNION ALL
SELECT 'X_TOPERIODE_D', greatest(to_date(to_char('[TOPERIODE]'::date - INTERVAL '1 year', 'YYYY-MM-DD'), 'YYYY-MM-DD'), (SELECT min(date_debut) FROM pmsi.p_imports))::text
UNION ALL
SELECT 'X_PERIODE', greatest(to_date(to_char('[PERIODE]'::date - INTERVAL '3 year', 'YYYY-MM-DD'), 'YYYY-MM-DD'), (SELECT min(date_debut) FROM pmsi.p_imports))::text
]]></select>
<FIELDS>
<FIELD name="name" />
<FIELD name="value" />
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Comparatif" shortLabel="Comparatif" view="PMSI000028.XML" enabled="true" rowContext="false" buttonType="COMPARATIF">
<ARG name="PERIODE_D" value="return VIEW.X_PERIODE_D;" />
<ARG name="TOPERIODE_D" value="return VIEW.X_TOPERIODE_D;" />
<ARG name="DATA" value="'BR'" />
</VIEWLINK>
<VIEWLINK label="Evolution" shortLabel="Evolution" view="PMSI000027.XML" enabled="true" rowContext="false" componentName="PERIODICITE_VIEWLINK" buttonType="EVOLUTION">
<ARG name="DATA" value="'1'" />
</VIEWLINK>
<VIEWLINK label="Analyse croisée" shortLabel="Analyse croisée" view="PMSI000221.XML" enabled="true" rowContext="false" buttonType="ANALYSE_CROISEE">
<ARG name="ALIAS_PERIODE" value="'-1'" />
<ARG name="PERIODE" value="return VIEW.X_PERIODE;" />
<ARG name="DATA" value="'1'" />
<ARG name="COLUMNBY" value="'MSOR'" />
<ARG name="GROUPBY" value="'ASOR'" />
<ARG name="GROUPBY_2" value="if (SELECT.GROUPBY == 'ASOR') {return 'GHM';} else {return SELECT.GROUPBY;}" />
<ARG name="GROUPBY_TAB" value="'TAB'" />
<ARG name="COLUMNBYCOUNT" value="'12'" />
</VIEWLINK>
<VIEWLINK label="Justificatif Prestations par RSS" shortLabel="Liste Prestations" view="PMSI000026.XML" componentName="RSS_BASE_VIEWLINK" component2Name="PRESTATION_VIEWLINK" component3Name="" />
<VIEWLINK label="Liste des RSS" shortLabel="Liste RSS" view="PMSI000005.XML" componentName="RSS_BASE_VIEWLINK" component2Name="RSS_OTHERS_VIEWLINK" component3Name="" />
</VIEWLINKS>
<ONGLET excelLabel="Analyse prestations" label="Analyse prestations" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
<CHART title="" type="group" subType="h" percentHeight="100">
<CHART title="Nombre de prestations" type="pieChart" subType="" maxItems="10" maxItemsSortOn="NB" maxItemsSortSeq="D" sortField="NB" sortSeq="D" condition="ROW.LVL == '1'">
<CATEGORY field="CODTXT" type="Char" />
<SERIE field="NB" displayName="Nombre" />
</CHART>
<CHART title="Montant des prestations" type="columnChart" subType="" maxItems="10" maxItemsSortOn="MF" maxItemsSortSeq="D" sortField="MF" sortSeq="D" condition="ROW.LVL == '1'">
<CATEGORY field="CODTXT" type="Char" />
<SERIE field="MF" displayName="Montant" />
</CHART>
</CHART>
<DATAGRID title="" total="true" showOthers="true" key="COD" headerHeight="54" selectRowInRows="= ROW.OID == '-9999997'" otherRowInRows="= ROW.OID == '-9999998'" totalRowInRows="= ROW.OID == '-9999999'" sortable="= (SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_3 == '-1' || SELECT.GROUPBY_TAB == 'TAB')">
<INSERT name="DATAGRID_MULTITAB_STYLES"/>
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="COD" width="70" type="Char" visible="true" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text">
<INSERT name="COLUMN_COD_MULTITAB_STYLES"/>
</COLUMN>
<COLUMN dataField="TXT" type="Char" minWidth="150" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" totalComplement="TOTAL" otherFunction="text" otherComplement="Autres">
</COLUMN><COLUMN dataField="TXT2" type="Date" visibleCondition="SELECT.GROUPBY == '11'" minWidth="200" maxWidth="300" inputFormat="AAAAMM" outputFormat="MMMM YY" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" totalComplement="TOTAL" otherFunction="text" otherComplement="Autres" calc="true">
<CALC formula="ROW.COD" />
</COLUMN>
<COLUMN dataField="CODTXT" type="Char" visible="false" totalFunction="text" otherFunction="text" calc="true">
<CALC formula="if (SELECT.GROUPBY == '11') {return ROW.TXT2}
return ROW.COD + ' ' + ROW.TXT.toString().substr(0,20)" />
</COLUMN>
<COLUMN dataField="NB_PAT" width="65" type="Number" outputFormat="#" currency="" currencyAlign="right" headerText="Patients" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Nombre de patients différents" />
<COLUMN dataField="NB_RSA" width="60" type="Number" outputFormat="#" currency="" currencyAlign="right" headerText="Séjours" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Nombre de séjours différents. Tous les séjours de la CMD 28, même multi-séances, comptent pour 1" />
<COLUMN dataField="NB" width="85" type="Number" visibleCondition="SELECT.GROUPBY == 'PRESTA' || SELECT.GROUPBY == 'GHS' || SELECT.GROUPBY.substr(0,6) == 'PRECLS' || SELECT.GROUPBY_2 == 'PRESTA' || SELECT.GROUPBY_2 == 'GHS' || SELECT.GROUPBY_2.substr(0,6) == 'PRECLS' || SELECT.PRESTATION != '-1' || SELECT.GROUPBY == 'GHSASSOS' || SELECT.GROUPBY_2 == 'GHSASSOS' " outputFormat="#,0" headerText="Prestations" textAlign="right" totalFunction="sum" otherFunction=""
description="Quantité de prestations : Nombre x Coefficient" />
<COLUMN dataField="MFHT" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant facturé (BR)&#xD;Hors coefficient" textAlign="right" totalFunction="sum" otherFunction=""
description="Somme des bases de remboursement hors coefficient prudentiel et coefficient de transisition" />
<COLUMN dataField="MF" width="100" type="Number" outputFormat="#E" headerText="Montant facturé (BR)" textAlign="right" totalFunction="sum" otherFunction=""
description="Somme des bases de remboursement" />
<COLUMN dataField="MFP" type="Number" headerText="% / Total" width="50" outputFormat="0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
description="Poids des bases de remboursement du critère de regroupement dans le Total des bases de remboursement">
<CALC formula="ROW.MF / TOTALROW.MF * 100" />
</COLUMN>
<COLUMN dataField="PUM" width="80" type="Number" outputFormat="#,00E" visibleCondition="SELECT.GROUPBY == 'PRESTA' || SELECT.GROUPBY_2 == 'PRESTA' || SELECT.PRESTATION != '-1' || SELECT.GROUPBY == 'GHSASSOS' || SELECT.GROUPBY_2 == 'GHSASSOS' " headerText="P.U. Moyen" textAlign="right" totalFunction="calc" otherFunction="" calc="true"
description="Prix unitaire moyen : rapport entre les colonnes &lt;b&gt;Montant facturé (BR)&lt;/b&gt; et &lt;b&gt;Prestations&lt;/b&gt;">
<CALC formula="ROW.MF / ROW.NB" />
</COLUMN>
<COLUMN dataField="NSEJNVAL" width="60" type="Number" outputFormat="#" currency="" currencyAlign="right" headerText="Séjours non valorisés" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Nombre de séjours différents. transmis non valorisés" />
<COLUMN dataField="MTNVAL" width="80" type="Number" outputFormat="#E" currency="" currencyAlign="right" headerText="Mt non valorisés" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Nombre de séjours différents. transmis non valorisés" />
<COLUMN dataField="SEJVAL" width="60" type="Number" outputFormat="#" currency="" currencyAlign="right" headerText="Séjours valorisés" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Nombre de séjours différents. transmis valorisés" />
<COLUMN dataField="MTVAL" width="80" type="Number" outputFormat="#E" currency="" currencyAlign="right" headerText="Mt valorisés" textAlign="right" totalFunction="sum" otherFunction="sum"
description="Montant de séjours différents. transmis valorisés" />
<COLUMN dataField="MRAMO" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant remboursé hors AME" textAlign="right" totalFunction="sum" otherFunction=""
description="Montant remboursé par l'assurance maladie" />
<COLUMN dataField="MRAME" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant remboursé AME" textAlign="right" totalFunction="sum" otherFunction=""
description="Montant remboursé par l'AME" />
<COLUMN dataField="MRTOT" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant remboursé Total" textAlign="right" totalFunction="sum" otherFunction=""
description="Montant remboursé total" />
<COLUMN dataField="MRTOTNFID" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant remboursé@LF@Hors FIDES" textAlign="right" totalFunction="sum" otherFunction=""
description="Montant remboursé total Hors FIDES" />
<COLUMN dataField="MRTOTFID" width="110" visibleCondition="ENV.TYPEETS == '2' || ENV.TYPEETS == '3'" type="Number" outputFormat="#E" headerText="Montant remboursé@LF@FIDES" textAlign="right" totalFunction="sum" otherFunction=""
description="Montant remboursé total FIDES" />
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>