Esempio n. 1
0
 static function getDataTransfertsSamu(clDate $date1, clDate $date2)
 {
     $strDate1 = $date1->getDate();
     $strDate2 = $date2->addDays(1)->getDate();
     $obRequete = new clRequete(BDD, 'patients_sortis', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
     $requete = "SELECT * FROM `patients_sortis` WHERE `dt_admission` >= '{$strDate1}' and dt_sortie <= '{$strDate2}' AND `type_destination` = 'T' AND moyen_transport LIKE '%SMUR%' ";
     return $obRequete->exec_requete($requete, 'tab');
 }
Esempio n. 2
0
 function launchAES()
 {
     global $options;
     $mails = '';
     $codes = '';
     $contenu = '';
     $config[type] = "MySQL";
     $config[host] = MYSQL_HOST;
     $config[login] = MYSQL_USER;
     $config[password] = MYSQL_PASS;
     $config[db] = BDD;
     $date = new clDate();
     $date_naissance = new clDate();
     $date_admission = new clDate();
     //$aujourdhui =getdate();
     //$date ->getHours ( )
     $date1 = $date->getDate("Y-m-d");
     // aujourdhui J
     $date->addDays("-1");
     $date2 = $date->getDate("Y-m-d");
     // date J-1
     $heure = $date->getDate("H:i:00");
     $date->addHours("-8");
     $hour1 = $date->getDate("H:i:00");
     $date->addHours("8");
     $date->addHours("-16");
     $hour2 = $date->getDate("H:i:00");
     $requete = new clResultQuery();
     $listeGen = new clListesGenerales("recup");
     $listeMails = $listeGen->getListeItems("Mails Alertes AES", "1", '', '', "1");
     $listeCodesR = $listeGen->getListeItems("Alertes AES - Code Recours", "1", '', '', "1");
     $listeCodesD = $listeGen->getListeItems("Alertes AES - Code Diagnostics", "1", '', '', "1");
     while (list($key, $val) = each($listeMails)) {
         if ($mails) {
             $virgule = ',';
         } else {
             $virgule = '';
         }
         if ($val != "--") {
             $mails .= $virgule . $val;
         }
     }
     //print "Mails : $mails" ;
     while (list($key, $val) = each($listeCodesR)) {
         if ($codes) {
             $or = ' OR ';
         } else {
             $or = '';
         }
         if ($val != "--") {
             $codes .= $or . "recours_code='" . $val . "'";
         }
     }
     while (list($key, $val) = each($listeCodesD)) {
         if ($codes) {
             $or = ' OR ';
         } else {
             $or = '';
         }
         if ($val != "--") {
             $codes .= $or . "diagnostic_code='" . $val . "'";
         }
     }
     if ($heure >= "15:00:00") {
         $req2 = "SELECT * FROM patients_sortis WHERE ({$codes}) AND dt_sortie BETWEEN '{$date1} {$hour1}' AND '{$date1} {$heure}'";
         $res1 = $requete->Execute("Query", $req2, $config);
     } else {
         $req2 = "SELECT * FROM patients_sortis WHERE ({$codes}) AND dt_sortie BETWEEN '{$date2} {$hour2}' AND '{$date1} {$heure}'";
         $res1 = $requete->Execute("Query", $req2, $config);
     }
     $contenu1 = $contenu1 . "\n";
     if ($res1[idpatient] > 0) {
         if ($options->getOption("typeMail") == "HTML") {
             $contenu1 = "<table align=\"center\" border =1>\n\t\t\t       <tr bgcolor=\"Silver\">\n\t\t\t       <th colspan=\"5\">Informations AES (Patients sortis)</th>\n\t\t\t\t</tr>\n\t\t\t\t<tr bgcolor=\"Silver\">\n\t\t\t\t<th>Nom</th>\n\t\t\t\t<th>Prénom</th>\n\t\t\t\t<th>Né(e) le</th>\n\t\t\t\t<th>Admission le</th>\n\t\t\t\t<th>Médecin Urg.</th>\n\t\t\t\t</tr>";
         } else {
             $contenu1 = "Informations AES (Patients sortis)\tNom\tPrénom\tNé(e) le\tAdmission le\tMédecin Urg.\n";
         }
         for ($i = 0; isset($res1[idpatient][$i]); ++$i) {
             // Affectation de resultats dans le tableau entrants
             $date_naissance->setDate($res1[dt_naissance][$i]);
             $date_admission->setDate($res1[dt_admission][$i]);
             if ($options->getOption("typeMail") == "HTML") {
                 $contenu1 .= "<tr>";
                 $contenu1 .= "<td>" . $res1[nom][$i] . "</td>";
                 $contenu1 .= "<td>" . $res1[prenom][$i] . "</td>";
                 $contenu1 .= "<td>" . $date_naissance->getDate('d-m-Y H:i:s') . "</td>";
                 $contenu1 .= "<td>" . $date_admission->getDate('d-m-Y H:i:s') . "</td>";
                 $contenu1 .= "<td>Dr " . $res1[medecin_urgences][$i] . "</td>";
                 $contenu1 .= "</tr>";
                 //Ecriture du log
             } else {
                 $contenu1 .= $res1[nom][$i] . "\t" . $res1[prenom][$i] . "\t";
                 $contenu1 .= $date_naissance->getDate('d-m-Y H:i:s') . "\t";
                 $contenu1 .= $date_admission->getDate('d-m-Y H:i:s') . "\t";
                 $contenu1 .= "Dr " . $res1[medecin_urgences][$i] . '\\n';
             }
             $text_log1 .= $text_log1 . "\n";
             $text_log1 .= $res1[nom][$i] . ";";
             $text_log1 .= $res1[prenom][$i] . ";";
             $text_log1 .= $res1[dt_naissance][$i] . ";";
             $text_log1 .= $res1[dt_admission][$i] . ";";
             $text_log1 .= $res1[medecin_urgences][$i] . ";";
             $text_log1 .= " patients sortis ";
             $fp = fopen("fichier_log.txt", "a");
             fputs($fp, $text_log1);
         }
         if ($options->getOption("typeMail") == "HTML") {
             $contenu1 .= "</table>";
         }
         eko($contenu1);
     } else {
         $verif2 = 1;
         eko("Aucun enregistrement correspondant à la requête de patients sortis.");
         $contenu1 .= "Aucun enregistrement correspondant à la requête de patients sortis.";
     }
     // Paramètre de mail
     $reply = Erreurs_MailApp;
     if ($options->getOption("typeMail") == "HTML") {
         $comment = "<hr><i>Ce message a été envoyé automatiquement par un serveur !</i> ";
     } else {
         $comment = "\n\nCe message a été envoyé automatiquement par un serveur !";
     }
     $contenu2 = $contenu;
     $contenu2 .= $contenu1;
     $contenu2 .= $comment;
     //$contenu2 .= "<br>req1 : $req<br>" ;
     //$contenu2 .= "req2 : $req2<br>" ;
     $from = Erreurs_MailApp;
     //$dest_mail = "*****@*****.**" ;
     $dest_mail = $mails;
     eko("\nContenu : {$contenu2}\n");
     if ($options->getOption("typeMail") == "HTML") {
         $content = "Content-Type: text/html; charset=\"iso-8859-1\"";
     } else {
         $content = "Content-Type: text/plain; charset=\"iso-8859-1\"";
     }
     $head = "From: {$from}\n{$content}\n";
     $obj = "Alerte AES";
     if ($verif2) {
         $dest_mail = "*****@*****.**";
         $obj = "Alerte AES (RAS)";
     } else {
         mail($dest_mail, $obj, $contenu2, $head);
     }
     eko($comment);
 }
Esempio n. 3
0
 function genGraphs($mod, $dateG = '', $nbDays = '7')
 {
     $param['cs'] = "*";
     $req = new clResultQuery();
     $date = new clDate($dateG);
     $dateT = new clDate($date->getDate("Y-m-d 00:00:00"));
     $dateT->addDays(-1);
     $dateH = new clDate($dateT->getDate("Y-m-d"));
     $dateT->addDays(1);
     $dateT->addDays(-$nbDays);
     $dateS = new clDate($dateT->getDate("Y-m-d"));
     $dateT->addDays($nbDays);
     $j = 0;
     for ($dateDeb = $dateH; $dateDeb->getTimestamp() < $dateT->getTimestamp();) {
         $heureA = $dateDeb->getHours();
         $dateA = $dateDeb->getDatetime();
         $dateDeb->addHours(1);
         $param['cs'] = "*";
         $param['cw'] = "WHERE iduser LIKE '" . $_POST['choix'] . "' AND ( date BETWEEN '" . $dateA . "' AND '" . $dateDeb->getDatetime() . "' ) AND idapplication=" . IDAPPLICATION . " AND type='navi'";
         $res = $req->Execute("Fichier", "getLogs", $param, "ResultQuery");
         $tab[0][0][] = $res['INDIC_SVC'][2];
         //eko ( $res['INDIC_SVC'] ) ;
         $tab[1][0][$j] = 0;
         $tab[1][1][$j] = 0;
         //      $tab[0][1][$j] = 0 ;
         $titres[1][] = $heureA . "h - " . $dateDeb->getHours() . "h";
         for ($i = 0; isset($res['idlog'][$i]); $i++) {
             $tab[1][0][$j] += $res['tempsPage'][$i];
             $tab[1][1][$j] += $res['tempsSQL'][$i];
             //$tab[0][1][$j] += $res['nombreSQL'][$i] ;
         }
         if ($res['INDIC_SVC'][2]) {
             $tab[1][0][$j] = $tab[1][0][$j] / $res['INDIC_SVC'][2];
             $tab[1][1][$j] = $tab[1][1][$j] / $res['INDIC_SVC'][2];
         }
         $j++;
     }
     $dateH->addDays(-1);
     $jpG = new clJpGraph();
     $jpG->arh_graph("Nombre de clics et requetes par heure (" . $_POST['choix'] . ") - " . $dateH->getDateText(), '', '', $tab[0], array('Clics', 'Requetes'), array('#DDCC55', '#CC3355'), 800, 500, "image1.png", $titres[1], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%d");
     $jpG->arh_graph("Temps moyen par heure (" . $_POST['choix'] . ") - " . $dateH->getDateText(), '', '', $tab[1], array('Temps total', 'Temps SQL'), array('#DDCC55', '#CC3355'), 800, 400, "image2.png", $titres[1], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%2.2f");
     $j = 0;
     for ($dateDeb = $dateS; $dateDeb->getTimestamp() < $dateT->getTimestamp();) {
         $jourA = $dateDeb->getDayWeek();
         $dateA = $dateDeb->getDatetime();
         $dateDeb->addDays(1);
         $param['cs'] = "*";
         $param['cw'] = "WHERE iduser LIKE '" . $_POST['choix'] . "' AND ( date BETWEEN '" . $dateA . "' AND '" . $dateDeb->getDatetime() . "' ) AND idapplication=" . IDAPPLICATION . " AND type='navi'";
         $res = $req->Execute("Fichier", "getLogs", $param, "ResultQuery");
         $tab[2][0][] = $res['INDIC_SVC'][2];
         $titres[2][] = $jourA;
         /*
         //eko ( $res['INDIC_SVC'] ) ;
         $tab[3][0][$j] = 0 ;
         $tab[3][1][$j] = 0 ;
         //$tab[2][1][$j] = 0 ;
         $titres[2][] = $jourA ;
         for ( $i = 0 ; isset ( $res['idlog'][$i] ) ; $i++ ) {
         	$tab[3][0][$j] += $res['tempsPage'][$i] ;
         	$tab[3][1][$j] += $res['tempsSQL'][$i] ;
         	//$tab[2][1][$j] += $res['nombreSQL'][$i] ;
         }
         if ( $res['INDIC_SVC'][2] ) {
         	$tab[3][0][$j] = $tab[3][0][$j] / $res['INDIC_SVC'][2] ;
         	$tab[3][1][$j] = $tab[3][1][$j] / $res['INDIC_SVC'][2] ;
         }
         $j++ ;
         */
     }
     // eko ( $tab[3][1] ) ;
     $jpG->arh_graph("Nombre de clics et requetes par jour (" . $_POST['choix'] . ") ", '', '', $tab[2], array('Clics', 'Requetes'), array('#DDCC55', '#CC3355'), 800, 500, "image3.png", $titres[2], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%d");
     //$jpG->arh_graph( "Temps moyen par jour - ".$date->getDateText ( ),'','', $tab[3], array ( 'Temps total', 'Temps SQL' ), array ( '#DDCC55', '#CC3355' ), 800, 400, "image4.png", $titres[2], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%2.2f" ) ;
 }
Esempio n. 4
0
 function genAffichage()
 {
     global $session;
     global $options;
     // Chargement du template ModeliXe.
     $outputLignes = array();
     $mod = new ModeliXe("ExportAPHM.mxt");
     $mod->SetModeliXe();
     // Initialisation des dates en fonction de l'état actuel :
     // A la date du jour si aucune valeur n'a été passée.
     if ($_POST['date2']) {
         $dt1 = new clDate($_POST['date1']);
         $dt2 = new clDate($_POST['date2']);
     } else {
         $dt2 = new clDate(date("Y-m-d 00:00:00"));
         $dt1 = new clDate(date("Y-m-d 00:00:00"));
         $dt1->addDays(-1);
     }
     // Retrait d'un jour à la date1 si date1 == date2
     if ($dt1->getTimestamp() == $dt2->getTimestamp()) {
         $dt1->addDays(-1);
     }
     // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2.
     if ($dt1->getTimestamp() > $dt2->getTimestamp()) {
         $tmp_dt3 = $dt1->getTimestamp();
         $tmp_dt4 = $dt2->getTimestamp();
         $dt1 = new clDate($tmp_dt4);
         $dt2 = new clDate($tmp_dt3);
     }
     // Calcul de la liste des valeurs possibles pour la date1.
     $old = '';
     for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) {
         if ($old == $dt->getDate("Y-m-d")) {
             $dt->addHours(5);
             $enleverHeure = 1;
         } else {
             $enleverHeure = 0;
         }
         $old = $dt->getDate("Y-m-d");
         $dttmp = new clDate($dt->getDate("Y-m-d"));
         $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y");
         // if ( $enleverHeure ) $dt -> addHours ( -2 ) ;
         //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ;
     }
     if (!is_array($listeDates1)) {
         $listeDates1 = array();
     }
     // Calcul de la liste des valeurs possibles pour la date2.
     $dtj = new clDate(date("Y-m-d 00:00:00"));
     $dtj->addDays(1);
     $dt = new clDate(DATELANCEMENT);
     $old = '';
     for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) {
         if ($old == $dt->getDate("Y-m-d")) {
             $dt->addHours(5);
             $enleverHeure = 1;
         } else {
             $enleverHeure = 0;
         }
         $old = $dt->getDate("Y-m-d");
         $dttmp = new clDate($dt->getDate("Y-m-d"));
         $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y");
         //if ( $enleverHeure ) $dt -> addHours ( -2 ) ;
         //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ;
     }
     if (!is_array($listeDates2)) {
         $listeDates2 = array();
     }
     // Fabrication des listes dans ModeliXe.
     $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1);
     $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2);
     // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas
     // le bloc contenant le lien vers l'export.
     if (!$_POST['Chercher'] and !$_POST['Chercher_x']) {
         $mod->MxBloc("donnees", "modify", " ");
     } else {
         // Affichage du lien vers le fichier contenant l'export.
         // Récupération de tous les patients entre les deux dates données.
         //Le calcul commence ici
         $req = new clResultQuery();
         $param[table] = PSORTIS;
         /*
         // En fonction du filtre sélectionné.
         switch ( $_POST['filtre'] ) {
         
         //case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ;  break ;
         ca//se 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break;
         
         case 'norm': $filter = "AND uf!=".$options->getOption('numUFUHCD')."" ;  break ;
         case 'uhcd': $filter = "AND uf=".$options->getOption('numUFUHCD')."" ; break;
         default: $filter = "" ; break ;
         }
         */
         if ($_POST['idpassage']) {
             $param['cw'] = " WHERE ilp = '" . $_POST['idpassage'] . "' ";
         } else {
             $param['cw'] = " WHERE  dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' ";
         }
         //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ;
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ;
         //eko ( $res['INDIC_SVC'] ) ;
         if ($res[INDIC_SVC][2] > 1) {
             $s = "s";
         }
         // Affichage d'un résumé des résultats.
         $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]);
         $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}");
         if (!$options->getOption('CCAMExterne')) {
             $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d')));
             $jj->initTableauActesDiag($res);
         }
         // Parcours des différents résultats.
         $tabResFinal = array();
         $nbMaxActesNGAP = 0;
         $indiceMaxNbActesNgap = 0;
         //PARCOURS
         for ($i = 0; isset($res[idpatient][$i]); $i++) {
             // Préparation des différentes dates pour affichage.
             $tabLigne = array();
             $naissance = new clDate($res[dt_naissance][$i]);
             $dtn = $naissance->getDate("d/m/Y");
             if ($res[dt_admission][$i] != '0000-00-00 00:00:00') {
                 $admission = new clDate($res[dt_admission][$i]);
                 $dta = $admission->getDate("d/m/Y");
                 $hma = $admission->getDate("H:i");
             } else {
                 $dta = '--';
                 $hma = '--';
             }
             if ($res[dt_examen][$i] != '0000-00-00 00:00:00') {
                 $examen = new clDate($res[dt_examen][$i]);
                 $dte = $examen->getDate("d/m/Y");
                 $hme = $examen->getDate("H:i");
             } else {
                 $dte = '--';
                 $hme = '--';
             }
             if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') {
                 $sortie = new clDate($res[dt_sortie][$i]);
                 $dts = $sortie->getDate("d/m/Y");
                 $hms = $sortie->getDate("H:i");
             } else {
                 $dts = '--';
                 $hme = '--';
             }
             $uf = $res[uf][$i];
             $ufUHCD = $options->getOption('numUFUHCD');
             $ufUHCDrepere = $options->getOption('numUFUHCDrepere');
             if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) {
                 $isuhcd = 1;
             } else {
                 $isuhcd = 0;
             }
             //le patient est uhcd mais pas dans une salle uhcd ?
             $isVirtualUhcd = false;
             if ($ufUHCD && !ereg($options->getOption('FiltreSalleUHCD'), $res['salle_examen'][$i])) {
                 $isVirtualUhcd = true;
                 $codeUm = $options->getOption('UMUHCDFictif');
             }
             // Préparation des différents champs de l'enregistrement parcouru.
             if ($res[ilp][$i]) {
                 $ilp = $res[ilp][$i];
             } else {
                 $ilp = "-";
             }
             if ($res[uf][$i]) {
                 $uf = $res[uf][$i];
             } else {
                 $uf = "-";
             }
             if ($res[dt_UHCD][$i] and $isuhcd) {
                 $dtUHCD = $res[dt_UHCD][$i];
             } else {
                 $dtUHCD = "0000-00-00 00:00:00";
             }
             $nbSecPassage = $sortie->getDifference($admission);
             $nbHeurepassage = floor($nbSecPassage / 3600);
             $nbMinpassage = floor(($nbSecPassage - $nbHeurepassage * 3600) / 60);
             $strDureePassage = ($nbHeurepassage > 9 ? '' : '0') . $nbHeurepassage . ':' . ($nbMinpassage > 9 ? '' : '0') . $nbMinpassage;
             $tabActesNGAP = clExportAphm::getTabListeCodesNGAP($i, $jj->tabExport);
             //eko($tabActesNGAP);
             $tabLigneCCAM['CODE_HOMON'] = '1';
             $tabLigneCCAM['NUMSEJ'] = $res['nsej'][$i] . 'B';
             $tabLigneCCAM['UM'] = $isVirtualUhcd ? $codeUm : '';
             $tabLigneCCAM['DATENT'] = $dta . ' ' . $hma;
             $tabLigneCCAM['DIAG_PPAL'] = $res['diagnostic_code'][$i];
             $tabLigneCCAM['DIAG_RELI'] = '';
             //eko(clExportAphm::getTabListeDiagsCCAM ($i,$jj -> tabExport));
             $tabLigneCCAM['DIAG_ASSO'] = implode(' ', clExportAphm::getTabListeDiagsCCAM($i, $jj->tabExport));
             $tabLigneCCAM['NPI'] = $res['ilp'][$i] . 'B';
             $tabLigneCCAM['DAT_EXAM'] = $dte . ' ' . $hme;
             $tabLigneCCAM['NOM_PATRO'] = $res['nom'][$i];
             $tabLigneCCAM['PRENOM'] = $res['prenom'][$i];
             $tabLigneCCAM['MARITAL'] = '';
             $tabLigneCCAM['SEXE'] = $res['sexe'][$i] == 'M' ? 'H' : 'F';
             $tabLigneCCAM['DDN'] = $dtn;
             $tabLigneCCAM['UF_EXEC'] = $res['uf'][$i];
             $tabLigneCCAM['ACTES'] = implode(' ', clExportAphm::getTabListeCodesCCAM($i, $jj->tabExport));
             $tabLigneCCAM['DEST_SOUHA'] = $res['dest_souhaitee'][$i];
             $tabLigneCCAM['DEST_ATTEN'] = $res['dest_attendue'][$i];
             $tabLigneCCAM['DUR_PASSAGE'] = $strDureePassage;
             $tabLigneCCAM['CODE_GRAV'] = $res['code_gravite'][$i];
             $tabLigneNGAP['NUMSEJ'] = $res['nsej'][$i] . 'B';
             $tabLigneNGAP['NOM_PATRO'] = $res['nom'][$i];
             $tabLigneNGAP['PRENOM'] = $res['prenom'][$i];
             $tabLigneNGAP['DAT_EXAM'] = $dte . ' ' . $hme;
             $tabLigneNGAP['NOM_MARITAL'] = '';
             $tabLigneNGAP['DATE_PASSAGE'] = $dte . ' ' . $hme;
             $tabLigneNGAP['MAJORATIONS_EVENTUELLES'] = clExportAphm::getMajoration($examen, $naissance);
             for ($cmptActe = 1; isset($tabActesNGAP[$cmptActe - 1]); $cmptActe++) {
                 $nbMaxActesNGAP = max($nbMaxActesNGAP, $cmptActe);
                 $tabLigneNGAP['ACTE_' . $cmptActe] = $tabActesNGAP[$cmptActe - 1];
             }
             $cmptActe--;
             if ($nbMaxActesNGAP == $cmptActe) {
                 $tabTypeNGAP = $tabLigneNGAP;
             }
             $outputLignesCCAM[] = implode("\t", $tabLigneCCAM);
             $outputLignesNGAP[] = implode("\t", $tabLigneNGAP);
         }
         $headerCCAM = array();
         if (isset($tabLigneCCAM)) {
             foreach ($tabLigneCCAM as $k => $v) {
                 $headerCCAM[] = $k;
             }
         }
         $headerNGAP = array();
         foreach ($tabTypeNGAP as $k => $v) {
             $headerNGAP[] = $k;
         }
         $ficCCAM = implode("\t", $headerCCAM) . "\n" . implode("\n", $outputLignesCCAM);
         $ficNGAP = implode("\t", $headerNGAP) . "\n" . implode("\n", $outputLignesNGAP);
         // Calcul du nom du fichier temporaire.
         $nomfic = "exportCCAM" . date("YmdHis") . ".xls";
         $nomfic2 = "exportNGAP" . date("YmdHis") . ".xls";
         // Création, écriture et fermeture du fichier.
         $FIC = fopen(URLCACHE . $nomfic, "w");
         $FIC2 = fopen(URLCACHE . $nomfic2, "w");
         fwrite($FIC, $ficCCAM);
         fwrite($FIC2, $ficNGAP);
         fclose($FIC);
         fclose($FIC2);
         // Calcul du lien vers ce fichier.
         $mod->MxUrl("donnees.lienExport", URLCACHEWEB . $nomfic);
         $mod->MxUrl("donnees.lienExport2", URLCACHEWEB . $nomfic2);
         // On purge le répertoire temporaire de tous les fichiers qui ont plus de deux heures.
         $poub = new clPoubelle(URLCACHE);
         $poub->purgerRepertoire("2");
         $isExport = true;
     }
     // Variable de navigation.
     $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2)));
     // On retourne le code HTML généré par le template.
     $this->af .= $mod->MxWrite("1");
 }
Esempio n. 5
0
 function genAffichage($dt1, $dt2)
 {
     global $session;
     global $options;
     global $jj;
     global $titreCCMU;
     global $titreGEMSA;
     global $titreTraumato;
     $fic = '';
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("Export.mxt");
     $mod->SetModeliXe();
     // Initialisation des dates en fonction de l'état actuel :
     // A la date du jour si aucune valeur n'a été passée.
     // Retrait d'un jour à la date1 si date1 == date2
     if ($dt1->getTimestamp() == $dt2->getTimestamp()) {
         $dt1->addDays(-1);
     }
     // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2.
     if ($dt1->getTimestamp() > $dt2->getTimestamp()) {
         $tmp_dt3 = $dt1->getTimestamp();
         $tmp_dt4 = $dt2->getTimestamp();
         $dt1 = new clDate($tmp_dt4);
         $dt2 = new clDate($tmp_dt3);
     }
     // Calcul de la liste des valeurs possibles pour la date1.
     $old = '';
     for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) {
         if ($old == $dt->getDate("Y-m-d")) {
             $dt->addHours(5);
             $enleverHeure = 1;
         } else {
             $enleverHeure = 0;
         }
         $old = $dt->getDate("Y-m-d");
         $dttmp = new clDate($dt->getDate("Y-m-d"));
         $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y");
         // if ( $enleverHeure ) $dt -> addHours ( -2 ) ;
         //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ;
     }
     if (!is_array($listeDates1)) {
         $listeDates1 = array();
     }
     // Calcul de la liste des valeurs possibles pour la date2.
     $dtj = new clDate(date("Y-m-d 00:00:00"));
     $dtj->addDays(1);
     $dt = new clDate(DATELANCEMENT);
     $old = '';
     for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) {
         if ($old == $dt->getDate("Y-m-d")) {
             $dt->addHours(5);
             $enleverHeure = 1;
         } else {
             $enleverHeure = 0;
         }
         $old = $dt->getDate("Y-m-d");
         $dttmp = new clDate($dt->getDate("Y-m-d"));
         $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y");
         //if ( $enleverHeure ) $dt -> addHours ( -2 ) ;
         //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ;
     }
     if (!is_array($listeDates2)) {
         $listeDates2 = array();
     }
     // Fabrication des listes dans ModeliXe.
     $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1, '', '', "onChange=\"reload(this.form)\"");
     $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2, '', '', "onChange=\"reload(this.form)\"");
     // Gestion du filtre avec des bouttons radio.
     if (!isset($_POST['filtre'])) {
         $_POST['filtre'] = "tous";
     }
     $mod->MxCheckerField("filtre1", "radio", "filtre", "tous", $_POST['filtre'] == "tous" ? true : false);
     $mod->MxCheckerField("filtre2", "radio", "filtre", "norm", $_POST['filtre'] == "norm" ? true : false);
     $mod->MxCheckerField("filtre3", "radio", "filtre", "uhcd", $_POST['filtre'] == "uhcd" ? true : false);
     // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas
     // le bloc contenant le lien vers l'export.
     if (!$_POST['Chercher'] and !$_POST['Chercher_x']) {
         $mod->MxBloc("donnees", "modify", " ");
     } else {
         // Affichage du lien vers le fichier contenant l'export.
         // Récupération de tous les patients entre les deux dates données.
         $req = new clResultQuery();
         $param[table] = PSORTIS;
         // En fonction du filtre sélectionné.
         switch ($_POST['filtre']) {
             /*
             case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ;  break ;
             case 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break;
             */
             case 'norm':
                 $filter = "AND uf!=" . $options->getOption('numUFUHCD') . "";
                 break;
             case 'uhcd':
                 $filter = "AND uf=" . $options->getOption('numUFUHCD') . "";
                 break;
             default:
                 $filter = "";
                 break;
         }
         $param[cw] = "WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' {$filter}";
         //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ;
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ;
         //eko ( $res['INDIC_SVC'] ) ;
         if ($res[INDIC_SVC][2] > 1) {
             $s = "s";
         }
         // Affichage d'un résumé des résultats.
         $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]);
         $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}");
         if (!$options->getOption('CCAMExterne')) {
             $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d')));
             $jj->initTableauActesDiag($res);
         }
         if ($options->getOption("GestionCCMU")) {
             if ($res[ccmu][$i]) {
                 $ccmu = "\t" . $res[ccmu][$i];
             } else {
                 $ccmu = "\t";
             }
             $titreCCMU = "\tCCMU";
         } else {
             $ccmu = '';
             $titreCCMU = '';
         }
         if ($options->getOption("GestionGEMSA")) {
             if ($res[gemsa][$i]) {
                 $gemsa = "\t" . $res[gemsa][$i];
             } else {
                 $gemsa = "\t";
             }
             $titreGEMSA = "\tGEMSA";
         } else {
             $gemsa = '';
             $titreGEMSA = '';
         }
         if ($options->getOption("GestionTraumato")) {
             if ($res[traumato][$i]) {
                 $traumato = "\t" . $res[traumato][$i];
             } else {
                 $traumato = "\t";
             }
             $titreTraumato = "\tTraumato";
         } else {
             $traumato = '';
             $titreTraumato = '';
         }
         // Parcours des différents résultats.
         for ($i = 0; isset($res[idpatient][$i]); $i++) {
             // Préparation des différentes dates pour affichage.
             set_time_limit(30);
             $naissance = new clDate($res[dt_naissance][$i]);
             $dtn = $naissance->getDate("d/m/Y");
             if ($res[dt_admission][$i] != '0000-00-00 00:00:00') {
                 $admission = new clDate($res[dt_admission][$i]);
                 $dta = $admission->getDate("d/m/Y");
                 $hma = $admission->getDate("H:i");
             } else {
                 $dta = '--';
                 $hma = '--';
             }
             if ($res[dt_examen][$i] != '0000-00-00 00:00:00') {
                 $examen = new clDate($res[dt_examen][$i]);
                 $dte = $examen->getDate("d/m/Y");
                 $hme = $examen->getDate("H:i");
             } else {
                 $dte = '--';
                 $hme = '--';
             }
             if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') {
                 $sortie = new clDate($res[dt_sortie][$i]);
                 $dts = $sortie->getDate("d/m/Y");
                 $hms = $sortie->getDate("H:i");
             } else {
                 $dts = '--';
                 $hme = '--';
             }
             $uf = $res[uf][$i];
             $ufUHCD = $options->getOption('numUFUHCD');
             $ufUHCDrepere = $options->getOption('numUFUHCDrepere');
             if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) {
                 $isuhcd = 1;
             } else {
                 $isuhcd = 0;
             }
             //eko($jj -> tabExport);
             // Préparation des différents champs de l'enregistrement parcouru.
             if ($res[ilp][$i]) {
                 $ilp = $res[ilp][$i];
             } else {
                 $ilp = "-";
             }
             if ($res[uf][$i]) {
                 $uf = $res[uf][$i];
             } else {
                 $uf = "-";
             }
             $dateUhcd = new clDate($res[dt_UHCD][$i]);
             if ($res[dt_UHCD][$i] and $isuhcd) {
                 $dtUHCD = $dateUhcd->getDate('Y-m-d H:i:00');
             } else {
                 $dtUHCD = "";
             }
             if ($res[nsej][$i]) {
                 $nsej = $res[nsej][$i];
             } else {
                 $nsej = "-";
             }
             if ($res[nom][$i]) {
                 $nom = $res[nom][$i];
             } else {
                 $nom = "-";
             }
             if ($res[prenom][$i]) {
                 $prenom = $res[prenom][$i];
             } else {
                 $prenom = "-";
             }
             if ($res[sexe][$i]) {
                 $sexe = $res[sexe][$i];
             } else {
                 $sexe = "-";
             }
             if ($res[adresse_cp][$i]) {
                 $adresse_cp = $res[adresse_cp][$i];
             } else {
                 $adresse_cp = "-";
             }
             if ($res[medecin_traitant][$i]) {
                 $medecin_traitant = preg_replace("/(\r\n|\n|\r)/", " ", $res[medecin_traitant][$i]);
             } else {
                 $medecin_traitant = "-";
             }
             if ($res[adresseur][$i]) {
                 $adresseur = $res[adresseur][$i];
             } else {
                 $adresseur = "-";
             }
             if ($res[mode_admission][$i]) {
                 $mode_admission = $res[mode_admission][$i];
             } else {
                 $mode_admission = "-";
             }
             if ($res[medecin_urgences][$i]) {
                 $medecin_urgences = $res[medecin_urgences][$i];
             } else {
                 $medecin_urgences = "-";
             }
             if ($res[salle_examen][$i]) {
                 $salle_examen = $res[salle_examen][$i];
             } else {
                 $salle_examen = "-";
             }
             if ($res[recours_categorie][$i]) {
                 $recours_categorie = $res[recours_categorie][$i];
             } else {
                 $recours_categorie = "-";
             }
             if ($res[motif_recours][$i]) {
                 $motif_recours = $res[motif_recours][$i];
             } else {
                 $motif_recours = "-";
             }
             if (!$options->getOption('getRecoursCIM10')) {
                 if ($res[recours_code][$i]) {
                     $recours_code = $res[recours_code][$i];
                 } else {
                     $recours_code = "-";
                 }
             } else {
                 if ($res[recours_code][$i]) {
                     $recours_code = strtr($res[recours_code][$i], '.', '');
                 } else {
                     $recours_code = "-";
                 }
             }
             if ($res[code_gravite][$i]) {
                 $code_gravite = $res[code_gravite][$i];
             } else {
                 $code_gravite = "-";
             }
             if ($res[dest_souhaitee][$i]) {
                 $dest_souhaitee = $res[dest_souhaitee][$i];
             } else {
                 $dest_souhaitee = "-";
             }
             if ($res[dest_attendue][$i]) {
                 $dest_attendue = ' ' . $res[dest_attendue][$i];
             } else {
                 $dest_attendue = "-";
             }
             if ($res[ide][$i]) {
                 $ide = $res[ide][$i];
             } else {
                 $ide = "-";
             }
             if ($res[motif_transfert][$i]) {
                 $motif_transfert = $res[motif_transfert][$i];
             } else {
                 $motif_transfert = "-";
             }
             if ($res[moyen_transport][$i]) {
                 $moyen_transport = $res[moyen_transport][$i];
             } else {
                 $moyen_transport = "-";
             }
             if ($res[type_destination][$i]) {
                 $type_destination = $res[type_destination][$i];
             } else {
                 $type_destination = "-";
             }
             if ($res[diagnostic_categorie][$i]) {
                 $diagnostic_categorie = $res[diagnostic_categorie][$i];
             } else {
                 $diagnostic_categorie = "-";
             }
             if ($res[diagnostic_libelle][$i]) {
                 $diagnostic_libelle = $res[diagnostic_libelle][$i];
             } else {
                 $diagnostic_libelle = "-";
             }
             if ($res[diagnostic_code][$i]) {
                 $diagnostic_code = $res[diagnostic_code][$i];
             } else {
                 $diagnostic_code = "-";
             }
             if ($options->getOption("GestionCCMU")) {
                 if ($res[ccmu][$i]) {
                     $ccmu = "\t" . $res[ccmu][$i];
                 } else {
                     $ccmu = "\t";
                 }
                 $titreCCMU = "\tCCMU";
             } else {
                 $ccmu = '';
                 $titreCCMU = '';
             }
             if ($options->getOption("GestionGEMSA")) {
                 if ($res[gemsa][$i]) {
                     $gemsa = "\t" . $res[gemsa][$i];
                 } else {
                     $gemsa = "\t";
                 }
                 $titreGEMSA = "\tGEMSA";
             } else {
                 $gemsa = '';
                 $titreGEMSA = '';
             }
             if ($options->getOption("GestionTraumato")) {
                 if ($res[traumato][$i]) {
                     $traumato = "\t" . $res[traumato][$i];
                 } else {
                     $traumato = "\t";
                 }
                 $titreTraumato = "\tTraumato";
             } else {
                 $traumato = '';
                 $titreTraumato = '';
             }
             // Génération de la ligne correspondant à l'enregistrement.
             //	$fic .= "$ilp\t$nsej\t$nom\t$prenom\t$dtn\t$sexe\t$adresse_cp\t$medecin_traitant\t$dta\t$hma\t$adresseur\t$mode_admission\t$dte\t$hme\t$medecin_urgences\t$salle_examen\t$recours_categorie\t$motif_recours\t$recours_code\t$code_gravite\t$dest_souhaitee\t$dest_attendue\t$dts\t$hms\t$ide\t$moyen_transport\t$motif_transfert\t$type_destination\t$diagnostic_categorie\t$diagnostic_libelle\t$diagnostic_code\n" ;
             if ($options->getOption('CCAMExterne')) {
                 $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\n";
             } else {
                 $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\t" . $jj->getActesDiagsPatient($i);
             }
         }
         // Calcul du lien vers ce fichier.
     }
     return $fic;
 }
Esempio n. 6
0
 function gestSend()
 {
     global $session;
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("rpuGestSend.html");
     $mod->SetModeliXe();
     $dateL = new clDate(DATELANCEMENT);
     $dateA = new clDate();
     $dateA->addDays(-1);
     $tabDate[$dateA->getDate('Y-m-d')] = 'Hier';
     $dateA->addDays(-1);
     for (; $dateL->getTimestamp() < $dateA->getTimestamp(); $dateA->addDays(-1)) {
         $tabDate[$dateA->getDate('Y-m-d')] = $dateA->getDateText();
     }
     $mod->MxSelect('listeDates', 'dateRPU', $_POST['dateRPU'], $tabDate, '', '', 'onChange="reload(this.form)"');
     $mod->MxHidden('hidden', 'navi=' . $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     $this->genXMLH1N1($_POST['dateRPU']);
     $this->genXML($_POST['dateRPU']);
     $mod->MxText('xmlRpu', '<p>' . nl2br(htmlentities($this->xmlRpu)) . '</p>');
     $mod->MxText('message', $this->sendXML($_REQUEST['EnvoyerRPU']));
     $this->af .= $mod->MxWrite("1");
 }
Esempio n. 7
0
 function getListeDates()
 {
     $dateDeb = new clDate(DATELANCEMENT);
     $dateFin = new clDate();
     $tDeb = $dateDeb->getTimestamp();
     $tab = array();
     for (; $dateFin->getTimestamp() >= $tDeb; $dateFin->addDays(-1)) {
         $tab[$dateFin->getDate("Y-m-d")] = $dateFin->getDate("d/m/Y");
     }
     return $tab;
 }
Esempio n. 8
0
 function getDates($type = '')
 {
     // Initialisation des dates.
     $dateT = new clDate();
     $date = new clDate($dateT->getDate());
     if ((!$this->dateMin or !$this->dateMax) and !isset($this->setDate)) {
         $dateA = new clDate(isset($_GET['dateMin']) ? $_GET['dateMin'] : $date->getDate('Y-m-d'));
         $date->addDays(1);
         $dateB = new clDate(isset($_GET['dateMax']) ? $_GET['dateMax'] : $date->getDate('Y-m-d'));
         $date->addDays(-1);
         if ($dateA->getTimestamp() > $dateB->getTimestamp()) {
             $this->dateMax = $dateA->getTimestamp();
             $this->dateMin = $dateB->getTimestamp();
         } else {
             $this->dateMax = $dateB->getTimestamp();
             $this->dateMin = $dateA->getTimestamp();
         }
     }
     // Fabrication de la liste de dates de la dernière année.
     $date->addYears(-1);
     $oneYear = $date->getTimestamp();
     $date->addYears(1);
     $date->addDays(1);
     $today = $date->getTimestamp();
     for ($i = $today; $i >= $oneYear; $i -= 86400) {
         $date->setDate($i);
         $tab[$i] = $date->getDate("d-m-Y");
     }
     return is_array($tab) ? $tab : array();
 }
Esempio n. 9
0
 static function getMondayFromWeekNumber($year, $weekNumber)
 {
     for ($date = new clDate('01/01/' . $year); $date->getDayWeekNumber() != 1; $date->addDays(-1)) {
         true;
     }
     $date->addDays(7 * ($weekNumber - 1));
     return $date;
 }
Esempio n. 10
0
 function genRequete()
 {
     $date = new clDate();
     //$date -> addDays ( -1 ) ;
     $date->addHours(-12);
     $reqDate = " AND (dt_fin>'" . $date->getDatetime() . "' OR (dt_fin='0000-00-00 00:00:00' AND etat!=d))";
     $date->addHours(-12);
     $reqDate2 = " AND (dt_fin>'" . $date->getDatetime() . "' OR (dt_fin='0000-00-00 00:00:00' AND etat!=d))";
     // Préparation de la requête.
     $req = new clResultQuery();
     //$param['tp'] = PPRESENTS ;
     if ($_POST['typeListe']) {
         $_SESSION['typeListe'] = $_POST['typeListe'];
     } elseif (!isset($_SESSION['typeListe'])) {
         $_SESSION['typeListe'] = 'all';
     }
     //print "Type Liste : ".$_SESSION['typeListe'].'<br/>' ;
     //print affTab ( $_SESSION ) ;
     $date = new clDate();
     switch ($_SESSION['typeListe']) {
         case 'all':
             $and = $reqDate;
             break;
         case 'alm':
             $and = "AND (etat='a' OR etat='b' OR etat='c')";
             break;
         case 'd':
             $and = "AND etat='d'" . $reqDate2;
             break;
         case 'd024':
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd2448':
             $date->addDays(-1);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd4872':
             $date->addDays(-2);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd7296':
             $date->addDays(-3);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd96120':
             $date->addDays(-4);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd120144':
             $date->addDays(-5);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd144168':
             $date->addDays(-6);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'd168192':
             $date->addDays(-7);
             $and = "AND etat='d' AND dt_fin LIKE '" . $date->getDate('Y-m-d') . "%'";
             break;
         case 'rall':
             $and = $reqDate;
             break;
         case 'npec':
             $and = "AND etat='a'  ";
             break;
         case 'ralm':
             $and = "AND (etat='a' OR etat='b' OR etat='c')";
             break;
         case 'rd':
             $and = "AND etat='d'" . $reqDate2;
             break;
         case 'eall':
             $and = $reqDate;
             break;
         case 'ealm':
             $and = "AND (etat='a' OR etat='b' OR etat='c')";
             break;
         case 'ed':
             $and = "AND etat='d'" . $reqDate2;
             break;
         case 'sall':
             $and = $reqDate;
             break;
         case 'salm':
             $and = "AND (etat='a' OR etat='b' OR etat='c')";
             break;
         case 'sd':
             $and = "AND etat='d'" . $reqDate2;
             break;
         case 'ec':
             $param['cw'] = ', radios_enquetes e where 1=1 AND r.idradio=e.idradio AND e.date=\'0000-00-00 00:00:00\'' . $and;
             //$param['cw2'] = 'where r.idpatient=p.idpatient' ;
             // Exécution de la requête.
             $res = $req->Execute("Fichier", "getRadiosGlob", $param, "ResultQuery");
             eko($res['INDIC_SVC']);
             return $res;
             break;
         case 'et':
             $param['cw'] = ', radios_enquetes e where 1=1 AND r.idradio=e.idradio AND e.date!=\'0000-00-00 00:00:00\'' . $and;
             //$param['cw2'] = 'where r.idpatient=p.idpatient' ;
             // Exécution de la requête.
             $res = $req->Execute("Fichier", "getRadiosGlob", $param, "ResultQuery");
             return $res;
             break;
         default:
             $and = $and = "AND (etat='a' OR etat='b' OR etat='c')";
             break;
     }
     $param['cw'] = 'where 1=1 ' . $and . ' ORDER BY dt_fin';
     //$param['cw2'] = 'where r.idpatient=p.idpatient' ;
     // Exécution de la requête.
     $res = $req->Execute("Fichier", "getRadiosGlob", $param, "ResultQuery");
     eko($res['INDIC_SVC']);
     return $res;
 }
Esempio n. 11
0
 function getFusionsProposees($idpatient)
 {
     $tab = array();
     $req = new clResultQuery();
     $param['table'] = PPRESENTS;
     // Récupération des informations sur le patient à fusionner.
     $param['cw'] = "WHERE idpatient={$idpatient} UNION SELECT * FROM patients_sortis WHERE idpatient={$idpatient} ORDER BY dt_sortie, nom ASC";
     $p = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     $this->p = $p;
     $pre = addslashes($p['prenom'][0]);
     $nom = addslashes($p['nom'][0]);
     $sex = $p['sexe'][0];
     $date = new clDate($p['dt_naissance'][0]);
     $dtn = $date->getDate('Y-m-d');
     $ann = $date->getDate('Y');
     $date->setDate($p['dt_admission'][0]);
     $dta = $date->getDate('Y-m-d');
     $date->addDays(1);
     $dtap = $date->getDate('Y-m-d');
     $date->addDays(-2);
     $dtam = $date->getDate('Y-m-d');
     $this->nbRes = 0;
     set_time_limit(0);
     // Saisie parfaite
     $tab = $this->addToTab($tab, 100, "prenom='{$pre}' AND nom='{$nom}' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND dt_admission LIKE '{$dta}%'");
     // Variation de la date d'admission à + ou - 1 jour et erreur dans la date de naissance.
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 96, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 84, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 76, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 72, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 68, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 63, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     // Erreur de sexe
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 56, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND dt_naissance LIKE '{$ann}%' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 51, "prenom LIKE '%{$pre}%' AND nom LIKE '%{$nom}%' AND dt_admission LIKE '{$dta}%'");
     }
     // Cas de l'inversion nom / prenom.
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 49, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 46, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 43, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_admission LIKE '{$dta}%'");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 44, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 41, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     if (!$this->nbRes) {
         $tab = $this->addToTab($tab, 35, "prenom LIKE '%{$nom}%' AND nom LIKE '%{$pre}%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%')");
     }
     if (!$this->nbRes) {
         // On cherche seulement sur les 4 premiers caractères du nom et du prénom
         $tab = $this->addToTab($tab, 40, "nom LIKE '%" . substr($nom, 0, 4) . "%' AND prenom LIKE '%" . substr($pre, 0, 4) . "%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 35, "nom LIKE '%" . substr($nom, 0, 4) . "%' AND prenom LIKE '%" . substr($pre, 0, 4) . "%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 30, "nom LIKE '%" . substr($nom, 0, 4) . "%' AND prenom LIKE '%" . substr($pre, 0, 4) . "%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         // On cherche seulement sur le nom ou le prénom
         $tab = $this->addToTab($tab, 25, "nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 20, "nom LIKE '%{$nom}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 15, "nom LIKE '%{$nom}%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 20, "prenom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 15, "prenom LIKE '%{$pre}%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 10, "prenom LIKE '%{$pre}%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         // On cherche seulement sur les 2 premiers caractères
         $tab = $this->addToTab($tab, 15, "nom LIKE '%" . substr($nom, 0, 2) . "%' AND prenom LIKE '%" . substr($pre, 0, 2) . "%' AND sexe='{$sex}' AND dt_naissance LIKE '{$dtn}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 10, "nom LIKE '%" . substr($nom, 0, 2) . "%' AND prenom LIKE '%" . substr($pre, 0, 2) . "%' AND sexe='{$sex}' AND dt_naissance LIKE '{$ann}%' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
         $tab = $this->addToTab($tab, 5, "nom LIKE '%" . substr($nom, 0, 2) . "%' AND prenom LIKE '%" . substr($pre, 0, 2) . "%' AND sexe='{$sex}' AND (dt_admission LIKE '{$dtap}%' OR dt_admission LIKE '{$dtam}%' OR dt_admission LIKE '{$dta}%')");
     }
     if (!$this->nbRes) {
         $date->addHours(16);
         $datmin = $date->getDate('Y-m-d H:i:s');
         $date->addHours(16);
         $datmax = $date->getDate('Y-m-d H:i:s');
         $tab = $this->addToTab($tab, 0, "(dt_admission BETWEEN '{$datmin}' AND '{$datmax}')");
     }
     return $tab;
 }
Esempio n. 12
0
 function genListes()
 {
     global $session;
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("FusionPatients.mxt");
     $mod->SetModeliXe();
     // Affichage ou non du champs d'informations.
     if ($this->infos) {
         $mod->MxText("informations.infos", $this->infos);
     } else {
         $mod->MxBloc("informations", "modify", " ");
     }
     // Affichage ou non du champs d'erreurs.
     if ($this->erreurs) {
         $mod->MxText("erreurs.erreurs", $this->erreurs);
     } else {
         $mod->MxBloc("erreurs", "modify", " ");
     }
     // Initialisation des variables.
     if (isset($_POST['valeurNom'])) {
         $_SESSION['valeurNom'] = $_POST['valeurNom'];
     }
     if (isset($_POST['valeurPrenom'])) {
         $_SESSION['valeurPrenom'] = $_POST['valeurPrenom'];
     }
     if (isset($_POST['valeurAnnee'])) {
         $_SESSION['valeurAnnee'] = $_POST['valeurAnnee'];
     }
     // Génération des champs du formulaire.
     $mod->MxFormField("nom", "text", "valeurNom", stripslashes($_SESSION['valeurNom']));
     $mod->MxFormField("prenom", "text", "valeurPrenom", stripslashes($_SESSION['valeurPrenom']));
     // Fabrication du filtre pour la requête.
     $dateVal = new clDate($_POST['filtreDate']);
     if (($_SESSION['valeurNom'] or $_SESSION['valeurPrenom']) and $_POST['valeurDate']) {
         $this->filtre = "AND nom LIKE '" . $_SESSION['valeurNom'] . "%' " . ($_SESSION['valeurPrenom'] ? " AND prenom LIKE '" . $_SESSION['valeurPrenom'] . "%'" : '') . " AND dt_admission LIKE '" . $dateVal->getDate("Y-m-d") . "%'";
     } elseif ($_SESSION['valeurNom'] or $_SESSION['valeurPrenom']) {
         $this->filtre = "AND nom LIKE '" . $_SESSION['valeurNom'] . "%'" . ($_SESSION['valeurPrenom'] ? " AND prenom LIKE '" . $_SESSION['valeurPrenom'] . "%'" : '');
     } elseif ($_POST['filtreDate']) {
         $this->filtre = "AND dt_admission LIKE '" . $dateVal->getDate("Y-m-d") . "%'";
     } elseif (!isset($_POST['filtreDate'])) {
         $this->filtre = "AND dt_admission LIKE '" . date("Y-m-d") . "%'";
     }
     // Génération des dates possibles.
     //$dt = new clDate ( DATELANCEMENT ) ;
     $dt = new clDate();
     $dt->addWeeks(-13);
     $this->filtre .= " AND dt_admission>='" . $dt->getDate('Y-m-d') . "%'";
     $listeDates[] = "Pas de filtre";
     // Calcul de la liste des valeurs possibles pour la date.
     $dta = new clDate(date("Y-m-d 00:00:00"));
     if (!isset($_POST['filtreDate'])) {
         $_POST['filtreDate'] = $dta->getTimestamp();
     }
     for (; $dt->getTimestamp() <= $dta->getTimestamp(); $dta->addDays(-1)) {
         $listeDates[$dta->getTimestamp()] = $dta->getDate("d-m-Y");
     }
     // Si on n'a aucune date, on initialise la variable avec un tableau vide (pour ModeliXe).
     if (!is_array($listeDates)) {
         $listeDates = array();
     }
     // Passage du tableau de dates à ModeliXe.
     $mod->MxSelect("date", "filtreDate", $_POST['filtreDate'], $listeDates, '', '', "onChange=\"reload(this.form)\"");
     // Récupération et ajout dans ModeliXe de la liste des patients entrés manuellement.
     $manuels = $this->getPatientsManuels();
     $mod->MxSelect("manuels", "manuel", isset($_POST['manuel']) ? $_POST['manuel'] : '', $manuels, '', '', "size=\"25\"");
     // Récupération et ajout dans ModeliXe de la liste des patients entrés automatiquement.
     $automatiques = $this->getPatientsAutomatiques();
     $mod->MxSelect("automatiques", "automatique", isset($_POST['automatique']) ? $_POST['automatique'] : '', $automatiques, '', '', "size=\"25\"");
     // Génération de la variable de navigation.
     $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     // Affichage du bouton "Fusionner" en fonction des droits.
     if (!$session->getDroit("Administration_Fusions", "w")) {
         $mod->MxBloc("fusionner", "modify", " ");
     }
     // On enlève le bouton "Supprimer" pour le moment.
     $mod->MxBloc("supprimer", "modify", " ");
     // Récupération du code généré par ModeliXe.
     $this->af .= $mod->MxWrite("1");
 }