|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
<VUE name="PMSI000115" label="PMSI. Analyse croisée Ré-Entrées" title="= SELECT.DATA_LABEL + ' par ' + SELECT.GROUPBY_LABEL + ' éclaté par ' + SELECT.COLUMNBY_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:file_active" helpDokuWIkiFile="pmsi000114" helpFile="iCTI_PMSI_PMSI000115.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 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '1':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 0 AND 1 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '2':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 2 AND 7 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '3':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 8 AND 15 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '4':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 16 AND 30 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '5':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai BETWEEN 31 AND 90 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
case '6':
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai >= 91 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
break;
|
|
|
default:
|
|
|
return 'SUM(CASE WHEN COLUMNCHECKSEQUENCE THEN CASE WHEN apres_rss_id <> 0 AND delai < 2 THEN 1 ELSE 0 END ELSE NULL END)';
|
|
|
}
|
|
|
|
|
|
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 '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 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="" 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="Données">
|
|
|
<FIELD name="DATA" UI="combo" tree="true" default="1">
|
|
|
<OPTION label="Options" data="" globalListProvider="DATA_REENTREES" />
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<GROUP>
|
|
|
<FIELD name="COLUMNBY" label="Colonnes" UI="combo" width="220" default="CAS" tree="true">
|
|
|
<OPTION label="Options" data="" globalListProvider="RSS_GROUPBY_OPTIONS" />
|
|
|
</FIELD>
|
|
|
<FIELD name="COLUMNBYCOUNT" label="Nombre" UI="combo" default="10" tree="false">
|
|
|
<OPTION label="5" data="5" />
|
|
|
<OPTION label="6" data="6" />
|
|
|
<OPTION label="7" data="7" />
|
|
|
<OPTION label="8" data="8" />
|
|
|
<OPTION label="9" data="9" />
|
|
|
<OPTION label="10" data="10" />
|
|
|
<OPTION label="11" data="11" />
|
|
|
<OPTION label="12" data="12" />
|
|
|
<OPTION label="13" data="13" />
|
|
|
<OPTION label="14" data="14" />
|
|
|
<OPTION label="15" data="15" />
|
|
|
<OPTION label="16" data="16" />
|
|
|
<OPTION label="17" data="17" />
|
|
|
<OPTION label="18" data="18" />
|
|
|
<OPTION label="19" data="19" />
|
|
|
<OPTION label="20" data="20" />
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<!--
|
|
|
<GROUP label="Colonnes">
|
|
|
<FIELD name="GROUPBY_COL" width="220" label="Colonnes" UI="combo" default="3">
|
|
|
<OPTION label="CMD" data="1" />
|
|
|
<OPTION label="Pôle OAP" data="2" />
|
|
|
<OPTION label="Groupe activités" data="3" />
|
|
|
<OPTION label="Type facturation" data="TYPFAC" />
|
|
|
<OPTION label="Médecin RSS" data="6" />
|
|
|
<OPTION label="Spécialité médecin RSS" data="7" />
|
|
|
<OPTION label="Unité principale" data="UP" />
|
|
|
<OPTION label="ASo (M/C/O)" data="8" />
|
|
|
</FIELD>
|
|
|
<FIELD name="RANG_MAX_COL" label="Nombre" UI="number" width="50" default="20" />
|
|
|
</GROUP>
|
|
|
-->
|
|
|
<GROUP label="Regroupements">
|
|
|
<FIELD name="GROUPBY" width="220" label="" UI="combo" default="GHMCLS09" 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">
|
|
|
<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]}
|
|
|
COLUMNBYOID{[VIEW.SELECT_COLUMNBY_OID_FIELD],, [VIEW.SELECT_COLUMNBY_COD_FIELD] ,, [VIEW.SELECT_COLUMNBY_TXT_FIELD],, [VIEW.DATA] ,, [COLUMNBYCOUNT]}
|
|
|
INDICATORS{ [VIEW.DATAM], }
|
|
|
INDICATORS_COLUMNS{ [VIEW.DATAI], }
|
|
|
FROM #V_RSS_X#
|
|
|
JOIN w_reentrees ON v_rss_1.rss_id = w_reentrees.rss_id
|
|
|
|
|
|
]]></select>
|
|
|
<FIELDS>
|
|
|
<INSERT name="CTISELECT_TREE_FIELDS" />
|
|
|
<FIELD name="N" />
|
|
|
<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" />
|
|
|
</FIELDS>
|
|
|
</SQL>
|
|
|
</QUERY>
|
|
|
</QUERIES>
|
|
|
<PRESENTATION>
|
|
|
<VIEWLINKS>
|
|
|
<VIEWLINK label="Liste des patients" shortLabel="Liste Patients" view="PMSI000117.XML" componentName="RSS_BASE_VIEWLINK" />
|
|
|
<VIEWLINK label="Justificatif Ré-Entrées" shortLabel="Liste Ré-Entrées" view="PMSI000116.XML" componentName="RSS_BASE_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" />
|
|
|
</VIEWLINKS>
|
|
|
<ONGLET excelLabel="File active" label="File active" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
|
|
|
<CHART title="Evolution" type="lineChart" serieIsCategory="true" fromTotal="false"
|
|
|
visibleCondition="SELECT.GROUPBY == 'ASOR' && (SELECT.COLUMNBY == 'MSOR' || SELECT.COLUMNBY == 'TRIMSOR')"
|
|
|
condition="Number(ROW.LVL) == 1">
|
|
|
<CATEGORY field="TXT" 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"/>
|
|
|
</CHART>
|
|
|
|
|
|
<CHART title="Comparatif (10 premiers)" type="pieChart" maxItems="10" maxItemsSortOn="N" maxItemsSortSeq="D" sortField="N" sortSeq="D"
|
|
|
visibleCondition="(SELECT.GROUPBY != 'ASOR') || (SELECT.GROUPBY == 'ASOR' && SELECT.COLUMNBY != 'MSOR' && SELECT.COLUMNBY != 'TRIMSOR')" condition="ROW.LVL == '1'">
|
|
|
<CATEGORY field="CODTXT" type="Char" />
|
|
|
<SERIE field="N" displayName="SELECT.DATA_LABEL" displayNameCalc="true" />
|
|
|
</CHART>
|
|
|
<CHART title="Répartition (Total)" type="columnChart" serieIsCategory="true" fromTotal="true"
|
|
|
visibleCondition="(SELECT.GROUPBY != 'ASOR') || (SELECT.GROUPBY == 'ASOR' && SELECT.COLUMNBY != 'MSOR' && SELECT.COLUMNBY != 'TRIMSOR')">
|
|
|
<CATEGORY field="TXT" 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" />
|
|
|
</CHART>
|
|
|
<DATAGRID title="" total="true" showOthers="true" headerHeight="72" 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.COD + ' - ' + ROW.TXT" />
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="TXT" type="Char" minWidth="200" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" otherFunction="text" otherComplement="*ROW" />
|
|
|
<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>
|
|
|
<COLUMN dataField="N1" width="75" visibleCondition="VIEW.COLH1 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH1" columnData="= VIEW.COLI1" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N2" width="75" visibleCondition="VIEW.COLH2 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH2" columnData="= VIEW.COLI2" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N3" width="75" visibleCondition="VIEW.COLH3 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH3" columnData="= VIEW.COLI3" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N4" width="75" visibleCondition="VIEW.COLH4 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH4" columnData="= VIEW.COLI4" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N5" width="75" visibleCondition="VIEW.COLH5 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH5" columnData="= VIEW.COLI5" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N6" width="75" visibleCondition="VIEW.COLH6 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH6" columnData="= VIEW.COLI6" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N7" width="75" visibleCondition="VIEW.COLH7 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH7" columnData="= VIEW.COLI7" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N8" width="75" visibleCondition="VIEW.COLH8 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH8" columnData="= VIEW.COLI8" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N9" width="75" visibleCondition="VIEW.COLH9 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH9" columnData="= VIEW.COLI9" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N10" width="75" visibleCondition="VIEW.COLH10 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH10" columnData="= VIEW.COLI10" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N11" width="75" visibleCondition="VIEW.COLH11 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH11" columnData="= VIEW.COLI11" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N12" width="75" visibleCondition="VIEW.COLH12 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH12" columnData="= VIEW.COLI12" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N13" width="75" visibleCondition="VIEW.COLH13 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH13" columnData="= VIEW.COLI13" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N14" width="75" visibleCondition="VIEW.COLH14 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH14" columnData="= VIEW.COLI14" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N15" width="75" visibleCondition="VIEW.COLH15 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH15" columnData="= VIEW.COLI15" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N16" width="75" visibleCondition="VIEW.COLH16 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH16" columnData="= VIEW.COLI16" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N17" width="75" visibleCondition="VIEW.COLH17 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH17" columnData="= VIEW.COLI17" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N18" width="75" visibleCondition="VIEW.COLH18 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH18" columnData="= VIEW.COLI18" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N19" width="75" visibleCondition="VIEW.COLH19 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH19" columnData="= VIEW.COLI19" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
<COLUMN dataField="N20" width="75" visibleCondition="VIEW.COLH20 != null" type="Number" outputFormat="#" fixed="false" selectable="false" headerText="VIEW.COLH20" columnData="= VIEW.COLI20" headerTextCalc="true" textAlign="right" otherFunction="sum" totalFunction="sum" description=" "/>
|
|
|
</DATAGRID>
|
|
|
</ONGLET>
|
|
|
</PRESENTATION>
|
|
|
</VUE>
|