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.
 
 

278 lines
15 KiB

<?xml version="1.0" encoding="ISO-8859-1"?>
<VUE name="PMSI000226" label="PMSI. Comparaison Sévérités FG11" title="= 'Comparaison Sévérités FG11 par ' + SELECT.GROUPBY_LABEL + ' (' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL + ' vs ' + SELECT.PERIODE_D_LABEL + ' à ' + SELECT.TOPERIODE_D_LABEL + ') - ' + SELECT.VERSION_GROUPAGE_LABEL" database="iCTI" swf="*CTI_view1" softCode="iCTI_pmsi" globals="PMSI_globals.XML" componentsFile="PMSI_components.XML" helpDokuWIkiDir="pmsi:sejours_analyse_globale:severites" helpDokuWIkiFile="pmsi000141" helpFile="iCTI_PMSI_PMSI000226.HTML">
<VIEWPROPERTIES componentName="PROPERTIES_RSS" />
<VIEWPROPERTIES componentName="PROPERTIES_SEVERITES" />
<VIEWPROPERTIES componentName="PROPERTIES_SELECT_TABTREE" />
<VIEWPROPERTIES>
<PROPERTY name="DATAFUNC">
<value><![CDATA[[EVAL
// <?php
function PMSI000226_calcSQL($data) {
// Pas de donnée sélectionnée, on renvoie des valeurs à zéro
if ($data == '0' || strlen($data) < 4) {
return '0, 0';
}
$sumCaseWhen = "sum(CASE WHEN severite_ghm_code = '%s' %s AND date_sortie BETWEEN @date_debut@ AND @date_fin@ THEN 1 ELSE 0 END)";
$periodeDebut = '\'[PERIODE]\'::date';
$periodeFin = '\'[TOPERIODE]\'::date';
$periodePrecDebut = '\'[PERIODE_D]\'::date';
$periodePrecFin = '\'[TOPERIODE_D]\'::date';
// On profite du fait que toutes les variables soient sous la forme SV[X][Y]
// où [X] est la sévérité et [Y] un filtre sur la durée de séjour
$sev = substr($data, 2, 1);
$dur = substr($data, 3, 1);
if ($dur == '2') {
$tmp0 = "AND duree_sejour >= 2";
}
elseif ($dur == '1') {
$tmp0 = "AND duree_sejour < 2";
}
else {
$tmp0 = "";
}
$tmp = sprintf($sumCaseWhen, $sev, $tmp0);
$toReplace = array(
'@date_debut@',
'@date_fin@'
);
$curPeriod = array(
$periodeDebut,
$periodeFin
);
$prevPeriod = array(
$periodePrecDebut,
$periodePrecFin
);
return str_replace($toReplace, $curPeriod, $tmp) . ', ' . str_replace($toReplace, $prevPeriod, $tmp);
}
// ?>
EVAL]]]></value>
</PROPERTY>
<PROPERTY name="DATASQL">
<value><![CDATA[[EVAL
// <?php
return
PMSI000226_calcSQL('[DATA1]') . ', 0, 0, ' . PHP_EOL .
PMSI000226_calcSQL('[DATA2]') . ', 0, 0, ' . PHP_EOL .
PMSI000226_calcSQL('[DATA3]') . ', 0, 0, ' . PHP_EOL .
PMSI000226_calcSQL('1');
// ?>
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="Période" 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="Période précédente">
<FIELD name="PERIODE_D" label="" UI="combo" tree="true" width="250" default="2014-01-01" printable="false" globalListProvider="DATE_DEBUT" />
<FIELD name="TOPERIODE_D" label="à" UI="combo" tree="true" width="250" default="2014-12-31" printable="false" globalListProvider="DATE_FIN" />
</GROUP>
<GROUP label="Données">
<FIELD name="DATA1" UI="combo" tree="true" default="SV20" width="300" printable="false">
<OPTION label="Options" data="" globalListProvider="DATA_SEVERITES" />
</FIELD>
</GROUP>
<GROUP>
<FIELD name="DATA2" UI="combo" tree="true" default="0" width="300" printable="false">
<OPTION label="" data="0" data2="0"/>
<OPTION label="Options" data="" globalListProvider="DATA_SEVERITES" />
</FIELD>
</GROUP>
<GROUP>
<FIELD name="DATA3" UI="combo" tree="true" default="0" width="300" printable="false">
<OPTION label="" data="0" data2="0"/>
<OPTION label="Options" data="" globalListProvider="DATA_SEVERITES" />
</FIELD>
</GROUP>
<GROUP label="Regroupements">
<FIELD name="GROUPBY" width="300" label="" UI="combo" default="GHMSEV" tree="true">
<OPTION label="Options" data="" globalListProvider="RSS_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="300" label="" UI="combo" default="-1" tree="true">
<OPTION label="Pas de second niveau" data="-1" />
<OPTION label="Options" data="" globalListProvider="RSS_GROUPBY_OPTIONS" />
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="GROUPBY_3" width="300" label="" UI="combo" default="-1" tree="true">
<OPTION label="Pas de troisième niveau" data="-1" />
<OPTION label="Options" data="" globalListProvider="RSS_GROUPBY_OPTIONS" />
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_RSS_SOUSSELECTIONS" />
<SELECTIONS componentName="FILTRES_RSS_SELECTIONS" />
<QUERIES>
<QUERY label="">
<SQL optimizer="V_RSS_X">
<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]}
OPTIONS{NOTZERO=1}
ORDERBY{[VIEW.DATA1],, DESC}
INDICATORS{
[VIEW.DATASQL]
}
FROM
#V_RSS_X#
WHERE 1=1
AND (
mois_sortie IN ([VIEW.PERIODE_D_MOIS_LIST]) AND date_sortie BETWEEN '[PERIODE_D]' AND '[TOPERIODE_D]'
OR
mois_sortie IN ([VIEW.PERIODE_MOIS_LIST]) AND date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
)
[VIEW.FILTRE_RSS_SELECT]
AFTER{
UPDATE w_table SET
indicateurs[3] = indicateurs[1] - indicateurs[2],
indicateurs[4] = CASE
WHEN indicateurs[1] > 0 AND indicateurs[2] > 0 THEN base.cti_division(indicateurs[1] - indicateurs[2], indicateurs[2]) * 100
ELSE 0 END,
indicateurs[7] = indicateurs[5] - indicateurs[6],
indicateurs[8] = CASE
WHEN indicateurs[5] > 0 AND indicateurs[6] > 0 THEN base.cti_division(indicateurs[5] - indicateurs[6], indicateurs[6]) * 100
ELSE 0 END,
indicateurs[11] = indicateurs[9] - indicateurs[10],
indicateurs[12] = CASE
WHEN indicateurs[9] > 0 AND indicateurs[10] > 0 THEN base.cti_division(indicateurs[9] - indicateurs[10], indicateurs[10]) * 100
ELSE 0 END
}
]]></select>
<FIELDS>
<INSERT name="CTISELECT_TREE_FIELDS" />
<FIELD name="SORT" />
<!-- Première donnée -->
<FIELD name="D1_NOW" />
<FIELD name="D1_OLD" />
<FIELD name="D1_ECA" />
<FIELD name="D1_PCT" />
<!-- Deuxième donnée -->
<FIELD name="D2_NOW" />
<FIELD name="D2_OLD" />
<FIELD name="D2_ECA" />
<FIELD name="D2_PCT" />
<!-- Troisième donnée -->
<FIELD name="D3_NOW" />
<FIELD name="D3_OLD" />
<FIELD name="D3_ECA" />
<FIELD name="D3_PCT" />
<!-- Premier graphique (Nombre de séjours)
<FIELD name="NB_NOW" />
<FIELD name="NB_OLD" />-->
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Liste des RSS" shortLabel="Liste RSS" view="PMSI000005.XML" componentName="RSS_BASE_VIEWLINK" component2Name="DATE_COMP_2_VIEWLINK">
<ARG name="T_DUREE_SEJOUR">
<value><![CDATA[
var col:String = String(COLUMN.NAME).substr(0,2);
var dt1:String = String(SELECT.DATA1).substr(3,1);
var dt2:String = String(SELECT.DATA2).substr(3,1);
var dt3:String = String(SELECT.DATA3).substr(3,1);
if (col == 'D1' && dt1 == '0' || col == 'D2' && dt2 == '0' || col == 'D3' && dt3 == '0') {return '-1';}
else if (col == 'D1' && dt1 == '1' || col == 'D2' && dt2 == '1' || col == 'D3' && dt3 == '1') {return '01';}
else if (col == 'D1' && dt1 == '2' || col == 'D2' && dt2 == '2' || col == 'D3' && dt3 == '2') {return '1X';}
else {return '0';}
]]></value>
</ARG>
<ARG name="GHMSEV">
<value><![CDATA[
var col:String = String(COLUMN.NAME).substr(0,2);
if (col == 'D1') {return SELECT.DATA1.substr(0,3);}
else if (col == 'D2') {return SELECT.DATA2.substr(0,3);}
else if (col == 'D3') {return SELECT.DATA3.substr(0,3);}
]]></value>
</ARG>
</VIEWLINK>
</VIEWLINKS>
<ONGLET excelLabel="Comparaison sévérités" label="Comparaison sévérités" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
<CHART title="Nombre pour les 12 premiers" type="columnChart" maxItems="12" maxItemsSortOn="D1_NOW" maxItemsSortSeq="D" sortField="CODTXT" sortSeq="A" condition="ROW.LVL == '1'">
<CATEGORY field="CODTXT" type="Char" />
<SERIE field="D1_OLD" displayName="'Nb ' + SELECT.PERIODE_D_LABEL + '-' + SELECT.TOPERIODE_D_LABEL" displayNameCalc="true" />
<SERIE field="D1_NOW" displayName="'Nb ' + SELECT.PERIODE_LABEL + '-' + SELECT.TOPERIODE_LABEL" displayNameCalc="true" />
</CHART>
<DATAGRID title="" total="true" showOthers="true" headerHeight="54" variableRowHeight="true" selectRowInRows="= ROW.OID == '-9999997'" otherRowInRows="= ROW.OID == '-9999998'" totalRowInRows="= ROW.OID == '-9999999'"
sortable="= SELECT.GROUPBY_3 == '-1' || SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_TAB == 'TAB'">
<INSERT name="DATAGRID_MULTITAB_STYLES"/>
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid" />
<COLUMN dataField="COD" width="55" type="Char" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" totalComplement="TOTAL">
<INSERT name="COLUMN_COD_MULTITAB_STYLES"/>
</COLUMN>
<COLUMN dataField="TXT" type="Char" minWidth="200" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" otherFunction="text" otherComplement="Autres" >
</COLUMN>
<COLUMN dataField="CODTXT" type="Char" minWidth="200" visible="false" totalFunction="text" otherFunction="text" calc="true">
<CALC formula="ROW.COD + ' ' + ROW.TXT.toString().substr(0,10)" />
</COLUMN>
<COLUMN dataField="D1_OLD" type="Number" width="80" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_D_LABEL + '\n' + SELECT.TOPERIODE_D_LABEL + '\n' + SELECT.DATA12" headerTextCalc="true" />
<COLUMN dataField="D1_NOW" type="Number" width="80" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_LABEL + '\n' + SELECT.TOPERIODE_LABEL + '\n' + SELECT.DATA12" headerTextCalc="true" />
<COLUMN dataField="D1_ECA" type="Number" width="80" outputFormat="#" headerText="Ecart">
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA14 == 'P' &amp;&amp; ROW.D1_NOW &lt; ROW.D1_OLD) || (SELECT.DATA14 == 'N' &amp;&amp; ROW.D1_NOW &gt; ROW.D1_OLD)" />
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA14 == 'P' &amp;&amp; ROW.D1_NOW &gt; ROW.D1_OLD) || (SELECT.DATA14 == 'N' &amp;&amp; ROW.D1_NOW &lt; ROW.D1_OLD)" />
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.D1_NOW != null &amp;&amp; ROW.D1_OLD != null &amp;&amp; ROW.D1_NOW == ROW.D1_OLD" />
</COLUMN>
<COLUMN dataField="D1_PCT" type="Number" width="45" outputFormat="= if (ROW.D1_OLD != 0) {return '0%'} else {return '#'}" headerText="% évol." />
<COLUMN dataField="D2_OLD" type="Number" width="80" visibleCondition="SELECT.DATA2 != '0'" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_D_LABEL + '\n' + SELECT.TOPERIODE_D_LABEL + '\n' + SELECT.DATA22" headerTextCalc="true" />
<COLUMN dataField="D2_NOW" type="Number" width="80" visibleCondition="SELECT.DATA2 != '0'" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_LABEL + '\n' + SELECT.TOPERIODE_LABEL + '\n' + SELECT.DATA22" headerTextCalc="true" />
<COLUMN dataField="D2_ECA" type="Number" width="80" visibleCondition="SELECT.DATA2 != '0'" outputFormat="#" headerText="Ecart">
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA24 == 'P' &amp;&amp; ROW.D2_NOW &lt; ROW.D2_OLD) || (SELECT.DATA24 == 'N' &amp;&amp; ROW.D2_NOW &gt; ROW.D2_OLD)" />
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA24 == 'P' &amp;&amp; ROW.D2_NOW &gt; ROW.D2_OLD) || (SELECT.DATA24 == 'N' &amp;&amp; ROW.D2_NOW &lt; ROW.D2_OLD)" />
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.D2_NOW != null &amp;&amp; ROW.D2_OLD != null &amp;&amp; ROW.D2_NOW == ROW.D2_OLD" />
</COLUMN>
<COLUMN dataField="D2_PCT" type="Number" width="45" visibleCondition="SELECT.DATA2 != '0'" outputFormat="= if (ROW.D2_OLD != 0) {return '0%'} else {return '#'}" headerText="% évol." />
<COLUMN dataField="D3_OLD" type="Number" width="80" visibleCondition="SELECT.DATA3 != '0'" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_D_LABEL + '\n' + SELECT.TOPERIODE_D_LABEL + '\n' + SELECT.DATA32" headerTextCalc="true" />
<COLUMN dataField="D3_NOW" type="Number" width="80" visibleCondition="SELECT.DATA3 != '0'" outputFormat="#" selectable="true" headerText="SELECT.PERIODE_LABEL + '\n' + SELECT.TOPERIODE_LABEL + '\n' + SELECT.DATA32" headerTextCalc="true" />
<COLUMN dataField="D3_ECA" type="Number" width="80" visibleCondition="SELECT.DATA3 != '0'" outputFormat="#" headerText="Ecart">
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA34 == 'P' &amp;&amp; ROW.D3_NOW &lt; ROW.D3_OLD) || (SELECT.DATA34 == 'N' &amp;&amp; ROW.D3_NOW &gt; ROW.D3_OLD)" />
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA34 == 'P' &amp;&amp; ROW.D3_NOW &gt; ROW.D3_OLD) || (SELECT.DATA34 == 'N' &amp;&amp; ROW.D3_NOW &lt; ROW.D3_OLD)" />
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.D3_NOW != null &amp;&amp; ROW.D3_OLD != null &amp;&amp; ROW.D3_NOW == ROW.D3_OLD" />
</COLUMN>
<COLUMN dataField="D3_PCT" type="Number" width="45" visibleCondition="SELECT.DATA3 != '0'" outputFormat="= if (ROW.D3_OLD != 0) {return '0%'} else {return '#'}" headerText="% évol." />
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>