function getDateE2($formx) { global $tool; $idu = $formx->getVar('ids'); $req = new clResultQuery(); $param = array(); $param['cw'] = "dt_naissance"; $param['idu'] = $idu; $res = $req->Execute("Fichier", "getInfoPatientFromIDU", $param, "ResultQuery"); $DateNPat = $res['dt_naissance'][0]; //eko($DateNPat); // Calcul sur les différentes dates. $age = new clDate($DateNPat); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); return "" . utf8_encode($dateComple) . ""; }
function getPatientMineur($formx) { global $tool; $idu = $formx->getVar('ids'); $req = new clResultQuery(); $param = array(); $param['cw'] = "dt_naissance"; $param['idu'] = $idu; $res = $req->Execute("Fichier", "getInfoPatientFromIDU", $param, "ResultQuery"); $DateNPat = $res['dt_naissance'][0]; //eko($DateNPat); // Calcul sur les différentes dates. $age = new clDate($DateNPat); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); $duree->getAgePrecis($age->getTimestamp()); if ($duree->getYears() < 18) { return "mineur"; } else { return "majeur"; } }
static function genInfoBulle($res, $i) { global $options; $e = ''; // Chargement du template ModeliXe. $mod = new ModeliXe("InfoBulle.mxt"); $mod->SetModeliXe(); // Génération de l'id pour rattacher l'info-bulle à une entrée de la liste. $mod->MxText("iddiv", "id" . $res['idpatient'][$i]); $libelle = ''; $libelle .= "<b>idpatient : </b>" . $res['idpatient'][$i] . "<br/>"; if ($res['idu'][$i] != $res['ilp'][$i]) { $libelle .= "<b>IDU : </b>" . $res['idu'][$i] . "<br/>"; } $libelle .= "<b>IPP : </b>" . $res['ilp'][$i] . "<br/>"; $libelle .= "<b>NSej : </b>" . $res['nsej'][$i] . "<br/>"; // Affichage des informations sur l'UF $ufExec = $options->getOption('numUFexec'); $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); $ufSC = $options->getOption('numUFSC'); $dtUHCD = new clDate($res['dt_UHCD'][$i]); if ($res['uf'][$i] == $ufUHCD) { $sup = '(UHCD)'; } elseif ($res['uf'][$i] == $ufSC) { $sup = '(Soins Continus)'; } elseif ($res['uf'][$i] == $ufUHCDrepere and $res['uf'][$i]) { $sup = '(UHCD repéré)'; } elseif (!$res['uf'][$i]) { $sup = '(???)'; } else { $sup = '(Urgences)'; } $libelle .= "<b>UF : </b>" . $res['uf'][$i] . " {$sup}<br/>"; // Etat civil $libelle .= "<b>(" . $res['sexe'][$i] . ") " . ucfirst(strtolower($res['prenom'][$i])) . " " . strtoupper($res['nom'][$i]) . "</b><br />"; $age = new clDate($res['dt_naissance'][$i]); $dta = new clDate($res['dt_admission'][$i]); $dte = new clDate($res['dt_examen'][$i]); $dts = new clDate($res['dt_sortie'][$i]); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); if ($res['dt_naissance'][$i] != "0000-00-00 00:00:00") { $libelle .= "Né{$e} le {$dateComple} (" . str_replace("<br>", " et ", $duree->getAgePrecis($age->getTimestamp())) . ")<br />"; } else { $libelle .= "Date de naissance inconnue<br />"; } // Date d'admission. if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'admission :</b> " . $dta->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Date d'examen. if ($res['dt_examen'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'examen :</b> " . $dte->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Date de sortie. if ($res['dt_sortie'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date de sortie :</b> " . $dts->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date de sortie :</b> " . VIDEDEFAUT . "<br />"; } // Adresseur. if ($res['adresseur'][$i]) { $libelle .= "<b>Adresseur :</b> " . $res['adresseur'][$i] . "<br />"; } else { $libelle .= "<b>Adresseur :</b> " . VIDEDEFAUT . "<br />"; } // Mode d'admission. if ($res['mode_admission'][$i]) { $libelle .= "<b>Mode d'admission :</b> " . $res['mode_admission'][$i] . "<br />"; } else { $libelle .= "<b>Mode d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Médecin. if ($res['medecin_urgences'][$i]) { $libelle .= "<b>Médecin :</b> " . $res['medecin_urgences'][$i] . "<br />"; } else { $libelle .= "<b>Médecin :</b> " . VIDEDEFAUT . "<br />"; } // IDE. if ($res['ide'][$i]) { $libelle .= "<b>IDE :</b> " . $res['ide'][$i] . "<br />"; } else { $libelle .= "<b>IDE :</b> " . VIDEDEFAUT . "<br />"; } // Salle d'examen. if ($res['salle_examen'][$i]) { $libelle .= "<b>Salle d'examen :</b> " . $res['salle_examen'][$i] . "<br />"; } else { $libelle .= "<b>Salle d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Motif de recours. if ($res['motif_recours'][$i]) { $libelle .= "<b>Motif de recours :</b> " . $res['motif_recours'][$i] . "<br />"; } else { $libelle .= "<b>Motif de recours :</b> " . VIDEDEFAUT . "<br />"; } // Destination souhaitée. if ($res['dest_souhaitee'][$i]) { $libelle .= "<b>Dest. souhaitée :</b> " . $res['dest_souhaitee'][$i] . "<br />"; } else { $libelle .= "<b>Dest. souhaitée :</b> " . VIDEDEFAUT . "<br />"; } // Destination attendue. if ($res['dest_attendue'][$i]) { $libelle .= "<b>Dest. attendue :</b> " . $res['dest_attendue'][$i] . "<br />"; } else { $libelle .= "<b>Dest. attendue :</b> " . VIDEDEFAUT . "<br />"; } // Catégorie de diagnostic. if ($res['diagnostic_categorie'][$i]) { $libelle .= "<b>Cat. de diag. :</b> " . $res['diagnostic_categorie'][$i] . "<br />"; } else { $libelle .= "<b>Cat. de diag. :</b> " . VIDEDEFAUT . "<br />"; } // Diagnostic. if ($res['diagnostic_libelle'][$i]) { $libelle .= "<b>Diagnostic :</b> " . $res['diagnostic_libelle'][$i] . "<br />"; } else { $libelle .= "<b>Diagnostic :</b> " . VIDEDEFAUT . "<br />"; } // CCMU. if ($res['ccmu'][$i]) { $libelle .= "<b>CCMU :</b> " . $res['ccmu'][$i] . "<br />"; } // GEMSA. if ($res['gemsa'][$i]) { $libelle .= "<b>GEMSA :</b> " . $res['gemsa'][$i] . "<br />"; } // Ajout des informations dans l'info-bulle. $text = preg_replace("/(\r\n|\n|\r)/", " ", nl2br($libelle)); $mod->MxText("libelle", str_replace("'", "\\'", $text)); // Récupération du code HTML généré. return $mod->MxWrite("1"); }
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" ) ; }
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"); }
function EtatCivil() { global $session; global $options; global $pi; // Chargement du template ModeliXe. $mod = new ModeliXe("EtatCivil.mxt"); $mod->SetModeliXe(); // Affichage du sexe de la personne. switch ($this->patient->getSexe()) { case 'M': $img = URLIMG . "mini_homme.png"; $e = ""; break; case 'F': $img = URLIMG . "mini_femme.png"; $e = "e"; break; default: $img = URLIMG . "mini_Indefini.png"; $e = "(e)"; break; } // Calcul sur les différentes dates. $age = new clDate($this->patient->getDateNaissance()); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); $adm = new clDate($this->patient->getDateAdmission()); $exa = new clDate($this->patient->getDateExamen()); $sor = new clDate($this->patient->getDateSortie()); // Affichage des attributs sexe, nom, prénom et date de naissance. $mod->MxText("sexe", "<img src=\"{$img}\" alt=\"Sexe\" />"); $mod->MxText("nom", ucfirst(strtolower($this->patient->getPrenom())) . " " . strtoupper($this->patient->getNom())); $pedi = $options->getOption("FiltreSalleSup"); if (ereg($pedi, $this->patient->getSalle())) { $mod->MxText("etatUHCD", " (" . ($options->getOption('nomSalleSup') ? $options->getOption('nomSalleSup') : 'Pédiatrie') . ")"); } elseif ($this->patient->getEtatUHCD()) { $inf = $pi->genInfoBulle('Cliquez ici pour changer l\'état UHCD'); if ($session->getDroit($this->type . "_EtatCivil", "m")) { $link = '<a href="' . URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), 'changerEtatUHCD') . '"><img src="' . URLIMG . 'valider.png" alt="Changer l\'état" ' . $inf . ' /></a>'; } else { $link = ''; } if ($this->patient->isSoinsContinus()) { $mod->MxText("etatUHCD", " (<font color=\"red\">Soins Continus</font>)"); } elseif ($this->patient->getUF() == $options->getOption("numUFUHCD")) { $mod->MxText("etatUHCD", " (UHCD {$link})"); } elseif ($this->patient->getUF() == $options->getOption("numUFUHCDrepere") and $options->getOption("numUFUHCDrepere")) { $mod->MxText("etatUHCD", " (UHCD repéré {$link})"); } elseif (!$this->patient->getUF()) { $mod->MxText("etatUHCD", " (Aucune UF)"); } elseif ($this->patient->isChirurgie()) { $mod->MxText("etatUHCD", " (Chirurgie)"); } else { $mod->MxText("etatUHCD", " (Urgences {$link})"); } } if ($options->getOption("ModuleEtiquettes") == "Non") { $mod->MxText("etiquettes", ""); } else { $inf = $pi->genInfoBulle('Cliquez ici pour lancer l\'impression des étiquettes'); $link = '<a href="' . URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), 'impressionEtiquettes') . '"><img src="' . URLIMG . 'etiquettes.png" alt="Impression des étiquettes" ' . $inf . ' /></a>'; $mod->MxText("etiquettes", $link); } //eko ( $this->patient->getManuel ( ) ) ; if ($session->getDroit($this->type . "_EtatCivil", "m") and $this->patient->getManuel()) { $link = URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "modPatient"); $inf = $pi->genInfoBulle('Cliquez ici pour modifier les informations du patient manuel'); $mod->MxText("lienModPatient", '<a href="' . $link . '" ><img src="images/modPat.png" alt="Modifier le patient" ' . $inf . '/></a>'); } if ($session->getDroit($this->type . "_EtatCivil", "m")) { $mod->MxText("lienQuestion", $this->getGenQuestionSortie()); } if ($this->patient->getDateNaissance() != "0000-00-00 00:00:00") { $mod->MxText("naissance", "Né{$e} le {$dateComple} (" . str_replace("<br>", " et ", $duree->getAgePrecis($age->getTimestamp())) . ")"); } else { $mod->MxText("naissance", "Date de naissance inconnue"); } // Affichage de l'adresse et du numéro de téléphone. $mod->MxText("adresse", $this->patient->getAdresse() . " - " . $this->patient->getCodePostal() . " " . $this->patient->getVille()); $mod->MxText("telephone", $this->patient->getTel()); // Affichage des autres blocs de l'état civil. $this->genBlocEtatCivil("Prevenir", $mod, "m"); $this->genBlocEtatCivil("MedecinTraitant", $mod, "m"); $this->genBlocEtatCivil("DateExamen", $mod, "m", $exa); $this->genBlocEtatCivil("DateSortie", $mod, "d", $sor, '1'); // Affichage de la date d'admission. if ($this->patient->getDateAdmission() > 0) { $mod->MxText("admission", $adm->getDate("d-m-Y H:i")); } else { $mod->MxText("admission", VIDEDEFAUT); } // On renvoit le code HTML généré. return $mod->MxWrite("1"); }