|
|
<?xml version="1.0" encoding="ISO-8859-15"?>
|
|
|
<VUE name="PMSI000044" label="PMSI. Origine population" title="= 'Origine population (' + 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:population" helpDokuWIkiFile="pmsi000043" helpFile="">
|
|
|
<VIEWPROPERTIES componentName="PROPERTIES_RSS"/>
|
|
|
<VIEWPROPERTIES componentName="PROPERTIES_SELECT_TABTREE"/>
|
|
|
<VIEWPROPERTIES>
|
|
|
<PROPERTY name="POPULATION_FIELD" value="[EVAL
|
|
|
if ('[GROUPBY]' == 'CODEGEOPMSI' || '[GROUPBY_2]' == 'CODEGEOPMSI') {return 'base.cti_sum_distinct_on(DISTINCT ARRAY[t_codes_postaux_c.code_geographique_pmsi_code,t_codes_postaux_c.code_geographique_pmsi_population::text])::numeric';}
|
|
|
return '0';
|
|
|
EVAL]"/>
|
|
|
<PROPERTY name="POPULATION_2_FIELD" value="[EVAL
|
|
|
if ('[GROUPBY_2]' == 'CODEGEOPMSI') {return 'v_codes_postaux_2.code_geographique_pmsi_population';}
|
|
|
return '0';
|
|
|
EVAL]"/>
|
|
|
<PROPERTY name="MAPKEY" value="[EVAL
|
|
|
return getMapKey('[FINESS]');
|
|
|
EVAL]"/>
|
|
|
<PROPERTYx 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 15 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="de" UI="combo" tree="true" width="200" default="2014-01-01" printable="false" globalListProvider="DATE_DEBUT">
|
|
|
</FIELD>
|
|
|
<FIELD name="TOPERIODE" label="à" UI="combo" tree="true" width="200" default="2014-121-31" printable="false" globalListProvider="DATE_FIN">
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<GROUP label="Regroupements">
|
|
|
<FIELD name="GROUPBY" width="220" label="" UI="combo" default="DEPARTEMENT" 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" treeLevel="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" treeLevel="1"/>
|
|
|
<OPTION label="Options" data="" globalListProvider="RSS_GROUPBY_OPTIONS"/>
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<GROUP label="Options">
|
|
|
<FIELD name="INCLUDE" width="220" label="" UI="combo" default="-1" >
|
|
|
<OPTION label="" data="-1"/>
|
|
|
<OPTION label="Inclure le C.A. T2A" data="CAT2A"/>
|
|
|
</FIELD>
|
|
|
</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]}
|
|
|
INDICATORS{
|
|
|
[VIEW.POPULATION_FIELD],
|
|
|
count(DISTINCT v_rss_1.patient_id),
|
|
|
count(DISTINCT v_rss_1.patient_id) - count(DISTINCT subview.patient_id),
|
|
|
sum(CASE WHEN cmd_code = '28' THEN 1 ELSE nb_rsa END),
|
|
|
count(DISTINCT case when substring(v_rss_1.finess from 1 for 2) = substring(v_rss_1.code_postal from 1 for 2) then v_rss_1.rss_id ELSE NULL END),
|
|
|
count(DISTINCT case when substring(finess from 1 for 2) != substring(code_postal from 1 for 2) then v_rss_1.rss_id ELSE NULL END),
|
|
|
sum(t2a_facture),
|
|
|
COUNT (DISTINCT CASE WHEN t_codes_postaux_c.region_id = t_finess.region_id THEN v_rss_1.rss_id ELSE NULL END),
|
|
|
COUNT (DISTINCT CASE WHEN t_codes_postaux_c.region_id IS DISTINCT FROM t_finess.region_id THEN v_rss_1.rss_id ELSE NULL END),
|
|
|
COUNT (DISTINCT CASE WHEN t_codes_postaux_c.territoire_sante_id = t_finess.territoire_sante_id THEN v_rss_1.rss_id ELSE NULL END),
|
|
|
COUNT (DISTINCT CASE WHEN t_codes_postaux_c.territoire_sante_id IS DISTINCT FROM t_finess.territoire_sante_id THEN v_rss_1.rss_id ELSE NULL END),
|
|
|
SUM(age),
|
|
|
base.cti_array_median(array_agg(age))
|
|
|
}
|
|
|
ORDERBY{indicateurs[4],, DESC}
|
|
|
FROM #V_RSS_X#
|
|
|
JOIN pmsi.t_codes_postaux_c ON v_rss_1.code_postal_id = t_codes_postaux_c.oid
|
|
|
LEFT JOIN base.t_finess ON v_rss_1.finess = t_finess.code
|
|
|
LEFT JOIN
|
|
|
(SELECT patient_id FROM #V_RSS_X# WHERE date_sortie < '[PERIODE]'[VIEW.FILTRE_RSS_SELECT] GROUP BY patient_id) subview ON (v_rss_1.patient_id = subview.patient_id)
|
|
|
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="POP"/>
|
|
|
<FIELD name="NBP"/>
|
|
|
<FIELD name="NBNP"/>
|
|
|
<FIELD name="NB"/>
|
|
|
<FIELD name="NBDD"/>
|
|
|
<FIELD name="NBHD"/>
|
|
|
<FIELD name="CAT2A"/>
|
|
|
<FIELD name="NBDR"/>
|
|
|
<FIELD name="NBHR"/>
|
|
|
<FIELD name="NBDT"/>
|
|
|
<FIELD name="NBHT"/>
|
|
|
<FIELD name="AG"/>
|
|
|
<FIELD name="AGEMEDIAN"/>
|
|
|
</FIELDS>
|
|
|
</SQL>
|
|
|
</QUERY>
|
|
|
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
|
|
|
</QUERY>
|
|
|
</QUERIES>
|
|
|
<PRESENTATION>
|
|
|
<VIEWLINKS>
|
|
|
<VIEWLINK label="Liste des RSS" shortLabel="Liste RSS" view="PMSI000005.XML" componentName="RSS_BASE_VIEWLINK">
|
|
|
</VIEWLINK>
|
|
|
</VIEWLINKS>
|
|
|
<ONGLET excelLabel="Origine" label="Origine" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
|
|
|
<CHART title="Répartition géographique des séjours" type="map"
|
|
|
visibleCondition="(SELECT.GROUPBY == 'CODEPOST' && SUBTAB == 0 && VIEW.MAPKEY != 'NONE')
|
|
|
"
|
|
|
condition="ROW.LVL == '1'"
|
|
|
significativeField="NB"
|
|
|
mapKey="= VIEW.MAPKEY"
|
|
|
mapLvl="CDP"
|
|
|
>
|
|
|
<CATEGORY field="COD" type="Char"/>
|
|
|
<SERIE field="NB" displayName="Nombre séjours" />
|
|
|
</CHART>
|
|
|
<CHART title="Répartition géographique du C.A. T2A" type="map"
|
|
|
visibleCondition="(SELECT.GROUPBY == 'CODEPOST' && SUBTAB == 0 && SELECT.INCLUDE == 'CAT2A' && VIEW.MAPKEY != 'NONE')
|
|
|
"
|
|
|
condition="ROW.LVL == '1'"
|
|
|
significativeField="CAT2A"
|
|
|
mapKey="= VIEW.MAPKEY"
|
|
|
mapLvl="CDP"
|
|
|
>
|
|
|
<CATEGORY field="COD" type="Char"/>
|
|
|
<SERIE field="CAT2A" displayName="C.A. T2A" />
|
|
|
</CHART>
|
|
|
<CHART title="" type="group" subType="h" percentHeight="100" fromTotal="false">
|
|
|
<CHART title="Origine géographique" type="pieChart" subType="" maxItems="10" maxItemsSortOn="NB" maxItemsSortSeq="D" sortField="NB" sortSeq="D" condition="ROW.LVL == '1'">
|
|
|
<CATEGORY field="CODTXT" type="Number"/>
|
|
|
<SERIE field="NB" displayName="Séjours"/>
|
|
|
</CHART>
|
|
|
<CHART title="Décomposition des plus fréquents" type="columnChart" subType="stacked" maxItems="10" sortField="NB" sortSeq="D" condition="ROW.LVL == '1'">
|
|
|
<CATEGORY field="COD" type="Char" />
|
|
|
<SERIE field="NBDD" displayName="Séjours dans département" />
|
|
|
<SERIE field="NBHD" displayName="Séjours hors département" />
|
|
|
</CHART>
|
|
|
</CHART>
|
|
|
<DATAGRID title="" total="true" showOthers="true" headerHeight="48" 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>
|
|
|
<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="200" 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="if (ROW.TXT.toString().length > 20) { return ROW.COD + ' ' + ROW.TXT.toString().substr(0,20) + '...';} else {return ROW.COD + ' ' + ROW.TXT.toString();}"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="POP" width="80" type="Number" outputFormat="#" visibleCondition="SELECT.GROUPBY == 'CODEGEOPMSI' || SELECT.GROUPBY_2 == 'CODEGEOPMSI'" headerText="Population" textAlign="right" totalFunction="text" otherFunction="text"
|
|
|
description="Population couverte par le code géographique PMSI" />
|
|
|
<COLUMN dataField="PNBP" type="Number" headerText="% Population" visibleCondition="SELECT.GROUPBY == 'CODEGEOPMSI' || SELECT.GROUPBY_2 == 'CODEGEOPMSI'" width="80" outputFormat="#,00%" textAlign="right" totalFunction="text" totalComplement="" otherFunction="text" calc="true"
|
|
|
description="Pourcentage de la population qui est venue dans l'établissement pendant la période d'analyse : rapport (en pourcentage) entre les colonnes <b>Patients</b> et <b>Population</b>">
|
|
|
<CALC formula="if (ROW.POP > 0) {ROW.NBP / ROW.POP * 100} else {0}"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NB" width="80" type="Number" outputFormat="#" headerText="Séjours" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours différents. Les séjours multi-séances de la CMD 28 comptent pour 1" />
|
|
|
<COLUMN dataField="PNB" type="Number" headerText="% Séjours / Total" width="80" fixed="false" outputFormat="#%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="Poids du nombre de séjours du critére de regroupement dans le nombre de séjours total">
|
|
|
<CALC formula="ROW.NB / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="CAT2A" width="95" type="Number" outputFormat="#E" visibleCondition="SELECT.INCLUDE == 'CAT2A'" headerText="CA T2A" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Somme du montant des prestations liées à la T2A (GHS, suppléments, forfaits). Voir le détail des prestations concernées dans la classe <b>Décomposition CA (CTI)</b> (Menu P.M.S.I. MCO | Paramètres | Classification | Classes | Prestations). Les prestations comprises dans le calcul du <i>CA T2A</i> sont celles des sections <b>T2A. GHS</b>, <b>T2A. EXH</b>, <b>T2A. Forfaits et suppléments</b> et <b>T2A. Autres</b>" />
|
|
|
<COLUMN dataField="NBDD" width="80" type="Number" outputFormat="#" headerText="Séjours dans département" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés dans le département" />
|
|
|
<COLUMN dataField="PNBDD" type="Number" headerText="% Séjours dans dép. / Total" width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de nombre de séjours des patients domiciliés dans le département">
|
|
|
<CALC formula="ROW.NBDD / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NBHD" width="80" type="Number" outputFormat="#" headerText="Séjours hors département" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés hors département" />
|
|
|
<COLUMN dataField="PNBHD" type="Number" headerText="% Séjours hors dép." width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de Nombre de séjours des patients domiciliés hors département">
|
|
|
<CALC formula="ROW.NBHD / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NBDT" width="80" type="Number" outputFormat="#" headerText="Séjours dans territoire" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés dans le territoire de santé" />
|
|
|
<COLUMN dataField="PNBDR" type="Number" headerText="% Séjours dans terr. / Total" width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de nombre de séjours des patients domiciliés dans le territoire de santé">
|
|
|
<CALC formula="ROW.NBDR / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NBHT" width="80" type="Number" outputFormat="#" headerText="Séjours hors territoire" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés hors du territoire de santé" />
|
|
|
<COLUMN dataField="PNBHR" type="Number" headerText="% Séjours hors terr. / Total" width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de nombre de séjours des patients domiciliés hors du territoire de santé">
|
|
|
<CALC formula="ROW.NBHR / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NBDR" width="80" type="Number" outputFormat="#" headerText="Séjours dans région" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés dans la région" />
|
|
|
<COLUMN dataField="PNBDR" type="Number" headerText="% Séjours dans rég. / Total" width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de nombre de séjours des patients domiciliés dans la région">
|
|
|
<CALC formula="ROW.NBDR / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="NBHR" width="80" type="Number" outputFormat="#" headerText="Séjours hors région" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Nombre de séjours des patients domiciliés hors région" />
|
|
|
<COLUMN dataField="PNBHR" type="Number" headerText="% Séjours hors rég. / Total" width="60" outputFormat="#,0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true"
|
|
|
description="% de nombre de séjours des patients domiciliés hors région">
|
|
|
<CALC formula="ROW.NBHR / TOTALROW.NB * 100"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="AGM" width="60" type="Number" outputFormat="0#,0" headerText="Age moyen séjour" textAlign="right" totalFunction="calc" otherFunction="calc" calc="true"
|
|
|
description="Somme des âges de chaque séjour divisé par le nombre de séjours.<br/>L'âge est déterminé à l'entrée du patient dans l'établissement et correspond à la différence entre la date d'entrée et la date de naissance">
|
|
|
<CALC formula="ROW.AG / ROW.NB" />
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="AGEMEDIAN" width="60" type="Number" selectable="true" outputFormat="0#,0" headerText="Age médian séjour" textAlign="right" totalFunction="sum" otherFunction="sum"
|
|
|
description="Age pour lequel il y a autant de séjours dont le patient a un âge inférieur que de séjours dont le patient a un âge supérieur.<br/>L'âge est déterminé à l'entrée du patient dans l'établissement et correspond à la différence entre la date d'entrée et la date de naissance" />
|
|
|
<COLUMN dataField="NBP" width="80" type="Number" outputFormat="#" headerText="Patients" textAlign="right" totalFunction="sum" otherFunction="text"
|
|
|
description="Nombre de patients différents" />
|
|
|
<COLUMN dataField="NBNP" width="80" type="Number" outputFormat="#" headerText="Nouveaux Patients" textAlign="right" totalFunction="sum" otherFunction="text"
|
|
|
description="Nombre de patients dont le premier séjour dans l'établissement a eu lieu pendant la période d'analyse" />
|
|
|
</DATAGRID>
|
|
|
</ONGLET>
|
|
|
</PRESENTATION>
|
|
|
</VUE>
|