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.
 
 

1100 lines
40 KiB

<?xml version="1.0" encoding="ISO-8859-15"?>
<VUE name="ACTI000052"
label="Activité. Liste des séjours"
title="= 'Justificatif occupation' + ' ' + SELECT.REAPRE2 + ' par critères (' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL + ')'"
database="iCTI" swf="*CTI_view1"
softCode="iCTI_activite"
globals="ACTI_globals.XML"
componentsFile="ACTI_components.XML"
helpFile="iCTI_ACTI_ACTI000123.HTML"
helpDokuWIkiDir="activite:occupation_sejours"
helpDokuWIkiFile="acti000123"
>
<VIEWPROPERTIES>
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value" />
<PROPERTY name="REAPRE_SELECT">
<value>
<![CDATA[
[EVAL
if ('[REAPRE]' == '1' && '[ENV.OPTADM_PREVUS]' == '1') {return "";}
if ('[REAPRE]' == '2' && '[ENV.OPTADM_PREVUS]' == '1') {return " AND est_mouvement_previsionnel = '1'";}
return " AND est_mouvement_previsionnel <> '1'";
EVAL]
]]>
</value>
</PROPERTY>
<PROPERTY name="JOURNEES_FIELD">
<value>
<![CDATA[
[EVAL
$field = 'nb_jours';
if ('[QJMUT]' == 'd') {$field = $field . '_d';}
else {
if ('[QJMUT]' == 'f') {$field = $field . '_f';}
else {
if ('[QJMUT]' == '12') {$field = $field . '_12';}
else {
$field = $field . '_f';
}
}
}
return $field;
EVAL]
]]>
</value>
</PROPERTY>
<PROPERTY name="CP_FIELD">
<value>
<![CDATA[
[EVAL
$field = 'nb_jours_cp';
if ('[QJMUT]' == 'd') {$field = $field . '_d';}
else {
if ('[QJMUT]' == 'f') {$field = $field . '_f';}
else {
if ('[QJMUT]' == '12') {$field = $field . '_12';}
else {
$field = $field . '_f';
}
}
}
return $field;
EVAL]
]]>
</value>
</PROPERTY>
</VIEWPROPERTIES>
<SELECTIONS label="Paramètres de l'analyse">
<GROUP label="Période">
<FIELD name="ALIAS_PERIODE" label="" UI="combo" width="220" default="CUM_LAST_MONTH" tree="true" globalListProvider="ALIAS_PERIODE" />
<FIELD name="PERIODE" label="" UI="combo" tree="true" width="200" default="2009-01-01" globalListProvider="DATE_DEBUT" />
<FIELD name="TOPERIODE" label="à" UI="combo" tree="true" width="200" default="2009-01-31" globalListProvider="DATE_FIN" />
</GROUP>
<GROUP label="Données">
<FIELD name="DATA" label="" UI="combo" width="250" default="-1" tree="true" >
<OPTION label="Toutes les données" data="-1" treeLevel="1"/>
<OPTION label="Entrées" data="ENT" treeLevel="1"/>
<OPTION label="Entrées et mutations service" data="ENTMUTS" treeLevel="2"/>
<OPTION label="Entrées et mutations étage" data="ENTMUTE" treeLevel="2"/>
<OPTION label="Sorties" data="SOR" treeLevel="1"/>
<OPTION label="Sorties et mutations" data="SORMUT" treeLevel="2"/>
<OPTION label="Sorties facturées" data="SORFAC" treeLevel="2"/>
<OPTION label="Sorties non facturées" data="SORNONFAC" treeLevel="2"/>
<OPTION label="Journées hospitalisés" data="JRN" treeLevel="1"/>
<OPTION label="Journées et ambulatoires" data="JRNAMB" treeLevel="2"/>
<OPTION label="Journées hospitalisation" data="JRNHON" treeLevel="2"/>
<OPTION label="Journées hospitalisés sortis" data="JRNSOR" treeLevel="2"/>
<OPTION label="Journées hospitalisés facturées" data="JRNSORFAC" treeLevel="3"/>
<OPTION label="Journées hospitalisation sortis" data="JRNSORHON" treeLevel="3"/>
<OPTION label="Journées hospitalisation facturées" data="JRNSORHONFAC" treeLevel="3"/>
<OPTION label="Chambres particulières" data="CP" treeLevel="1"/>
<OPTION label="Externes" data="EXT" treeLevel="1"/>
<OPTION label="Ambulatoires" data="AMB" treeLevel="1"/>
<OPTION label="Séances" data="SEA" treeLevel="1"/>
<OPTION label="Séances Dialyse" data="SEADIA" treeLevel="2"/>
<OPTION label="Séances Chimio" data="SEACHM" treeLevel="2"/>
<OPTION label="Séances Autre" data="SEADIV" treeLevel="2"/>
<OPTION label="Bébés" data="BB" treeLevel="1"/>
<OPTION label="Urgences" data="URG" treeLevel="1"/>
<OPTION label="Décès" data="DECES" treeLevel="1"/>
<OPTION label="EMC" data="EMC" treeLevel="1"/>
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="DAYS_SELECTIONS" />
<SELECTIONS label="Modes de calcul" displayText="= var display:String = '';
display = display + 'Modes de calcul : #B#' + VIEW.OPTADM_DAYOUT + '. ' + SELECT.QJMUT_LABEL + '#/B#';
return display;
">
<GROUP label="Modes">
<FIELD name="REAPRE" label="" width="145" UI="combo" default="0" visible="= [ENV.OPTADM_PREVUS] == '1'" showIfNotDefault="true">
<OPTION data="0" label="Prévus exclus" data2="" />
<OPTION data="1" label="Prévus inclus" data2="(Réalisation et Prévisions)" />
<OPTION data="2" label="Uniquement prévus" data2="(Prévisions)" />
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="QJMUT" label="" width="350" UI="combo" default="f">
<OPTION data="d" label="Si mutation, journée affectée à la premiere localisation" />
<OPTION data="f" label="Si mutation, journée affectée à la dernière localisation" />
<OPTION data="12" label="Si mutation, journée affectée à la localisation occupée à 12h" />
<OPTION data="prorata" label="Si mutation, journée affectée au prorata du temps passé" />
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_MOUVEMENTS_SELECTIONS" />
<SELECTIONS componentName="FILTRES_SEJOURS_SELECTIONS" />
<SELECTIONS componentName="FILTRES_PATIENTS_SELECTIONS" />
<SELECTIONS componentName="FILTRES_PASSAGES_SELECTIONS" />
<QUERIES>
<QUERY label="">
<SQL optimizer="V_SEJOURS_X" optimizer2="V_MOUVEMENTS_SEJOUR_X">
<select>
<![CDATA[
SELECT
v_mouvements_sejour_2.no_sejour,
p_patients.nom || ' ' || p_patients.prenom,
p_patients.no_patient,
p_patients.date_naissance,
v_sejours_1.date_entree,
code_postal_code as code_postal,
v_sejours_1.sexe_texte_court as code_sexe,
v_sejours_1.age as age,
substr(lpad(v_sejours_1.heure_entree, 6, '0'), 1, 2) || ':' || substr(lpad(v_sejours_1.heure_entree, 6, '0'), 3, 2) as heure_entree,
CASE WHEN v_sejours_1.date_sortie <> '2099-12-31' THEN to_char(v_sejours_1.date_sortie,'YYYY-MM-DD') ELSE '' END::text as date_sortie,
CASE WHEN code_sorti = '1' THEN substr(lpad(v_sejours_1.heure_sortie, 6, '0'), 1, 2) || ':' || substr(lpad(v_sejours_1.heure_sortie, 6, '0'), 3, 2) ELSE NULL END as heure_sortie,
CASE WHEN v_sejours_1.date_sortie <> '2099-12-31' THEN v_sejours_1.date_sortie - v_sejours_1.date_entree ELSE 0 END as duree_sejour,
CASE WHEN code_sorti = '1' AND v_sejours_1.date_sortie = v_sejours_1.date_entree THEN substr(lpad(lpad(v_sejours_1.heure_sortie, 6, '0')::numeric - lpad(v_sejours_1.heure_entree, 6, '0')::numeric,6,'0'), 1, 2) || ':' || substr(lpad(lpad(v_sejours_1.heure_sortie, 6, '0')::numeric - lpad(v_sejours_1.heure_entree, 6, '0')::numeric,6,'0'), 3, 2) ELSE NULL END as duree_heure,
lieu_etage_code,
lieu_lit_code,
lieu_service_code || (CASE WHEN lieu_unite_fonctionnelle_code <> lieu_service_code THEN '-'||lieu_unite_fonctionnelle_code ELSE '' END) ,
(medecin_mouvement_nom || ' ' ||medecin_mouvement_prenom) as medecin_mouvement ,
v_sejours_1.mode_entree::text || lpad(v_sejours_1.provenance::text,1,'0') as prov,
v_sejours_1.mode_sortie::text || lpad(v_sejours_1.destination::text,1,'0') as dest,
v_mouvements_sejour_2.sequences ,
MIN(v_mouvements_sejour_2.date),
(MIN(ARRAY[v_mouvements_sejour_2.date::text,substr(lpad(heure_debut, 6, '0'), 1, 2) || ':' || substr(lpad(heure_debut, 6, '0'), 3, 2)]))[2],
MAX(v_mouvements_sejour_2.date),
(MAX(ARRAY[v_mouvements_sejour_2.date::text,substr(lpad(heure_fin, 6, '0'), 1, 2) || ':' || substr(lpad(heure_fin, 6, '0'), 3, 2)]))[2],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENT' || '[DATA]' == 'ENTMUT') {return 'SUM(nb_entrees_directes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENTMUTS') {return 'SUM(nb_entrees_mutation_service)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENTMUTE') {return 'SUM(nb_entrees_mutation_etage)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SOR' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_directes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_mutation_service)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_mutation_etage)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRN' || '[DATA]' == 'JRNAMB' || '[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORFAC' || '[DATA]' == 'JRNSORHONFAC') {return 'SUM([VIEW.JOURNEES_FIELD])';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EXT') {return 'SUM(nb_externes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EXT') {return 'SUM(nb_passage_externe)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'AMB' || '[DATA]' == 'JRNAMB' || '[DATA]' == 'JRNHON') {return 'SUM(nb_ambulatoires)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'URG') {return 'SUM(nb_urgences)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'BB') {return 'SUM(nb_bebes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEA' || '[DATA]' == 'JRNHON') {return 'SUM(nb_seances)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEADIA' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_dialyse)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEACHM' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_chimio)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEADIV' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_autre)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORHONFAC') {return 'SUM([VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'CP') {return 'SUM([VIEW.CP_FIELD])';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORFAC') {return "SUM(CASE WHEN v_mouvements_sejour_2.est_facture = '1' THEN nb_sorties_directes + nb_ambulatoires + nb_seances_dans_taux + nb_externes ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORNONFAC') {return "SUM(CASE WHEN v_mouvements_sejour_2.est_facture = '0' THEN nb_sorties_directes + nb_ambulatoires + nb_seances_dans_taux + nb_externes ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSOR') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 THEN [VIEW.JOURNEES_FIELD] ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORFAC') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORHON') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 THEN [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORHONFAC') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'DECES') {return "SUM(nb_deces)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EMC') {return "SUM(equivalent_malade_complet)";}
return '0';
EVAL]
FROM #V_SEJOURS_X#
JOIN #V_MOUVEMENTS_SEJOUR_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
, activite.p_patients
WHERE
v_mouvements_sejour_2.date [VIEW.PERIODE_ENHANCED]
AND v_sejours_1.no_patient = p_patients.no_patient
AND v_sejours_1.type_sejour <> '9'
[VIEW.SEJOURS_SELECT] [VIEW.PASSAGES_SELECT]
[VIEW.MOUVEMENTS_SELECT] [VIEW.REAPRE_SELECT] [VIEW.JOURS_SELECT] [VIEW.PATIENTS_SELECT]
[EVAL
if ('[DATA]' == 'ENT') {return 'AND nb_entrees_directes <> 0';}
if ('[DATA]' == 'ENTMUTS') {return 'AND ( nb_entrees_mutation_service <> 0 )';}
if ('[DATA]' == 'ENTMUTE') {return 'AND ( nb_entrees_mutation_etage <> 0)';}
if ('[DATA]' == 'SOR') {return 'AND (nb_sorties_directes <> 0 OR nb_ambulatoires <> 0 OR nb_seances <> 0 OR nb_externes <> 0)';}
if ('[DATA]' == 'SORMUT') {return 'AND (nb_sorties_directes <> 0 OR nb_sorties_mutation_service <> 0 OR nb_sorties_mutation_etage <> 0)';}
if ('[DATA]' == 'JRN' || '[DATA]' == 'JRNSORFAC') {return "AND est_jour_hospitalisation = '1'";}
if ('[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORHONFAC') {return "AND (est_jour_hospitalisation = '1' OR nb_ambulatoires <> 0 OR nb_seances <> 0)";}
if ('[DATA]' == 'JRNAMB') {return "AND (est_jour_hospitalisation = '1' OR nb_ambulatoires <> 0)";}
if ('[DATA]' == 'EXT') {return 'AND (nb_externes <> 0 OR nb_passage_externe <> 0)';}
if ('[DATA]' == 'AMB') {return 'AND nb_ambulatoires <> 0';}
if ('[DATA]' == 'URG') {return 'AND nb_urgences <> 0';}
if ('[DATA]' == 'BB') {return 'AND nb_bebes <> 0';}
if ('[DATA]' == 'SEA') {return 'AND nb_seances <> 0';}
if ('[DATA]' == 'SEADIA') {return 'AND nb_seances_dialyse <> 0';}
if ('[DATA]' == 'SEACHM') {return 'AND nb_seances_chimio <> 0';}
if ('[DATA]' == 'SEADIV') {return 'AND nb_seances_autre <> 0';}
if ('[DATA]' == 'CP') {return 'AND [VIEW.CP_FIELD] <> 0';}
if ('[DATA]' == 'SORNONFAC') {return "AND v_mouvements_sejour_2.est_facture = '0' AND (nb_sorties_directes <> 0 OR nb_ambulatoires <> 0 OR nb_seances <> 0 OR nb_externes <> 0)";}
if ('[DATA]' == 'SORFAC') {return "AND v_mouvements_sejour_2.est_facture = '1' AND (nb_sorties_directes <> 0 OR nb_ambulatoires <> 0 OR nb_seances <> 0 OR nb_externes <> 0)";}
if ('[DATA]' == 'DECES') {return 'AND nb_deces <> 0';}
if ('[DATA]' == 'EMC') {return 'AND equivalent_malade_complet <> 0';}
return '';
EVAL]
GROUP BY
v_mouvements_sejour_2.no_sejour,
p_patients.nom,
p_patients.prenom,
p_patients.no_patient,
p_patients.date_naissance,
code_postal_code,
v_sejours_1.date_entree,
v_sejours_1.heure_entree,
v_sejours_1.date_sortie,
v_sejours_1.heure_sortie,
v_sejours_1.code_sorti,
5,
v_sejours_1.sexe_texte_court,
v_sejours_1.age,
v_mouvements_sejour_2.lieu_etage_code,
v_mouvements_sejour_2.lieu_lit_code,
v_mouvements_sejour_2.lieu_service_code,
v_mouvements_sejour_2.lieu_unite_fonctionnelle_code,
v_mouvements_sejour_2.sequences,
medecin_mouvement,
v_sejours_1.mode_entree,
v_sejours_1.mode_sortie,
v_sejours_1.provenance,
v_sejours_1.destination
ORDER BY
v_mouvements_sejour_2.no_sejour,
v_mouvements_sejour_2.lieu_etage_code,
v_mouvements_sejour_2.lieu_service_code,
medecin_mouvement
]]>
</select>
<FIELDS>
<FIELD name="SEJ" />
<FIELD name="NOM" ifHideNames="Non autorisé" />
<FIELD name="NPAT" />
<FIELD name="DNAT" />
<FIELD name="DENT" />
<FIELD name="CPOST" />
<FIELD name="SEXE" />
<FIELD name="AGE" />
<FIELD name="HENT" />
<FIELD name="DSOR" />
<FIELD name="HSOR" />
<FIELD name="DUR" />
<FIELD name="DURHEURE" />
<FIELD name="ETA" />
<FIELD name="LIT" />
<FIELD name="SER" />
<FIELD name="MED" />
<FIELD name="PROV" />
<FIELD name="DEST" />
<FIELD name="SEQU" />
<FIELD name="DMVTD" />
<FIELD name="HMVTD" />
<FIELD name="DMVTF" />
<FIELD name="HMVTF" />
<FIELD name="ENT" />
<FIELD name="ENTMS" />
<FIELD name="ENTME" />
<FIELD name="SOR" />
<FIELD name="SORMS" />
<FIELD name="SORME" />
<FIELD name="JRN" />
<FIELD name="EXT" />
<FIELD name="PEX" />
<FIELD name="AMB" />
<FIELD name="URG" />
<FIELD name="BB" />
<FIELD name="SEA" />
<FIELD name="SEADIA" />
<FIELD name="SEACHM" />
<FIELD name="SEADIV" />
<FIELD name="JRNHON" />
<FIELD name="NCP" />
<FIELD name="SORFAC" />
<FIELD name="SORNONFAC" />
<FIELD name="JRNSOR" />
<FIELD name="JRNSORFAC" />
<FIELD name="JRNSORHON" />
<FIELD name="JRNSORHONFAC" />
<FIELD name="DECES" />
<FIELD name="EMC" />
</FIELDS>
</SQL>
<SQL optimizer="V_SEJOURS_X" optimizer2="V_MOUVEMENTS_SEJOUR_X">
<select>
<![CDATA[
SELECT
'-9999999',
COUNT(DISTINCT v_mouvements_sejour_2.no_sejour)::text || ' séjours, ' || COUNT(DISTINCT v_sejours_1.no_patient)::text || ' patients',
null,
null,
null,
'',
'',
base.cti_division(base.cti_sum_distinct_on(distinct array[v_sejours_1.sejour_id::numeric, v_sejours_1.age::numeric]), count(distinct v_sejours_1.no_sejour)),
'',
null,
null,
base.cti_sum_distinct_on(distinct array[v_sejours_1.sejour_id::numeric, (CASE WHEN date_sortie <> '2099-12-31'::date AND code_sorti = '1' THEN v_sejours_1.date_sortie - v_sejours_1.date_entree ELSE 0 END)::numeric]),
'',
'',
'',
'',
'',
'',
'',
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENT' || '[DATA]' == 'ENTMUT') {return 'SUM(nb_entrees_directes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENTMUTS') {return 'SUM(nb_entrees_mutation_service)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'ENTMUTE') {return 'SUM(nb_entrees_mutation_etage)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SOR' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_directes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_mutation_service)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORMUT') {return 'SUM(nb_sorties_mutation_etage)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRN' || '[DATA]' == 'JRNAMB' || '[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORFAC') {return 'SUM([VIEW.JOURNEES_FIELD])';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EXT') {return 'SUM(nb_externes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EXT') {return 'SUM(nb_passage_externe)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'AMB' || '[DATA]' == 'JRNAMB' || '[DATA]' == 'JRNHON') {return 'SUM(nb_ambulatoires)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'URG') {return 'SUM(nb_urgences)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'BB') {return 'SUM(nb_bebes)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEA' || '[DATA]' == 'JRNHON') {return 'SUM(nb_seances)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEADIA' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_dialyse)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEACHM' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_chimio)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SEADIV' || '[DATA]' == 'SEA') {return 'SUM(nb_seances_autre)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORHONFAC') {return 'SUM([VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux)';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'CP') {return 'SUM([VIEW.CP_FIELD])';}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORFAC') {return "SUM(CASE WHEN v_mouvements_sejour_2.est_facture = '1' THEN nb_sorties_directes + nb_ambulatoires + nb_seances_dans_taux + nb_externes ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'SORNONFAC') {return "SUM(CASE WHEN v_mouvements_sejour_2.est_facture = '0' THEN nb_sorties_directes + nb_ambulatoires + nb_seances_dans_taux + nb_externes ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSOR') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 THEN [VIEW.JOURNEES_FIELD] ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORFAC') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORHON') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 THEN [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'JRNSORHONFAC') {return "SUM(CASE WHEN date_sortie <= '[TOPERIODE]' AND v_sejours_1.code_sorti = 1 AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux ELSE 0 END)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'DECES') {return "SUM(nb_deces)";}
return '0';
EVAL],
[EVAL
if ('[DATA]' == '-1' || '[DATA]' == 'EMC') {return "SUM(equivalent_malade_complet)";}
return '0';
EVAL]
FROM #V_SEJOURS_X#
JOIN #V_MOUVEMENTS_SEJOUR_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
WHERE
date [VIEW.PERIODE_ENHANCED]
[VIEW.SEJOURS_SELECT] [VIEW.PASSAGES_SELECT]
[VIEW.MOUVEMENTS_SELECT] [VIEW.REAPRE_SELECT] [VIEW.JOURS_SELECT] [VIEW.PATIENTS_SELECT]
AND v_sejours_1.type_sejour <> '9'
[EVAL
if ('[DATA]' == 'ENT') {return 'AND nb_entrees_directes <> 0';}
if ('[DATA]' == 'ENTMUTS') {return 'AND ( nb_entrees_mutation_service <> 0)';}
if ('[DATA]' == 'ENTMUTE') {return 'AND ( nb_entrees_mutation_etage <> 0)';}
if ('[DATA]' == 'SOR') {return 'AND nb_sorties_directes <> 0';}
if ('[DATA]' == 'SORMUT') {return 'AND (nb_sorties_directes <> 0 OR nb_sorties_mutation_service <> 0 OR nb_sorties_mutation_etage <> 0)';}
if ('[DATA]' == 'JRN' || '[DATA]' == 'JRNSORFAC') {return "AND est_jour_hospitalisation = '1'";}
if ('[DATA]' == 'JRNHON' || '[DATA]' == 'JRNSORHONFAC') {return "AND (est_jour_hospitalisation = '1' OR nb_ambulatoires <> 0 OR nb_seances <> 0)";}
if ('[DATA]' == 'JRNAMB') {return "AND (est_jour_hospitalisation = '1' OR nb_ambulatoires <> 0)";}
if ('[DATA]' == 'EXT') {return 'AND (nb_externes <> 0 OR nb_passage_externe <> 0)';}
if ('[DATA]' == 'AMB') {return 'AND nb_ambulatoires <> 0';}
if ('[DATA]' == 'URG') {return 'AND nb_urgences <> 0';}
if ('[DATA]' == 'BB') {return 'AND nb_bebes <> 0';}
if ('[DATA]' == 'SEA') {return 'AND nb_seances <> 0';}
if ('[DATA]' == 'SEADIA') {return 'AND nb_seances_dialyse <> 0';}
if ('[DATA]' == 'SEACHM') {return 'AND nb_seances_chimio <> 0';}
if ('[DATA]' == 'SEADIV') {return 'AND nb_seances_autre <> 0';}
if ('[DATA]' == 'CP') {return 'AND [VIEW.CP_FIELD] <> 0';}
if ('[DATA]' == 'SORNONFAC') {return "AND v_mouvements_sejour_2.est_facture = '0' AND (nb_sorties_directes <> 0 OR nb_ambulatoires <> 0 OR nb_seances <> 0 OR nb_externes <> 0)";}
if ('[DATA]' == 'SORFAC') {return "AND v_mouvements_sejour_2.est_facture = '1' AND (nb_sorties_directes <> 0 OR nb_ambulatoires <> 0 OR nb_seances <> 0 OR nb_externes <> 0)";}
if ('[DATA]' == 'DECES') {return 'AND nb_deces <> 0';}
if ('[DATA]' == 'EMC') {return 'AND equivalent_malade_complet <> 0';}
return '';
EVAL]
]]>
</select>
<FIELDS>
<FIELD name="SEJ" />
<FIELD name="NOM" ifHideNames="Non autorisé" />
<FIELD name="NPAT" />
<FIELD name="DNAT" />
<FIELD name="DENT" />
<FIELD name="CPOST" />
<FIELD name="SEXE" />
<FIELD name="AGE" />
<FIELD name="HENT" />
<FIELD name="DSOR" />
<FIELD name="HSOR" />
<FIELD name="DUR" />
<FIELD name="ETA" />
<FIELD name="LIT" />
<FIELD name="SER" />
<FIELD name="MED" />
<FIELD name="PROV" />
<FIELD name="DEST" />
<FIELD name="SEQU" />
<FIELD name="ENT" />
<FIELD name="ENTMS" />
<FIELD name="ENTME" />
<FIELD name="SOR" />
<FIELD name="SORMS" />
<FIELD name="SORME" />
<FIELD name="JRN" />
<FIELD name="EXT" />
<FIELD name="PEX" />
<FIELD name="AMB" />
<FIELD name="URG" />
<FIELD name="BB" />
<FIELD name="SEA" />
<FIELD name="SEADIA" />
<FIELD name="SEACHM" />
<FIELD name="SEADIV" />
<FIELD name="JRNHON" />
<FIELD name="NCP" />
<FIELD name="SORFAC" />
<FIELD name="SORNONFAC" />
<FIELD name="JRNSOR" />
<FIELD name="JRNSORFAC" />
<FIELD name="JRNSORHON" />
<FIELD name="JRNSORHONFAC" />
<FIELD name="DECES" />
<FIELD name="EMC" />
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL>
<select><![CDATA[
SELECT
'PERIODE_ENHANCED',
CASE WHEN '[PERIODE]' = '[TOPERIODE]' THEN ' = ' || '''' || to_char(COALESCE(MIN(date),'[PERIODE]'::date), 'YYYY-MM-DD') || '''::date'
ELSE ' BETWEEN ''' || to_char(COALESCE(MIN(date),'[PERIODE]'::date), 'YYYY-MM-DD') || '''::date AND ''' || to_char(COALESCE(MAX(date),'[TOPERIODE]'::date), 'YYYY-MM-DD') || '''::date'
END
FROM
activite.p_mouvements_sejour
WHERE
date BETWEEN '[PERIODE]' AND '[TOPERIODE]' [VIEW.REAPRE_SELECT]
]]></select>
<FIELDS>
<FIELD name="name" />
<FIELD name="value" />
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Détail séjour" shortLabel="Détail séjour" view="ACTI000020.XML">
<ARG name="SEJOUR" value="ROW.SEJ" />
</VIEWLINK>
</VIEWLINKS>
<ONGLET excelLabel="Liste séjours" label="Liste séjours" >
<DATAGRID title="" total="true" key="SEJ" headerHeight="48"
totalRowInRows="= ROW.SEJ == '-9999999'" >
<COLUMN dataField="SEJ"
frozen="left"
width="100"
type="Char"
headerText="No séjour"
textAlign="left"
otherFunction="text"
totalFunction="text"
totalComplement="TOTAL" />
<COLUMN dataField="NPAT"
frozen="left"
type="Char"
minWidth="90"
headerText="N° Patient"
textAlign="left"
totalFunction="text"
totalComplement="*ROW" />
<COLUMN dataField="NOM"
frozen="left"
type="Char"
minWidth="150"
headerText="Nom"
textAlign="left"
totalFunction="text"
totalComplement="*ROW" />
<COLUMN dataField="SEXE"
width="40"
type="Char"
headerText="Sexe"
textAlign="right"
totalFunction="text">
<CELLSTYLE name="cellIndicator" value="femme, 12,right middle , 0xEB76B1" condition="ROW.SEXE == 'F'" />
<CELLSTYLE name="cellIndicator" value="homme, 12,right middle , 0x75a0eb " condition="ROW.SEXE == 'M'" />
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0x666666" condition="ROW.SEXE != 'M' &amp;&amp; ROW.SEXE != 'F'" />
</COLUMN>
<COLUMN dataField="DNAT"
width="60"
type="Date"
inputFormat="AAAA-MM-JJ"
outputFormat="DD/MM/YY"
headerText="Date naissance"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="AGE"
width="35"
type="Number"
outputFormat="= if (ROW.SEJ == '-9999999') { return '#,0';} else { return '#';}"
headerText="Age"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="CPOST"
width="50"
type="Char"
headerText="Code postal"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DENT"
width="60"
type="Date"
inputFormat="AAAA-MM-JJ"
outputFormat="DD/MM/YY"
headerText="Date entrée ETS"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="HENT"
width="50"
type="Char"
headerText="Heure entrée ETS"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="PROV"
width="40"
type="Char"
headerText="ME / Prov."
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DSOR"
width="60"
type="Date"
inputFormat="AAAA-MM-JJ"
outputFormat="DD/MM/YY"
headerText="Date sortie ETS"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="HSOR"
width="50"
type="Char"
headerText="Heure sortie ETS"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DEST"
width="40"
type="Char"
headerText="MS / Dest."
textAlign="right"
totalFunction="text" />
<COLUMNx dataField="DUR"
type="Number"
width="50"
outputFormat="0#j"
fixed="false"
headerText="Durée Séjour ETS"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DMVTD"
width="60"
type="Date"
fixed="false"
inputFormat="AAAA-MM-JJ"
outputFormat="DD/MM/YY"
headerText="Date entrée MVT"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="HMVTD"
width="50"
type="Char"
fixed="false"
headerText="Heure entrée MVT"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DMVTF"
width="60"
type="Date"
inputFormat="AAAA-MM-JJ"
outputFormat="DD/MM/YY"
headerText="Date sortie MVT"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="HMVTF"
width="50"
type="Char"
fixed="false"
headerText="Heure sortie MVT"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="DURHEURE"
width="50"
type="Char"
headerText="Durée Heure"
textAlign="right"
totalFunction="text" />
<COLUMN dataField="ETA"
type="Char"
width="70"
fixed="false"
headerText="[DICT.ACTI.ETAGE]"
textAlign="left"
totalFunction="text" />
<COLUMN dataField="LIT"
type="Char"
width="55"
fixed="false"
headerText="Lit"
textAlign="left"
totalFunction="text" />
<COLUMN dataField="SER"
type="Char"
width="70"
fixed="false"
headerText="[DICT.ACTI.SERVICE]"
textAlign="left"
totalFunction="text" />
<COLUMN dataField="MED"
type="Char"
minWidth="80"
maxWidth="150"
fixed="false"
headerText="Médecin"
textAlign="left"
totalFunction="text" />
<COLUMN dataField="ENT"
width="80"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'ENT' || SELECT.DATA == 'ENTMUT'"
outputFormat='#'
headerText="Entrées"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="ENTMS"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'ENTMUT'"
headerText="Entrées Mutation Service"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="ENTME"
width="70"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'ENTMUT'"
outputFormat='#'
headerText="Entrées Mutation Etage"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SOR"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SOR' || SELECT.DATA == 'SORMUT'"
headerText="Sorties"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SORMS"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SORMUT'"
headerText="Sorties Mutation Service"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SORME"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SORMUT'"
headerText="Sorties Mutation Etage"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SORNONFAC"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SORNONFAC'"
headerText="Sorties Non facturées"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SORFAC"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SORFAC'"
headerText="Sorties facturées"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="EMC"
width="55"
type="Number"
fixed="false"
outputFormat='#,0'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'EMC'"
headerText="EMC"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRN"
width="88"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRN' || SELECT.DATA == 'JRNAMB' || SELECT.DATA == 'JRNHON'"
headerText="Journées hospitalisés"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRNSOR"
width="88"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRNSOR'"
headerText="Journées hospitalisés sortis"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRNSORFAC"
width="88"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRNSORFAC'"
headerText="Journées hospitalisés facturées"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRNHON"
width="104"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRNHON' || SELECT.DATA == 'JRNSORHONFAC'"
headerText="Journées&#xD;hospitalisation"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRNSORHON"
width="105"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRNSORHON'"
headerText="Journées&#xD;hospitalisation&#xD;sortis"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="JRNSORHONFAC"
width="105"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'JRNSORHONFAC'"
headerText="Journées&#xD;hospitalisation&#xD;facturées"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="NCP"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'CP'"
headerText="C.P."
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="AMB"
width="70"
type="Number"
fixed="false"
visible="true"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'AMB' || SELECT.DATA == 'JRNAMB' || SELECT.DATA == 'JRNHON'"
headerText="Ambulat."
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SEA"
width="70"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SEA' || SELECT.DATA == 'JRNHON'"
outputFormat='#'
headerText="Séances"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SEADIA"
width="70"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SEADIA' || SELECT.DATA == 'SEA'"
outputFormat='#'
headerText="Séances Dialyse"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SEACHM"
width="70"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SEACHM' || SELECT.DATA == 'SEA'"
outputFormat='#'
headerText="Séances Chimio"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="SEADIV"
width="70"
type="Number"
fixed="false"
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'SEADIV' || SELECT.DATA == 'SEA'"
outputFormat='#'
headerText="Autres Séances"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="EXT"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'EXT'"
headerText="Externes"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="PEX"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'EXT'"
headerText="Passages Externes"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="BB"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'BB'"
headerText="Bébés"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="URG"
width="70"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'URG'"
headerText="Urgences"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
<COLUMN dataField="DECES"
width="55"
type="Number"
fixed="false"
outputFormat='#'
visibleCondition="SELECT.DATA == '-1' || SELECT.DATA == 'DECES'"
headerText="Décès"
textAlign="right"
totalFunction="sum"
otherFunction="sum" />
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>