Example #1
0
function getAge2($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 "" . str_replace("<br>", " et ", $duree->getAgePrecis($age->getTimestamp())) . "";
}
function Calcul_Delai_Traumatologie_Main($formx)
{
    global $session;
    global $options;
    $date_accident = utf8_decode($formx->getFormVar('Val_Horaire_Date_Accident'));
    $heure_accident = utf8_decode($formx->getFormVar('Val_Horaire_Heure_Accident'));
    $date_examen = utf8_decode($formx->getFormVar('Val_Horaire_Date_Examen'));
    $heure_examen = utf8_decode($formx->getFormVar('Val_Horaire_Heure_Examen'));
    $posted = explode("-", $date_accident);
    $date_accident = $posted[2] . "-" . $posted[1] . "-" . $posted[0];
    $posted = explode("-", $date_examen);
    $date_examen = $posted[2] . "-" . $posted[1] . "-" . $posted[0];
    $accident = new clDate($date_accident . " " . $heure_accident . ":00");
    $examen = new clDate($date_examen . " " . $heure_examen);
    $duree = new clDuree($examen->getDifference($accident));
    //eko ($accident->getDatetime());
    //eko ($examen->getDatetime());
    return $duree->getDuree();
}
Example #3
0
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";
    }
}
Example #4
0
 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");
 }
Example #5
0
 function getStatsPages()
 {
     global $session;
     // Date de lancement des statistiques.
     $datestats = new clDate(DATESTATS);
     // On récupère la liste des utilisateurs s'étant déjà connectés.
     $param['cw'] = "WHERE idapplication=" . IDAPPLICATION;
     $req = new clResultQuery();
     $res = $req->Execute("Fichier", "getSessionsPersonnes", $param, "ResultQuery");
     // Fabrication du tableau attendu par ModeliXe.
     $tab['%'] = "globales";
     for ($i = 0; isset($res['uid'][$i]); $i++) {
         $tab[$res['uid'][$i]] = "de " . $res['uid'][$i] . " (" . $res['somme'][$i] . ")";
     }
     // Initialisation de l'utilisateur sélectionné et du filtre MySQL correspondant.
     if (!isset($_POST['choix'])) {
         if (isset($_GET['choix'])) {
             $_POST['choix'] = $_GET['choix'];
         } else {
             $_POST['choix'] = "%";
         }
     }
     // Application du filtre MySQL pour aller récupérer les statistiques de l'utilisateur.
     $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION;
     $param['cs'] = "";
     $req = new clResultQuery();
     $res = $req->Execute("Fichier", "getSessionsStatistiques", $param, "ResultQuery");
     // Pour chaque statistique récupérées, on incrémente une case d'un tableau avec son nombre de clic. Il y a une case
     // par partie du Terminal.
     $stats["Total de clics"] = 0;
     for ($i = 0; isset($res['idstats'][$i]); $i++) {
         if ($res['loc2'][$i]) {
             if ($res['loc1'][$i]) {
                 if (isset($stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]])) {
                     $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] += $res['nombre'][$i];
                 } else {
                     $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] = $res['nombre'][$i];
                 }
             }
         } else {
             if ($res['loc1'][$i]) {
                 if (isset($stats[$res['loc1'][$i]])) {
                     $stats[$res['loc1'][$i]] += $res['nombre'][$i];
                 } else {
                     $stats[$res['loc1'][$i]] = $res['nombre'][$i];
                 }
             }
         }
         // Calcul du nombre total de clic pour cet utilisateur.
         $stats["Total de clics"] += $res['nombre'][$i];
     }
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("SessionsStatistiques.mxt");
     $mod->SetModeliXe();
     // Chargement du template ListMaker pour faire le tableau.
     $list = new ListMaker("template/SessionsStatistiques.html");
     // Passage des variables à transmettre et de leurs valeurs.
     $list->addUserVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     $list->addUrlVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     $list->addUserVar('choix', $_POST['choix']);
     $list->addUrlVar('choix', $_POST['choix']);
     // Nom des colonnes du tableau.
     $list->setSortColumn('col1', 'Page', 'page');
     $list->setSortColumn('col2', 'Clics', 'clics');
     // On alterne les couleurs en fonction de la parité de la ligne.
     $list->setAlternateColor("pair", "impair");
     // On parcourt le tableau précédemment calculé contenant les statistiques,
     // et on les ajoute au template ListMaker.
     if (is_array($stats)) {
         for ($i = 0; list($key, $val) = each($stats); $i++) {
             $item['page'] = $key;
             $item['clics'] = $val;
             $list->addItem($item);
         }
     }
     // Affichage d'informations complémentaires si nous ne sommes pas dans le cas
     // de statistiques globales.
     if ($_POST['choix'] != "%") {
         // Si l'utilisateur est connecté, on affiche un message le signalant.
         $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION;
         $req = new clResultQuery();
         $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery");
         if ($res['INDIC_SVC'][2]) {
             $infos = "Cet utilisateur est actuellement connecté.<br />";
         }
         // Sinon, on affiche les informations de sa dernière connexion.
         if (!isset($infos) or !$infos) {
             // Récupération des informations.
             $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY dateslast DESC";
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "getSessionsHistorique", $param, "ResultQuery");
             // Calcul de la durée de connexion et affichage des différentes dates.
             $last = new clDate(isset($res['dateslast'][0]) ? $res['dateslast'][0] : '');
             $date = new clDate(isset($res['dateshisto'][0]) ? $res['dateshisto'][0] : '');
             $duree = new clDuree($last->getDifference($date));
             if ((isset($res['nombre'][0]) ? $res['nombre'][0] : '0') > 1) {
                 $sc = "s";
             } else {
                 $sc = '';
             }
             if ($duree->getMinutes() > 1) {
                 $sm = "s";
             } else {
                 $sm = '';
             }
             if ($duree->getSeconds() > 1) {
                 $ss = "s";
             } else {
                 $ss = '';
             }
             if ($duree->getMinutes() > 0) {
                 $temps = $duree->getMinutes() . " minute{$sm}";
             } else {
                 $temps = $duree->getSeconds() . " seconde{$ss}";
             }
             $infos = "Dernière connexion le " . $date->getDateTextFull("à") . " (" . (isset($res['nombre'][0]) ? $res['nombre'][0] : '0') . " clic{$sc}, durée de {$temps})<br />";
             $infos .= "Déconnexion enregistrée le " . $last->getDateTextFull("à") . "<br />";
         }
         $mod->MxText("informations", $infos);
     } else {
         $mod->MxText("informations", '--');
     }
     // On affiche la date à laquelle les stats ont commencé être enregistrées.
     $mod->MxText("datestats", $datestats->getDateText());
     // Affichage du tableau de stats.
     $mod->MxText("table", $list->getList(isset($pagination) ? $pagination : ''));
     // Affichage de la liste des personnes à sélectionner.
     $mod->MxSelect("choix", "choix", $_POST['choix'], $tab, '', '', "onChange=reload(this.form)");
     // Variable de navigation.
     $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     //$this->genGraphs ( $mod ) ;
     $mod->MxCheckerField("graph", "checkbox", 'graph', 1, isset($_POST['graph']) ? $_POST['graph'] ? true : false : false, "title='Graphiques' onChange=reload(this.form)");
     if (isset($_POST['graph']) and $_POST['graph']) {
         $this->genGraphs($mod);
         $mod->MxText("graphs.clicsHeure", "<img src=\"cache/image1.png\" alt=\"Clics par heure\"></img>");
         $mod->MxText("graphs.tempsHeure", "<img src=\"cache/image2.png\" alt=\"Temps par clics moyen par heure\"></img>");
         $mod->MxText("graphs.clicsJour", "<img src=\"cache/image3.png\" alt=\"Clics par jour\"></img>");
     } else {
         $mod->MxBloc("graphs", "delete");
     }
     //$mod -> MxText ( "tempsJour", "<img src=cache/image4.png></img>" ) ;
     // Récupération du code HTML généré.
     return $mod->MxWrite("1");
 }
Example #6
0
 function genListePatient($etape)
 {
     global $session;
     global $options;
     $uhcd = $options->getOption("FiltreSalleUHCD");
     $pedi = $options->getOption("FiltreSalleSup");
     // Préparation de la requête.
     $req = new clResultQuery();
     $param['table'] = $this->table;
     if ($this->equipe) {
         $eq = " AND traumato LIKE '{$this->equipe}%' ";
     } else {
         $eq = '';
     }
     // Cas des patients normaux.
     if ($etape == 1) {
         $list = new ListMaker("template/ListePatients.html");
         // Changement de la requête des couleurs de la liste en fonction de la liste affichée (présents, UHCD, attendus ou sortis).
         // Liste des patients présents.
         if ($this->type == "Presents") {
             //$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' AND p.salle_examen NOT LIKE 'UHCD%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE 'UHCD%' ) )  AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             // Ancienne version avec classement des salles en fonction de leur rang : problème de salle invisible
             //if ( $pedi )
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' " .
             //			"AND p.salle_examen NOT LIKE '$uhcd%' AND p.salle_examen NOT LIKE '$pedi%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  " .
             //			"AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE '$uhcd%' AND p.salle_examen NOT LIKE '$pedi%' ) )  " .
             //			"AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             //else
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' AND p.salle_examen NOT LIKE '$uhcd%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE '$uhcd%' ) )  AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             if ($eq) {
                 $param['cw'] = " WHERE dt_examen!='0000-00-00 00:00:00' AND traumato LIKE '{$this->equipe}%' AND salle_examen NOT LIKE '{$uhcd}%'";
             } elseif ($pedi) {
                 $param['cw'] = " p WHERE ((p.dt_examen!='0000-00-00 00:00:00' AND p.salle_examen NOT LIKE '{$uhcd}%' AND p.salle_examen NOT LIKE '{$pedi}%') OR ( p.dt_examen!='0000-00-00 00:00:00'  " . "AND p.salle_examen NOT LIKE '{$uhcd}%' AND p.salle_examen NOT LIKE '{$pedi}%' ) )" . $eq;
             } else {
                 $param['cw'] = " p WHERE ((p.dt_examen!='0000-00-00 00:00:00' AND p.salle_examen NOT LIKE '{$uhcd}%') OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen NOT LIKE '{$uhcd}%'))" . $eq;
             }
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setAlternateColor("vuspaire", "vusimpaire");
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             /********/
             /* Pour gérer un problème de style. */
             $list->addUserVar('{fin_table}', "</table>");
             /********/
             // Liste des patients sortis.
         } elseif ($this->type == "Sortis") {
             $list = new ListMaker("template/ListePatientsSortis.html");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col3', 'Examen', 'examenD');
             $list->setSortColumn('col4', 'Sortie', 'sortieD');
             $list->setSortColumn('col5', 'Dest. souhaitée', 'destSouhaitee');
             $list->setSortColumn('col6', 'Dest. confirmée', 'destAttendue');
             $list->setSortColumn('col7', 'Médecin', 'medecin');
             $list->setSortColumn('col8', 'IDE', 'ide');
             $list->setSortColumn('col9', 'UF', 'uf');
             $list->setdefaultSort('');
             $param['cw'] = $this->filtre . " ORDER BY nom ASC";
             $list->setAlternateColor("sortispaire", "sortisimpaire");
             // Liste des patients attendus.
             //if ( $this->filtre2 != "" )
         } elseif ($this->type == "Attendus") {
             $list = new ListMaker("template/ListePatientsAttendus.html");
             $param['cw'] = "ORDER BY date";
             $list->setAlternateColor("attenduspaire", "attendusimpaire");
             // Liste des patients UHCD.
         } elseif ($this->type == "UHCD") {
             //$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE '$uhcd%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             $param['cw'] = " p WHERE p.salle_examen LIKE '{$uhcd}%'";
             $list->setAlternateColor("uhcdpaire", "uhcdimpaire");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             $list->addUserVar('fin_table', "</table>");
         } else {
             //if ( $pedi )
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE '$pedi%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             //else
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE 'AUCUNESALLE%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             if ($this->equipe) {
                 $param['cw'] = "p WHERE p.traumato LIKE '{$this->equipe}%'";
             } else {
                 if ($pedi) {
                     $param['cw'] = " p WHERE p.salle_examen LIKE '{$pedi}%'";
                 } else {
                     $param['cw'] = " p WHERE p.salle_examen LIKE 'AUCUNESALLE%'";
                 }
             }
             $list->setAlternateColor("uhcdpaire", "uhcdimpaire");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             $list->addUserVar('fin_table', "</table>");
         }
         // Exécution de la requête.
         if ($this->type == "Sortis") {
             if (eregi("idformx", $this->filtre)) {
                 $tab["table"] = BDD . "." . PSORTIS . "," . FX_BDD . "." . TABLEFORMX;
                 $tab["cw"] = $param["cw"];
                 $res = $req->Execute("Fichier", "getPatients", $tab, "ResultQuery");
                 //eko($res);
             } else {
                 $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
             }
             //eko ( $res['INDIC_SVC'] ) ;
         } else {
             $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         }
         //eko ( $res['INDIC_SVC'] ) ;
         //eko($res);
         //eko ( $res['INDIC_SVC'] ) ;
         if (DEBUGLISTESPATIENTS and $session->getDroit("Liste_" . $this->type, "a")) {
             newfct(gen_affiche_tableau, $res[INDIC_SVC]);
         }
         // Cas des patients non-vus.
     } else {
         $list = new ListMaker("template/ListePatientsBis.html");
         if ($eq) {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND traumato LIKE '{$this->equipe}%' ";
         } elseif ($pedi) {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%' AND salle_examen NOT LIKE '{$pedi}%'" . $eq . ' ORDER BY dt_admission';
         } else {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%'" . $eq . ' ORDER BY dt_admission';
         }
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     }
     // eko ( $res['INDIC_SVC'] ) ;
     global $tabID;
     if (!is_array($tabID)) {
         $tabID = array();
     }
     // Parcours de la liste des patients récupérés par la requête.
     for ($i = 0; isset($res['idpatient'][$i]); $i++) {
         if (!in_array($res['idpatient'][$i], $tabID)) {
             // Calcul du sexe de la personne... (?!).
             switch ($res['sexe'][$i]) {
                 case 'M':
                     $img = URLIMG . "homme.png";
                     break;
                 case 'F':
                     $img = URLIMG . "femme.png";
                     break;
                 default:
                     $img = URLIMG . "Indefini.png";
                     break;
             }
             $item['sexe'] = "<img src=\"{$img}\" alt=\"" . $res['sexe'][$i] . "\" />";
             // Calcul de l'âge.
             $date = new clDate($res['dt_naissance'][$i]);
             $age = new clDuree($date->getTimestamp());
             $str = $age->getAgePrecis($date->getTimestamp());
             if ($res['dt_naissance'][$i] != "0000-00-00 00:00:00") {
                 $item['age'] = $str;
                 $item['ageD'] = $date->getTimestamp();
             } else {
                 $item['age'] = VIDEDEFAUT;
                 $item['ageD'] = VIDEDEFAUT;
             }
             // Destination souhaitée.
             if ($res['dest_souhaitee'][$i]) {
                 $item['destSouhaitee'] = $res['dest_souhaitee'][$i];
             } else {
                 $item['destSouhaitee'] = VIDEDEFAUT;
             }
             // Destination attendue.
             if ($res['dest_attendue'][$i]) {
                 $item['destAttendue'] = $res['dest_attendue'][$i];
             } else {
                 $item['destAttendue'] = VIDEDEFAUT;
             }
             //////////////////////////////////// Patients Attendus ////////////////////////////////////////
             if ($this->type == "Attendus") {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "modPatientAttendu", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 $item['patient'] = strtoupper($res['nom'][$i]) . " " . ucfirst(strtolower($res['prenom'][$i]));
                 // Heure de création.
                 if ($res['date'][$i]) {
                     $dateCreation = new clDate($res['date'][$i]);
                     $item['date'] = $dateCreation->getDate("d-m-Y H:i");
                 } else {
                     $item['date'] = VIDEDEFAUT;
                 }
                 // Gestion de l'âge.
                 if ($res['dt_naissance'][$i]) {
                     $item['age'] = $res['dt_naissance'][$i];
                 } else {
                     $item['age'] = VIDEDEFAUT;
                 }
                 // Récupération du mode d'admission.
                 if ($res['adresseur'][$i]) {
                     $item['adresseur'] = $res['adresseur'][$i];
                 } else {
                     $item['adresseur'] = VIDEDEFAUT;
                 }
                 // Médecin et IDE.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 $item['medecin'] = $med;
                 // Observations.
                 if ($res['observations'][$i]) {
                     $item['observations'] = nl2br($res['observations'][$i]);
                 } else {
                     $item['observations'] = VIDEDEFAUT;
                 }
                 // Génération du lien de bascule.
                 $imgBasculer = "<img src=\"images/basculer.gif\" name=\"Ajouter\" alt=\"Basculer le patient dans les présents\" /></a>";
                 $imgSupprimer = "<img src=\"images/Supprimer.gif\" name=\"Supprimer\" alt=\"Supprimer le patient attendu\" /></a>";
                 $imgModifier = "<img src=\"images/modifier2.gif\" name=\"Modifier\" alt=\"Modifier le patient attendu\" /></a>";
                 // En fonction des droits et des options, nous affichons les boutons d'actions.
                 if ($session->getDroit("Liste_" . $this->type, "a") and $options->getOption("AjoutManuel")) {
                     $item['lienBasculer'] = "<a href=\"" . URLNAVI . $session->genNavi("Liste_Presents", "basculerPatient", $res['idpatient'][$i]) . "\">" . $imgBasculer;
                 }
                 if ($session->getDroit("Liste_" . $this->type, "d")) {
                     $item['lienSupprimer'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "delPatient", $res['idpatient'][$i]) . "\">" . $imgSupprimer;
                 }
                 if ($session->getDroit("Liste_" . $this->type, "d")) {
                     $item['lienModifier'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "modPatientAttendu", $res['idpatient'][$i]) . "\">" . $imgModifier;
                 }
                 //////////////////////////////////// Patients Sortis ////////////////////////////////////////
             } elseif ($this->type == "Sortis") {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 if ($session->getDroit("Liste_" . $this->type, "m")) {
                     $item['patient'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]) . "\" " . clPatient::genInfoBulle($res, $i) . ">" . strtoupper($res['nom'][$i]) . "</a> " . ucfirst(strtolower($res['prenom'][$i]));
                 } else {
                     $item['patient'] = strtoupper($res['nom'][$i]) . " " . ucfirst(strtolower($res['prenom'][$i]));
                 }
                 $item['nomD'] = strtoupper($res['nom'][$i]);
                 // Heure d'arrivée.
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_admission'][$i]);
                     $item['arrivee'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['arriveeD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['arrivee'] = VIDEDEFAUT;
                     $item['arriveeD'] = VIDEDEFAUT;
                 }
                 // Heure d'examen.
                 if ($res['dt_examen'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_examen'][$i]);
                     $item['examen'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['examenD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['examen'] = VIDEDEFAUT;
                     $item['examenD'] = VIDEDEFAUT;
                 }
                 // Heure de sortie.
                 if ($res['dt_sortie'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_sortie'][$i]);
                     $item['sortie'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['sortieD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['sortie'] = VIDEDEFAUT;
                     $item['sortieD'] = VIDEDEFAUT;
                 }
                 // Médecin.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 $item['medecin'] = $med;
                 // IDE.
                 if ($res['ide'][$i]) {
                     $ide = $res['ide'][$i];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['ide'] = $ide;
                 // Affichage des informations sur l'UF
                 $ufExec = $options->getOption('numUFexec');
                 $ufUHCD = $options->getOption('numUFUHCD');
                 $ufSC = $options->getOption('numUFSC');
                 $dtUHCD = new clDate($res['dt_UHCD'][$i]);
                 if ($res['uf'][$i] == $ufUHCD) {
                     $sup = $res['uf'][$i] . ' - UHCD<br/>' . ($res['dt_UHCD'][$i] != '0000-00-00 00:00:00' ? $dtUHCD->getDate('d/m/Y à H:i') : '') . '';
                 } elseif ($res['uf'][$i] == $ufSC) {
                     $sup = $res['uf'][$i] . ' - Soins Continus';
                 } else {
                     $sup = $res['uf'][$i] . ' - Urgences';
                 }
                 $item['uf'] = $sup;
                 if ($options->getOption("Sortis Pagination") != "Tous") {
                     $pagination = $options->getOption("Sortis Pagination");
                 }
                 //////////////////////////////////// Patients Présents  ////////////////////////////////////////
             } else {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 if ($session->getDroit("Liste_" . $this->type, "m")) {
                     $item['patient'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]) . "\" " . clPatient::genInfoBulle($res, $i) . ">" . strtoupper($res['nom'][$i]) . "</a><br />" . ucfirst(strtolower($res['prenom'][$i]));
                 } else {
                     $item['patient'] = strtoupper($res['nom'][$i]) . "<br />" . ucfirst(strtolower($res['prenom'][$i]));
                 }
                 $item['nomD'] = strtoupper($res['nom'][$i]);
                 // Récupération du mode d'admission.
                 if ($res['mode_admission'][$i]) {
                     $item['modeAdm'] = $res['mode_admission'][$i];
                 } else {
                     $item['modeAdm'] = VIDEDEFAUT;
                 }
                 if ($res['uf'][$i] == $options->getOption('numUFSC')) {
                     $item['colorSpe'] = 'style="background-color:#E73E01;"';
                 } else {
                     $item['colorSpe'] = '';
                 }
                 // Heure d'admission.
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     $datead = new clDate($res['dt_admission'][$i]);
                     $dateSimple = $datead->getDate("d-m-Y");
                     $dureead = new clDuree();
                     $duree = $dureead->getDureeCourte($datead->getDatetime());
                     $item['arrivee'] = $duree . "<br />" . $dateSimple;
                     $item['arriveeD'] = $datead->getTimestamp();
                 } else {
                     $item['arrivee'] = VIDEDEFAUT;
                     $item['arriveeD'] = VIDEDEFAUT;
                 }
                 // Observations.
                 $item['obs'] = "?";
                 // Médecin et IDE.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($res['ide'][$i]) {
                     $ide = "Ide " . $res['ide'][$i];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 // Salle actuelle.
                 $radio = clListeRadios::getEtatSalle($res['idpatient'][$i], IDAPPLICATION);
                 if ($res['salle_examen'][$i]) {
                     $item['salle'] = $res['salle_examen'][$i] . "{$radio}<br/>" . ($res['traumato'][$i] ? $res['traumato'][$i] : '');
                 } else {
                     $item['salle'] = VIDEDEFAUT . "{$radio}<br/>" . ($res['traumato'][$i] ? $res['traumato'][$i] : '');
                 }
                 // Motif de recours.
                 if ($res['motif_recours'][$i]) {
                     $item['motif'] = $res['motif_recours'][$i];
                 } else {
                     $item['motif'] = VIDEDEFAUT;
                 }
                 // Code gravité.
                 if ($res['code_gravite'][$i]) {
                     $item['code'] = $res['code_gravite'][$i];
                 } else {
                     $item['code'] = VIDEDEFAUT;
                 }
                 // Infos visuelles (colonne Observations).
                 $dureeMaxSansUHCD = 3600 * $options->getOption("Présents UHCD");
                 $item['obs'] = "";
                 $uhcd = $options->getOption("FiltreSalleUHCD");
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     //if ( $options -> getOption ( "ContrainteHuitUF2702" ) AND $dureead -> getSeconds ( ) > $dureeMaxSansUHCD AND $res['uf'][$i] != "2702" AND ! $res['manuel'][$i] )
                     /*
                     	  if ( $options -> getOption ( "GestionUHCD" ) AND $res['uf'][$i] != $options->getOption ( "numUFUHCD" ) ) {
                     	  	
                     	  	$ufExec = $options->getOption ( 'numUFexec' ) ;
                     		$ufUHCD = $options->getOption ( 'numUFUHCD' ) ;
                     		$uf     = $options->getOption ( 'numUFexec' ) ;
                     		$etat   = $res['etatUHCD'][$i] ;
                     		$oldUF  = $res['uf'][$i] ;
                     		
                     		// Calcul du critère CCMU4 ou CCMU5
                     		if ( $res['code_gravite'][$i] == 4 OR $res['code_gravite'][$i] == 5 )
                     		$CCMU45 = 1 ; else $CCMU45 = 0 ;
                     		
                     		// Calcul du critère sur la durée
                     		$datead = new clDate ( $res['dt_admission'][$i] ) ;
                     	  	$dureead = new clDuree ( ) ;
                     	  	$duree = $dureead -> getDureeCourte ( $datead -> getDatetime ( ) ) ;
                     	  	$dureeMaxSansUHCD = 3600 * $options -> getOption ( "Présents UHCD" ) ;
                     	  	$dureeHeure = $options -> getOption ( "Présents UHCD" ) ;
                     		if ( $dureead -> getSeconds ( ) > $dureeMaxSansUHCD ) $duree = 1 ;
                     		else $duree = 0 ;
                     		
                     		// Calcul du critère sur le CCMU3
                     		if ( $res['code_gravite'][$i] == 3 ) $CCMU3 = 1 ; else $CCMU3 = 0 ;
                     		
                     		// Vérification des critères directs.
                     		if ( $CCMU45 ) {
                     			$rep = 'okCCMU45' ;
                     			$uf = $ufUHCD ;
                     		} else {
                     			if ( $duree ) {
                     				$rep = 'okDuree' ;
                     			} else {
                     				if ( $CCMU3 ) {
                     					$rep = 'okCCMU3' ;
                     				} else {
                     					$rep = 'noCCMU3' ;
                     					$uf = $ufExec ;
                     				}
                     			}
                     		}
                     		
                     		// Vérification de la réponse à la question sur les critères UHCD.
                     		if ( $rep == 'okDuree' ) {
                     			if ( $etat != 'okCriteres' AND $etat != 'noCriteres' ) $item['obs'] .= IMGALERTE ;
                     		}
                     		
                     		// Vérification de la réponse à la question sur les actes lourds.
                     		if ( $rep == 'okCCMU3' ) {
                     			if ( $etat != 'okActes' AND $etat != 'noActes' ) $item['obs'] .= IMGALERTE ;
                     		}
                     	  	
                     	  }*/
                     if ($options->getOption("ModuleBMR")) {
                         // On vérifie si le patient est lié à une alerte BMR.
                         $param['cw'] = "WHERE IDU='" . $res['idu'][$i] . "'";
                         $ras = $req->Execute("Fichier", "getBMR", $param, "ResultQuery");
                         // Si au moins une alerte est liée au patient, on affiche une icone d'alerte.
                         if ($ras['INDIC_SVC'][2]) {
                             $item['obs'] .= "<img src=\"" . URLIMGRAD . "\" alt=\"BMR\" />";
                         }
                         //$item['obs'] .= IMGDOCS ;
                     }
                 }
                 // On vérifie si le patient a une note.
                 $param['cw'] = "WHERE ids='" . $res['idpatient'][$i] . "'";
                 $param['table'] = TABLENOTES;
                 $ras = $req->Execute("Fichier", "getGenXHAM", $param, "ResultQuery");
                 if ($ras['INDIC_SVC'][2] and $ras['note'][0] and $session->getDroit("Presents_Informations")) {
                     global $pi;
                     $item['obs'] .= "<img src=\"" . URLIMGOBS . "\" " . $pi->genInfoBulle($ras['note'][0]) . " alt=\"Comm.\" />";
                 }
                 $item['obs'] .= clListeRadios::getEtat($res['idpatient'][$i], IDAPPLICATION);
                 if ($_POST['showHisto']) {
                     // Récupération des passages précédents.
                     $param['IDU'] = $res['idu'][$i];
                     $res2 = $req->Execute("Fichier", "getHistorique", $param, "ResultQuery");
                     if ($res2['INDIC_SVC'][2]) {
                         $item['obs'] .= IMGHISTO;
                     }
                     // Récupération des passages précédents.
                     $param['ILP'] = $res['ilp'][$i];
                     $res2 = $req->Execute("Fichier", "getHistoriqueDocs", $param, "ResultQuery");
                     if ($res2['INDIC_SVC'][2]) {
                         $item['obs'] .= IMGHISTODOCS;
                     }
                 }
             }
             //$this->getInfoBulle ( $res, $i ) ;
             $list->addItem($item);
         }
         $tabID[] = $res['idpatient'][$i];
     }
     // Récupération du code HTML généré.
     $this->af .= $list->getList($pagination);
 }
Example #7
0
function addPatientSQL($idimport, $table)
{
    global $errs;
    global $news1;
    global $mods1;
    global $errs1;
    global $news2;
    global $mods2;
    global $errs2;
    // Récupération des informations sur le patient à créer.
    $param['cw'] = "WHERE idimport='{$idimport}'";
    $req = new clResultQuery();
    $res = $req->Execute("Fichier", "getImports", $param, "ResultQuery");
    $i = 0;
    if ($res['uf'][$i] == '6004') {
        $base = 'terminal2_tuv2';
        $news2++;
    } else {
        $base = BDD;
        $news1++;
    }
    if ($res['INDIC_SVC'][2]) {
        $ras = $req->Execute("Fichier", "getMaxIdToulon", $param, "ResultQuery");
        $max = 1;
        for ($j = 0; isset($ras['idpatient'][$j]); $j++) {
            if ($ras['idpatient'][$j] > $max) {
                $max = $ras['idpatient'][$j];
            }
        }
        $max++;
        $data['idpatient'] = $max;
        $data['idu'] = $res['idu'][$i];
        $data['ilp'] = $res['ilp'][$i];
        $data['nsej'] = $res['idpass'][$i];
        $data['uf'] = $res['uf'][$i];
        $data['nom'] = $res['nom'][$i];
        $data['prenom'] = $res['prenom'][$i];
        $data['sexe'] = $res['sexe'][$i];
        $data['dt_naissance'] = $res['dt_naissance'][$i];
        $data['adresse_libre'] = $res['adresse_libre'][$i];
        $data['adresse_cp'] = $res['adresse_cp'][$i];
        $data['adresse_ville'] = $res['adresse_ville'][$i];
        $data['telephone'] = $res['telephone'][$i];
        $data['prevenir'] = str_replace('^', '<br/>', $res['prevenir'][$i]);
        $data['medecin_traitant'] = $res['medecin_traitant'][$i];
        $data['dt_admission'] = $res['dt_admission'][$i];
        $data['mode_admission'] = $res['mode_admission'][$i];
        $data['iduser'] = "******";
        $data['manuel'] = 0;
        //newfct ( gen_affiche_tableau, $data ) ;
        // Calcul de la durée depuis lequel le patient est admis.
        $d1 = new clDate();
        $d2 = new clDate($data['dt_admission']);
        $duree = new clDuree($d1->getDifference($d2));
        $duree->invertNegatif();
        // Appel de la classe Requete.
        $requete = new clRequete($base, $table, $data);
        // Exécution de la requete.
        $res = $requete->addRecord();
        // Si le patient est admis depuis plus de 30 minutes, alors il est placé dans la table des sortis
        if ($duree->getMinutes() > 30) {
            $pat = new clPatient($res['cur_id'], '', $base);
            $pat->sortirPatient('simple');
        }
        // Mise à jour de la date de traitement de l'import.
        $date = new clDate();
        $data2['dt_traitement'] = $date->getDatetime();
        // Appel de la classe Requete.
        $requete = new clRequete(BDD, IMPORTS, $data2);
        // Exécution de la requete.
        $requete->updRecord("idimport='{$idimport}'");
    } else {
        // En cas d'erreur, on la signale...
        $errs->addErreur("clImportation : Impossible d'importer ce nouveau patient, l'identifiant de l'import est introuvable (idimport=\"{$idimport}\").");
        $errs1++;
        $errs2++;
    }
}
Example #8
0
 function addPatientHL7($data, $table, $base = BDD)
 {
     global $errs;
     global $options;
     // Calcul de la durée depuis lequel le patient est admis.
     $d1 = new clDate();
     $d2 = new clDate($data['dt_admission']);
     $duree = new clDuree($d1->getDifference($d2));
     $duree->invertNegatif();
     // Procédure anti-fantôme : si aucun de ces champs n'est saisi, on ne fait pas l'ajout du patient.
     if ($data['nom'] or $data['prenom'] or $data['sexe'] or $data['ilp']) {
         // Appel de la classe Requete.
         $requete = new clRequete($base, $table, $data);
         // Exécution de la requete.
         $res = $requete->addRecord();
         // eko ( "On ajoute un nouveau patient (nsej=$nsej)" ) ;
         // Si le patient est admis depuis plus de 30 minutes, alors il est placé dans la table des sortis
         if ($duree->getMinutes() > $options->getOption('ImportsBasculeSortis')) {
             $pat = new clPatient($res['cur_id'], '', $base);
             $pat->sortirPatient('simple');
         }
         $this->news1++;
     }
 }
Example #9
0
 function genSalon()
 {
     global $options;
     # paramètres
     $mg = 5;
     // Marge de gauche =>  initial 17
     $mh = 4;
     // Marge du haut =>  initial 9
     $md = 15;
     // Marge de droite
     $mb = 9;
     // Marge du bas
     $largeur_etiquette = 42;
     // largeur_etiquette =>  initial 60
     $espace_etiquettes = 13;
     // =>  initial 7
     $nb_ligne_etiquettes = 4;
     $nb_etiquette_ligne = 5;
     // Préparation du document PDF.
     $pdf = new FPDF('L', 'mm', 'A4');
     $pdf->Open();
     $pdf->SetLeftMargin($mg);
     $pdf->SetTopMargin($mh);
     $pdf->SetAutoPageBreak(1, 0);
     $pdf->AddPage();
     // Gestion des fonts
     $pdf->AddFont('code39', '', 'IDAutomation_Code_39.php');
     $pdf->SetFont('times', '', 12);
     // Préparation des informations.
     $nom = strtoupper($this->patient->getNom());
     $prenom = strtoupper($this->patient->getPrenom());
     $date = new clDate($this->patient->getDateNaissance());
     $duree = new clDuree();
     $dateN = $date->getDate("d/m/Y");
     $dateN .= " (" . $duree->getAge($date->getTimestamp()) . ")";
     if ($this->patient->getSexe() == "F") {
         $sexe = "Féminin";
         $e = "e";
     } elseif ($this->patient->getSexe() == "M") {
         $sexe = "Masculin";
         $e = "";
     } else {
         $sexe = "Indéterminé";
         $e = "";
     }
     $date->setDate($this->patient->getDateAdmission());
     $le = $date->getDate("d/m/Y H:i");
     $led = $date->getDate("d/m/Y");
     $leh = $date->getDate("H:i");
     $ipp = $this->patient->getILP();
     $nsej = $this->patient->getNSej();
     $uf = $this->patient->getUF();
     $sexe = $this->patient->getSexe();
     if ($uf == $options->getOption('numUFexec')) {
         $loc = '(URGENCES)';
     } else {
         $loc = '(UHCD)';
     }
     $tel = $this->patient->getTel();
     $adresse = $this->patient->getAdresse();
     $cpv = $this->patient->getCodePostal() . " " . $this->patient->getVille();
     $prev = $this->patient->getPrevenir();
     $medt = $this->patient->getMedecinTraitant();
     $modet = $this->patient->getMedecinTraitant();
     $adresseur = $this->patient->getAdresseur();
     $modeadm = $this->patient->getModeAdmission();
     // Grosse étiquette
     $pdf->Cell(20, 4, "", 0, 0, L);
     // Ligne 1
     $pdf->Cell(4 * $largeur_etiquette, 5, "CENTRE HOSPITALIER DE CARPENTRAS", 0, 1, L);
     // Ligne 2
     $pdf->Cell(11, 5, "Date : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(23, 5, "{$led}", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(13, 5, "Heure : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(27, 5, "{$leh}", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(21, 5, "N° Patient : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(22, 5, "{$ipp}", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(18, 5, "N° URG : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(22, 5, "{$nsej}", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(18, 5, "N° ARCHIVE : ", 0, 1, L);
     // Ligne 3
     $pdf->Cell(11, 5, "Nom : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(63, 5, strtoupper($nom), 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(13, 5, "Nom naissance : ", 0, 1, L);
     // Ligne 4
     $pdf->Cell(16, 5, "Prénom : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(58, 5, ucfirst(strtolower($prenom)), 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(12, 5, "Sexe : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(29, 5, "{$sexe}", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(12, 5, "N° S.S : ", 0, 1, L);
     // Ligne 5
     $pdf->Cell(17, 5, "Né(e) le : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(57, 5, $dateN, 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(12, 5, "A : ", 0, 1, L);
     // Ligne 6
     $pdf->Cell(17, 4, "Adresse : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(57, 4, $adresse, 0, 1, L);
     $pdf->SetFont('times', '', 12);
     // Ligne 5
     $pdf->Cell(115, 4, "", 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(9, 4, "Tél : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(20, 4, $tel, 0, 1, L);
     $pdf->SetFont('times', '', 12);
     // Ligne 6
     $pdf->Cell(17, 4, "", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(98, 4, $cpv, 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(9, 4, "Pays : ", 0, 1, L);
     // Ligne 7
     $pdf->Cell(17, 5, "Nom du tuteur : ", 0, 1, L);
     // Ligne 8
     $pdf->Cell(37, 5, "Personne à prévenir : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(98, 5, $prev, 0, 1, L);
     $pdf->SetFont('times', '', 12);
     // Ligne 9
     $pdf->Cell(23, 5, "Adressé par : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(51, 5, $adresseur, 0, 0, L);
     $pdf->SetFont('times', '', 12);
     $pdf->Cell(30, 5, "Médecin traitant : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(98, 5, $medt, 0, 1, L);
     $pdf->SetFont('times', '', 12);
     // Ligne 10
     $pdf->Cell(34, 5, "Mode de transport : ", 0, 0, L);
     $pdf->SetFont('times', 'B', 12);
     $pdf->Cell(98, 5, $modeadm, 0, 1, L);
     $pdf->SetFont('times', '', 12);
     // Saut
     $pdf->Cell(1, 5.8, "", 0, 1);
     $pdf->SetFont('times', '', 9);
     for ($i = 1; $i <= $nb_ligne_etiquettes; $i++) {
         // Entrée
         $pdf->Cell($largeur_etiquette, 4, "Entrée du : {$led} à {$leh}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Entrée du : {$led} à {$leh}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Entrée du : {$led} à {$leh}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Entrée du : {$led} à {$leh}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Entrée du : {$led} à {$leh}", 0, 1, L);
         // D/Nais
         $pdf->Cell($largeur_etiquette, 4, "D/nais : {$dateN}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "D/nais : {$dateN}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "D/nais : {$dateN}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "D/nais : {$dateN}", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "D/nais : {$dateN}", 0, 1, L);
         // Nom
         $pdf->Cell($largeur_etiquette - 30, 4, "Nom : ", 0, 0, L);
         $pdf->SetFont('times', 'B', 9);
         $pdf->Cell(43, 4, strtoupper($nom), 0, 0, L);
         $pdf->SetFont('times', '', 9);
         $pdf->Cell($largeur_etiquette - 30, 4, "Nom : ", 0, 0, L);
         $pdf->SetFont('times', 'B', 9);
         $pdf->Cell(43, 4, strtoupper($nom), 0, 0, L);
         $pdf->SetFont('times', '', 9);
         $pdf->Cell($largeur_etiquette - 30, 4, "Nom : ", 0, 0, L);
         $pdf->SetFont('times', 'B', 9);
         $pdf->Cell(43, 4, strtoupper($nom), 0, 0, L);
         $pdf->SetFont('times', '', 9);
         $pdf->Cell($largeur_etiquette - 30, 4, "Nom : ", 0, 0, L);
         $pdf->SetFont('times', 'B', 9);
         $pdf->Cell(43, 4, strtoupper($nom), 0, 0, L);
         $pdf->SetFont('times', '', 9);
         $pdf->Cell($largeur_etiquette - 30, 4, "Nom : ", 0, 0, L);
         $pdf->SetFont('times', 'B', 9);
         $pdf->Cell(43, 4, strtoupper($nom), 0, 1, L);
         $pdf->SetFont('times', '', 9);
         // Prénom
         $pdf->Cell($largeur_etiquette, 4, "Prénom : " . ucfirst(strtolower($prenom)), 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Prénom : " . ucfirst(strtolower($prenom)), 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Prénom : " . ucfirst(strtolower($prenom)), 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Prénom : " . ucfirst(strtolower($prenom)), 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "Prénom : " . ucfirst(strtolower($prenom)), 0, 1, L);
         // NJF
         $pdf->Cell($largeur_etiquette, 4, "NJF : ", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "NJF : ", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "NJF : ", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "NJF : ", 0, 0, L);
         $pdf->Cell($espace_etiquettes, 4, "", 0, 0, L);
         $pdf->Cell($largeur_etiquette, 4, "NJF : ", 0, 1, L);
         // N° SS
         $pdf->Cell(9, 4, "NSej : ", 0, 0, L);
         $pdf->Cell(46, 4, "{$nsej}", 0, 0, L);
         $pdf->Cell(9, 4, "NSej : ", 0, 0, L);
         $pdf->Cell(46, 4, "{$nsej}", 0, 0, L);
         $pdf->Cell(9, 4, "NSej : ", 0, 0, L);
         $pdf->Cell(46, 4, "{$nsej}", 0, 0, L);
         $pdf->Cell(9, 4, "NSej : ", 0, 0, L);
         $pdf->Cell(46, 4, "{$nsej}", 0, 0, L);
         $pdf->Cell(9, 4, "NSej : ", 0, 0, L);
         $pdf->Cell(46, 4, "{$nsej}", 0, 1, L);
         // inter _etiquettes
         $pdf->Cell(1, 11, "", 0, 1);
     }
     $pdf->Output();
 }
Example #10
0
 function getLast()
 {
     global $options;
     if ($_POST['idSessionATQ']) {
         $session = $_POST['idSessionATQ'];
     }
     if ($_GET['idSessionATQ']) {
         $session = $_GET['idSessionATQ'];
     }
     if ($session) {
         $this->index = $session;
     } else {
         $this->index = "";
     }
     // Récupération de la date de dernier clic.
     $date = new clDate($_SESSION['last' . $this->index]);
     // Calcul de la durée entre ce dernier clic et maintenant.
     $dateN = new clDate();
     $duree = new clDuree();
     $duree->setValues($dateN->getDifference($date));
     // On calcule une clé de session s'il n'y en a pas déjà une.
     if (!$_SESSION['sidtuv2' . $this->index]) {
         $_SESSION['sidtuv2' . $this->index] = $this->genIdSession(16);
         // Affichage pour débugage.
         if (DEBUGSESSION) {
             print "<br />Génération de l'idSession : " . $_SESSION['sidtuv2' . $this->index];
         }
     } else {
         // Affichage pour débugage.
         if (DEBUGSESSION) {
             print "<br />idSession : " . $_SESSION['sidtuv2' . $this->index];
         }
     }
     // On vérifie que la session est toujours valide <=> que la durée calculée n'est pas supérieure
     // à la durée maximum d'inactivité.
     if ($duree->getMinutes() <= ($options->getOption("DureeSession") < 480 ? $options->getOption("DureeSession") : 480)) {
         $_SESSION['last' . $this->index] = $dateN->getDatetime();
         //	print affTab ( $_SESSION['informations'.$this->index] ) ;
         //	eko (  $_SESSION['informations'.$this->index] ) ;
         /*
         		mail( Erreurs_Mail, 'Trace connexion', 'Connexion active après '.$duree->getSeconds ( ).' secondes d\'inactivité.' .
         '\nHeure du clic : '.$dateN->getDatetime ( ).
         '\nHeure du précédent clic : '.$date->getDatetime ( )."<br/>" ) ;
         */
         /*
         		eko ( 'Connexion active après '.$duree->getSeconds ( ).' secondes d\'inactivité.' .
         		'<br/>Heure du clic : '.$dateN->getDatetime ( ).
         		'<br/>Heure du précédent clic : '.$date->getDatetime ( )."<br/>" ) ;
         */
         return $_SESSION['informations' . $this->index];
     } else {
         /*
               	$errs -> addErreur ( 'Déconnexion après '.$duree->getMinutes ( ).' minutes d\'inactivité.' .
         '<br/>Heure du clic : '.$dateN->getDatetime ( ).
         '<br/>Heure du précédent clic : '.$date->getDatetime ( ) ) ;
         */
         $entete = "<html><head><title>{$subject}</title><body>";
         $fin = "</ul></body></html>";
         $headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n";
         $headers .= "To: " . Erreurs_Mail . "\r\nFrom: " . Erreurs_NomApp . "<" . Erreurs_MailApp . ">\r\n";
         /*
               		mail( '', '[XHAM V1] Trace connexion', $entete.' - Perte de la connexion après <b>'.$duree->getSeconds ( ).'</b> secondes d\'inactivité.<br/>' .
         ' - Heure du clic : <b>'.$dateN->getDatetime ( ).'</b><br/> - Heure du précédent clic : <b>'.$date->getDatetime ( ).'</b><br/>' .
         ' - Application : <b>'.NOMAPPLICATION.'</b><br/> - Durée maximale : <b>'.$options -> getOption ( "DureeSession" ).' minutes</b><br/>'.$fin, $headers ) ;
         */
         /*print 'Déconnexion après '.$duree->getMinutes ( ).' minutes d\'inactivité.' .
         		'<br/>Heure du clic : '.$dateN->getDatetime ( ).
         		'<br/>Heure du précédent clic : '.$date->getDatetime ( )."<br/>";*/
     }
     $_SESSION['last' . $this->index] = $dateN->getDatetime();
 }
 function gestionMajorationsNGAPlesCetCS()
 {
     /******************************************************************************/
     global $options;
     global $fusion;
     global $table_patient_manuel;
     global $table_patient_automatique;
     $idEvent = $this->idEvent;
     if ($fusion == 0) {
         $agePatient = $this->agePatient;
     } else {
         // Presence d'une fusion
         $param[cw] = "WHERE idpatient='" . $idEvent . "'";
         $param[table] = $table_patient_automatique;
         $req = new clResultQuery();
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         $age = new clDate($res["dt_naissance"][0]);
         $date = new clDate($res["dt_examen"][0]);
         $duree = new clDuree($date->getDifference($age));
         $agePatient = $duree->getYears();
     }
     unset($paramModif);
     if ($options->getOption('EnvoiMajorationsNGAPpourCetCS')) {
         // Dans le cas ou le patient revient sur le terminal on gére le mise à
         // jour de la table ccam_cotation_actes en fonction de l' option
         // de la valeur de EnvoiMajorationsNGAPpourCetCS
         $paramModif["envoi_facturation"] = 1;
     } else {
         $paramModif["envoi_facturation"] = 0;
     }
     $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif);
     // LISTE MAJO
     // MODIFICATION A FAIRE
     // Ajout des majos sages-femmes et gyneco-obstetrique  dans les requetes
     $sql = $requete->updRecord("idEvent='" . $idEvent . "' and  cotationNGAP in ('MCG 1','MNO 1','MGE 1','MCC 1','MNP 1','MPJ 1','MPC 1','MCS 1')");
     unset($paramRq);
     $paramRq["cw"] = "idEvent=" . $idEvent . " and type='ACTE'";
     $requete = new clResultQuery();
     // On récupère la liste des actes pour un patient
     $resultat = $requete->Execute("Fichier", "CCAM_getActesDiagsCotation", $paramRq, "ResultQuery");
     // On traite les informations contenues dans la table resultat
     for ($i = 0; $i <= $resultat[INDIC_SVC][2]; $i++) {
         $MajorationNGAP1 = "";
         $MajorationNGAP2 = "";
         $Majoration_A_Effectuee = "Non";
         // On regarde si la cotation NGAP est de type C 1
         // ceci concerne les consultations de généralistes (C)
         if (strcmp($resultat["cotationNGAP"][$i], "C 1") == 0) {
             // On gére les ages
             if ($agePatient < 2) {
                 $MajorationNGAP1 = "MNO 1";
                 $Majoration_A_Effectuee = "Oui";
             }
             /*
             if ( $agePatient >= 2 && $agePatient < 6 ) {
               $MajorationNGAP1        = "MGE 1";
               $Majoration_A_Effectuee = "Oui";
               }
             */
             /*if ( $agePatient >= 16 ) {
               $MajorationNGAP1        = "MCG 1";
               $Majoration_A_Effectuee = "Oui";
               }*/
         }
         //if ( strcmp($resultat["cotationNGAP"][$i],"C 1") == 0 )
         // On regarde si la cotation NGAP est de type CSC 1
         // ceci concerne les consultations de cardio
         /*
         if ( strcmp($resultat["cotationNGAP"][$i],"CSC 1") == 0 ) {
           // Cardiologues:
           if ( eregi ('Cardiologie',$resultat["libelleActe"][$i]) ){
          
               if ( $agePatient >= 16 ) {
               $MajorationNGAP1        = "MCC 1";
               $Majoration_A_Effectuee = "Oui";
               }
             }
         } 
         */
         // if ( strcmp($resultat["cotationNGAP"][$i],"CSC 1") == 0 )
         // On regarde si la cotation NGAP est de type CNPSY 1
         // ceci concerne les consultations de Spy et de Neurologue.
         /*if ( strcmp($resultat["cotationNGAP"][$i],"CNPSY 1") == 0 ) {
                 // Neurologue et Psychiatres:
                 if ( eregi ('Neurologie' ,$resultat["libelleActe"][$i] ) ||
                      eregi ('Psychiatrie',$resultat["libelleActe"][$i] ) ){
         
                     if ( $agePatient >= 16 ) {
                       //$MajorationNGAP1          = "MPC 1";
                       $MajorationNGAP1          = "MCS 1";
                       $Majoration_A_Effectuee   = "Oui";
                     }
                     
                     
                     else { 
                       $MajorationNGAP1        = "MPJ 1";
                       $Majoration_A_Effectuee = "Oui";
                     }
                 }
               } */
         //if ( strcmp($resultat["cotationNGAP"][$i],"CNPSY 1") == 0 ) {
         // On regarde si la cotation NGAP est de type CS 1
         // ceci concerne les consultations de spécialistes (CS)
         /*
               if ( strcmp($resultat["cotationNGAP"][$i],"CS 1") == 0 ) {
         
                 // Maintenant en gérant le cas des urgences pédiatriques
                 if ( (   strcmp($resultat["libelleActe"][$i],"Consultation urgentiste spécialiste") == 0
                       && strcmp($this->typeIntervenant,"PED") == 0 ) ||
                          eregi('Pédiatrie',$resultat["libelleActe"][$i]) ||
                          eregi('PEDIATRIE',$resultat["libelleActe"][$i]) ){
                   // On gére les ages 
                   if ( $agePatient < 2 ) {
         
                     $MajorationNGAP1        = "MNP 1";
                     $Majoration_A_Effectuee = "Oui";
                   }
                   if ( $agePatient >= 2 && $agePatient < 16 ) {
                     $MajorationNGAP1        = "MPJ 1";
                     $Majoration_A_Effectuee = "Oui";
                   }
                 }
                 ////////////////////////////////////////////////////////
         /*
         // Maintenant en gérant le cas des urgences Gynécologie et Obstétrique
                 elseif ( (strcmp($resultat["libelleActe"][$i],"Consultation Gynéco Obstétrique") == 0
                        && strcmp($this->typeIntervenant,"OBS") == 0 ) ||
                           eregi('Gynécologie et Obstétrique',$resultat["libelleActe"][$i]) ) {
         // MODIFICATION A FAIRE majoration suivant l'age du patient
                 eko("majoration suivant l'age du patient");
         
                 }
                 ////////////////////////////////////////////////////////
         */
         // Autres Spécialistes
         /*
           else {
               
               if ( $agePatient >= 16 )
                 $MajorationNGAP1        = "MCS 1";
               else
                 $MajorationNGAP1        = "MPJ 1";
               
               if ( $agePatient < 16 )
                 $MajorationNGAP1        = "MPJ 1";
               
               //$MajorationNGAP2          = "MPC 1";
               $Majoration_A_Effectuee   = "Oui";
           }
         } //if ( strcmp($resultat["cotationNGAP"][$i],"CS 1") == 0 )
         */
         // Maintenant on gère le cas s'il y a une Majoration à effectuer
         // pour l'acte $resultat["libelleActe"][$i]
         if (strcmp($Majoration_A_Effectuee, "Oui") == 0) {
             $paramRq = array();
             $temp = array();
             $temp = $resultat;
             while (list($key, $val) = each($temp)) {
                 $paramRq[$key] = $temp[$key][$i];
             }
             unset($paramRq[INDIC_SVC]);
             reset($temp);
             reset($paramRq);
             // On insere la majoration NGAP dans la nouvelle ligne à inserer dans
             // la table ccam_cotation_actes
             $paramRq["cotationNGAP"] = $MajorationNGAP1;
             if ($options->getOption('EnvoiMajorationsNGAPpourCetCS')) {
                 $paramRq["envoi_facturation"] = 1;
             } else {
                 $paramRq["envoi_facturation"] = 0;
             }
             // On teste si on a déjà inserer l'acte NGAP avec la mojoration
             // Au cas ou le patient revient dans le terminal
             $requete = new clResultQuery();
             $test_insertion_existe = $requete->Execute("Fichier", "CCAM_testInsertionCCAMCotationActes", $paramRq, "ResultQuery");
             if ($test_insertion_existe["INDIC_SVC"][2] == 0) {
                 // On recherche le max de identifiant pour l'incrementation
                 // dans la table
                 $requete = new clResultQuery();
                 $maxIdentifiant = $requete->Execute("Fichier", "CCAM_getMaxIdentifiantCCAMCotationActes", array(), "ResultQuery");
                 $paramRq["identifiant"] = $maxIdentifiant["maximun"][0] + 1;
                 // Insertion de la nouvelle ligne
                 $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramRq);
                 $requete->addRecord();
             }
             if ($MajorationNGAP2 != "") {
                 // On insere la majoration NGAP dans la nouvelle ligne à inserer dans
                 // la table ccam_cotation_actes
                 $paramRq["cotationNGAP"] = $MajorationNGAP2;
                 // On teste si on a déjà inserer l'acte NGAP avec la majoration
                 // Au cas ou le patient revient dans le terminal
                 $requete = new clResultQuery();
                 $test_insertion_existe = $requete->Execute("Fichier", "CCAM_testInsertionCCAMCotationActes", $paramRq, "ResultQuery");
                 if ($test_insertion_existe["INDIC_SVC"][2] == 0) {
                     // recherche de l'idEvent max
                     $requete = new clResultQuery();
                     $maxIdentifiant = $requete->Execute("Fichier", "CCAM_getMaxIdentifiantCCAMCotationActes", array(), "ResultQuery");
                     $paramRq["identifiant"] = $maxIdentifiant["maximun"][0] + 1;
                     // Insertion de la nouvelle ligne
                     $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramRq);
                     $requete->addRecord();
                 }
                 // end if
             }
             // en if
         }
         // if ( strcmp($Majoration_A_Effectuee,"Oui") == 0 )
     }
     // for ( $i = 0 ; $i <= $resultat[INDIC_SVC][2] ; $i++ )
 }
Example #12
0
 function newMessage($listeMails = '')
 {
     global $session;
     global $options;
     if (!$this->patient->getILP()) {
         $this->patient = new clPatient($this->idpatient, "Sortis");
     }
     if ($options->getOption("typeMail") == "HTML") {
         $retourLigne = "<br />";
         $trait = "<hr />";
     } else {
         $retourLigne = "\n";
         $trait = "\n----------------------------------------------\n\n";
     }
     // Préparation des textes et dates...
     $dest2 = '';
     $message .= "Médecins urgences : " . ($this->patient->getMedecin() ? $this->patient->getMedecin() : '--') . $retourLigne;
     $age = new clDate($this->patient->getDateNaissance());
     $duree = new clDuree();
     $adm = new clDate($this->patient->getDateAdmission());
     $exa = new clDate($this->patient->getDateExamen());
     $message .= "Concerne le patient : " . $this->patient->getSexe() . " " . $this->patient->getPrenom() . " " . strtoupper($this->patient->getNom()) . " (" . $duree->getAge($age->getTimestamp()) . ")" . $retourLigne;
     $message .= "Numéro de séjour : " . $this->patient->getNSEJ() . $retourLigne;
     $message .= "ILP : " . $this->patient->getILP() . $retourLigne;
     $message .= "Médecin traitant : " . $this->patient->getMedecinTraitant() . $retourLigne . $trait;
     if ($this->patient->getDateAdmission() != '0000-00-00 00:00:00') {
         $message .= "Admis aux urgences le : " . $adm->getDate("d-m-Y à H:i") . $retourLigne;
     } else {
         $message .= "Admis aux urgences le : --" . $retourLigne;
     }
     $message .= "Pour " . $this->patient->getRecours() . " (" . $this->patient->getCategorieRecours() . ")" . $retourLigne;
     if ($this->patient->getDateExamen() != '0000-00-00 00:00:00') {
         $message .= "Heure Examen : " . $exa->getDate("d-m-Y à H:i") . $retourLigne;
     } else {
         $message .= "Heure Examen : --" . $retourLigne;
     }
     $message .= "Dest. confirmée : " . ($this->patient->getDestinationAttendue() ? $this->patient->getDestinationAttendue() : '--') . $retourLigne;
     $message .= "Message : " . stripslashes($_POST['observations']);
     // Préparation des destinataires du message.
     $listeGen = new clListesGenerales("recup");
     // Type de message.
     switch ($_POST['type']) {
         case 'conflit':
             $sujet = "[Terminurg] Signalement conflit";
             if (!$listeMails) {
                 $listeMails = "Mails Conflit";
             }
             break;
         case 'social':
             $sujet = "[Terminurg] Signalement social";
             if (!$listeMails) {
                 $listeMails = "Mails Gériatrie";
             }
             break;
         case 'virus':
             $sujet = "[Terminurg] " . $_POST['sendMessage'];
             if (!$listeMails) {
                 $listeMails = "Mails Alerte Virus";
             }
             break;
         case 'non uhcd':
             $sujet = "[Terminurg] Etat UHCD à vérifier";
             if (!$listeMails) {
                 $listeMails = "Mails Alerte UHCD";
             }
             break;
         case 'sortie forcée':
             $sujet = "[Terminurg] Sortie forcée détectée";
             if (!$listeMails) {
                 $listeMails = "Mails Sortie forcée";
             }
             break;
         default:
             $sujet = "[Terminurg] Procédure dépistage maltraitance";
             if (!$listeMails) {
                 $listeMails = "Mails Maltraitance";
             }
             break;
     }
     //eko ( "test" ) ;
     $liste = $listeGen->getListeItems($listeMails, "1", '', '');
     $to = '';
     if (!is_array($liste)) {
         $liste = array();
     }
     while (list($key, $val) = each($liste)) {
         $dest .= $val . $retourLigne;
         if ($dest2) {
             $vir = ",";
         } else {
             $vir = "";
         }
         $dest2 .= $vir . $val;
         if (!$to) {
             $to = $val;
         } else {
             $dest3 .= "To: {$val}\r\n";
         }
     }
     // print $dest2 ;
     // Si une confirmation a été transmise, alors on ajoute et on envoie le nouveau message.
     if ($_POST['Envoyer'] or $_POST['Envoyer_x']) {
         $date = new clDate();
         $data['idpatient'] = $this->patient->getID();
         $data['dt_mail'] = $date->getDatetime();
         $data['contenu'] = addslashes($message . $trait . nl2br(stripslashes($_POST['observations'])));
         $data['nsej'] = $this->patient->getNSEJ();
         if ($_POST['type']) {
             $data['type_mail'] = $_POST['type'];
         } else {
             $data['type_mail'] = "Procédure dépistage maltraitance";
         }
         $requete = new clRequete(BDD, MAILSLOGS, $data);
         $requete->addRecord();
         // eko ( $sujet ) ;
         // Préparation des informations du mail.
         if ($options->getOption("typeMail") == "HTML") {
             $entete = "<html><head><title>{$subject}</title><body>";
             $fin = "</table></body></html>";
             $message = $entete . $message . $fin;
             $headers = "MIME-Version: 1.0\r\n";
             $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
             $headers .= "From: " . Erreurs_NomApp . " <" . Erreurs_MailApp . ">\r\n";
         } else {
             $message = $subject . "\n\n" . $message;
             $headers = "MIME-Version: 1.0\r\n";
             $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
             $headers .= "From: " . Erreurs_NomApp . " <" . Erreurs_MailApp . ">\r\n";
         }
         //$headers .= "Bcc: dborel@ch-hyeres.fr\r\n";
         if ($options->getOption('SMTP_BCC')) {
             $headers .= "Cc: <" . $options->getOption('SMTP_BCC') . ">\r\n";
             $cc = $options->getOption('SMTP_BCC');
         } else {
             $cc = '';
         }
         // Envoi du mail.
         // mail ( $dest2, $sujet, $message, $headers ) ;
         if ($options->getOption('SMTP_Type') == 'localhost') {
             mail($dest2, $sujet, $message, $headers);
         } else {
             //$headers .= 'To: '.$dest2."\r\n" ;
             // print $headers ;
             if ($options->getOption('SMTP_Type') == 'autreAvecAuth') {
                 $auth = 1;
             } else {
                 $auth = 0;
             }
             sock_mail($auth, $dest2, $sujet, $message, $headers, Erreurs_MailApp, $cc);
         }
         //eko ( $dest2 ) ;
         // Sinon, on affiche le formulaire d'envoi / création de message.
     } else {
         // Chargement du template ModeliXe.
         $mod = new ModeliXe("Messages.mxt");
         $mod->SetModeliXe();
         // Affichage des différents champs.
         $mod->MxBloc("view", "modify", " ");
         $mod->MxBloc("list", "modify", " ");
         $mod->MxText("new.nomApplication", NOMAPPLICATION);
         $mod->MxText("new.mailApplication", Erreurs_MailApp);
         $mod->MxText("new.nomsDestinataires", $dest);
         $mod->MxCheckerField("new.type1", "radio", "type", "maltraitance", ($_POST['type'] == "maltraitance" or !$_POST['type']) ? 1 : 0);
         $mod->MxCheckerField("new.type2", "radio", "type", "conflit", $_POST['type'] == "conflit" ? 1 : 0);
         $mod->MxCheckerField("new.type3", "radio", "type", "social", $_POST['type'] == "social" ? 1 : 0);
         $mod->MxText("new.sujet", $sujet);
         $mod->MxText("new.message", $message);
         $form = new clForm();
         $mod->MxText("new.observations", $form->genTextArea("observations", stripslashes($_POST['observations']), 45, 4, "width: 420px; height: 80px;"));
         // Variable de navigation dans le cas d'une action normale.
         $mod->MxHidden("new.hidden1", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "newMessage"));
         // Variable de navigation dans le cas d'une action d'annulation.
         $mod->MxHidden("new.hidden2", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2)));
         // Récupération du code HTML généré.
         return $mod->MxWrite("1");
     }
 }
Example #13
0
 function genEnvoi()
 {
     global $options;
     global $errs;
     //Attention, jour concerné = lendemain des données
     $dateJourConcerne = new clDate();
     $tsp = $dateJourConcerne->getTimestamp();
     define(nomForm, "URG");
     define(idActeur, $options->getOption('RPU_IdActeur'));
     define(arRequis, $options->getOption('RPU_AR_Actif'));
     define(cleDepot, $options->getOption('RPU_CleActeur'));
     define(mail, $options->getOption('RPU_AR_Mail'));
     define(cfg_expediteur_alerte, "terminal_urgences");
     define(chemin, URLRPU . 'arh/');
     define(date_jour, date("Ymd", $tsp));
     define(jour, substr(date_jour, 6, 2));
     define(mois, substr(date_jour, 4, 2));
     define(annee, substr(date_jour, 0, 4));
     define(date_file, date("YmdHis"));
     define(date_envoi, date("d/m/Y à H:i:s"));
     define(date_event, date("d/m/Y", mktime(0, 0, 0, mois, jour - 1, annee)));
     define(from, date("Y-m-d H:i:s", mktime(0, 0, 0, mois, jour - 1, annee)));
     define(to, date("Y-m-d H:i:s", mktime(23, 59, 59, mois, jour - 1, annee)));
     $req = "select idpatient, uf , dt_naissance , type_destination\r\n        from  patients_sortis\r\n\t    where manuel!=1 and dt_admission between '" . from . "' and '" . to . "' and type_destination!='X' and valide>=1\r\n\t\tUNION\r\n\t\tselect idpatient, uf , dt_naissance , type_destination\r\n\t\tfrom  patients_presents\r\n\t\twhere manuel!=1 and dt_admission between '" . from . "' and '" . to . "' and type_destination!='X' and valide>=1";
     $config[type] = "MySQL";
     $config[host] = MYSQL_HOST;
     $config[login] = MYSQL_USER;
     $config[password] = MYSQL_PASS;
     $config[db] = BDD;
     $requete = new clResultQuery();
     // On récupère le résultat de la requête sous la forme ResultQuery.
     $res = $requete->Execute("requete", $req, $config);
     eko($res[INDIC_SVC]);
     $age1 = 0;
     $age75 = 0;
     $NbHospit = 0;
     $NbUHCD = 0;
     $NbTransfert = 0;
     $ufUHCD = $options->getOption("numUFUHCD");
     //eko ( $res['INDIC_SVC'] ) ;
     if ($res[INDIC_SVC][2]) {
         $NbPassages = $res[INDIC_SVC][2];
         // On a le nombre de passages
         while (list($key, $val) = each($res[dt_naissance])) {
             $dateN = new clDate($val);
             $dateA = new clDate(from);
             $duree = new clDuree();
             $duree->setValues($dateA->getDifference($dateN));
             $age = $duree->getYears();
             if ($age < 1) {
                 $age1++;
                 // Constitution du nb de passage < à 1 an
             } elseif ($age > 75) {
                 $age75++;
                 // Constitution du nb de passage > 75 ans
             }
             // Hospitalisations
             if ($res[type_destination][$key] == "H" and $res[uf][$key] != $ufUHCD) {
                 $NbHospit++;
             }
             // UHCD
             if ($res[uf][$key] == $ufUHCD) {
                 $NbUHCD++;
             }
             // Transferts
             if ($res[type_destination][$key] == "T") {
                 $NbTransfert++;
             }
             //echo $val."--=> ".$res[type_destination][$key]." ".$age   ." ans <br>";
         }
         $balise_element = "\n<entete>";
         $balise_element .= "\n<idActeur>" . idActeur . "</idActeur>";
         $balise_element .= "\n<cleActeur>" . cleDepot . "</cleActeur>";
         $balise_element .= "\n<arRequis>" . arRequis . "</arRequis>";
         $balise_element .= "\n<mail>" . mail . "</mail>";
         $balise_element .= "\n</entete>";
         $balise_element .= "\n<element>";
         $balise_element .= "\n<nomForm>" . nomForm . "</nomForm>";
         $balise_element .= "\n<date_event>" . date_event . "</date_event>";
         $balise_element .= "\n<NbPassages>{$NbPassages}</NbPassages>";
         $balise_element .= "\n<NbPassInf1An>{$age1}</NbPassInf1An>";
         $balise_element .= "\n<NbPassageSup75Ans>{$age75}</NbPassageSup75Ans>";
         $balise_element .= "\n<NbHospit>{$NbHospit}</NbHospit>";
         $balise_element .= "\n<NbHospitUHCD>{$NbUHCD}</NbHospitUHCD>";
         $balise_element .= "\n<NbTransfert>{$NbTransfert}</NbTransfert>";
         $balise_element .= "\n</element>";
         $nom_fic = idActeur . "_" . date_file . ".xml";
         $nom_fic_export = chemin . $nom_fic;
         $xml_data = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"yes\"?>\r\n\t\t\t\n<result>" . $balise_element . "\n</result>";
         $fp = fopen($nom_fic_export, "w");
         if (!fwrite($fp, $xml_data)) {
             eko("pb ecriture fichier xml");
         }
         fclose($fp);
         copy($nom_fic_export, URLLOCAL . 'rpu/logs/' . $nom_fic);
         $affichage = "<center><h2>Export des données Urgences - CH-Hyères</h2></center>\r\n\t\t\t<u>Date d'export:</u> le " . date_envoi . "<br>\r\n\t\t\t<u>Contenu exporté :</u> {$balise_element}<br>\r\n\t\t\t<u>Fichier d'export :</u> {$nom_fic_export}";
         // Cryptage du fichier.
         $mailE = $options->getOption('RPU_Envoi_Mail');
         $gpg = new gnuPG(false, GNUPG);
         $gpg->EncryptFile($mailE, $nom_fic_export);
         if (!$gpg->error) {
             $this->message .= "<font color=\"green\">Le cryptage du fichier ({$nom_fic_export}.gpg) s'est bien déroulé.<br/></font>";
         } else {
             $this->message .= "<font color=\"red\">Le cryptage du fichier ({$nom_fic_export}.gpg) a échoué :" . $gpg->error . "<br/></font>";
         }
         if ($options->getOption('RPU_TypeEnvoi') == 'mail') {
             // Envoi du fichier RPU.
             $contenuFic = fread(fopen($nom_fic_export . '.gpg', "r"), filesize($nom_fic_export . '.gpg'));
             // eko ( $contenuFic ) ;
             $mail = new mime_mail();
             $mail->to = $options->getOption("RPU_Envoi_Mail");
             //$mail->to = "*****@*****.**" ;
             //eko ( $options->getOption ( "RPU_Envoi_Mail" ) ) ;
             $mail->subject = "Données urgences (" . date_envoi . ")";
             $mail->body = "Données urgences (" . date_envoi . ")";
             $mail->from = Erreurs_MailApp;
             $mail->attach($contenuFic, $nom_fic . '.gpg');
             if ($mail->sendXham()) {
                 $this->message .= "<font color=\"green\">L'envoi du fichier ({$nom_fic_export}.gpg) s'est bien déroulé.<br/></font>";
             } else {
                 $this->message .= "<font color=\"red\">L'envoi du fichier ({$nom_fic_export}.gpg) a échoué.<br/></font>";
             }
         } else {
             rename($nom_fic_export, chemin . 'ok/' . $nom_fic);
             $this->message .= "Connexion au serveur FTP '" . $options->getOption('RPU_FTP_Host') . ':' . $options->getOption('RPU_FTP_Port') . "' -> ";
             $con = ftp_connect($options->getOption('RPU_FTP_Host'));
             if (!$con) {
                 $this->message .= "<font color='red'>KO</font><br/>";
                 $errs->addErreur('RPU : Impossible de se connecter au serveur "' . $options->getOption('RPU_FTP_Host') . ':' . $options->getOption('RPU_FTP_Port') . '"');
             } else {
                 $this->message .= "<font color='green'>OK</font><br/>";
                 $this->message .= "Authentification au serveur FTP avec l'utilisateur '" . $options->getOption('RPU_FTP_User') . "' -> ";
                 $log = ftp_login($con, $options->getOption('RPU_FTP_User'), $options->getOption('RPU_FTP_Pass'));
                 if (!$log) {
                     $this->message .= "<font color='red'>KO</font><br/>";
                     $errs->addErreur('RPU : Impossible de se connecter au serveur avec l\'utilisateur "' . $options->getOption('RPU_FTP_User') . '"');
                 } else {
                     $this->message .= "<font color='green'>OK</font><br/>";
                     $r = opendir('rpu/arh/');
                     while ($fic = readdir($r)) {
                         if ($fic != "." and $fic != ".." and $fic != "ok" and $fic != "logs" and $fic != 'arh') {
                             $this->message .= "Envoi du fichier '{$fic}' -> ";
                             $put = ftp_put($con, $fic, chemin . $fic, FTP_BINARY);
                             if (!$put) {
                                 $this->message .= "<font color='red'>KO</font><br/>";
                                 $errs->addErreur('RPU : Impossible d\'envoyer le fichier "' . $fic . '".');
                             } else {
                                 $this->message .= "<font color='green'>OK</font><br/>";
                                 rename(chemin . $fic, chemin . 'ok/' . $fic);
                             }
                         }
                     }
                 }
             }
         }
         $this->af = $affichage . "<br/>" . $this->message;
     } else {
         $this->af .= "Aucun patient retourné par la requête : envoi impossible.";
     }
 }
Example #14
0
 function genListe()
 {
     global $session;
     $res = $this->genRequete();
     //eko ( $res ) ;
     //print affTab ( $res ) ;
     $list = new ListMaker("template/RadioListe.html");
     $navi = $session->genNavi("Radio");
     $list->addUserVar('navi', $navi);
     $list->addUrlVar('navi', $navi);
     $list->addUserVar('typeListe', $_SESSION['typeListe']);
     $list->addUrlVar('typeListe', $_SESSION['typeListe']);
     $list->setSortColumn('col0', 'UF', 'uf');
     $list->setSortColumn('col1', 'Patient', 'nomD');
     $list->setSortColumn('col2', 'Age', 'ageD');
     $list->setSortColumn('col3', 'Arrivée', 'arriveeD');
     $list->setSortColumn('col4', 'Soignants', 'soignants');
     $list->setSortColumn('col5', 'Motif', 'motif');
     $list->setSortColumn('col6', 'Date demande', 'demande');
     $list->setSortColumn('col7', 'Description', 'description');
     $list->setSortColumn('col8', 'Etat', 'etatD');
     $list->setSortColumn('col9', 'Détail', 'detail');
     $list->setdefaultSort('col8');
     $item = array();
     $dureead = new clDuree();
     $date = new clDate();
     // Parcours de la liste des patients récupérés par la requête.
     for ($i = 0; isset($res['idradio'][$i]); $i++) {
         $ras = $this->getInfosPatient($res['idpatient'][$i], $res['idapplication'][$i]);
         if ($session->getDroit("Liste_Radio", "m")) {
             $j = XhamTools::genAjax('onClick', 'mod', 'navi=' . $session->genNavi('Ajax', 'modRadios', $res['idradio'][$i]));
         } else {
             $j = '';
         }
         $item['js'] = $j;
         $item['ItemColor'] = 'rad' . $res['etat'][$i];
         $item['etatD'] = $res['etat'][$i];
         switch ($res['etat'][$i]) {
             case 'a':
                 $date->setDate($res['dt_creation'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 if (!$dureead->invertNegatif()) {
                     $item['etat'] = 'Non pris en charge<br/>Depuis ' . $duree;
                 } else {
                     $temp = explode(" ", $res['dt_creation'][$i]);
                     list($annee, $mois, $jour) = explode("-", $temp[0]);
                     $item['etat'] = 'A prendre en charge<br/>Dans ' . $dureead->getAge() . "<br>le " . $jour . "/" . $mois . "/" . $annee . " à " . $temp[1];
                     $item['ItemColor'] = 'rad' . 'elephant';
                 }
                 break;
             case 'b':
                 $date->setDate($res['dt_pec'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'Pris en charge<br/>Depuis ' . $duree;
                 break;
             case 'c':
                 $date->setDate($res['dt_encours'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'En cours<br/>Depuis ' . $duree;
                 break;
             case 'd':
                 $date->setDate($res['dt_fin'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'Terminé<br/>Depuis ' . $duree;
                 break;
         }
         // Calcul du sexe de la personne... (?!).
         switch ($ras['sexe'][0]) {
             case 'M':
                 $img = URLIMG . "homme.png";
                 break;
             case 'F':
                 $img = URLIMG . "femme.png";
                 break;
             default:
                 $img = URLIMG . "Indefini.png";
                 break;
         }
         $item['sexe'] = "<img src=\"{$img}\" alt=\"" . $ras['sexe'][0] . "\" />";
         // Calcul de l'âge.
         $date = new clDate($ras['dt_naissance'][0]);
         $age = new clDuree($date->getTimestamp());
         $str = $age->getAgePrecis($date->getTimestamp());
         if ($ras['dt_naissance'][0] != "0000-00-00 00:00:00") {
             $item['age'] = $str;
             $item['ageD'] = $date->getTimestamp();
         } else {
             $item['age'] = VIDEDEFAUT;
             $item['ageD'] = VIDEDEFAUT;
         }
         global $ufs;
         $item['uf'] = isset($ufs[$ras['uf'][0]]) ? $ufs[$ras['uf'][0]] : $ras['uf'][0];
         if ($ras['dt_admission'][0] != "0000-00-00 00:00:00") {
             $datead = new clDate($ras['dt_admission'][0]);
             $dateSimple = $datead->getDate("d-m-Y");
             $dateHeure = $datead->getDate("H\\hi");
             $item['arrivee'] = $dateSimple . "<br />" . $dateHeure;
             $item['arriveeD'] = $datead->getTimestamp();
         } else {
             $item['arrivee'] = VIDEDEFAUT;
             $item['arriveeD'] = VIDEDEFAUT;
         }
         // Médecin et IDE.
         switch ($res['idapplication'][$i]) {
             case '1':
                 if ($ras['medecin_urgences'][0]) {
                     $med = "Dr " . $ras['medecin_urgences'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['ide'][0]) {
                     $ide = "Ide " . $ras['ide'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['salle_examen'][0]) {
                     $sal = $ras['salle_examen'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
             case '24':
                 if ($ras['medecin'][0]) {
                     $med = "Dr " . $ras['medecin'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['chirurgien'][0]) {
                     $ide = "Chir " . $ras['chirurgie'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['chambre'][0]) {
                     $sal = $ras['chambre'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
             default:
                 if ($ras['medecin_urgences'][0]) {
                     $med = "Dr " . $ras['medecin_urgences'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['ide'][0]) {
                     $ide = "Ide " . $ras['ide'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['salle_examen'][0]) {
                     $sal = $ras['salle_examen'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
         }
         // Motif de recours.
         if ($ras['motif_recours'][0]) {
             $item['motif'] = $ras['motif_recours'][0];
         } else {
             $item['motif'] = VIDEDEFAUT;
         }
         // Patient
         $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
         // 	Concaténation du nom et du prénom.
         $item['patient'] = "<span " . clPatient::genInfoBulle($ras, 0, $res['idapplication'][$i]) . ">" . strtoupper($ras['nom'][0]) . "</span><br />" . ucfirst(strtolower($ras['prenom'][0]) . "<br/>" . $ras['nsej'][0]);
         if ($res['dt_creation'][$i] != "0000-00-00 00:00:00") {
             $datead = new clDate($res['dt_creation'][$i]);
             $dateSimple = $datead->getDate("d-m-Y");
             $dateHeure = $datead->getDate("H\\hi");
             $item['demande'] = $dateSimple . "<br />" . $dateHeure;
             $item['demandeD'] = $datead->getTimestamp();
         } else {
             $item['arrivee'] = VIDEDEFAUT;
             $item['arriveeD'] = VIDEDEFAUT;
         }
         $parp = '&etape=' . $res['etat'][$i] . '&idradio=' . $res['idradio'][$i];
         //$item['detail'] = "<a onmouseout=\"request('".URLNAVI."QWpheHxnZXRSYWRpb3M=',null,'getRadios') ;\" href=\"".URLNAVI.$session->genNavi("Radio","",$res['idpatient'][$i],$ras['idu'][0],$ras['nsej'][0])."$parp&Formulaire2print=radio&FormX_ext_goto_=".$res['id_instance'][$i]."&act_print=1\" target=\"_blank\">" ;
         $jo = 'onClick="setWait(\'navigation\');location.reload();"';
         //$jo = 'onClick=""' ;
         $item['detail'] = "<a {$jo} href=\"" . URLNAVI . $session->genNavi("Radio", "", $res['idpatient'][$i], $ras['idu'][0], $ras['nsej'][0]) . "{$parp}&Formulaire2print=radio&FormX_ext_goto_=" . $res['id_instance'][$i] . "&act_print=1\" target=\"_blank\">";
         $item['detail'] .= "<img  src=\"images/pdf.png\" alt=\"Afficher le PDF\"/></a>";
         $rel = new clRequete(BDD, '', '', MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
         $rese = $rel->exec_requete("select * from radios_enquetes where idradio=" . $res['idradio'][$i], 'resultquery');
         global $pi;
         if ($rese['INDIC_SVC'][2]) {
             if ($rese['date'][0] == '0000-00-00 00:00:00') {
                 $img = 'formko.gif';
             } else {
                 $img = 'formok.gif';
             }
             if ($session->getDroit("Liste_Radio", "m")) {
                 $j = XhamTools::genAjax('onClick', 'mod', 'navi=' . $session->genNavi('Ajax', 'modRadiosEnquetes', $res['idradio'][$i]));
             } else {
                 $j = '';
             }
             $item['detail'] .= ' <img ' . $j . ' src="images/' . $img . '" ' . $pi->genInfoBulle("Ouvrir le formulaire d'enquête.") . ' style="cursor: pointer; pointer: hand;" />';
         }
         if ($res['retour'][$i]) {
             $dateR = new clDate($res['dt_retour'][$i]);
             $retour = '<b>Formulaire de retour saisi par les urgences :</b>';
             $retour .= '<br/><u>Auteur :</u> ' . $res['retourid'][$i];
             $retour .= '<br/><u>Date :</u> ' . $dateR->getDate('d/m/Y H:i:s');
             switch ($res['retour'][$i]) {
                 case 'Oui':
                     $resultat = 'Anomalie détectée avec cette radio.';
                     break;
                 case 'Non':
                     $resultat = 'Aucune anomalie détectée avec cette radio.';
                     break;
                 case 'NR':
                     $resultat = "L'utilisateur signale que cette radio n'a pas été réalisée.";
                     break;
                 case 'NI':
                     $resultat = "L'utilisateur n'a pas interprété cette radio.";
                     break;
                 default:
                     $resultat = "L'utilisateur n'a pas rempli le formulaire.";
                     break;
             }
             $retour .= '<br/><u>Résultat :</u> ' . $resultat;
             $retour .= '<br/><u>Commentaire :</u>' . ($res['commentaire'][$i] ? $res['commentaire'][$i] : 'Aucun commentaire.');
             $item['detail'] .= " <img src=\"" . URLIMGOBS . "\" " . $pi->genInfoBulle($retour) . " alt=\"Comm.\" />";
         }
         $html = $this->getDetailRadio($res, $i);
         $item['description'] = $html;
         $ok = 0;
         switch ($_SESSION['typeListe']) {
             case 'all':
                 $ok = 1;
                 break;
             case 'alm':
                 $ok = 1;
                 break;
             case 'd':
                 $ok = 1;
                 break;
             case 'rall':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ralm':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'rd':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'eall':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ealm':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ed':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'sall':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'salm':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'sd':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ec':
                 $nb = 200;
                 $ok = 1;
                 break;
             case 'et':
                 $nb = 200;
                 $ok = 1;
                 break;
             default:
                 $nb = 50;
                 $ok = 1;
                 break;
         }
         if ($ok) {
             $list->addItem($item);
         }
     }
     // Récupération du code HTML généré.
     return $list->getList($nb);
 }
Example #15
0
 function createActes($res, $j = '', $tous = '', $id = '')
 {
     //eko($res);
     //eko($id);
     global $options;
     if (!$tous) {
         $deb = $j;
         $max = $j;
     } else {
         $deb = 0;
         $max = $res['INDIC_SVC'][2] - 1;
     }
     $mod = new ModeliXe("HprimXMLActes.html");
     $mod->SetModeliXe();
     $tabActe = explode('|', XhamTools::sansAccent($res['CONTENU'][$deb]));
     $type = $res['TYPE'][$deb];
     $idpass = $tabActe[0];
     $idu = $tabActe[1];
     $nomu = $tabActe[2];
     $pren = $tabActe[3];
     $sexe = $tabActe[4];
     $dtnai = $tabActe[5];
     $dtdem = $tabActe[6];
     $hhdem = $tabActe[7];
     $ufd = $tabActe[8];
     $action = $tabActe[9];
     $date = new clDate($dtdem . ' ' . $hhdem);
     $date = new clDate();
     if ($options->getOption("HprimXML_UF")) {
         $ufr = $options->getOption("HprimXML_UF");
         $ufd = $options->getOption("HprimXML_UF");
     }
     if ($options->getOption('HprimXML_AttributsESA')) {
         $mod->MxText("attributsesa", ' version="1.03a" xsi:schemaLocation="http://www.hprim.org/hprimXML msgEvenementsServeurActes103a.xsd" xmlns="http://www.hprim.org/hprimXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"');
     } else {
         $mod->MxText("attributsesa", "");
     }
     if ($options->getOption('HprimXML_EnvoiGroupeParIntervenant')) {
         if ($options->getOption('HprimXML_EmetInterv') == 'ID') {
             $emetti = $id + 1;
         } else {
             $emetti = $res['DISCR'][$deb];
         }
     } else {
         if ($options->getOption('HprimXML_EmetInterv') == 'ID') {
             $emetti = $res['ID'][$deb];
         } elseif ($options->getOption('HprimXML_EmetInterv')) {
             $emetti = $options->getOption('HprimXML_EmetInterv');
         } else {
             $emetti = $res['DISCR'][$deb];
         }
     }
     if ($options->getOption('HprimXML_EnvoiGroupeParIntervenant')) {
         if ($options->getOption('HprimXML_EmetInterv') == 'ID') {
             $mod->MxText('identifiantMessage', $id);
             //eko("avignon");
         } else {
             $mod->MxText('identifiantMessage', $res['ID'][$deb]);
         }
     } else {
         $mod->MxText('identifiantMessage', $res['ID'][$deb]);
         // eko("reste");
     }
     $mod->MxText('codeEmetteur', $options->getOption('HprimXML_Emet') ? $options->getOption('HprimXML_Emet') : $res['DISCR'][$deb]);
     $mod->MxText('codeDestinataire', $options->getOption('HprimXML_Dest'));
     $mod->MxText('patientEmetteur', $idu);
     $mod->MxText('patientRecepteur', $idu);
     $mod->MxText('sexe', $sexe);
     $mod->MxText('patientNom', $nomu);
     $mod->MxText('patientPrenom', $pren);
     if ($dtnai != "00/00/0000") {
         $mod->MxText('patientNaissance', $dtnai);
     } else {
         $mod->MxText('patientNaissance', "");
     }
     $pati = new clPatient($res['DISCR'][$deb], '');
     if (!$pati->getID()) {
         $pati = new clPatient($res['DISCR'][$deb], 'Sortis');
     }
     //$pati -> debugInfos ( ) ;
     //eko ( "UUUUUUUUUUUUUUUUUUUUUUUUFFFFFFFFFFFFFFFFFF : ".$pati->getInformation('uf').' pour '.$pati->getDateNaissance() ) ;
     // Correction date foireuse module ccam
     $datadmi = new clDate($pati->getDateAdmission());
     $datexam = new clDate($pati->getDateExamen());
     $datsort = new clDate($pati->getDateSortie());
     if ($options->getOption("ChoixHeureAffectationActes") == "Heure d'admission") {
         $datdema = $datadmi;
     } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure d'examen") {
         $datdema = $datexam;
     } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure de sorti") {
         $datdema = $datsort;
     } else {
         if ($datadmi->getDatetime() != '1999-12-31 00:00:00' and $datsort->getDatetime() != '1999-12-31 00:00:00') {
             $time = (int) ($datadmi->getTimestamp() / 2) + $datsort->getTimestamp() / 2;
         } elseif ($datadmi->getDatetime() != '1999-12-31 00:00:00') {
             $time = $datadmi->getTimestamp();
         } else {
             $time = $datsort->getTimestamp();
         }
         $datdema = new clDate($time);
         $datmed = new clDate($time);
         //eko ( $datadmi->getTimestamp ( ).' + '.$datsort->getTimestamp ( ).' = '.$time.' = '.$datdema -> getTimestamp ( ) ) ;
         //eko ( $datadmi->getDatetime ( ).' + '.$datsort->getDatetime ( ).' = '.$time.' = '.$datdema -> getDatetime ( ) ) ;
     }
     $dtdem = $datdema->getDate('Y-m-d');
     $hhdem = $datdema->getDate('H:i:s');
     if ($options->getOption('HprimXML_DateProduction') == 'Heure médiane') {
         $date = $datmed;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure admission') {
         $date = $datadmi;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure examen') {
         $date = $datadmi;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure sortie') {
         $date = $datsort;
     }
     if ($options->getOption('HprimXML_DateT')) {
         $mod->MxText('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s"));
     } else {
         $mod->MxText('dateHeureProduction', $date->getDatetime());
     }
     if ($options->getOption('HprimXML_DateVenue') == 'Heure médiane') {
         $dateve = $datmed;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure admission') {
         $dateve = $datadmi;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure examen') {
         $dateve = $datadmi;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure sortie') {
         $dateve = $datsort;
     } else {
         $dateve = $datdema;
     }
     $dtven = $dateve->getDate('Y-m-d');
     $hhven = $dateve->getDate('H:i:s');
     $mod->MxText('venueEmetteur', $idpass);
     $mod->MxText('venueRecepteur', $idpass);
     $mod->MxText('venueDate', $dtven);
     $mod->MxText('venueHeure', $hhven);
     $mod->MxText('interventionDate', $dtdem);
     $mod->MxText('interventionHeure', $hhdem);
     $mod->MxText('interventionEmetteur', $emetti);
     $mod->MxText('interventionDemandeDate', $dtdem);
     $mod->MxText('interventionDemandeHeure', $hhdem);
     $mod->MxText('interventionUF', $pati->getUF() ? $pati->getUF() : $ufr);
     $nbngap = 0;
     $nbccam = 0;
     $datenai = new clDate($pati->getDateNaissance());
     $duree = new clDuree($datenai->getTimestamp());
     $duree->getDuree($datenai->getTimestamp());
     $ageannees = $duree->getYears();
     //eko ( $ageannees ) ;
     for ($i = $deb; $i <= $max; $i++) {
         $tabActe = explode('|', XhamTools::sansAccent($res['CONTENU'][$i]));
         $type = $res['TYPE'][$i];
         $idpass = $tabActe[0];
         $idu = $tabActe[1];
         $nomu = $tabActe[2];
         $pren = $tabActe[3];
         $sexe = $tabActe[4];
         $dtnai = $tabActe[5];
         $dtdem = $tabActe[6];
         $hhdem = $tabActe[7];
         $ufd = $tabActe[8];
         $action = $tabActe[9];
         $idact = $tabActe[10];
         $cdccam = $tabActe[11];
         $cddiags = $tabActe[12];
         $cdacti = $tabActe[13];
         $cdphase = $tabActe[14];
         $dtr = $tabActe[15];
         $hhr = $tabActe[16];
         $nomumed = $tabActe[17];
         $prenmed = $tabActe[18];
         $adeli = $tabActe[19];
         $ufr = $tabActe[20];
         $modif = $tabActe[21];
         $ngapl = $tabActe[22];
         $ngapc = $tabActe[23];
         $factu = $tabActe[24];
         $cdasso = $tabActe[25];
         $nuitjf = $tabActe[26];
         $tabm = explode('~', $modif);
         if ($options->getOption("HprimXML_UF")) {
             $ufr = $options->getOption("HprimXML_UF");
             $ufd = $options->getOption("HprimXML_UF");
         }
         if (!$this->adeliMedecin) {
             if ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI9') {
                 $this->adeliMedecin = '<code>' . sprintf('%09d', $adeli) . '</code>';
             } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED') {
                 $this->adeliMedecin = '<code>' . $nomumed . ' ' . $prenmed . '</code>';
             } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED10') {
                 $this->adeliMedecin = '<code>' . substr($nomumed . ' ' . $prenmed, 0, 10) . '</code>';
             } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI') {
                 $this->adeliMedecin = '<code>' . $adeli . '</code>';
             } else {
                 $this->adeliMedecin = '';
             }
         } elseif (!ereg('<code>', $this->adeliMedecin)) {
             $this->adeliMedecin = '<code>' . $adeli . '</code>';
         }
         if ($options->getOption("HprimXML_CodeMedecin") == 'ADELI') {
             $codeade = '<code>' . $adeli . '</code>';
         } elseif ($options->getOption("HprimXML_CodeMedecin") == 'NOMMED') {
             $codeade = '<code>' . $nomumed . '</code>';
         } elseif ($options->getOption("HprimXML_CodeMedecin") == 'ADELI9') {
             $codeade = '<code>' . sprintf('%09d', $adeli) . '</code>';
         } elseif ($options->getOption("HprimXML_CodeMedecin") == 'VIDE') {
             $codeade = '';
         } else {
             $codeade = '<code>' . 'x' . '</code>';
         }
         //eko ( "CODE MEDECIN : $codeade" ) ;
         if ($options->getOption("HprimXML_ExecPrinc")) {
             $medExec = ' principal="oui"';
         } else {
             $medExec = '';
         }
         if ($options->getOption('HprimXML_StatutFT')) {
             $modStatut = ' statut="ft"';
         } else {
             $modStatut = '';
         }
         if ($action == 'creation') {
             $action = utf8_encode('création');
         }
         if ($nuitjf == 'F') {
             $isFerie = "oui";
         } else {
             // Encore une gestion supplémentaire d'un bug du module CACAM
             if ($type == 'NGAP' and $ngapl == 'AMI' and $datdema->getDate('w') == 6 and $datdema->getDate('H') >= 8) {
                 $isFerie = "oui";
             } else {
                 $isFerie = "non";
             }
         }
         if ($nuitjf == 'N') {
             $isNuit = '1t';
         } elseif ($nuitjf == 'NM') {
             $isNuit = '2t';
         } else {
             $isNuit = 'non';
         }
         $listeTraited[$res['ID'][$i]] = $res['ID'][$i];
         if ($options->getOption('LettreCleCSPsy') and $ngapl == 'CNPSY') {
             $ngapl = $options->getOption('LettreCleCSPsy');
         }
         //$mod -> MxText ( 'identifiantMessage', $res['ID'][$deb] ) ;
         // Correction date foireuse module ccam
         $dtdem = $datdema->getDate('Y-m-d');
         $hhdem = $datdema->getDate('H:i:s');
         if ($type == 'NGAP') {
             if ($ngapl == 'MNO' and $ageannees > 2) {
                 $erreurngap = 1;
             }
             if (!($ngapl == 'AMI' and $factu == 'non') and !$erreurngap) {
                 if ($ngapl == 'C' or $ngapl == 'CS') {
                     $tri = '2.';
                 } else {
                     $tri = '3.';
                 }
                 $mod->MxText('codeAdeliMedecin', $this->codeMedecinUrgentiste);
                 $mod->MxText('actesngap.ngap.action', $action);
                 $mod->MxText('actesngap.ngap.facturable', $factu);
                 if ($ngapl == 'C' and isset($this->deqp[$pati->getID()]['U'])) {
                     $isNuit = 'non';
                 }
                 $mod->MxText('actesngap.ngap.executionNuit', $isNuit);
                 if ($ngapl == 'C' and isset($this->deqp[$pati->getID()]['F'])) {
                     $isFerie = 'non';
                 }
                 $mod->MxText('actesngap.ngap.executionDimancheJourFerie', $isFerie);
                 $mod->MxText('actesngap.ngap.ngapEmetteur', $idact);
                 $mod->MxText('actesngap.ngap.lettreCle', $ngapl);
                 $mod->MxText('actesngap.ngap.coefficient', $ngapc);
                 $mod->MxText('actesngap.ngap.ngapDate', $dtdem);
                 $mod->MxText('actesngap.ngap.ngapHeure', $hhdem);
                 $mod->MxText('actesngap.ngap.medecinADELI', $adeli);
                 $mod->MxText('actesngap.ngap.medecinCode', $codeade);
                 $mod->MxText('actesngap.ngap.medecinNom', $nomumed);
                 if ($ngapl == 'CS') {
                     $mod->MxText('actesngap.ngap.medecinUF', $ufr);
                 } else {
                     $mod->MxText('actesngap.ngap.medecinUF', $pati->getUF() ? $pati->getUF() : $ufr);
                 }
                 $mod->MxBloc('actesngap.ngap', 'loop');
                 $nbngap++;
                 if ($ngapl == 'ATU') {
                     $repfic = "atuxml/";
                 } else {
                     $repfic = "ngapxml/";
                 }
             }
             $erreurngap = 0;
         } elseif ($type == 'CCAM') {
             $tri = '1.';
             $mod->MxText('codeAdeliMedecin', $this->codeMedecinUrgentiste);
             $mod->MxText('actesccam.ccam.action', $action);
             $mod->MxText('actesccam.ccam.ccamEmetteur', $idact);
             if ($options->getOption('HprimXML_Recepteur')) {
                 $mod->MxText('actesccam.ccam.ccamRecepteur', '<recepteur>' . $options->getOption('HprimXML_Recepteur') . '</recepteur');
             } else {
                 $mod->MxText('actesccam.ccam.ccamRecepteur', '');
             }
             $mod->MxText('actesccam.ccam.codeActe', $cdccam);
             $mod->MxText('actesccam.ccam.codeActivite', $cdacti);
             $mod->MxText('actesccam.ccam.codePhase', $cdphase);
             $mod->MxText('actesccam.ccam.ccamDate', $dtdem);
             $mod->MxText('actesccam.ccam.ccamHeure', $hhdem);
             $mod->MxText('actesccam.ccam.medExec', $medExec);
             $mod->MxText('actesccam.ccam.medecinADELI', $adeli);
             $mod->MxText('actesccam.ccam.medecinCode', $codeade);
             $mod->MxText('actesccam.ccam.medecinNom', $nomumed);
             //$mod -> MxText ( 'actesccam.ccam.medecinUF', $ufr ) ;
             $mod->MxText('actesccam.ccam.medecinUF', $pati->getUF() ? $pati->getUF() : $ufr);
             //if ( $options -> getOption ( 'HprimXML_AssoNonVide' ) ) $asso = ($cdasso==''?1:$cdasso) ;
             //else $asso = $cdasso ;
             if ($cdasso) {
                 $asso = '<codeAssociationNonPrevue>' . $cdasso . '</codeAssociationNonPrevue>';
             } else {
                 $asso = '';
             }
             $mod->MxText('actesccam.ccam.codeAssociationNonPrevue', $asso);
             $nbMod = 0;
             for ($k = 0; isset($tabm[$k]); $k++) {
                 if ($tabm[$k]) {
                     $mod->MxText('actesccam.ccam.modificateur.modificateur', $tabm[$k]);
                     $mod->MxText('actesccam.ccam.modificateur.modStatut', $modStatut);
                     $mod->MxBloc('actesccam.ccam.modificateur', 'loop');
                     if ($cdccam == 'DEQP003') {
                         if ($tabm[$k] == 'U') {
                             $this->deqp[$pati->getID()]['U'] = 1;
                         }
                         if ($tabm[$k] == 'P') {
                             $this->deqp[$pati->getID()]['U'] = 1;
                         }
                         if ($tabm[$k] == 'S') {
                             $this->deqp[$pati->getID()]['U'] = 1;
                         }
                         if ($tabm[$k] == 'F') {
                             $this->deqp[$pati->getID()]['F'] = 1;
                         }
                     }
                     $nbMod++;
                 }
             }
             if ($nbMod == 0) {
                 $mod->MxBloc('actesccam.ccam.modificateur', 'delete');
             }
             $mod->MxBloc('actesccam.ccam', 'loop');
             $nbccam++;
             $repfic = "ccamxml/";
         }
     }
     if ($nbngap == 0) {
         $mod->MxBloc('actesngap', 'delete');
     }
     if ($nbccam == 0) {
         $mod->MxBloc('actesccam', 'delete');
     }
     if ($options->getOption("HprimXML_tri_CCAM_CCS_NGAP")) {
         $numfic = $tri . $res['ID'][$deb];
     } else {
         $numfic = $res['ID'][$deb];
     }
     if ($options->getOption('HprimXML_NomFic')) {
         $nomFic = $options->getOption('HprimXML_NomFic') . '_' . $numfic . '';
     } else {
         $nomFic = 'fic' . $options->getOption('HprimXML_ChaineFic') . 'TV2_' . $numfic . '';
     }
     if ($options->getOption('HprimXML_NomFic') and $options->getOption('HprimXML_NomModulo')) {
         $nomFic = $options->getOption('HprimXML_NomFic') . sprintf('%03d', $res['ID'][$deb] % 1000);
     }
     $num = $res['ID'][$deb];
     if (!$pati->getManuel()) {
         $this->genFile($mod->MxWrite("1"), $num, $nomFic, $listeTraited, $repfic);
     }
 }