function sortie_enquetes(clPatient $patient) { global $options; $packageList = new clListesGenerales(); $tabMailConflits = $packageList->getListeItems('Mails Conflit', true); $params = array('mailConflits' => $tabMailConflits); clTuFormxTrigger::getWatcher($patient)->launchActionsOnOut($params); }
function launchAES() { global $options; $mails = ''; $codes = ''; $contenu = ''; $config[type] = "MySQL"; $config[host] = MYSQL_HOST; $config[login] = MYSQL_USER; $config[password] = MYSQL_PASS; $config[db] = BDD; $date = new clDate(); $date_naissance = new clDate(); $date_admission = new clDate(); //$aujourdhui =getdate(); //$date ->getHours ( ) $date1 = $date->getDate("Y-m-d"); // aujourdhui J $date->addDays("-1"); $date2 = $date->getDate("Y-m-d"); // date J-1 $heure = $date->getDate("H:i:00"); $date->addHours("-8"); $hour1 = $date->getDate("H:i:00"); $date->addHours("8"); $date->addHours("-16"); $hour2 = $date->getDate("H:i:00"); $requete = new clResultQuery(); $listeGen = new clListesGenerales("recup"); $listeMails = $listeGen->getListeItems("Mails Alertes AES", "1", '', '', "1"); $listeCodesR = $listeGen->getListeItems("Alertes AES - Code Recours", "1", '', '', "1"); $listeCodesD = $listeGen->getListeItems("Alertes AES - Code Diagnostics", "1", '', '', "1"); while (list($key, $val) = each($listeMails)) { if ($mails) { $virgule = ','; } else { $virgule = ''; } if ($val != "--") { $mails .= $virgule . $val; } } //print "Mails : $mails" ; while (list($key, $val) = each($listeCodesR)) { if ($codes) { $or = ' OR '; } else { $or = ''; } if ($val != "--") { $codes .= $or . "recours_code='" . $val . "'"; } } while (list($key, $val) = each($listeCodesD)) { if ($codes) { $or = ' OR '; } else { $or = ''; } if ($val != "--") { $codes .= $or . "diagnostic_code='" . $val . "'"; } } if ($heure >= "15:00:00") { $req2 = "SELECT * FROM patients_sortis WHERE ({$codes}) AND dt_sortie BETWEEN '{$date1} {$hour1}' AND '{$date1} {$heure}'"; $res1 = $requete->Execute("Query", $req2, $config); } else { $req2 = "SELECT * FROM patients_sortis WHERE ({$codes}) AND dt_sortie BETWEEN '{$date2} {$hour2}' AND '{$date1} {$heure}'"; $res1 = $requete->Execute("Query", $req2, $config); } $contenu1 = $contenu1 . "\n"; if ($res1[idpatient] > 0) { if ($options->getOption("typeMail") == "HTML") { $contenu1 = "<table align=\"center\" border =1>\n\t\t\t <tr bgcolor=\"Silver\">\n\t\t\t <th colspan=\"5\">Informations AES (Patients sortis)</th>\n\t\t\t\t</tr>\n\t\t\t\t<tr bgcolor=\"Silver\">\n\t\t\t\t<th>Nom</th>\n\t\t\t\t<th>Prénom</th>\n\t\t\t\t<th>Né(e) le</th>\n\t\t\t\t<th>Admission le</th>\n\t\t\t\t<th>Médecin Urg.</th>\n\t\t\t\t</tr>"; } else { $contenu1 = "Informations AES (Patients sortis)\tNom\tPrénom\tNé(e) le\tAdmission le\tMédecin Urg.\n"; } for ($i = 0; isset($res1[idpatient][$i]); ++$i) { // Affectation de resultats dans le tableau entrants $date_naissance->setDate($res1[dt_naissance][$i]); $date_admission->setDate($res1[dt_admission][$i]); if ($options->getOption("typeMail") == "HTML") { $contenu1 .= "<tr>"; $contenu1 .= "<td>" . $res1[nom][$i] . "</td>"; $contenu1 .= "<td>" . $res1[prenom][$i] . "</td>"; $contenu1 .= "<td>" . $date_naissance->getDate('d-m-Y H:i:s') . "</td>"; $contenu1 .= "<td>" . $date_admission->getDate('d-m-Y H:i:s') . "</td>"; $contenu1 .= "<td>Dr " . $res1[medecin_urgences][$i] . "</td>"; $contenu1 .= "</tr>"; //Ecriture du log } else { $contenu1 .= $res1[nom][$i] . "\t" . $res1[prenom][$i] . "\t"; $contenu1 .= $date_naissance->getDate('d-m-Y H:i:s') . "\t"; $contenu1 .= $date_admission->getDate('d-m-Y H:i:s') . "\t"; $contenu1 .= "Dr " . $res1[medecin_urgences][$i] . '\\n'; } $text_log1 .= $text_log1 . "\n"; $text_log1 .= $res1[nom][$i] . ";"; $text_log1 .= $res1[prenom][$i] . ";"; $text_log1 .= $res1[dt_naissance][$i] . ";"; $text_log1 .= $res1[dt_admission][$i] . ";"; $text_log1 .= $res1[medecin_urgences][$i] . ";"; $text_log1 .= " patients sortis "; $fp = fopen("fichier_log.txt", "a"); fputs($fp, $text_log1); } if ($options->getOption("typeMail") == "HTML") { $contenu1 .= "</table>"; } eko($contenu1); } else { $verif2 = 1; eko("Aucun enregistrement correspondant à la requête de patients sortis."); $contenu1 .= "Aucun enregistrement correspondant à la requête de patients sortis."; } // Paramètre de mail $reply = Erreurs_MailApp; if ($options->getOption("typeMail") == "HTML") { $comment = "<hr><i>Ce message a été envoyé automatiquement par un serveur !</i> "; } else { $comment = "\n\nCe message a été envoyé automatiquement par un serveur !"; } $contenu2 = $contenu; $contenu2 .= $contenu1; $contenu2 .= $comment; //$contenu2 .= "<br>req1 : $req<br>" ; //$contenu2 .= "req2 : $req2<br>" ; $from = Erreurs_MailApp; //$dest_mail = "*****@*****.**" ; $dest_mail = $mails; eko("\nContenu : {$contenu2}\n"); if ($options->getOption("typeMail") == "HTML") { $content = "Content-Type: text/html; charset=\"iso-8859-1\""; } else { $content = "Content-Type: text/plain; charset=\"iso-8859-1\""; } $head = "From: {$from}\n{$content}\n"; $obj = "Alerte AES"; if ($verif2) { $dest_mail = "*****@*****.**"; $obj = "Alerte AES (RAS)"; } else { mail($dest_mail, $obj, $contenu2, $head); } eko($comment); }
function addPatientPresent() { global $session; global $listeMois; global $options; // Si la confirmation d'ajout est présente, alors on ajoute le nouveau patient dans la table. if ($_POST['ValiderAjouter'] or $_POST['ValiderAjouter_x']) { global $errs; // Préparation de la date d'admission. $date = new clDate(); $dateN = new clDate($_POST['naissance']); /*if ( $options -> getOption ( "DoubleEtablissement" ) AND ! ( $options -> getOption ( 'DoubleSansCom' ) ) ) { $req = new clResultQuery ; $ras = $req -> Execute ( "Fichier", "getMaxIdToulon", array(), "ResultQuery" ) ; $max = 1 ; for ( $j = 0 ; isset ( $ras['idpatient'][$j] ) ; $j++ ) if ( $ras['idpatient'][$j] > $max ) $max = $ras['idpatient'][$j] ; $max++ ; eko ( "Double Etablissement : Calcul du max ($max)" ) ; $data['idpatient'] = $max ; }*/ // Remplissage des champs pour la requête. $data['idu'] = "X"; $data['ilp'] = "X"; $data['nsej'] = "X"; $data['uf'] = $options->getOption("AjoutManuelUF"); $data['sexe'] = $_POST['sexe']; $data['prenom'] = $_POST['prenom']; $data['nom'] = $_POST['nom']; $data['dt_admission'] = $date->getDatetime(); $data['dt_naissance'] = $dateN->getDatetime(); $data['adresse_libre'] = $_POST['adresse']; $data['adresse_cp'] = $_POST['cp']; $data['adresse_ville'] = $_POST['ville']; $data['telephone'] = $_POST['telephone']; $data['salle_examen'] = $_POST['salle']; $data['dest_souhaitee'] = $_POST['destSouhaitee']; $data['dest_attendue'] = $_POST['destAttendue']; $data['adresseur'] = $_POST['adresseur']; $data['medecin_urgences'] = $_POST['medecin']; if ($_POST['medecin']) { $data[dt_examen] = $date->getDatetime(); } $data['recours_categorie'] = $_POST['categorieRecours']; $data['manuel'] = 1; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data); // Exécution de la requête. $resu = $requete->addRecord(); // On signale les éventuelles erreurs rencontrées. if ($resu['error']) { $errs->addErreur("clListesPatients : Erreur lors de la bascule d'un patient attendu en patient présent (" . $resu[error] . ")."); } $param['table'] = PPRESENTS; $param['cw'] = "WHERE idu='X'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); for ($i = 0; isset($res['idpatient'][$i]); $i++) { $data2['idu'] = "MANU" . $res['idpatient'][$i]; $data2['ilp'] = "MANU" . $res['idpatient'][$i]; $data2['nsej'] = "MANU" . $res['idpatient'][$i]; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data2); // Exécution de la requête. $requete->updRecord("idpatient='" . $res['idpatient'][$i] . "'"); header('Location:' . URLNAVI . $session->genNavi($session->getNavi(0))); } } else { // Sinon, nous affichons le formulaire d'ajout d'un nouveau patient présent. // Chargement du template ModeliXe. $mod = new ModeliXe("addPresent.html"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("titre", "Ajouter un nouveau patient présent"); $mod->MxImage("imgClose", URLIMGFER, "Annuler"); $mod->MxUrl("lienClose", URLNAVI . $session->genNavi($session->getNavi(0))); // Champs IDU, IPP, et nsej... // $mod -> MxFormField ( "idu", "text", "idu", $_POST['idu'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "ilp", "text", "ilp", $_POST['ilp'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "nsej", "text", "nsej", $_POST['nsej'], "size=\"47\" maxlength=\"50\"" ) ; // Champs de l'état civil du patient. $data['M'] = "Homme"; $data['F'] = "Femme"; $data['I'] = "Indéterminé"; $javascript1 = XhamTools::genAjax('onKeyUp', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript3 = XhamTools::genAjax('onChange', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript1 = XhamTools::genAjaxWithTempo('getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $mod->MxSelect("sexe", "sexe", $_POST['sexe'], $data, '', '', 'class="w300" ' . "{$javascript3}"); $mod->MxFormField("prenom", "text", "prenom", $_POST['prenom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); $mod->MxFormField("nom", "text", "nom", $_POST['nom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); // Gestion des champs de la date de naissance. $_POST['naissance'] = date('d/m/Y'); $mod->MxFormField("naissance", "text", "naissance", $_POST['naissance'], "id=\"naissance\""); // Adresse et téléphone du patient. $mod->MxFormField("adresse", "text", "adresse", $_POST['adresse'], "size=\"47\" maxlength=\"128\""); $mod->MxFormField("telephone", "text", "telephone", $_POST['telephone'], "size=\"47\" maxlength=\"64\""); $mod->MxFormField("cp", "text", "cp", $_POST['cp'], "size=\"5\" maxlength=\"5\""); $mod->MxFormField("ville", "text", "ville", $_POST['ville'], "size=\"38\" maxlength=\"64\""); // Préparation des listes dynamiques. $listeCom = new clListes("Recours", "recup"); $listeGen = new clListesGenerales("recup"); $listeMedecins = $listeGen->getListeItems("Médecins", "1", '', '', "1"); $listeSalles = $listeGen->getListeItems("Salles d'examens", "1", '', '', "1"); $listeCategoriesRecours = $listeCom->getListes("", "1"); $listeDestSouhaitees = $listeGen->getListeItems("Destinations souhaitées", "1", '', '', "1"); $listeDestAttendues = $listeGen->getListeItems("Destinations attendues", "1", '', '', "1"); // Affichage des listes dynamiques. $mod->MxSelect("medecin", "medecin", $_POST['medecin'], $listeMedecins, '', '', 'class="w300"'); $mod->MxSelect("salle", "salle", $_POST['salle'], $listeSalles, '', '', 'class="w300"'); $mod->MxSelect("categorieRecours", "categorieRecours", $_POST['categorieRecours'], $listeCategoriesRecours, '', '', 'class="w300"'); $mod->MxSelect("destSouhaitee", "destSouhaitee", $_POST['destSouhaitee'], $listeDestSouhaitees, '', '', 'class="w300"'); $mod->MxSelect("destAttendue", "destAttendue", $_POST['destAttendue'], $listeDestAttendues, '', '', 'class="w300"'); // Suppression du bouton de modification inutile ici. $mod->MxBloc("modifier", "modify", " "); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), "addPatientPresent")); // Récupération du code HTML généré par le template ModeliXe. $this->af .= $mod->MxWrite("1"); } }
function addActesPatient() { global $session; global $options; //Ajout du diagnostic sélectionné if ($_POST['idListeSelection1'] != "aucun#") { $codeDiag = $_POST['idListeSelection1']; unset($paramRq); $paramRq[codeActe] = $codeDiag; $paramRq[idEvent] = $this->idEvent; $paramRq[idDomaine] = CCAM_IDDOMAINE; $paramRq[type] = "DIAG"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_get1ActeCote", $paramRq, "ResultQuery"); global $logs; $logs->addLog("actes", $session->getNaviFull(), "Ajout d'un diag '{$codeDiag}'"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); if ($res[INDIC_SVC][2] == 0) { //Envoyer le diagnostic au terminal des urgences si c'est le 1er unset($paramRq); $paramRq[idEvent] = $this->idEvent; $paramRq[idDomaine] = CCAM_IDDOMAINE; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_verifDiag", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); if ($res[INDIC_SVC][2] == 0) { unset($param); $param[diagnostic_categorie] = $_POST['idListeSelection0']; $param[diagnostic_code] = $codeDiag; //Recherche du libellé du diagnostic unset($paramRq); $paramRq[code] = $codeDiag; $paramRq[idDomaine] = CCAM_IDDOMAINE; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getLib1Diag", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $param[diagnostic_libelle] = $res[nomItem][0]; $libDiag = $res[nomItem][0]; //Insertion dans la table des patients_presents ou patients_sortis if ($this->typeListe == "Sortis") { $nomTable = PSORTIS; } else { $nomTable = PPRESENTS; } $requete = new clRequete(BDD, $nomTable, $param); $sql = $requete->updRecord("idpatient=" . $this->idEvent); } //Insertion du diagnostic dans la table des cotations unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idEvent] = $this->idEvent; $param[dateEvent] = date("Y-m-d H:i:") . "00"; if (substr($this->lieuInterv, 0, 4) == "UHCD") { if (substr($this->dateEvent, 0, 10) == date("Y-m-d")) { $param[dateDemande] = $this->dateEvent; } else { $param[dateDemande] = date("Y-m-d") . " 08:00:00"; } } else { $param[dateDemande] = $this->dateEvent; } $param[dtFinInterv] = $this->dtFinInterv; $param[idu] = $this->idu; $param[ipp] = $this->ipp; $param[nomu] = $this->nomu; $param[pren] = $this->pren; $param[sexe] = $this->sexe; $param[dtnai] = $this->dtnai; $param[numSejour] = $this->nsej; $param[typeAdm] = $this->typeAdm; $param[matriculeIntervenant] = $this->matriculeIntervenant; $param[nomIntervenant] = $this->nomIntervenant; $param[numUFdem] = $this->numUFdem; $param[numUFexec] = $this->numUFexec; $param[lieuInterv] = $this->lieuInterv; $param[type] = "DIAG"; $param[Urgence] = "O"; $param[codeActe] = $codeDiag; //Recherche du libellé du diagnostic unset($paramRq); $paramRq[code] = $codeDiag; $paramRq[idDomaine] = CCAM_IDDOMAINE; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getLib1Diag", $paramRq, "ResultQuery"); $libDiag = $res[nomItem][0]; $param[libelleActe] = addslashes($libDiag); $param[categorie] = $_POST['idListeSelection0']; $param[lesionMultiple] = $_POST['lesion']; $majrq = new clRequete(CCAM_BDD, "ccam_cotation_actes", $param); $sql = $majrq->addRecord(); //Ecriture dans la BAL //if ($this->typeListe=="Sortis") $this->writeBAL($param[codeActe],"creation"); //Envoi d'une alerte grippe/méningite si le nvx diag inséré est concerné par l'alerte $listeGen = new clListesGenerales("recup"); $liste = $listeGen->getListeItems("Alerte Virus - Code Diagnostics", "1", '', '', "1"); while (list($key, $val) = each($liste)) { if ($val == $codeDiag) { $_POST['type'] = "virus"; $_POST['Envoyer'] = 1; $_POST['sendMessage'] = "Signalement grippe/méningite ({$codeDiag})"; } } } } //Ajout des actes if (is_array($_POST['listeGauche'])) { while (list($key, $val) = each($_POST['listeGauche'])) { if ($val and $val != "aucun#") { if (substr($val, 0, 4) == "PACK") { eko("Affectation d'un pack à un patient"); //Si la ligne sélectionnée est un pack, recherche des actes qui le composent // pour insertion dans la liste des actes affectés unset($paramRq); $paramRq[idDomaine] = CCAM_IDDOMAINE; $paramRq[idListeSelection1] = $val; $paramRq[cw] = "and act.date_fin='0000-00-00' and (rel.idActe not like 'NGAP%' or \r\n\t\t\t\t\trel.idActe like 'NGAP%' and act.cotationNGAP<>'')"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getActesPack", $paramRq, "ResultQuery"); $requete = new clResultQuery(); // URGENTISTE unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); $codeNGAPConsultationUrgentiste = $codeNGAP[idActe][0]; unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationUrgentisteNonFacturable = $codeNGAP[idActe][0]; // SPECIALISTE unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationUrgentisteSpecialiste = $codeNGAP[idActe][0]; unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationUrgentisteSpecialisteNonFacturable = $codeNGAP[idActe][0]; // SAGE-FEMMES unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationSageFemme = $codeNGAP[idActe][0]; unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationSageFemmeNonFacturable = $codeNGAP[idActe][0]; // GYNECO-OBSTETRIQUE unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationGynécologieObstétrique = $codeNGAP[idActe][0]; unset($paramRq2); $paramRq2["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq2, "ResultQuery"); //eko ( $codeNGAP ); $codeNGAPConsultationGynécologieObstétriqueNonFacturable = $codeNGAP[idActe][0]; for ($i = 0; isset($res[identifiant][$i]); $i++) { unset($paramRq); $paramRq[codeActe] = $res[identifiant][$i]; // ||||||||||||||||||| // cas d'une consultation urgentiste et si dans le pack on a // ||||||||||||||||||| if (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentiste; } elseif (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemme) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentiste; } elseif (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemmeNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétrique) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentiste; } elseif (strcmp($this->typeIntervenant, "URG") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétriqueNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialiste; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemme) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialiste; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemmeNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétrique) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialiste; } elseif (strcmp($this->typeIntervenant, "PED") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétriqueNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationUrgentisteSpecialisteNonFacturable; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemme; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemmeNonFacturable; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemme; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemmeNonFacturable; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétrique) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemme; } elseif (strcmp($this->typeIntervenant, "SAF") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationGynécologieObstétriqueNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationSageFemmeNonFacturable; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétrique; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétriqueNonFacturable; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialiste) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétrique; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationUrgentisteSpecialisteNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétriqueNonFacturable; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemme) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétrique; } elseif (strcmp($this->typeIntervenant, "OBS") == 0 && strcmp($res[identifiant][$i], $codeNGAPConsultationSageFemmeNonFacturable) == 0) { $paramRq[codeActe] = $codeNGAPConsultationGynécologieObstétriqueNonFacturable; } $paramRq[idEvent] = $this->idEvent; $paramRq[idDomaine] = CCAM_IDDOMAINE; $paramRq[type] = "ACTE"; $req2 = new clResultQuery(); $res2 = $req2->Execute("Fichier", "CCAM_get1ActeCote", $paramRq, "ResultQuery"); global $logs; $logs->addLog("actes", $session->getNaviFull(), "Ajout d'un acte '" . $paramRq[codeActe] . "'"); //newfct(gen_affiche_tableau,$res2[INDIC_SVC]); if ($res2[INDIC_SVC][2] == 0) { $message .= $this->add1Acte($paramRq[codeActe], $res[quantite][$i], $res[periodicite][$i]); } } } else { $message = $this->add1Acte($val); } } } } $message ? $retourInfos[erreur] = $message : ($retourInfos[infos] = "Les diagnostics et les actes sélectionnés ont été affectés au patient en cours"); return $retourInfos; }
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"); } }
function genMod() { global $session; global $options; if ($session->getDroit("Liste_Radio", "m")) { if ($session->getNavi(1) == "valDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = $_REQUEST['valDate']; $data['dt_encours'] = $_REQUEST['valDate']; $data['etat'] = 'b'; $session->setLogSup("Radio : prise en charge"); break; /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ case 'dateD': $data['dt_fin'] = $_REQUEST['valDate']; $session->setLogSup("Radio : terminée"); $data['etat'] = 'd'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } elseif ($session->getNavi(1) == "annDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = '0000-00-00 00:00:00'; $data['dt_encours'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de la prise en charge"); $data['etat'] = 'a'; break; case 'dateC': /* $data['dt_encours'] = '0000-00-00 00:00:00' ; $session->setLogSup ( "Radio : annulation de 'en cours'" ) ; $data['etat'] = 'b' ; */ break; case 'dateD': $data['dt_fin'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de 'terminée'"); $data['etat'] = 'b'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } $_SESSION['typeModJS'] = ''; $req = new clResultQuery(); $param['cw'] = 'where r.idpatient=p.idpatient and idradio=' . $session->getNavi(2); $param['base'] = $this->getBaseFromIdRadio($session->getNavi(2)); // Exécution de la requête. $res = $req->Execute("Fichier", "getRadios", $param, "ResultQuery"); // print affTab ( $res['INDIC_SVC'] ) ; // Chargement du template de modeliXe. $mod = new ModeliXe("RadioMod.html"); $mod->SetModeliXe(); $mod->MxText("patient", strtoupper($res['nom'][0]) . ' ' . ucfirst(strtolower($res['prenom'][0]))); $et = $res['etat'][0]; // ************ // // * CREATION * // // ************ // $mod->MxText("etape.nomEtape", "Création : "); $date = new clDate($res['dt_creation'][0]); if ($res['dt_creation'][0] != '0000-00-00 00:00:00') { $dateA = $date->getDate('d/m/Y H:i'); } else { $dateA = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateA); $mod->MxBloc("etape.formEtape", "delete"); $mod->MxBloc("etape.annulerEtape", "delete"); $mod->MxBloc("etape", "loop"); // ******* // // * PEC * // // ******* // $mod->MxText("etape.nomEtape", "Prise en charge : "); $date = new clDate($res['dt_pec'][0]); if ($res['dt_pec'][0] != '0000-00-00 00:00:00') { $dateB = $date->getDate('d/m/Y H:i'); } else { $dateB = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateB); if ($et == 'a') { $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_creation'][0]); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initB, $listeB); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateB"); $_SESSION['typeModJS'] = 'dt_pec'; $mod->MxText("etape.formEtape.ajaxVal", XhamTools::genAjax('onClick', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.formEtape", "delete"); } if ($et == 'b') { $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateB"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.annulerEtape", "delete"); } $mod->MxBloc("etape", "loop"); /* // ************ // // * EN COURS * // // ************ // $mod -> MxText ( "etape.nomEtape", "En cours : " ) ; $date = new clDate ( $res['dt_encours'][0] ) ; if ( $res['dt_encours'][0] != '0000-00-00 00:00:00' ) { $dateC = $date -> getDate ( 'd/m/Y H:i' ) ; } else $dateC = '<span class="red">Non renseignée</span>' ; $mod -> MxText ( "etape.dateEtape", $dateC ) ; if ( $et == 'b' ) { $mod -> MxText ( "etape.dateEtape", '' ) ; $datePec = new clDate ( ) ; $dateMin = new clDate ( $res['dt_pec'][0] ) ; $initC = $datePec -> getDatetime ( ) ; for ( $i = 0 ; $datePec -> getTimestamp ( ) >= $dateMin -> getTimestamp ( ) AND $i < 3600 ; $datePec->addMinutes ( -1 ) ) { $listeC[$datePec->getDatetime ( )] = $datePec -> getDate ( 'd/m/Y H:i' ) ; $i++ ; } $mod -> MxSelect ( "etape.formEtape.valeurEtape", "date", $initC, $listeC ) ; $mod -> MxHidden ( "etape.formEtape.hidden", "typeDate=dateC" ) ; $_SESSION['typeModJS'] = 'dt_encours' ; $mod -> MxText ( "etape.formEtape.ajaxVal", XhamTools::genAjax ( 'onClick', 'valDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'valDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.formEtape", "delete" ) ; if ( $et == 'c' ) { $mod -> MxHidden ( "etape.annulerEtape.hidden", "typeDate=dateC" ) ; $mod -> MxText ( "etape.annulerEtape.ajaxAnn", XhamTools::genAjax ( 'onClick', 'annDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'annDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.annulerEtape", "delete" ) ; $mod -> MxBloc ( "etape", "loop" ) ; */ // ******* // // * FIN * // // ******* // $mod->MxText("etape.nomEtape", "Terminé : "); $date = new clDate($res['dt_fin'][0]); if ($res['dt_fin'][0] != '0000-00-00 00:00:00') { $dateD = $date->getDate('d/m/Y H:i'); $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateD"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $dateD = '<span class="red">Non renseignée</span>'; $mod->MxBloc("etape.annulerEtape", "delete"); } if ($et != 'b') { $mod->MxBloc("etape.formEtape", "delete"); } else { $param['cw'] = " idEvent=" . $res['idpatient'][0] . " and lieuInterv='" . $options->getOption('RadioSalle') . "'"; $ris = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $param, "ResultQuery"); //print affTab ( $ris['INDIC_SVC'] ) ; if ($options->getOption("RadioCCAM") and !$ris['INDIC_SVC'][2] and !$_REQUEST['addActe']) { $dateD = '<div id="CotationCCAMRadio" class="red">Cotation CCAM à saisir</span>'; $mod->MxBloc("etape.formEtape", "delete"); } else { $dateD = ''; $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_encours'][0]); $initD = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } //1 $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initD, $listeD); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateD"); $_SESSION['typeModJS'] = 'dt_fin'; $mod->MxText("etape.formEtape.ajaxVal", 'onclick="' . XhamTools::genAjax('', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2))) . ';cache(\'mod\');cache(\'arbo\');"'); } } $mod->MxText("etape.dateEtape", $dateD); $mod->MxBloc("etape", "loop"); $mod->MxText('idradio', $res['idradio'][0]); $mod->MxText('commentaire_radio', $res['commentaire_radio'][0]); if ($options->getOption("RadioCCAM")) { $listeGen = new clListesGenerales("recup"); $listeRadiologues = $listeGen->getListeItemsV2("Radiologues", "1", '', '1'); $aj = XhamTools::genAjax('onChange', 'setRadiologue', 'navi=' . $session->genNavi('Ajax', 'setRadiologue', $session->getNavi(2))); $mod->MxSelect("cotation.listeRadiologues", "radiologue", $res['adeli'][0], $listeRadiologues, '', '', 'id="radiologue" style="width: 240px;" ' . $aj); if ($res['adeli'][0]) { $mod->MxText("cotation.moduleCCAM", $this->moduleCCAM('get')); } } else { $mod->MxBloc("cotation", "delete"); } return $mod->MxWrite("1"); } }