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.
 
 

693 lines
40 KiB

<?xml version="1.0" encoding="ISO-8859-15"?>
<VUE name="PMSI000228" label="PMSI. Evolution temporelle File active" title="= SELECT.DATA_LABEL + ' par ' + SELECT.GROUPBY_LABEL + ' (' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL + ') - ' + SELECT.VERSION_GROUPAGE_LABEL" database="iCTI" swf="*CTI_view1" softCode="iCTI_pmsi" typeEts="" globals="PMSI_globals.XML" componentsFile="PMSI_components.XML" helpDokuWIkiDir="pmsi:file_active" helpDokuWIkiFile="pmsi000114" helpFile="iCTI_PMSI_PMSI000228.HTML">
<VIEWPROPERTIES componentName="PROPERTIES_RSS" />
<VIEWPROPERTIES componentName="PROPERTIES_SELECT_TABTREE" />
<VIEWPROPERTIES>
<PROPERTY name="DATA">
<value><![CDATA[[EVAL
switch ('[DATA]') {
case 'P':
return 'w_reentrees.patient_id';
break;
case 'N':
return 'CASE WHEN w_reentrees.avant_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END';
break;
case 'C':
return 'CASE WHEN w_reentrees.avant2_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END';
break;
case 'S':
return 'v_rss_1.nb_rsa';
break;
case '0':
return 'CASE WHEN apres_rss_id <> 0 THEN 1 ELSE 0 END';
break;
case '1':
return 'CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 0 AND 1 THEN 1 ELSE 0 END';
break;
case '2':
return 'CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 2 AND 7 THEN 1 ELSE 0 END';
break;
case '3':
return 'CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 8 AND 15 THEN 1 ELSE 0 END';
break;
case '4':
return 'CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 16 AND 30 THEN 1 ELSE 0 END';
break;
case '5':
return 'CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 31 AND 90 THEN 1 ELSE 0 END';
break;
case '6':
return 'CASE WHEN apres_rss_id <> 0 AND delai >= 91 THEN 1 ELSE 0 END';
break;
default:
return 'CASE WHEN apres_rss_id <> 0 AND delai < 2 THEN 1 ELSE 0 END';
}
EVAL]]]></value>
</PROPERTY>
<PROPERTY name="DATAM">
<value><![CDATA[[EVAL
switch ('[DATA]') {
case 'P':
return 'count(DISTINCT w_reentrees.patient_id)';
break;
case 'N':
return 'count(DISTINCT CASE WHEN w_reentrees.avant_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END)';
break;
case 'C':
return 'count(DISTINCT CASE WHEN w_reentrees.avant2_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END)';
break;
case 'S':
return 'sum(v_rss_1.nb_rsa)';
break;
case '0':
return 'sum(CASE WHEN apres_rss_id <> 0 THEN 1 ELSE 0 END)';
break;
case '1':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 0 AND 1 THEN 1 ELSE 0 END)';
break;
case '2':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 2 AND 7 THEN 1 ELSE 0 END)';
break;
case '3':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 8 AND 15 THEN 1 ELSE 0 END)';
break;
case '4':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 16 AND 30 THEN 1 ELSE 0 END)';
break;
case '5':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 31 AND 90 THEN 1 ELSE 0 END)';
break;
case '6':
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai >= 91 THEN 1 ELSE 0 END)';
break;
default:
return 'sum(CASE WHEN apres_rss_id <> 0 AND delai < 2 THEN 1 ELSE 0 END)';
}
EVAL]]]></value>
</PROPERTY>
<PROPERTY name="DATAI">
<value><![CDATA[[EVAL
switch ('[DATA]') {
case 'P':
return 'COUNT (DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN w_reentrees.patient_id ELSE NULL END)';
break;
case 'N':
return 'COUNT (DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN w_reentrees.avant_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END ELSE NULL END)';
break;
case 'C':
return 'COUNT (DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN w_reentrees.avant2_rss_id = 0 THEN w_reentrees.patient_id ELSE NULL END ELSE NULL END)';
break;
case 'S':
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN v_rss_1.nb_rsa ELSE NULL END)';
break;
case '0':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 THEN 1 ELSE NULL END ELSE NULL END)';
break;
case '1':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 0 AND 1 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
case '2':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 2 AND 7 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
case '3':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 8 AND 15 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
case '4':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 16 AND 30 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
case '5':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 31 AND 90 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
case '6':
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai >= 91 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
break;
default:
return 'COUNT(DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai < 2 THEN w_reentrees.rss_id ELSE NULL END ELSE NULL END)';
}
EVAL]]]></value>
</PROPERTY>
<PROPERTY name="COMBIEN_JOURS">
<value><![CDATA[
[EVAL
if ('[PERIODICITE]' == 'DAY') {
if ('[NBJOURS]' != '-1') {
return [NBJOURS];
}
else {
return substr('[TOPERIODE]', -2);
}
}
else {return "12";}
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="NB_MOIS">
<value><![CDATA[[EVAL
// nombre de mois entre les deux dates de la période
$nb_mois = ((intval(substr('[TOPERIODE]', 0, 4)) - 1) * 12 + intval(substr('[TOPERIODE]', 5, 2))) -
((intval(substr('[PERIODE]', 0, 4)) - 1) * 12 + intval(substr('[PERIODE]', 5, 2))) + 1;
switch ('[PERIODICITE]') {
case 'DAY' :
if((substr('[TOPERIODE]', 6, 2) == substr('[PERIODE]', 6, 2)) && (substr('[TOPERIODE]',0, 4) == substr('[PERIODE]',0, 4)) ){
$number = cal_days_in_month(CAL_GREGORIAN, substr('[TOPERIODE]', 6, 2), substr('[TOPERIODE]', 0, 4));
return $number;
break;
}else {
$d1=strtotime('[PERIODE]'); // convertir la date en seconde
$d2=strtotime('[TOPERIODE]'); // convertir la date en seconde
$dif=$d2-$d1; // calculer la difference entre les deux date en seconde
$nbj=$dif/86400; // convertir le resultat en nombre de jours 60*60*24
return $nbj;
break;
}
case 'WEEK2':
$d1=strtotime('[PERIODE]'); // convertir la date en seconde
$d2=strtotime('[TOPERIODE]');// convertir la date en seconde
$dif=$d2-$d1; // calculer la difference entre les deux date en seconde
$nbsemaine=$dif/604800; // convertir le resultat en nombre de semaine 60*60*24*7
return $nbsemaine;
break;
case 'MONTH':
// return $nb_mois > 12 ? '12' : strval($nb_mois);
return strval($nb_mois);
break;
case 'QUARTER':
// return ceil($nb_mois / 3) > 12 ? '12' : strval(ceil($nb_mois / 3));
return strval(ceil($nb_mois / 3));
break;
case 'YEAR':
// return ceil($nb_mois / 12) > 12 ? '12' : strval(ceil($nb_mois / 12));
return strval(ceil($nb_mois / 12));
break;
default:
return strval($nb_mois);
}
EVAL]]]></value>
</PROPERTY>
<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,14 DESC,5,7';
}
EVAL]]]></value>
</PROPERTY>
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value" />
</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" globalListProvider="DATE_DEBUT" />
<FIELD name="TOPERIODE" label="à" UI="combo" tree="true" width="200" default="2014-12-31" globalListProvider="DATE_FIN" />
</GROUP>
<GROUP label="Périodicité">
<FIELD name="PERIODICITE" width="200" UI="combo" default="MONTH" globalListProvider="PERIODICITE" />
<FIELD name="NBJOURS" label="Nombre de jours" UI="combo" width="200" default="12" visible="= SELECT.PERIODICITE == 'DAY' ">
<OPTION data="-1" label="A partir du début du mois"/>
<OPTION data="1" label="1 jour"/>
<OPTION data="2" label="2 jours"/>
<OPTION data="3" label="3 jours"/>
<OPTION data="4" label="4 jours"/>
<OPTION data="5" label="5 jours"/>
<OPTION data="6" label="6 jours"/>
<OPTION data="7" label="7 jours"/>
<OPTION data="8" label="8 jours"/>
<OPTION data="9" label="9 jours"/>
<OPTION data="10" label="10 jours"/>
<OPTION data="11" label="11 jours"/>
<OPTION data="12" label="12 jours"/>
<OPTION data="13" label="13 jours"/>
<OPTION data="14" label="14 jours"/>
<OPTION data="15" label="15 jours"/>
<OPTION data="16" label="16 jours"/>
<OPTION data="17" label="17 jours"/>
<OPTION data="18" label="18 jours"/>
<OPTION data="19" label="19 jours"/>
<OPTION data="20" label="20 jours"/>
<OPTION data="21" label="21 jours"/>
<OPTION data="22" label="22 jours"/>
<OPTION data="23" label="23 jours"/>
<OPTION data="24" label="24 jours"/>
<OPTION data="25" label="25 jours"/>
<OPTION data="26" label="26 jours"/>
<OPTION data="27" label="27 jours"/>
<OPTION data="28" label="28 jours"/>
<OPTION data="29" label="29 jours"/>
<OPTION data="30" label="30 jours"/>
<OPTION data="31" label="31 jours"/>
</FIELD>
</GROUP>
<GROUP label="Données">
<FIELD name="DATA" UI="combo" tree="true" default="1">
<OPTION label="Options" data="" globalListProvider="DATA_REENTREES" />
</FIELD>
</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" 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>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_RSS_SOUSSELECTIONS" />
<SELECTIONS componentName="FILTRES_RSS_SELECTIONS" />
<SELECTIONS componentName="FILTRES_REENTREE_SELECTIONS" />
<QUERIES>
<QUERY label="">
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Sélectionne les séjours pour lesquels la date de sortie est comprise dans
les bornes de la période d'analyse
]]></comment>
<select><![CDATA[
DROP TABLE IF EXISTS w_reentrees;
CREATE TEMP TABLE w_reentrees AS
SELECT
v_rss_1.patient_id,
v_rss_1.rss_id AS rss_id,
v_rss_1.no_rss,
v_rss_1.date_entree AS date_entree,
v_rss_1.date_sortie AS date_sortie,
0::bigint AS avant_rss_id,
'00011231'::date AS avant_date_entree,
'00011231'::date AS avant_date_sortie,
0::bigint AS avant2_rss_id,
'00011231'::date AS avant2_date_entree,
'00011231'::date AS avant2_date_sortie,
0::bigint AS apres_rss_id,
'20991231'::date AS apres_date_entree,
'20991231'::date AS apres_date_sortie,
0::numeric AS delai,
[VIEW.SELECT_TABTREE_OID_FIELD] AS groupby_oid
FROM #V_RSS_X#
WHERE
patient_id > 0
AND v_rss_1.date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
[VIEW.FILTRE_RSS_SELECT]
;
]]></select>
</SQL>
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Sélectionne les séjours pour lesquels la date d'entrée est postérieure
à la date du début de la période d'analyse.
Permettra de trouver les ré-entrées.
]]></comment>
<select><![CDATA[
DROP TABLE IF EXISTS w_apres;
CREATE TEMP TABLE w_apres AS
SELECT
v_rss_1.patient_id,
v_rss_1.rss_id AS apres_rss_id,
v_rss_1.date_entree AS apres_date_entree,
v_rss_1.date_sortie AS apres_date_sortie
FROM #V_RSS_X#
WHERE
v_rss_1.patient_id > 0
AND v_rss_1.date_entree >= '[PERIODE]'
[VIEW.FILTRE_REENTREE_SELECT]
ORDER BY patient_id, apres_date_entree;
]]></select>
</SQL>
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Sélectionne les séjours pour lesquels la date de sortie est antérieure
à la date de fin de la période d'analyse.
Permettra de trouver les nouveaux patients.
]]></comment>
<select><![CDATA[
DROP TABLE IF EXISTS w_avant;
CREATE TEMP TABLE w_avant AS
SELECT
v_rss_1.patient_id,
v_rss_1.rss_id AS avant_rss_id,
v_rss_1.date_entree AS avant_date_entree,
v_rss_1.date_sortie AS avant_date_sortie,
[VIEW.SELECT_TABTREE_OID_FIELD] AS groupby_oid
FROM #V_RSS_X#
WHERE
v_rss_1.patient_id > 0
AND v_rss_1.date_sortie <= '[TOPERIODE]'
ORDER BY patient_id, avant_date_sortie DESC;
]]></select>
</SQL>
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Met à jour la table des ré-entrées.
Si le patient d'un RSS est revenu après son séjour, on renseigne les dates
d'entrée et de sortie du premier séjour de ré-entrée.
On calcule le délai de ré-entrée.
]]></comment>
<select><![CDATA[
UPDATE w_reentrees
SET apres_rss_id = subview.apres_rss_id,
apres_date_entree = subview.apres_date_entree,
apres_date_sortie = subview.apres_date_sortie,
delai = subview.apres_date_entree - w_reentrees.date_sortie
FROM
(
SELECT rss_id,
(MIN(ARRAY[w_apres.apres_date_entree::text,w_apres.apres_rss_id::text]))[2]::bigint AS apres_rss_id,
MIN(w_apres.apres_date_entree) AS apres_date_entree,
(MIN(ARRAY[w_apres.apres_date_entree,w_apres.apres_date_sortie]))[2] AS apres_date_sortie
FROM w_reentrees
JOIN w_apres ON
w_reentrees.patient_id = w_apres.patient_id
AND w_apres.apres_rss_id <> w_reentrees.rss_id
AND w_apres.apres_date_entree >= w_reentrees.date_sortie
GROUP BY 1
) subview
WHERE w_reentrees.rss_id = subview.rss_id
;
UPDATE w_reentrees
SET apres_rss_id = 0
WHERE NOT (1=1 [VIEW.DELAI_REENTREE_SELECT])
;
ANALYSE w_reentrees
;
]]></select>
</SQL>
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Met à jour la table des ré-entrées.
Si le patient d'un RSS est déjà venu avant ce séjour, on renseigne les dates
d'entrée et de sortie du séjour directement antérieur.
]]></comment>
<select><![CDATA[
UPDATE w_reentrees SET
avant_rss_id = w_avant.avant_rss_id,
avant_date_entree = w_avant.avant_date_entree,
avant_date_sortie = w_avant.avant_date_sortie
FROM
w_avant
WHERE
w_reentrees.patient_id = w_avant.patient_id AND
w_avant.avant_rss_id <> w_reentrees.rss_id AND
w_avant.avant_date_sortie < w_reentrees.date_entree AND
w_avant.avant_date_sortie > w_reentrees.avant_date_sortie;
]]></select>
</SQL>
<SQL optimizer="V_RSS_X">
<comment><![CDATA[
Met à jour la table des ré-entrées.
Si le patient d'un RSS est déjà venu avant ce séjour et si ce séjour
appartient au même critère de regroupement, on renseigne les dates
d'entrée et de sortie du séjour directement antérieur au séjour testé.
]]></comment>
<select><![CDATA[
UPDATE w_reentrees SET
avant2_rss_id = w_avant.avant_rss_id,
avant2_date_entree = w_avant.avant_date_entree,
avant2_date_sortie = w_avant.avant_date_sortie
FROM
w_avant
WHERE
w_reentrees.patient_id = w_avant.patient_id AND
w_reentrees.groupby_oid = w_avant.groupby_oid AND
w_avant.avant_rss_id <> w_reentrees.rss_id AND
w_avant.avant_date_sortie < w_reentrees.date_entree AND
w_avant.avant_date_sortie > w_reentrees.avant2_date_sortie;
]]></select>
</SQL>
<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]}
COLUMNBY[PERIODICITE]{v_rss_1.date_sortie,, '[PERIODE]' ,, '[TOPERIODE]' ,, [VIEW.COMBIEN_JOURS],, [VIEW.COLUMN_OPTION]}
OPTIONS{NOTZERO=1}
INDICATORS{sum(v_rss_1.nb_rsa), count(DISTINCT w_reentrees.patient_id), [VIEW.DATAM],}
INDICATORS_COLUMNS{[VIEW.DATAI],}
FROM #V_RSS_X#
JOIN w_reentrees ON v_rss_1.rss_id = w_reentrees.rss_id
WHERE
v_rss_1.date_sortie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
]]></select>
<FIELDS>
<INSERT name="CTISELECT_TREE_FIELDS" />
<FIELD name="NB_SEJ" />
<FIELD name="NB_PAT" />
<FIELD name="N" />
<FIELD name="N0" />
<FIELD name="N1" />
<FIELD name="N2" />
<FIELD name="N3" />
<FIELD name="N4" />
<FIELD name="N5" />
<FIELD name="N6" />
<FIELD name="N7" />
<FIELD name="N8" />
<FIELD name="N9" />
<FIELD name="N10" />
<FIELD name="N11" />
<FIELD name="N12" />
<FIELD name="N13" />
<FIELD name="N14" />
<FIELD name="N15" />
<FIELD name="N16" />
<FIELD name="N17" />
<FIELD name="N18" />
<FIELD name="N19" />
<FIELD name="N20" />
<FIELD name="N21" />
<FIELD name="N22" />
<FIELD name="N23" />
<FIELD name="N24" />
<FIELD name="N25" />
<FIELD name="N26" />
<FIELD name="N27" />
<FIELD name="N28" />
<FIELD name="N29" />
<FIELD name="N30" />
<FIELD name="N31" />
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Liste des patients" shortLabel="Liste Patients" view="PMSI000117.XML" componentName="RSS_BASE_VIEWLINK" component2Name="DATE_EVOL_2_VIEWLINK" />
<VIEWLINK label="Justificatif Ré-Entrées" shortLabel="Liste Ré-Entrées" view="PMSI000116.XML" componentName="RSS_BASE_VIEWLINK" component2Name="DATE_EVOL_2_VIEWLINK">
<ARG name="DELAI_REENTREE">
<value><![CDATA[
if (SELECT.DATA == '1') {return '0';}
if (SELECT.DATA == '2') {return '2';}
if (SELECT.DATA == '3') {return '8';}
if (SELECT.DATA == '4') {return '16';}
if (SELECT.DATA == '5') {return '31';}
if (SELECT.DATA == '6') {return '91';}
]]></value>
</ARG>
<ARG name="DELAI_REENTREE2">
<value><![CDATA[
if (SELECT.DATA == '1') {return '1';}
if (SELECT.DATA == '2') {return '7';}
if (SELECT.DATA == '3') {return '15';}
if (SELECT.DATA == '4') {return '30';}
if (SELECT.DATA == '5') {return '90';}
if (SELECT.DATA == '6') {return '';}
]]></value>
</ARG>
</VIEWLINK>
<VIEWLINK label="Liste des RSS" shortLabel="Liste RSS" view="PMSI000005.XML" componentName="RSS_BASE_VIEWLINK" component2Name="DATE_EVOL_2_VIEWLINK" />
</VIEWLINKS>
<ONGLET excelLabel="Evolution temporelle" label="Evolution temporelle" multiTab="true">
<CHART title="Evolution temporelle (5 premiers)" type="lineChart" maxItems="5" maxItemsSortOn="N" maxItemsSortSeq="D" serieIsCategory="true" sortField="N" sortSeq="D" visibleCondition="SELECT.PERIODICITE != 'DAY'" condition="ROW.LVL == '1'">
<CATEGORY field="CODTXT" type="Char" />
<SERIE field="N1" displayName="VIEW.COLH1" displayNameCalc="true" visibleCondition="VIEW.COLH1 != null" />
<SERIE field="N2" displayName="VIEW.COLH2" displayNameCalc="true" visibleCondition="VIEW.COLH2 != null" />
<SERIE field="N3" displayName="VIEW.COLH3" displayNameCalc="true" visibleCondition="VIEW.COLH3 != null" />
<SERIE field="N4" displayName="VIEW.COLH4" displayNameCalc="true" visibleCondition="VIEW.COLH4 != null" />
<SERIE field="N5" displayName="VIEW.COLH5" displayNameCalc="true" visibleCondition="VIEW.COLH5 != null" />
<SERIE field="N6" displayName="VIEW.COLH6" displayNameCalc="true" visibleCondition="VIEW.COLH6 != null" />
<SERIE field="N7" displayName="VIEW.COLH7" displayNameCalc="true" visibleCondition="VIEW.COLH7 != null" />
<SERIE field="N8" displayName="VIEW.COLH8" displayNameCalc="true" visibleCondition="VIEW.COLH8 != null" />
<SERIE field="N9" displayName="VIEW.COLH9" displayNameCalc="true" visibleCondition="VIEW.COLH9 != null" />
<SERIE field="N10" displayName="VIEW.COLH10" displayNameCalc="true" visibleCondition="VIEW.COLH10 != null" />
<SERIE field="N11" displayName="VIEW.COLH11" displayNameCalc="true" visibleCondition="VIEW.COLH11 != null" />
<SERIE field="N12" displayName="VIEW.COLH12" displayNameCalc="true" visibleCondition="VIEW.COLH12 != null" />
<SERIE field="N13" displayName="VIEW.COLH13" displayNameCalc="true" visibleCondition="VIEW.COLH13 != null" />
<SERIE field="N14" displayName="VIEW.COLH14" displayNameCalc="true" visibleCondition="VIEW.COLH14 != null" />
<SERIE field="N15" displayName="VIEW.COLH15" displayNameCalc="true" visibleCondition="VIEW.COLH15 != null" />
<SERIE field="N16" displayName="VIEW.COLH16" displayNameCalc="true" visibleCondition="VIEW.COLH16 != null" />
<SERIE field="N17" displayName="VIEW.COLH17" displayNameCalc="true" visibleCondition="VIEW.COLH17 != null" />
<SERIE field="N18" displayName="VIEW.COLH18" displayNameCalc="true" visibleCondition="VIEW.COLH18 != null" />
<SERIE field="N19" displayName="VIEW.COLH19" displayNameCalc="true" visibleCondition="VIEW.COLH19 != null" />
<SERIE field="N20" displayName="VIEW.COLH20" displayNameCalc="true" visibleCondition="VIEW.COLH20 != null" />
<SERIE field="N21" displayName="VIEW.COLH21" displayNameCalc="true" visibleCondition="VIEW.COLH21 != null" />
<SERIE field="N22" displayName="VIEW.COLH22" displayNameCalc="true" visibleCondition="VIEW.COLH22 != null" />
<SERIE field="N23" displayName="VIEW.COLH23" displayNameCalc="true" visibleCondition="VIEW.COLH23 != null" />
<SERIE field="N24" displayName="VIEW.COLH24" displayNameCalc="true" visibleCondition="VIEW.COLH24 != null" />
<SERIE field="N25" displayName="VIEW.COLH25" displayNameCalc="true" visibleCondition="VIEW.COLH25 != null" />
<SERIE field="N26" displayName="VIEW.COLH26" displayNameCalc="true" visibleCondition="VIEW.COLH26 != null" />
<SERIE field="N27" displayName="VIEW.COLH27" displayNameCalc="true" visibleCondition="VIEW.COLH27 != null" />
<SERIE field="N28" displayName="VIEW.COLH28" displayNameCalc="true" visibleCondition="VIEW.COLH28 != null" />
<SERIE field="N29" displayName="VIEW.COLH29" displayNameCalc="true" visibleCondition="VIEW.COLH29 != null" />
<SERIE field="N30" displayName="VIEW.COLH30" displayNameCalc="true" visibleCondition="VIEW.COLH30 != null" />
<SERIE field="N31" displayName="VIEW.COLH31" displayNameCalc="true" visibleCondition="VIEW.COLH31 != null" />
</CHART>
<CHART title="Comparatif (10 premiers)" type="pieChart" maxItems="10" maxItemsSortOn="N" maxItemsSortSeq="D" sortField="CODTXT" sortSeq="A" condition="ROW.LVL == '1'">
<CATEGORY field="CODTXT" type="Char" />
<SERIE field="N" displayName="SELECT.DATA_LABEL" displayNameCalc="true" />
</CHART>
<DATAGRID title="" total="true" showOthers="true" headerHeight="36" variableRowHeight="true" sortable="= SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_3 == '-1' || SELECT.GROUPBY_TAB == 'TAB'" selectRowInRows="= ROW.OID == '-9999997'" otherRowInRows="= ROW.OID == '-9999998'" totalRowInRows="= ROW.OID == '-9999999'">
<INSERT name="DATAGRID_MULTITAB_STYLES" />
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid" />
<COLUMN dataField="COD" width="70" type="Char" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" totalComplement="TOTAL">
<INSERT name="COLUMN_COD_MULTITAB_STYLES" />
</COLUMN>
<COLUMN dataField="CODTXT" type="Char" visible="false" totalFunction="text" otherFunction="text" calc="true">
<CALC formula="ROW.TXT" condition="ROW.COD == ROW.TXT"/>
<CALC formula="ROW.COD + ' - ' + ROW.TXT" condition="ROW.COD != ROW.TXT"/>
</COLUMN>
<COLUMN dataField="TXT" type="Char" minWidth="200" maxWidth="400" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" otherFunction="text" otherComplement="*ROW" />
<COLUMN dataField="NB_SEJ" width="65" type="Number" outputFormat="#" headerText="'Nb\nSéjours'" headerTextCalc="true" visibleCondition="SELECT.DATA != 'S'" textAlign="right" totalFunction="sum" otherFunction="sum" />
<COLUMN dataField="NB_PAT" width="65" type="Number" outputFormat="#" headerText="'Nb\nPatients'" headerTextCalc="true" visibleCondition="SELECT.DATA != 'P'" textAlign="right" totalFunction="sum" otherFunction="sum" />
<COLUMN dataField="N" width="65" type="Number" outputFormat="#" headerText="SELECT.DATA2" headerTextCalc="true" textAlign="right" totalFunction="sum" otherFunction="sum" />
<COLUMN dataField="N_P" type="Number" headerText="% / Total" width="40" outputFormat="0%" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true">
<CALC formula="ROW.N / TOTALROW.N * 100" />
</COLUMN>
<!-- Pour calculer la colonne "M_P" ("Moy."), il faut forcer le calcul de chacun
des mois avant de pouvoir les utiliser dans la balise <CALC formula="..." />-->
<COLUMN dataField="N0" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N1" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N2" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N3" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N4" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N5" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N6" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N7" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N8" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N9" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N10" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N11" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N12" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N13" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N14" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N15" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N16" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N17" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N18" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N19" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N20" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N21" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N22" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N23" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N24" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N25" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N26" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N27" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N28" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N29" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N30" visible="false" type="Number" outputFormat="#" />
<COLUMN dataField="N31" visible="false" type="Number" outputFormat="#" />
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<COLUMN dataField="M_P" type="Number" headerText="Moy." width="60" outputFormat="#" textAlign="right" totalFunction="calc" totalComplement="" otherFunction="calc" calc="true">
<CALC formula="(ROW.N0+ROW.N1+ROW.N2+ROW.N3+ROW.N4+ROW.N5+ROW.N6+ROW.N7+ROW.N8+ROW.N9+ROW.N10+ROW.N11+ROW.N12+ROW.N13+ROW.N14+ROW.N15+ROW.N16+ROW.N17+ROW.N18+ROW.N19+ROW.N20+ROW.N21+ROW.N22+ROW.N23+ROW.N24+ROW.N25+ROW.N26+ROW.N27+ROW.N28+ROW.N29+ROW.N30+ROW.N31) / Number(VIEW.NB_MOIS)" />
</COLUMN>
<COLUMN dataField="N0" width="60" visibleCondition="VIEW.COLH0 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="&lt;&lt;" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N1" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH1 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH1" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N2" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH2 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH2" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N3" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH3 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH3" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N4" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH4 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH4" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N5" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH5 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH5" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N6" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH6 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH6" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N7" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH7 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH7" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N8" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH8 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH8" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N9" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH9 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH9" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N10" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH10 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH10" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N11" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH11 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH11" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N12" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH12 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH12" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N13" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH13 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH13" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N14" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH14 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH14" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N15" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH15 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH15" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N16" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH16 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH16" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N17" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH17 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH17" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N18" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH18 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH18" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N19" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH19 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH19" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N20" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH20 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH20" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N21" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH21 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH21" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N22" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH22 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH22" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N23" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH23 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH23" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N24" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH24 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH24" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N25" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH25 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH25" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N26" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH26 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH26" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N27" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH27 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH27" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N28" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH28 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH28" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N29" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH29 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH29" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N30" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH30 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH30" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
<COLUMN dataField="N31" width="= if (SELECT.PERIODICITE == 'DAY') { return 35;} else { return 70;}" visibleCondition="VIEW.COLH31 != null" type="Number" outputFormat="#" fixed="false" selectable="true" headerText="VIEW.COLH31" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" />
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>