<?xml version="1.0" encoding="ISO-8859-1"?>
<VUE name="PMSI000008" label="PMSI. Décomposition séjours" title="= 'Décomposition séjours 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:sejours_analyse_globale:rss:sejours_rss:" helpDokuWIkiFile="pmsi000008"  helpFile="iCTI_PMSI_PMSI000008.HTML">
    <VIEWPROPERTIES componentName="PROPERTIES_RSS" />
    <VIEWPROPERTIES componentName="PROPERTIES_SELECT_TABTREE" />
    <VIEWPROPERTIES>
        <PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value" />
        <PROPERTY name="ORDERBY">
            <value><![CDATA[[EVAL 
			
				if ('[GROUPBY_2]' != '-1' && '[GROUPBY]' != '-1' && '[GROUPBY_TAB]' != 'TAB') {
					return 'ORDER BY 5,4,7,6';
				}
				else {
					return 'ORDER BY 12,13 DESC,5,7';
				}
			EVAL]]]></value>
        </PROPERTY>
    </VIEWPROPERTIES>
    <SELECTIONS label="Paramètres de l'analyse" displayText="">
        <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="" 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="4" 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="220" 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="220" 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>
        <GROUP label="">
            <FIELD name="SHOWDMSREF" label="" width="1" UI="text" default="1" printable="false" visible="false" />
        </GROUP>
    </SELECTIONS>
    <SELECTIONS componentName="FILTRES_RSS_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{
                            sum(v_rss_1.nb_rsa) ,
							count(v_rss_1.rss_id),
							sum(duree_sejour),
							sum(nb_rsa_0n) ,
							sum(nb_rsa_1n),
							sum(nb_rsa_2n + nb_rsa_xn),
							sum(v_rss_1.nb_seances),
							sum(v_rss_1.age),
							count(distinct v_rss_1.ghm_id) ,
							
							base.cti_division(SUM(CASE WHEN cmd_code <> '28' THEN duree_sejour ELSE 0 END) , SUM(CASE WHEN cmd_code <> '28' THEN v_rss_1.nb_rsa ELSE 0 END)),
							
							base.cti_division(sum(case WHEN cmd_code &lt;&gt; '28' AND duree_sejour &gt; 0  then duree_sejour else 0 end) , sum(case WHEN cmd_code &lt;&gt; '28' AND duree_sejour &gt; 0 then v_rss_1.nb_rsa else 0 end)),
								
							base.cti_division(SUM(CASE WHEN cmd_code <> '28' THEN dms_nationale_ghs ELSE 0 END) , SUM(CASE WHEN cmd_code <> '28' THEN v_rss_1.nb_rsa ELSE 0 END)),
								
							base.cti_division(SUM(CASE WHEN cmd_code <> '28' THEN [VIEW.DMS_FIELD] ELSE 0 END) , SUM(CASE WHEN cmd_code <> '28' THEN v_rss_1.nb_rsa ELSE 0 END)),
							
							base.cti_division(sum(v_rss_1.age), count(v_rss_1.no_rss)) ,
							base.cti_division(sum(ghm_nat.age_prive), sum(ghm_nat.nb_rsa_prive)) ,
							base.cti_division(sum(ghm_nat.age_public), sum(ghm_nat.nb_rsa_public)) ,
							sum(CASE WHEN mode_sortie = '9' THEN v_rss_1.nb_rsa ELSE 0 END),
							100.0 * base.cti_division(sum(CASE WHEN mode_sortie = '9' THEN v_rss_1.nb_rsa ELSE 0 END), count(v_rss_1.no_rss)) ,
							100.0 * base.cti_division(sum(ghm_nat.nb_deces_prive), sum(ghm_nat.nb_rsa_prive)),
							100.0 * base.cti_division(sum(ghm_nat.nb_deces_public), sum(ghm_nat.nb_rsa_public)),
							sum(CASE WHEN duree_sejour = 0 AND cas_code = 'C' THEN v_rss_1.nb_rsa ELSE 0 END),
							100.0 * base.cti_division(sum(CASE WHEN duree_sejour = 0 AND cas_code = 'C' THEN v_rss_1.nb_rsa ELSE 0 END), sum(CASE WHEN cas_code = 'C' THEN v_rss_1.nb_rsa ELSE 0 END)),
							100.0 * base.cti_division(sum(ghm_nat.nb_0n_chir_prive), sum(ghm_nat.nb_chir_prive)),
							100.0 * base.cti_division(sum(ghm_nat.nb_0n_chir_public), sum(ghm_nat.nb_chir_public))							
						}
					ORDERBY{[VIEW.ORDERBY],, DESC}
                        FROM 
							#V_RSS_X#
						WHERE 
							mois_sortie IN ([VIEW.PERIODE_MOIS_LIST]) 
							AND date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
							[VIEW.FILTRE_RSS_SELECT]
					;
					
				]]></select>
                <FIELDS>
                    <INSERT name="CTISELECT_TREE_FIELDS"/>
                    <FIELD name="SORT" />
                    <FIELD name="NB_RSA" />
                    <FIELD name="DOSSIERS" />
                    <FIELD name="NB_J" />
                    <FIELD name="NB_RS0" />
                    <FIELD name="NB_RS1" />
                    <FIELD name="NB_RSX" />
                    <FIELD name="NB_SEA" />
                    <FIELD name="AGE" />
                    <FIELD name="NB_GHM" />
                    <FIELD name="DMSETS" />
                    <FIELD name="DMSHOSPI" />
                    <FIELD name="DMSGHS" />
                    <FIELD name="DMSREF" />
                    <FIELD name="AGE_MOYEN" />
                    <FIELD name="AGE_MOYEN_PRIVE" />
                    <FIELD name="AGE_MOYEN_PUBLIC" />
                    <FIELD name="NB_DECES" />
                    <FIELD name="TX_DECES" />
                    <FIELD name="TX_DECES_PRIVE" />
                    <FIELD name="TX_DECES_PUBLIC" />
                    <FIELD name="NB_0N_CHIR" />
                    <FIELD name="TX_0N_CHIR" />
                    <FIELD name="TX_0N_CHIR_PRIVE" />
                    <FIELD name="TX_0N_CHIR_PUBLIC" />
                </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
					UNION ALL
						SELECT 'BASE_NAT_YEAR', extract('year' FROM max(date_reference))::text FROM pmsi.t_indicateurs_atih where periode_type <> 'NOW'
				]]></select>
                <FIELDS>
                    <FIELD name="name" />
                    <FIELD name="value" />
                </FIELDS>
            </SQL>
        </QUERY>
    </QUERIES>
    <PRESENTATION>
        <VIEWLINKS>
            <VIEWLINK label="Comparatif" shortLabel="Comparatif" view="PMSI000035.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="TYPE_COMPARAISON" value="'2'" />
                <ARG name="DATA1" value="'1'" />
                <ARG name="DATA2" value="'7'" />
                <ARG name="DATA3" value="'2'" />
                <ARG name="DATA4" value="'3'" />
                <ARG name="DATA5" value="'3.3'" />
                <ARG name="DATA6" value="'0'" />
                <ARG name="DATA7" value="'0'" />
                <ARG name="DATA8" value="'0'" />
                <ARG name="DATA9" value="'0'" />
                <ARG name="DATA010" value="'0'" />
                <ARG name="DATA011" value="'0'" />
                <ARG name="DATA012" value="'0'" />
                <ARG name="DATA013" value="'0'" />
                <ARG name="DATA014" value="'0'" />
                <ARG name="DATA015" value="'0'" />
            </VIEWLINK>			
            <VIEWLINK label="Comparatif mensuel" shortLabel="Comp. Mensuel" view="PMSI000434.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="TYPE_COMPARAISON" value="'2'" />
                <ARG name="DATA1" value="'1'" />
                <ARG name="DATA2" value="'7'" />
                <ARG name="DATA3" value="'2'" />
            </VIEWLINK>
            <VIEWLINK label="Evolution comparative" shortLabel="Evol. comparative"  view="PMSI000435.XML"  rowContext="false" componentName=""  enabled="true" buttonType="VIEWLINK_EVO_COMP_1" >			
                <ARG name="PERIODE" value="return SELECT.TOPERIODE.substr(0,4)+'-01-01';"/>
                <ARG name="GROUPBY" value="return SELECT.GROUPBY;" />
                <ARG name="GROUPBY_2" value="return 'MSOR';" />
                <ARG name="DATA1" value="'1'" />
                <ARG name="DATA2" value="'7'" />
                <ARG name="DATA3" value="'2'" />
                <ARG name="DATA4" value="'3'" />
                <ARG name="DATA5" value="'3.3'" />
                <ARG name="DATA6" value="'0'" />
                <ARG name="DATA7" value="'0'" />
                <ARG name="DATA8" value="'0'" />
                <ARG name="DATA9" value="'0'" />
                <ARG name="DATA010" value="'0'" />
                <ARG name="DATA011" value="'0'" />
                <ARG name="DATA012" value="'0'" />
                <ARG name="DATA013" value="'0'" />
                <ARG name="DATA014" value="'0'" />
                <ARG name="DATA015" value="'0'" />
                <ARG name="GROUPBY_TAB" value="return 'TAB';" />
                <ARG name="TYPE_COMPARAISON" value="'2'" />
                <ARG name="LGROUPBY" value="return SELECT.GROUPBY;"/>
                <ARG name="LGROUPBY_2" value="return SELECT.GROUPBY_2;"/>
                <ARG name="LGROUPBY_3" value="return SELECT.GROUPBY_3;"/>
            </VIEWLINK>	
            <VIEWLINK label="Evolution" shortLabel="Evolution" view="PMSI000033.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="PMSI000214.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'" />
                <ARG name="LGROUPBY" value="return SELECT.GROUPBY;"/>
                <ARG name="LGROUPBY_2" value="return SELECT.GROUPBY_2;"/>
                <ARG name="LGROUPBY_3" value="return SELECT.GROUPBY_3;"/>
            </VIEWLINK>
            <VIEWLINK label="Analyse"  shortLabel="Analyse"  rowContext="false" buttonType="VIEWLINK_ANALYSE_MCO">			
                <VIEWITEM label="Analyse" shortLabel="Analyse" view="PMSI000008.XML" enabled="true" rowContext="false" buttonType="ANALYSE">
                    <ARG name="PERIODE" value="return VIEW.PERIODE;" />
                    <ARG name="TOPERIODE" value="return VIEW.TOPERIODE;" />
                    <ARG name="GROUPBY_TAB" value="'AUTO'" />
                </VIEWITEM>			
                <VIEWITEM label="CA" shortLabel="Analyse CA" view="PMSI000007.XML" enabled="true" rowContext="false" buttonType="ANALYSE">
                    <ARG name="PERIODE" value="return VIEW.PERIODE;" />
                    <ARG name="TOPERIODE" value="return VIEW.TOPERIODE;" />
                    <ARG name="GROUPBY_TAB" value="'AUTO'" />
                </VIEWITEM>                
                <VIEWITEM label="Analyse paramétrable" shortLabel="Analyse CA" view="PMSI000436.XML" enabled="true" rowContext="false" buttonType="ANALYSE">
                    <ARG name="PERIODE" value="return VIEW.PERIODE;" />
                    <ARG name="TOPERIODE" value="return VIEW.TOPERIODE;" />
                    <ARG name="GROUPBY_TAB" value="'AUTO'" />
                    <ARG name="LS_DATA" value="'-1'" />
                    <ARG name="DATA01" value="'7'" />
                    <ARG name="DATA02" value="'2'" />
                    <ARG name="DATA03" value="'3'" />
                    <ARG name="DATA04" value="'3.3'" />
                    <ARG name="DATA05" value="'0'" />
                    <ARG name="DATA06" value="'0'" />
                    <ARG name="DATA07" value="'0'" />
                    <ARG name="DATA08" value="'0'" />
                    <ARG name="DATA09" value="'0'" />
                    <ARG name="DATA010" value="'0'" />
                    <ARG name="DATA011" value="'0'" />
                    <ARG name="DATA012" value="'0'" />
                    <ARG name="DATA013" value="'0'" />
                    <ARG name="DATA014" value="'0'" />
                    <ARG name="DATA015" value="'0'" />
                </VIEWITEM>
            </VIEWLINK>	
            <VIEWLINK label="Liste des RSS" shortLabel="Liste RSS" view="PMSI000034.XML" componentName="RSS_BASE_VIEWLINK">
                <ARG name="T_DUREE_SEJOUR" value="	if (COLUMN.NAME == 'NB_RS0') {return 'DU0'}
													if (COLUMN.NAME == 'P_RS0') {return 'DU0'}
													if (COLUMN.NAME == 'NB_RS1') {return 'DU1'}
													if (COLUMN.NAME == 'P_RS1') {return 'DU1'}
													if (COLUMN.NAME == 'NB_RSX') {return '1X'}
													if (COLUMN.NAME == 'P_RSX') {return '1X'}
													if (COLUMN.NAME == 'NB_SEQ') {return 'S'}
													if (COLUMN.NAME == 'P_SEA') {return 'S'}" />
            </VIEWLINK>
        </VIEWLINKS>
        <ONGLET excelLabel="Décomposition séjours" label="Séjours" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
            <CHART title="" type="group" subType="h" percentHeight="100" fromTotal="true" maxItems="10" visibleCondition="SELECT.GROUPBY != 'AMSOR' &amp;&amp; SELECT.GROUPBY != 'MSOR'" >		
                <CHART title="Séjours" 
                               type="pieChart" 
                               maxItems="10" 
                               maxItemsSortOn="DOSSIERS" 
                               maxItemsSortSeq="D" 
                               sortField="DOSSIERS" 
                               sortSeq="D"
                               condition="ROW.LVL == '1'">
                    <CATEGORY field="TXT" type="Char"/>
                    <SERIE field="DOSSIERS" displayName="'C.A. Facturé'" displayNameCalc="true"/>
                </CHART>            
                <CHART title="Décomposition des plus fréquents" type="columnChart" subType="stacked" maxItems="10" sortField="NB_RSA" sortSeq="D" visibleCondition="SELECT.GROUPBY != 'AMSOR' &amp;&amp; SELECT.GROUPBY != 'MSOR'" condition="ROW.LVL == '1'">
                    <CATEGORY field="COD" type="Char" />
                    <SERIE field="NB_RS0" displayName="0 nuit" />
                    <SERIE field="NB_RS1" displayName="1 nuit" />
                    <SERIE field="NB_RSX" displayName="&gt; 1 nuit" />
                    <SERIE field="NB_SEA" displayName="Séances" />
                </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_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="DOSSIERS" width="60" type="Number" outputFormat="#" headerText="Séjours" textAlign="right" totalFunction="sum" otherFunction="sum" 
                                        description="Nombre de séjours. Pour les séjours de la CMD 28, on compte le nombre de RSA, peu importe le nombre de séances dans le RSA" />
                <COLUMN dataField="NB_RSA" width="60" type="Number" outputFormat="#" headerTextCalc="true" headerText="if (VIEW.NB_SEANCES != '0') {return 'Séjours dont séa.';} else {return 'Séjours';}" textAlign="right" totalFunction="sum" otherFunction="sum" visibleCondition="VIEW.NB_SEANCES != '0'"
                                        description="Nombre de séjours. Pour les séjours de la CMD 28, nombre de séances" />
                <COLUMN dataField="P_RSA" type="Number" headerText="% Séjours" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="= var p_rsa:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return 'Poids du nombre de séjours du critère de regroupement dans le nombre de séjours Total (colonne &lt;b&gt;' + p_rsa + '&lt;/b&gt;)'">
                    <CALC formula="ROW.NB_RSA / TOTALROW.NB_RSA * 100" />
                </COLUMN>
                <COLUMN dataField="NB_J" width="65" type="Number" outputFormat="#" selectable="false" headerText="Journées Hospit." textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Somme des durées de séjour (date de fin du RSS - date de début du RSS)" />
                <COLUMN dataField="P_J" type="Number" headerText="% / Total" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="Poids des journées hospitalisées du critère de regroupement dans le nombre de journées hospitalisées Total">
                    <CALC formula="ROW.NB_J / TOTALROW.NB_J * 100" />
                </COLUMN>
                <COLUMN dataField="NB_RS0" width="70" type="Number" outputFormat="#" selectable="true" headerText="0 nuit" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours hors CMD 28 dont la durée est 0 jour" />
                <COLUMN dataField="P_RS0" type="Number" headerText="% 0 nuit" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="= var p_rs0:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return 'Part du nombre de séjours sans nuitée dans le nombre de séjours : rapport entre les colonnes &lt;b&gt;0 nuit&lt;/b&gt; et &lt;b&gt;' + p_rs0 + '&lt;/b&gt; multiplié par 100'">
                    <CALC dataField="NB_RS0" />
                    <CALC dataField="NB_RSA" operator="/" />
                    <CALC dataField="*constant" value="100" operator="*" />
                </COLUMN>
                <COLUMN dataField="NB_RS1" width="70" type="Number" selectable="true" outputFormat="#" headerText="1 nuit" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours hors CMD 28 dont la durée est 1 jour" />
                <COLUMN dataField="P_RS1" type="Number" headerText="% 1 nuit" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="= var p_rs1:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return &quot;Part du nombre de séjours d'une nuit dans le nombre de séjours : rapport entre les colonnes &lt;b&gt;1 nuit&lt;/b&gt; et &lt;b&gt;&quot; + p_rs1 + &quot;&lt;/b&gt; multiplié par 100&quot;">
                    <CALC dataField="NB_RS1" />
                    <CALC dataField="NB_RSA" operator="/" />
                    <CALC dataField="*constant" value="100" operator="*" />
                </COLUMN>
                <COLUMN dataField="NB_RSX" width="70" type="Number" selectable="true" outputFormat="#" headerText="&gt; 1 nuit" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours hors CMD 28 dont la durée est de 2 jours ou plus"/>
                <COLUMN dataField="P_RSX" type="Number" headerText="% &gt; 1 nuit" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="= var p_rsx:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return 'Part du nombre de séjours de 2 nuits et plus dans le nombre de séjours : rapport entre les colonnes &lt;b&gt;&gt; 1 nuit&lt;/b&gt; et &lt;b&gt;' + p_rsx + '&lt;/b&gt; multiplié par 100'">
                    <CALC dataField="NB_RSX" />
                    <CALC dataField="NB_RSA" operator="/" />
                    <CALC dataField="*constant" value="100" operator="*" />
                </COLUMN>
                <COLUMN dataField="NB_SEA" width="70" type="Number" selectable="true" outputFormat="#" currency="" currencyAlign="right" headerText="Séances" textAlign="right" totalFunction="sum" otherFunction="sum" visibleCondition="VIEW.NB_SEANCES != '0'"
                                        description="Nombre de séances (plusieurs séances peuvent apparaître dans un même séjour)" />
                <COLUMN dataField="P_SEA" type="Number" headerText="% séances" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true" visibleCondition="VIEW.NB_SEANCES != '0'"
                                        description="= var p_sea:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return 'Part du nombre de séances dans le nombre de séjours : rapport entre les colonnes &lt;b&gt;Séances&lt;/b&gt; et &lt;b&gt;' + p_sea + '&lt;/b&gt; multiplié par 100'">
                    <CALC dataField="NB_SEA" />
                    <CALC dataField="NB_RSA" operator="/" />
                    <CALC dataField="*constant" value="100" operator="*" />
                </COLUMN>
                <COLUMN dataField="DMSETS" type="Number" headerText="DMS Ets" width="50" outputFormat="#,0" fixed="false" textAlign="right" totalFunction="sum" totalComplement="" otherFunction="sum"
                                        description="Rapport entre la somme des durées des séjours et le nombre de séjours (Séjours hors CMD 28)" />
				<COLUMN dataField="DMSHOSPI" type="Number" width="37" outputFormat="#,0" headerText="DMS hospi Ets" textAlign="right" totalFunction="sum" totalComplement="" otherFunction="sum"
					description="Pour les séjours hors CMD 28 et ambulatoire, rapport entre la somme des durées de séjour et le nombre de RSS" />                
                <COLUMN dataField="DMSGHS" type="Number" headerText="DMS GHS Nat" width="50" outputFormat="#,0" fixed="false" textAlign="right" totalFunction="sum" totalComplement="" otherFunction="sum"
                                        description="Rapport entre la somme des DMS nationales du GHS des séjours et le nombre de séjours (Séjours hors CMD 28)&lt;br/&gt;&lt;br/&gt;La DMS nationale du GHS est prise selon le type d'établissement (privé ou public) et selon la date de sortie du séjour"/>
                <COLUMN dataField="DMSREF" visibleCondition="SELECT.DMS_CLASSE != '-1'" type="Number" headerTextCalc = "true"  headerText="SELECT.DMS_CLASSE_LABEL" width="50" outputFormat="#,0" fixed="false" textAlign="right" totalFunction="sum" totalComplement="" otherFunction="sum" />
                <COLUMN dataField="AGE_MOYEN" type="Number" headerText="Age moyen" width="50" selectable="false" outputFormat="#,0" fixed="false" textAlign="right" totalFunction="sum" totalComplement="" otherFunction="sum"
                                        description="Rapport entre la somme des âges des patients au moment de l'admission et le nombre de séjours" />
                <COLUMN dataField="NB_DECES" width="50" type="Number" outputFormat="#" selectable="false" headerText="Nb décès" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours avec mode de sortie = '9'" />
                <COLUMN dataField="NB_GHM" width="50" type="Number" outputFormat="#" selectable="false" headerText="Nb GHM" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de codes GHM différents dans le critère de regroupement" />
            </DATAGRID>
        </ONGLET>
        <ONGLET excelLabel="Séjours OVALIDE" label="Séjours OVALIDE" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL" newPage="true">
            <CHART title="Age moyen pour les 10 premiers" type="columnChart" maxItems="10" maxItemsSortOn="NB_RSA" maxItemsSortSeq="D" sortField="NB_RSA" sortSeq="D" condition="ROW.LVL == '1'">
                <CATEGORY field="CODTXT" type="Char" />
                <SERIE field="AGE_MOYEN" displayName="Age moyen" />
                <SERIE field="AGE_MOYEN_PRIVE" displayName="Age moyen prive" />
                <SERIE field="AGE_MOYEN_PUBLIC" displayName="Age moyen public" />
            </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' &amp;&amp; (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>
                <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="CODTXT" type="Char" minWidth="200" visible="false" totalFunction="text" otherFunction="text" calc="true">
                    <CALC formula="ROW.COD + ' ' + ROW.TXT.toString().substr(0,13)" />
                </COLUMN>
                <COLUMN dataField="DOSSIERS" width="60" type="Number" outputFormat="#" headerText="Séjours" textAlign="right" totalFunction="sum" otherFunction="sum" 
                                        description="Nombre de séjours. Pour les séjours de la CMD 28, on compte le nombre de RSA, peu importe le nombre de séances dans le RSA" />
                <COLUMN dataField="NB_RSA" width="60" type="Number" outputFormat="#" headerTextCalc="true" headerText="if (VIEW.NB_SEANCES != '0') {return 'Séjours dont séa.';} else {return 'Séjours';}" textAlign="right" totalFunction="sum" otherFunction="sum" visibleCondition="VIEW.NB_SEANCES != '0'"
                                        description="Nombre de séjours. Pour les séjours de la CMD 28, nombre de séances"/>
                <COLUMN dataField="P_RSA" type="Number" headerText="% Séjours" width="50" selectable="true" outputFormat="#,0%" fixed="false" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
                                        description="= var p_rsa:String = VIEW.NB_SEANCES != '0' ? 'Séjours dont séa.' : 'Séjours'; return 'Poids du nombre de séjours du critère de regroupement dans le nombre de séjours Total (colonne &lt;b&gt;' + p_rsa + '&lt;/b&gt;)'">
                    <CALC formula="ROW.NB_RSA / TOTALROW.NB_RSA * 100" />
                </COLUMN>
				
				
                <COLUMN dataField="AGE_MOYEN" width="60" type="Number" outputFormat="#,0" headerText="'Age moy'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Rapport entre la somme des âges des patients au moment de l'admission et le nombre de séjours"/>
                <COLUMN dataField="AGE_MOYEN_PRIVE" width="60" type="Number" outputFormat="#,0" headerText="'Age moy\nprivé\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Age moyen constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; privée &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;" />
                <COLUMN dataField="AGE_MOYEN_PUBLIC" width="60" type="Number" outputFormat="#,0" headerText="'Age moy\npublic\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Age moyen constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; publique &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;" />
				
				
                <COLUMN dataField="NB_DECES" width="60" type="Number" outputFormat="#" headerText="'Nombre\ndécès'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours avec mode de sortie = '9'" />
                <COLUMN dataField="TX_DECES" width="60" type="Number" outputFormat="0#,00%" headerText="'% décès'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Pourcentage de séjours avec mode de sortie = '9'" />
                <COLUMN dataField="TX_DECES_PRIVE" width="60" type="Number" outputFormat="0#,00%" headerText="'% décès\nprivé\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Taux de décès constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; privée &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;Une pastille rouge indique que le taux de décès de l'établissement est &lt;b&gt;supérieur&lt;/b&gt; au taux de décès constaté sur la base nationale privée qualifiée.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;">
                    <CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xDD0000" condition="ENV.TYPEETS == '1' &amp;&amp; ROW.COD == ROW.COD1 &amp;&amp; (ROW.TX_DECES - ROW.TX_DECES_PRIVE) &gt; 0.10" />
                </COLUMN>
                <COLUMN dataField="TX_DECES_PUBLIC" width="60" type="Number" outputFormat="0#,00%" headerText="'% décès\npublic\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Taux de décès constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; publique &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;Une pastille rouge indique que le taux de décès de l'établissement est &lt;b&gt;supérieur&lt;/b&gt; au taux de décès constaté sur la base nationale publique qualifiée.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;">
                    <CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xDD0000" condition="ENV.TYPEETS != '1' &amp;&amp; ROW.COD == ROW.COD1 &amp;&amp; (ROW.TX_DECES - ROW.TX_DECES_PUBLIC) &gt; 0.10" />
                </COLUMN>
				
				
                <COLUMN dataField="NB_0N_CHIR" width="60" type="Number" outputFormat="#" headerText="'Nombre\nchir amb'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Nombre de séjours de 0 nuit classés dans la Catégorie d'Activité de Soins de &lt;b&gt;Chirurgie&lt;/b&gt;" />
                <COLUMN dataField="TX_0N_CHIR" width="65" type="Number" outputFormat="0#,0%" headerText="'% 0n chir'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="Part des séjours 0 nuit dans les séjours classés dans la Catégorie d'Activité de Soins de &lt;b&gt;Chirurgie&lt;/b&gt;" />
                <COLUMN dataField="TX_0N_CHIR_PRIVE" width="65" type="Number" outputFormat="0#,0%" headerText="'% 0n chir\nprivé\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Taux de 0 nuit en Chirurgie constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; privée &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;Une pastille rouge indique que le taux de 0 nuit en Chirurgie de l'établissement est &lt;b&gt;inférieur&lt;/b&gt; au taux de 0 nuit en Chirurgie constaté sur la base nationale privée qualifiée.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;">
                    <CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xDD0000" condition="ENV.TYPEETS == '1' &amp;&amp; ROW.COD == ROW.COD1 &amp;&amp; (ROW.TX_0N_CHIR_PRIVE - ROW.TX_0N_CHIR) &gt; 0.2" />
                </COLUMN>
                <COLUMN dataField="TX_0N_CHIR_PUBLIC" width="65" type="Number" outputFormat="0#,0%" headerText="'% 0n chir\npublic\nqualifié'" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum"
                                        description="= return &quot;Taux de 0 nuit en Chirurgie constaté pour l'ensemble des séjours de la base nationale MCO &quot; + String(VIEW.BASE_NAT_YEAR) + &quot; publique &lt;b&gt;&lt;i&gt; qualifiée*&lt;/i&gt;&lt;/b&gt;.&lt;br/&gt;Une pastille rouge indique que le taux de 0 nuit en Chirurgie de l'établissement est &lt;b&gt;inférieur&lt;/b&gt; au taux de 0 nuit en Chirurgie constaté sur la base nationale publique qualifiée.&lt;br/&gt;&lt;br/&gt;* &lt;i&gt;Des précisions sur la constitution de la base nationale qualifiée sont disponibles au travers de l'aide iCTI (Clic sur le \&quot;&lt;b&gt;?&lt;/b&gt;\&quot; dans la barre d'icônes en haut de cet écran)&lt;/i&gt;&quot;">
                    <CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xDD0000" condition="ENV.TYPEETS != '1' &amp;&amp; ROW.COD == ROW.COD1 &amp;&amp; (ROW.TX_0N_CHIR_PUBLIC - ROW.TX_0N_CHIR) &gt; 0.2" />
                </COLUMN>
            </DATAGRID>
        </ONGLET>
    </PRESENTATION>
</VUE>
