static function getDataTransfertsSamu(clDate $date1, clDate $date2) { $strDate1 = $date1->getDate(); $strDate2 = $date2->addDays(1)->getDate(); $obRequete = new clRequete(BDD, 'patients_sortis', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS); $requete = "SELECT * FROM `patients_sortis` WHERE `dt_admission` >= '{$strDate1}' and dt_sortie <= '{$strDate2}' AND `type_destination` = 'T' AND moyen_transport LIKE '%SMUR%' "; return $obRequete->exec_requete($requete, 'tab'); }
function genListe($res) { // Chargement du template ModeliXe. $mod = new ModeliXe("recherchePatients.html"); $mod->SetModeliXe(); for ($i = 0; isset($res['idpatient'][$i]) and $i < 29; $i++) { $dateN = new clDate($res['dt_naissance'][$i]); $mod->MxText("patient.ib", clPatient::genInfoBulle($res, $i) . " onClick=\"document.forms.creationPatient.nom.value='" . $res['nom'][$i] . "';" . "document.forms.creationPatient.prenom.value='" . $res['prenom'][$i] . "';" . "document.forms.creationPatient.sexe.value='" . $res['sexe'][$i] . "';" . "document.forms.creationPatient.naissance.value='" . $dateN->getDate("d/m/Y") . "';" . "document.forms.creationPatient.adresse.value='" . $res['adresse_libre'][$i] . "';" . "document.forms.creationPatient.cp.value='" . $res['adresse_cp'][$i] . "';" . "document.forms.creationPatient.ville.value='" . $res['adresse_ville'][$i] . "';" . "document.forms.creationPatient.telephone.value='" . $res['telephone'][$i] . "';" . "" . "" . "\""); $mod->MxText("patient.nom", $res['nom'][$i]); $mod->MxText("patient.prenom", $res['prenom'][$i]); $mod->MxText("patient.naissance", $dateN->getDate('d/m/Y')); if (strlen($res['adresse_libre'][$i]) > 46) { $trr = '...'; } else { $trr = ''; } $mod->MxText("patient.adresse", substr($res['adresse_libre'][$i], 0, 46) . $trr); $mod->MxBloc("patient", "loop"); } $this->af .= $mod->MxWrite("1"); }
function getDateE2($formx) { global $tool; $idu = $formx->getVar('ids'); $req = new clResultQuery(); $param = array(); $param['cw'] = "dt_naissance"; $param['idu'] = $idu; $res = $req->Execute("Fichier", "getInfoPatientFromIDU", $param, "ResultQuery"); $DateNPat = $res['dt_naissance'][0]; //eko($DateNPat); // Calcul sur les différentes dates. $age = new clDate($DateNPat); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); return "" . utf8_encode($dateComple) . ""; }
function getPatientMineur($formx) { global $tool; $idu = $formx->getVar('ids'); $req = new clResultQuery(); $param = array(); $param['cw'] = "dt_naissance"; $param['idu'] = $idu; $res = $req->Execute("Fichier", "getInfoPatientFromIDU", $param, "ResultQuery"); $DateNPat = $res['dt_naissance'][0]; //eko($DateNPat); // Calcul sur les différentes dates. $age = new clDate($DateNPat); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); $duree->getAgePrecis($age->getTimestamp()); if ($duree->getYears() < 18) { return "mineur"; } else { return "majeur"; } }
function genListe() { global $session; global $options; if ($session->getNavi(2) == 'Valider') { // On valide la ligne sur laquelle on vient de cliquer. $id = $session->getNavi(3); eko($id); $date = new clDate(); $data['etat'] = $date->getDatetime(); $requete = new clRequete(BDD, 'bal', $data); $sql = $requete->updRecord('id=' . $id); } // Préparation de la requête. $req = new clResultQuery(); $URL = 1; $item['urlimg'] = 'images/bt-valider.gif'; if ($options->getOption("TriListeBE") == "nom") { $order = " ORDER BY nom"; } else { $order = ''; } switch ($_REQUEST['f']) { case '1': $param['cw'] = "WHERE etat='' AND type='UHCD' {$order}"; break; case '2': $param['cw'] = "WHERE etat='' AND type='Sortie' {$order}"; break; case '3': $URL = 0; $item['urlimg'] = 'images/valider.gif'; $param['cw'] = "WHERE etat!='' ORDER BY etat DESC LIMIT 0, 200"; break; default: $param['cw'] = "WHERE etat='' {$order}"; break; } // Exécution de la requête. $res = $req->Execute("Fichier", "getBal", $param, "ResultQuery"); $list = new ListMaker("template/ListeBE.html"); for ($i = 0; isset($res['id'][$i]); $i++) { // récupération date admission /* $dt_adm = "Date inconnue"; $sql = "SELECT dt_admission FROM `patients_presents` WHERE nsej='".$res['nsej'][$i]."'"; $obRequete = new clRequete(BDD, 'patients_presents', array() ,MYSQL_HOST, MYSQL_USER , MYSQL_PASS ); $tabResult = $obRequete->exec_requete($sql, 'tab'); if (isset($tabResult[0])) $dt_adm = $tabResult[0]['dt_admission']; else { $obRequete = new clRequete(BDD, 'patients_sortis', array() ,MYSQL_HOST, MYSQL_USER , MYSQL_PASS ); $sql = "SELECT dt_admission FROM `patients_sortis` WHERE nsej='".$res['nsej'][$i]."'"; $tabResult = $obRequete->exec_requete($sql, 'tab'); if (isset($tabResult[0])) $dt_adm = $tabResult[0]['dt_admission']; }*/ $item['dt_adm'] = $res['date_admission'][$i]; $item['ilp'] = $res['ilp'][$i]; $item['nsej'] = $res['nsej'][$i]; $item['patient'] = $res['nom'][$i] . ' ' . ucfirst(strtolower($res['prenom'][$i])); $item['uf'] = $res['uf'][$i]; if ($res['dest_attendue'][$i]) { $item['destAttendue'] = $res['dest_attendue'][$i]; } else { $item['destAttendue'] = '--'; } $item['action'] = $res['action'][$i]; $date = new clDate($res['date'][$i]); $item['date'] = $date->getDate('d-m-Y H:i:s'); if ($URL) { $item['urlbe'] = URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), 'Valider', $res['id'][$i]) . '&f=' . $_REQUEST['f']; } else { $item['urlbe'] = URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1)) . '&f=' . $_REQUEST['f']; } $list->addItem($item); } // Récupération du code HTML généré. return $list->getList(); }
function getListeDates() { $dateDeb = new clDate(DATELANCEMENT); $dateFin = new clDate(); $tDeb = $dateDeb->getTimestamp(); $tab = array(); for (; $dateFin->getTimestamp() >= $tDeb; $dateFin->addDays(-1)) { $tab[$dateFin->getDate("Y-m-d")] = $dateFin->getDate("d/m/Y"); } return $tab; }
function addToTab($tab, $prc, $filtre) { global $session; $req = new clResultQuery(); $param['table'] = PPRESENTS; //$param['cw'] = "WHERE $filtre UNION SELECT * FROM patients_sortis WHERE $filtre" ; $param['cw'] = "WHERE {$filtre} AND manuel=0 AND iduser!='SUPPRIME' UNION SELECT * FROM patients_sortis WHERE {$filtre} AND manuel=0 AND iduser!='SUPPRIME' ORDER BY dt_admission, nom"; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $date = new clDate(); for ($i = 0; isset($res['idpatient'][$i]); $i++) { if (!isset($tab[$res['idpatient'][$i]])) { $tab[$res['idpatient'][$i]]['survol'] = clPatient::genInfoBulle($res, $i); if ($res['dt_sortie'][$i] == '0000-00-00 00:00:00') { $auttable = PPRESENTS; } else { $auttable = PSORTIS; } if ($this->p['dt_sortie'][0] == '0000-00-00 00:00:00') { $mantable = PPRESENTS; } else { $mantable = PSORTIS; } //$js = XhamTools::genAjax ( 'onclick', 'fusion', 'ajax=1&navi='.$session->genNavi ( 'Administration', 'FusionsV2', 'setFusions', $this->p['idpatient'][0], $mantable, $res['idpatient'][$i], $auttable) ) ; $nomAut = $res['nom'][$i] . " " . $res['prenom'][$i]; $nomMan = $this->p['nom'][0] . " " . $this->p['prenom'][0]; $js = "onclick=\"if (window.confirm('Etes-vous certain de vouloir fusionner le patient manuel " . addslashes($nomMan) . " et le patient automatique " . addslashes($nomAut) . " ?')){request('index.php?ajax=1&navi=" . $session->genNavi('Administration', 'FusionsV2', 'setFusions', $this->p['idpatient'][0], $mantable, $res['idpatient'][$i], $auttable) . "',null,'fusion');return true;} else {return false;}\""; $tab[$res['idpatient'][$i]]['js'] = $js; $tab[$res['idpatient'][$i]]['suppr'] = ''; $tab[$res['idpatient'][$i]]['nom'] = $res['nom'][$i]; $tab[$res['idpatient'][$i]]['nsej'] = $res['nsej'][$i]; $tab[$res['idpatient'][$i]]['nom'] = $res['nom'][$i]; $tab[$res['idpatient'][$i]]['prenom'] = $res['prenom'][$i]; $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i]; $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i]; $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i]; $date->setDate($res['dt_naissance'][$i]); $tab[$res['idpatient'][$i]]['dt_naissance'] = $date->getDate('d-m-Y'); $date->setDate($res['dt_admission'][$i]); $tab[$res['idpatient'][$i]]['dt_admission'] = $date->getDate('d-m-Y H:i'); $tab[$res['idpatient'][$i]]['prc'] = $prc; $this->nbRes++; } //elseif ( $tab[$res['idpatient'][$i]]['prc'] < 99 ) $tab[$res['idpatient'][$i]]['prc']++ ; } return $tab; //print affTab ( $tab ) ; }
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 hxmlCreate($res, $i) { global $options; global $stopAffichage; //$stopAffichage = 1 ; $tabActe = array(); $tabActe = explode('|', $res['CONTENU'][$i]); $type = $res['TYPE'][$i]; $idpass = $tabActe[0]; $idu = $tabActe[1]; $nomu = XhamTools::sansAccent($tabActe[2]); $pren = XhamTools::sansAccent($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 = XhamTools::sansAccent($tabActe[17]); $prenmed = XhamTools::sansAccent($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]; // eko ( $tabActe ) ; if ($action == 'creation') { $action = utf8_encode('création'); } if ($nuitjf == 'F') { $isFerie = "oui"; } else { $isFerie = "non"; } if ($nuitjf == 'N') { $isNuit = '1t'; } elseif ($nuitjf == 'NM') { $isNuit = '2t'; } else { $isNuit = 'non'; } //eko ( $tabActe ) ; $date = new clDate(); $nomFic = 'ficTV2_' . $res['ID'][$i] . ''; $num = $res['ID'][$i]; if ($type != 'DIAG') { $dom = new DOMDocument('1.0', 'ISO-8859-1'); $evtsSA = $dom->createElement('evenementsServeurActes', ''); $enteteM = $dom->createElement('enteteMessage', ''); $idMe = $dom->createElement('identifiantMessage', $res['ID'][$i]); if ($options->getOption('HprimXML_DateT')) { $dHProd = $dom->createElement('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s")); } else { $dHProd = $dom->createElement('dateHeureProduction', $date->getDatetime()); } $emett = $dom->createElement('emetteur', ''); $agentse = $dom->createElement('agents', ''); $agente = $dom->createElement('agent', ''); $agente->setAttribute('categorie', 'application'); $codee = $dom->createElement('code', $options->getOption('HprimXML_Emet') ? $options->getOption('HprimXML_Emet') : $res['DISCR'][$i]); $desti = $dom->createElement('destinataire', ''); $agentsd = $dom->createElement('agents', ''); $agentd = $dom->createElement('agent', ''); $agentd->setAttribute('categorie', 'application'); $coded = $dom->createElement('code', $options->getOption('HprimXML_Dest')); $evtSA = $dom->createElement('evenementServeurActe', ''); $patient = $dom->createElement('patient', ''); $identp = $dom->createElement('identifiant', ''); $emettp = $dom->createElement('emetteur', ''); $valpe = $dom->createElement('valeur', $idu); $recepp = $dom->createElement('recepteur', ''); $valpp = $dom->createElement('valeur', $idu); $persP = $dom->createElement('personnePhysique', ''); $persP->setAttribute('sexe', $sexe); $nomUs = $dom->createElement('nomUsuel', $nomu); $prenoms = $dom->createElement('prenoms', ''); $prenom = $dom->createElement('prenom', $pren); $dateNa = $dom->createElement('dateNaissance', ''); $dateN = $dom->createElement('date', $dtnai); $venue = $dom->createElement('venue', ''); $identv = $dom->createElement('identifiant', ''); $emettv = $dom->createElement('emetteur', ''); $valve = $dom->createElement('valeur', $idpass); $recepv = $dom->createElement('recepteur', ''); $valvp = $dom->createElement('valeur', $idpass); $interv = $dom->createElement('intervention', ''); $identi = $dom->createElement('identifiant', ''); if ($options->getOption('HprimXML_EmetInterv') == 'ID') { $emetti = $dom->createElement('emetteur', $res['ID'][$i]); } elseif ($options->getOption('HprimXML_EmetInterv')) { $emetti = $dom->createElement('emetteur', $options->getOption('HprimXML_EmetInterv')); } else { $emetti = $dom->createElement('emetteur', $res['DISCR'][$i]); } //$emetti = $dom->createElement ( 'emetteur', ) ; $demande = $dom->createElement('demande', ''); $datePr = $dom->createElement('datePrescription', ''); $dateP = $dom->createElement('date', $dtdem); $heureP = $dom->createElement('heure', $hhdem); $uniteF = $dom->createElement('uniteFonctionnelle', ''); $code = $dom->createElement('code', $ufd); $debut = $dom->createElement('debut', ''); $dateID = $dom->createElement('date', $dtdem); $heureID = $dom->createElement('heure', $hhdem); switch ($type) { case 'CCAM': $actesCCAM = $dom->createElement('actesCCAM', ''); $acteCCAM = $dom->createElement('acteCCAM', ''); $acteCCAM->setAttribute('action', $action); $identa = $dom->createElement('identifiant', ''); $emettia = $dom->createElement('emetteur', $idact); $recepia = $dom->createElement('recepteur', ''); $codeActe = $dom->createElement('codeActe', $cdccam); $codeActi = $dom->createElement('codeActivite', $cdacti); $codePhas = $dom->createElement('codePhase', $cdphase); $execute = $dom->createElement('execute', ''); $datee = $dom->createElement('date', $dtdem); $heuree = $dom->createElement('heure', $hhdem); $executant = $dom->createElement('executant', ''); $medecins = $dom->createElement('medecins', ''); $medExec = $dom->createElement('medecinExecutant', ''); if ($options->getOption("HprimXML_ExecPrinc")) { $medExec->setAttribute('principal', "oui"); } $medE = $dom->createElement('medecin', ''); $numADELI = $dom->createElement('numeroAdeli', $adeli); $identm = $dom->createElement('identification', ''); if ($options->getOption("HprimXML_CodeMedecin") == 'ADELI') { $codeade = $adeli; } else { $codeade = 'x'; } $codeia = $dom->createElement('code', $codeade); $persom = $dom->createElement('personne', ''); $nomUm = $dom->createElement('nomUsuel', $nomumed); $prenomsm = $dom->createElement('prenoms', ''); $prenomm = $dom->createElement('prenom', $prenmed); $uniteFo = $dom->createElement('uniteFonctionnelle', ''); $codeuf = $dom->createElement('code', $ufr); $modifs = $dom->createElement('modificateurs', ''); $tabd = explode('~', $modif); for ($i = 0; isset($tabd[$i]); $i++) { if ($tabd[$i]) { eval('$modifc' . $i . ' = $dom->createElement ( "modificateur", "' . $tabd[$i] . '" ) ;'); if ($options->getOption('HprimXML_StatutFT')) { eval('$modifc' . $i . ' -> setAttribute ( "statut", "ft" ) ;'); } } } //$modifs = $dom->createElement ( 'modificateurs', '' ) ; // $modifc = $dom->createElement ( 'modificateur', $modif ) ; $codeANP = $dom->createElement('codeAssociationNonPrevue', $cdasso); $identa->appendChild($emettia); $identa->appendChild($recepia); $acteCCAM->appendChild($identa); $acteCCAM->appendChild($codeActe); $acteCCAM->appendChild($codeActi); $acteCCAM->appendChild($codePhas); $execute->appendChild($datee); $execute->appendChild($heuree); $acteCCAM->appendChild($execute); $medE->appendChild($numADELI); $identm->appendChild($codeia); $medE->appendChild($identm); $persom->appendChild($nomUm); $prenomsm->appendChild($prenomm); $persom->appendChild($prenomsm); $medE->appendChild($persom); $medExec->appendChild($medE); $medecins->appendChild($medExec); $executant->appendChild($medecins); $uniteFo->appendChild($codeuf); $executant->appendChild($uniteFo); $acteCCAM->appendChild($executant); for ($i = 0; isset($tabd[$i]); $i++) { if ($tabd[$i]) { eval('$modifs -> appendChild ( $modifc' . $i . ' ) ;'); } } $acteCCAM->appendChild($modifs); $acteCCAM->appendChild($codeANP); $actesCCAM->appendChild($acteCCAM); $raes = $actesCCAM; break; case 'NGAP': $actesNGAP = $dom->createElement('actesNGAP', ''); $acteNGAP = $dom->createElement('acteNGAP', ''); $acteNGAP->setAttribute('action', $action); $acteNGAP->setAttribute('facturable', $factu); $acteNGAP->setAttribute('executionNuit', $isNuit); $acteNGAP->setAttribute('executionDimancheJourFerie', $isFerie); $identn = $dom->createElement('identifiant', ''); $emettn = $dom->createElement('emetteur', $idact); $lettreC = $dom->createElement('lettreCle', $ngapl); $coeff = $dom->createElement('coefficient', $ngapc); $exec = $dom->createElement('execute', ''); $dateen = $dom->createElement('date', $dtdem); $heureen = $dom->createElement('heure', $hhdem); $presta = $dom->createElement('prestataire', ''); $medecins = $dom->createElement('medecins', ''); $medE = $dom->createElement('medecin', ''); $numADELI = $dom->createElement('numeroAdeli', $adeli); $identm = $dom->createElement('identification', ''); if ($options->getOption("HprimXML_CodeMedecin") == 'ADELI') { $codeade = $adeli; } else { $codeade = 'x'; } $codeia = $dom->createElement('code', $codeade); $persom = $dom->createElement('personne', ''); $nomUm = $dom->createElement('nomUsuel', $nomumed); $prenomsm = $dom->createElement('prenoms', ''); $prenomm = $dom->createElement('prenom', $prenmed); $uniteFo = $dom->createElement('uniteFonctionnelle', ''); $codeuf = $dom->createElement('code', $ufr); $identn->appendChild($emettn); $acteNGAP->appendChild($identn); $acteNGAP->appendChild($lettreC); $acteNGAP->appendChild($coeff); $exec->appendChild($dateen); $exec->appendChild($heureen); $acteNGAP->appendChild($exec); $medE->appendChild($numADELI); $identm->appendChild($codeia); $medE->appendChild($identm); $persom->appendChild($nomUm); $prenomsm->appendChild($prenomm); $persom->appendChild($prenomsm); $medE->appendChild($persom); $medecins->appendChild($medE); $presta->appendChild($medecins); $uniteFo->appendChild($codeuf); $presta->appendChild($uniteFo); $acteNGAP->appendChild($presta); $actesNGAP->appendChild($acteNGAP); $raes = $actesNGAP; break; } $enteteM->appendChild($idMe); $enteteM->appendChild($dHProd); $agente->appendChild($codee); $agentse->appendChild($agente); $emett->appendChild($agentse); $enteteM->appendChild($emett); $agentd->appendChild($coded); $agentsd->appendChild($agentd); $desti->appendChild($agentsd); $enteteM->appendChild($desti); $evtsSA->appendChild($enteteM); $emettp->appendChild($valpe); $identp->appendChild($emettp); $recepp->appendChild($valpp); $identp->appendChild($recepp); $patient->appendChild($identp); $persP->appendChild($nomUs); $prenoms->appendChild($prenom); $persP->appendChild($prenoms); $dateNa->appendChild($dateN); $persP->appendChild($dateNa); $patient->appendChild($persP); $evtSA->appendChild($patient); $emettv->appendChild($valve); $identv->appendChild($emettv); $recepv->appendChild($valvp); $identv->appendChild($recepv); $venue->appendChild($identv); $evtSA->appendChild($venue); $debut->appendChild($dateID); $debut->appendChild($heureID); $interv->appendChild($debut); $identi->appendChild($emetti); $interv->appendChild($identi); $datePr->appendChild($dateP); $datePr->appendChild($heureP); $demande->appendChild($datePr); $uniteF->appendChild($code); $demande->appendChild($uniteF); $interv->appendChild($demande); $evtSA->appendChild($interv); $evtSA->appendChild($raes); $evtsSA->appendChild($evtSA); $dom->appendChild($evtsSA); } else { $dom = new DOMDocument('1.0', 'ISO-8859-1'); $evtsPMSI = $dom->createElement('evenementsPMSI', ''); $enteteM = $dom->createElement('enteteMessage', ''); $idMe = $dom->createElement('identifiantMessage', $res['ID'][$i]); $dHProd = $dom->createElement('dateHeureProduction', $date->getDatetime()); $emett = $dom->createElement('emetteur', ''); $agentse = $dom->createElement('agents', ''); $agente = $dom->createElement('agent', ''); $agente->setAttribute('categorie', 'application'); $codee = $dom->createElement('code', $options->getOption('HprimXML_Emet')); $desti = $dom->createElement('destinataire', ''); $agentsd = $dom->createElement('agents', ''); $agentd = $dom->createElement('agent', ''); $agentd->setAttribute('categorie', 'application'); $coded = $dom->createElement('code', $options->getOption('HprimXML_Dest')); $evtPMSI = $dom->createElement('evenementPMSI', ''); $patient = $dom->createElement('patient', ''); $identp = $dom->createElement('identifiant', ''); $emettp = $dom->createElement('emetteur', ''); $valpe = $dom->createElement('valeur', $idu); $recepp = $dom->createElement('recepteur', ''); $valpp = $dom->createElement('valeur', $idu); $persP = $dom->createElement('personnePhysique', ''); $persP->setAttribute('sexe', $sexe); $nomUs = $dom->createElement('nomUsuel', $nomu); $prenoms = $dom->createElement('prenoms', ''); $prenom = $dom->createElement('prenom', $pren); $dateNa = $dom->createElement('dateNaissance', ''); $dateN = $dom->createElement('date', $dtnai); $venue = $dom->createElement('venue', ''); $identv = $dom->createElement('identifiant', ''); $recepv = $dom->createElement('recepteur', ''); $valeur = $dom->createElement('valeur', $idpass); $entreev = $dom->createElement('entree', ''); $entreev->setAttribute('typeEntree', ''); $dateHO = $dom->createElement('dateHeureOptionnelle', ''); $dateho = $dom->createElement('date', $dtdem); $heureho = $dom->createElement('heure', $hhdem); $rss = $dom->createElement('rss', ''); $rum = $dom->createElement('rum', ''); $rum->setAttribute('action', $action); $identr = $dom->createElement('identifiant', ''); $emettr = $dom->createElement('emetteur', $idpass); $dateAc = $dom->createElement('dateAction', $dtr); $actAc = $dom->createElement('acteurAction', ''); $numAA = $dom->createElement('numeroAdeli', $adeli); $uniteMed = $dom->createElement('uniteMedicale', ''); $codeU = $dom->createElement('code', $ufr); $entreeU = $dom->createElement('entree', ''); $entreeU->setAttribute('mode', ''); $entreeU->setAttribute('complementMode', ''); $dateHOe = $dom->createElement('dateHeureOptionnelle', ''); $datHoe = $dom->createElement('date', $dtr); $heurHoe = $dom->createElement('heure', $hhr); $diags = $dom->createElement('diagnostics', ''); $diagPri = $dom->createElement('diagnosticPrincipal', ''); $codeCim = $dom->createElement('codeCim10', $cdccam); $diagsSi = $dom->createElement('diagnosticsSignificatifs', ''); $tabd = explode('~', $cddiags); for ($i = 0; isset($tabd[$i]); $i++) { eval('$diagSi' . $i . ' = $dom->createElement ( "diagnosticSignificatif", "" ) ;'); eval('$codeCimS' . $i . ' = $dom->createElement ( "codeCim10", "' . $tabd[$i] . '" ) ;'); } $enteteM->appendChild($idMe); $enteteM->appendChild($dHProd); $agente->appendChild($codee); $agentse->appendChild($agente); $emett->appendChild($agentse); $enteteM->appendChild($emett); $agentd->appendChild($coded); $agentsd->appendChild($agentd); $desti->appendChild($agentsd); $enteteM->appendChild($desti); $evtsPMSI->appendChild($enteteM); $emettp->appendChild($valpe); $identp->appendChild($emettp); //$valpp = $dom->createElement ( 'valeur', $idu ) ; $recepp->appendChild($valpp); $identp->appendChild($recepp); $patient->appendChild($identp); $persP->appendChild($nomUs); $prenoms->appendChild($prenom); $persP->appendChild($prenoms); $dateNa->appendChild($dateN); $persP->appendChild($dateNa); $patient->appendChild($persP); $evtPMSI->appendChild($patient); $recepv->appendChild($valeur); $identv->appendChild($recepv); $venue->appendChild($identv); $dateHO->appendChild($dateho); $dateHO->appendChild($heureho); $entreev->appendChild($dateHO); $venue->appendChild($entreev); $evtPMSI->appendChild($venue); $identr->appendChild($emettr); $rum->appendChild($identr); $rum->appendChild($dateAc); $actAc->appendChild($numAA); $rum->appendChild($actAc); $uniteMed->appendChild($codeU); $dateHOe->appendChild($datHoe); $dateHOe->appendChild($heurHoe); $entreeU->appendChild($dateHOe); $uniteMed->appendChild($entreeU); $rum->appendChild($uniteMed); $diagPri->appendChild($codeCim); $diags->appendChild($diagPri); for ($i = 0; isset($tabd[$i]); $i++) { eval('$diagSi' . $i . ' -> appendChild ( $codeCimS' . $i . ' ) ;'); eval('$diagsSi -> appendChild ( $diagSi' . $i . ' ) ;'); } $diags->appendChild($diagsSi); //$uniteMed -> appendChild ( $diags ) ; $rum->appendChild($diags); $rss->appendChild($rum); $evtPMSI->appendChild($rss); $evtsPMSI->appendChild($evtPMSI); $dom->appendChild($evtsPMSI); } if ($type == 'DIAG' and $options->getOption("HprimXML_noDIAG")) { // Création, écriture et fermeture du fichier. $this->af .= "- Génération du fichier '" . 'hprim/xml/' . $nomFic . '.xml' . ' -> '; $this->mbtv2Traited($num); $this->af .= '<font color="orange">Pas d\'envoi des DIAG</font><br/>'; } else { // Création, écriture et fermeture du fichier. $this->af .= "- Génération du fichier '" . 'hprim/xml/' . $nomFic . '.xml' . ' -> '; $FIC = fopen('hprim/xml/' . $nomFic . '.xml', "w"); $creation = fwrite($FIC, $dom->saveXML()); fclose($FIC); if ($creation) { $FIC = fopen('hprim/xml/' . $nomFic . '.ok', "w"); $creation2 = fwrite($FIC, ''); fclose($FIC); } //eko ( $nomFic." -> ".$res['ID'][$i]." ($num)" ) ; if ($creation) { $this->mbtv2Traited($num); $this->af .= '<font color="green">OK</font><br/>'; } else { global $errs; $errs->addErreur('Problème création pour ID=' . $num); $this->af .= '<font color="red">KO</font><br/>'; } } }
function genInformationsPassages() { global $session; global $options; $uhcd = $options->getOption("FiltreSalleUHCD"); $pedi = $options->getOption("FiltreSalleSup"); $date = new clDate(); $data = $date->getDate(); $req = new clResultQuery(); // Calcul des patients présents. $param['table'] = PPRESENTS; $param['cw'] = ""; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbPresents = $res['INDIC_SVC'][2]; // Calcul des patients vus. if ($pedi) { $param['cw'] = "WHERE dt_examen!='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%' AND salle_examen NOT LIKE '{$pedi}%'"; } else { $param['cw'] = "WHERE dt_examen!='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%'"; } $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbVus = $res['INDIC_SVC'][2]; // Calcul des patients UHCD. $param['cw'] = "WHERE salle_examen LIKE '{$uhcd}%'"; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbUHCD = $res['INDIC_SVC'][2]; // Calcul des patients de pédiatrie if ($pedi) { $param['cw'] = "WHERE salle_examen LIKE '{$pedi}%'"; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbPEDI = $res['INDIC_SVC'][2]; } else { $nbPEDI = 0; } // Calcul des patients non-vus. $nbNonVus = $nbPresents - $nbVus - $nbUHCD - $nbPEDI; // Calcul des patients attendus. $param['table'] = PATTENDUS; $param['cw'] = ""; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbAttendus = $res['INDIC_SVC'][2]; // Calcul des patients sortis du jour. $param['table'] = PSORTIS; $param['cw'] = "WHERE dt_admission>'{$data}'"; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbSortis = $res['INDIC_SVC'][2]; // Calcul des passages du jour. $param['table'] = PPRESENTS; $param['cw'] = "WHERE dt_admission>'{$data}'"; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $nbPresents2 = $res['INDIC_SVC'][2]; //newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; $nbPassages = $nbPresents2 + $nbSortis; // Chargement du template de modeliXe. $mod = new ModeliXe("InformationsPassages.mxt"); $mod->SetModeliXe(); // Affichage du template en fonction du type de liste et des options. //if ( $options -> getOption ( "Historique Patient" ) ) if ($this->type == "Attendus" or $options->getOption("ModuleHistorique") != 'Oracle') { $mod->MxBloc("historique", "modify", " "); } else { //if ( isset ( $_POST['showHisto'] ) ) $_SESSION['showHisto'] = $_POST['showHisto'] ; //else $_POST['showHisto'] = $_SESSION['showHisto'] ; $mod->MxCheckerField("historique.histo", "checkbox", "showHisto", 1, $_POST['showHisto'] ? true : false); } if (!$options->getOption("AjoutManuel") and $this->type != "Attendus") { $mod->MxBloc("ajouter", "modify", " "); } // Préparation de l'affichage des informations avec gestion du pluriel et du singulier. $mod->MxText("nbPresents", $nbPresents); if ($pedi) { $pediatrie = ", <b>{$nbPEDI}</b> " . ($options->getOption('nomSalleSup') ? $options->getOption('nomSalleSup') : 'pédiatrie'); } else { $pediatrie = ''; } if ($nbPresents > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("presents", "présent{$s}"); $mod->MxText("nbVus", $nbVus); if ($nbVus > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("vus", "vu{$s}{$pediatrie}"); $mod->MxText("nbUHCD", $nbUHCD); if ($nbUHCD > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("UHCD", "UHCD"); $mod->MxText("nbNonVus", $nbNonVus); if ($nbNonVus > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("nonVus", "non vu{$s}"); $mod->MxText("nbAttendus", $nbAttendus); if ($nbAttendus > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("attendus", "attendu{$s}"); $mod->MxText("nbPassages", $nbPassages); if ($nbPassages > 1) { $s = "s"; } else { $s = ''; } $mod->MxText("passages", "entrant{$s}"); // Récupération du code HTML généré par modeliXe. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0))); $this->af .= $mod->MxWrite("1"); }
function defineParamCCAM() { $date = new clDate($this->patient->getDateNaissance()); $this->paramCCAM[nomu] = $this->patient->getNom(); $this->paramCCAM[pren] = $this->patient->getPrenom(); $this->paramCCAM[sexe] = $this->patient->getSexe(); $this->paramCCAM[dtnai] = $date->getDate("Y-m-d"); $this->paramCCAM[idEvent] = $this->patient->getID(); $this->paramCCAM[dateAdmission] = $this->patient->getDateAdmission(); $this->paramCCAM[dateEvent] = $this->patient->getDateExamen(); $this->paramCCAM[dtFinInterv] = $this->patient->getDateSortie(); $this->paramCCAM[idu] = $this->patient->getIDU(); $this->paramCCAM[ipp] = $this->patient->getILP(); $this->paramCCAM[nsej] = $this->patient->getNSej(); $this->paramCCAM[typeAdm] = $this->patient->getTypeAdmission(); $this->paramCCAM[lieuInterv] = $this->patient->getSalle(); $this->paramCCAM[matriculeIntervenant] = $this->patient->getMatriculeMedecin(); $this->paramCCAM[typeIntervenant] = $this->patient->getTypeMedecin(); $this->paramCCAM[numUFdem] = $this->patient->getUF(); $this->paramCCAM[typeListe] = $this->type; $this->paramCCAM[nomIntervenant] = $this->patient->getMedecin(); $this->paramCCAM[nomIDE] = $this->patient->getIDE(); $this->paramCCAM[matriculeIDE] = $this->patient->getMatriculeIDE(); $this->paramCCAM[manuel] = $this->patient->getManuel(); $this->paramCCAM[uf] = $this->patient->getUF(); $this->paramCCAM[etatUHCD] = $this->patient->getEtatUHCD(); $this->paramCCAM[typeDest] = $this->patient->getTypeDestination(); $this->paramUHCD[dateUHCD] = $this->patient->getDateUHCD(); // Ajout de la destination souhaitée $this->paramCCAM[dest_attendue] = $this->patient->getDestinationAttendue(); }
static function getAV($val, $type = '') { if ($type) { if ($val == '0000-00-00 00:00:00') { return VIDEDEFAUT; } else { $date = new clDate($val); return $date->getDate($type); } } else { if ($val) { return $val; } else { return VIDEDEFAUT; } } }
function genPat($idpatient) { global $session; global $options; // Si un idpatient est tranmis, alors on récupère ses informations // à l'aide de la classe Patient. if ($idpatient) { //concerne la recuperation d'une instance de la classe FoRmX gerant les actions if ($options->getOption("use_formx")) { global $actions; $actions = new clFoRmX($idpatient, 'NO_POST_THREAT'); } $patient = new clPatient($idpatient, $session->getNavi(5)); $pat[NMA] = $patient->getNom(); $pat[PRE] = $patient->getPrenom(); $pat[DNA] = $patient->getDateNaissance(); $pat[SEX] = $patient->getSexe(); $date = new clDate($patient->getDateAdmission()); $pat[DTA] = $date->getDate($options->getOption("Documents Date")); $pat[HEA] = $date->getDate("H:i"); $pat[MED] = $patient->getMedecin(); $pat[DHS] = $patient->getDateSortie(); $pat[DHE] = $patient->getDateExamen(); // Sinon, nous renseignons avec les valeurs par défaut. } else { $pat[NMA] = "Bon"; $pat[PRE] = "Jean"; $date = new clDate("1981-12-24 22:30:00"); $pat[DNA] = $date->getDate($options->getOption("Documents Date")); $pat[SEX] = "1"; $date = new clDate(); $pat[DTA] = $date->getDate($options->getOption("Documents Date")); $pat[HEA] = $date->getDate("H:i"); $pat[MED] = "Testeur"; $pat[DHS] = $date->getDate($options->getOption("Documents Date")); $pat[DHE] = $date->getDate($options->getOption("Documents Date")); } // On renvoie le tableau généré. return $pat; }
function contenuBAL_Netforce($res, $type, $tabAsso = array(), $indicateurs = array(), $maxLC = array(), $maxCCAM = array()) { // res contient tous les actes qu'on envoie à la facturation global $options; //eko($indicateurs);eko($maxLC);eko($maxCCAM); //Préparation du champs CONTENU - Initialisation avec les données patients $contenuDiag = ""; $cptDiag = 1; $NGAPjoue = 0; unset($modificateursJoues); reset($res); // Variable pour les majo des actes infirmiers $Majoration_A_Effectuee = "Non"; $idEvent = $this->idEvent; $dateEvent = $this->dateEvent; $dtFinInterv = $this->dtFinInterv; $clDateDeb = new clDate($dateEvent); $clDateFin = new clDate($dtFinInterv); // On va affecter dans une variable le nombre de CONS /*$Nombre_Cons = 0; $req=new clResultQuery; $paramRq["cw"] = "idEvent='".$idEvent."'"; $res=$req->Execute("Fichier","CCAM_getNombreCONS",$paramRq,"ResultQuery"); $Nombre_Cons = $res["nombre"][0]; $tab_Cons[0] = 0; for ( $i=1 ; $i<=$Nombre_Cons ; $i++) $tab_Cons[$i] = 0;*/ if (strcmp($options->getOption('ChoixHeureAffectationActes'), "Heure médiane") == 0) { $nbHeures = $clDateFin->getDifference($clDateDeb) / 3600; $dateMediane = $clDateDeb->addHours($nbHeures / 2); $dateMediane = $clDateDeb->getDate("Y-m-d H:i:s"); $heureCalcule = $dateMediane; } elseif (strcmp($options->getOption('ChoixHeureAffectationActes'), "Heure d'admission") == 0) { $clDateAdm = new clDate($this->dtAdmission); $heureCalcule = $clDateAdm->getDate("Y-m-d H:i:s"); } elseif (strcmp($options->getOption('ChoixHeureAffectationActes'), "Heure d'examen") == 0) { $clDateAdm = new clDate($this->dateEvent); $heureCalcule = $clDateAdm->getDate("Y-m-d H:i:s"); } elseif (strcmp($options->getOption('ChoixHeureAffectationActes'), "Heure de sorti") == 0) { $clDateAdm = $clDateFin; $heureCalcule = $clDateAdm->getDate("Y-m-d H:i:s"); } list($dateActe, $heureActe) = explode(" ", $heureCalcule); list($annee, $mois, $jour) = explode("-", $dateActe); substr($mois, 0, 1) == 0 ? $mois = substr($mois, 1, 1) : ""; substr($jour, 0, 1) == 0 ? $jour = substr($jour, 1, 1) : ""; list($heure, $minute, $seconde) = explode(":", $heureActe); substr($heure, 0, 1) == 0 ? $heure = substr($heure, 1, 1) : ""; $dateActe = mktime(0, 0, 0, $mois, $jour, $annee); if ($heure >= 20 or $heure >= 6 and $heure < 8) { $majoCONS = "N"; } elseif ($heure < 6) { $majoCONS = "NM"; } //Gestion des dimanches if (date("w", $dateActe) == 0 and $majoCONS == "") { $majoCONS = "F"; } //Gestion des jours fériés $dateFerie = new clDate($dateActe); if ($dateFerie->isHoliday() and $majoCONS == "") { $majoCONS = "F"; } for ($i = 0; isset($res[identifiant][$i]); $i++) { $contenuInit = $res[numSejour][$i] . "|" . $res[idu][$i] . "|" . $res[nomu][$i] . "|" . $res[pren][$i] . "|" . $res[sexe][$i] . "|" . $res[dtnai][$i]; $contenuInit3 = "|" . $res[numUFdem][$i]; $dateDem = substr($res[dateDemande][$i], 0, 10); $heureDem = substr($res[dateDemande][$i], 11, 6) . "00"; $dateReal = substr($res[dateEvent][$i], 0, 10); $heureReal = substr($res[dateEvent][$i], 11, 6) . "00"; $contenuInit2 = "|" . $dateDem . "|" . $heureDem; // Cas des consultations spécialisées. if (substr($res[codeActe][$i], 0, 4) == "CONS") { $cotation = explode("+", $res[cotationNGAP][$i]); while (list($key, $val) = each($cotation)) { // On gere le cas des actes du docteur qui prend en charge la patient // Etape1 // Recupere l'indice de facturation list($lc, $coeff) = explode(" ", $val); if ($coeff == 0) { $factu = "non"; $coeff = 1; } else { $factu = "oui"; } // Etape2 // On colle le modificateur sur les consultes specialites $majoNGAP = ""; //eko($lc); if (substr($lc, 0, 1) == "C") { // MAJO CS 1 CSC 1 CNPSY 1 $majoNGAP = $majoCONS; } $contenuSuite = "|{$type}|" . $res[identifiant][$i] . "|" . $res[codeActe][$i] . "||||{$dateReal}|{$heureReal}|" . $res[nomIntervenant][$i] . "||" . $res[matriculeIntervenant][$i] . "|" . $res[numUFexec][$i] . "||{$lc}|{$coeff}|{$factu}||{$majoNGAP}"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; //eko($contenu); unset($param); $param[DTINS] = date("Y-m-d H:i") . ":00"; $param[ETAT] = "P"; $param[DISCR] = $res[idEvent][$i]; $param[TYPE] = "NGAP"; $param[CONTENU] = $contenu; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->addRecord(); } unset($paramModif); $paramModif[validDefinitive] = "O"; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif); $sql = $requete->updRecord("codeActe='" . $res[codeActe][$i] . "' and idDomaine=" . CCAM_IDDOMAINE . " and idEvent=" . $res[idEvent][$i]); } elseif (substr($res[codeActe][$i], 0, 4) == "NGAP") { // Il y aura deux intervenants le docteur et l'infirmier // Donc deux majorations possibles au maximun // La majoration forfaire collée pour l'un des actes ngap du docteur // La majoration forfaire collée pour l'un des actes ngap de l'infirmier $cotation = explode("+", $res[cotationNGAP][$i]); //eko ($cotation); while (list($key, $val) = each($cotation)) { // On gere le cas des actes du docteur qui prend en charge la patient // Etape1 // Recupere l'indice de facturation list($lc, $coeff) = explode(" ", $val); if ($coeff == 0) { $factu = "non"; $coeff = 1; } else { $factu = "oui"; } // Etape2 // On colle le modificateur sur le premier acte ngap du medecin la C ou CS $majoNGAP = ""; //eko($lc); if (substr($lc, 0, 1) == "C" and !$NGAPjoue) { // C ou CS $majoNGAP = $res[modificateurs][$i]; $NGAPjoue = 1; } /*else { if ( !ereg ("AMI",$lc ) and !ereg ("AIS",$lc ) and !ereg ("K",$lc ) and !ereg ("KC",$lc ) and !ereg ("PH",$lc ) and !ereg ("MNO",$lc ) and // LISTE MAJO !ereg ("MGE",$lc ) and !ereg ("MCG",$lc ) and !ereg ("MCC",$lc ) and !ereg ("MPC",$lc ) and !ereg ("MCS",$lc ) and !ereg ("MPJ",$lc ) and !ereg ("MNP",$lc ) and !$NGAPjoue ) { $majoNGAP = $res[modificateurs][$i]; $NGAPjoue = 1; } }*/ // On gere le cas des actes infirmiers //LISTE MAJO pour les actes infirmiers if (ereg("AMI", $lc) || ereg("AIS", $lc) || ereg("K", $lc) || ereg("KC", $lc) || ereg("PH", $lc) || ereg("INFN1", $lc) || ereg("INFN2", $lc) || ereg("MINFD", $lc)) { if (strcmp($this->matriculeIDE, "") == 0) { if (strcmp($options->getOption("codeAdeliInfirmier"), "") == 0) { if (strcmp($this->matriculeIntervenant, "") == 0) { $matriculeIDE = $options->getOption("codeAdeliChefService"); $nomIDE = $this->nomIntervenant; if (!$NGAPjoue) { $majoNGAP = $res[modificateurs][$i]; $NGAPjoue = 1; $Majoration_A_Effectuee = "Oui"; } } else { $matriculeIDE = $this->matriculeIntervenant; $nomIDE = $this->nomIntervenant; if (!$NGAPjoue) { $majoNGAP = $res[modificateurs][$i]; $NGAPjoue = 1; $Majoration_A_Effectuee = "Oui"; } } } else { $matriculeIDE = $options->getOption("codeAdeliInfirmier"); $nomIDE = $this->nomIDE; } } else { $matriculeIDE = $this->matriculeIDE; $nomIDE = $this->nomIDE; } //Premiere version avec la fonction gestionMajorationsActesInfirmiers // et l'option EnvoiMajorationsActesInfirmiers /* // Calcul des majo "NGAP" si on envoi pas les majo des "AMI" et "AIS" if ( !$options->getOption ('EnvoiMajorationsActesInfirmiers') ){ //eko("majo ngap :".$lc); // Concernant les actes infirmiers // Soit on envoie les modificateurs pour les actes AMI et AIS // Soit on envoie les majorations des actes AMI et AIS // Mais pas les deux. //Gestion des modificateurs de nuit et jours fériés pour las actes NGAP infirmiers //Gestion des tranches horaires pour las actes NGAP infirmiers if (($heure>=20 or ($heure>=6 and $heure<8))) $majoNGAP="N"; elseif ($heure<6) $majoNGAP="NM"; //Gestion des dimanches pour las actes NGAP infirmiers if (date("w",$dateActe)==0 and $majoNGAP=="") $majoNGAP="F"; //Gestion des jours fériés pour las actes NGAP infirmiers $dateFerie=new clDate($dateActe); if ($dateFerie->isHoliday() and $majoNGAP=="") $majoNGAP="F"; $modificateurs=$majoNGAP; } */ // Nous avons l'heure if (strcmp($Majoration_A_Effectuee, "Non") == 0) { if ($heure >= 20 && $heure < 23 || $heure >= 5 && $heure < 8) { $MajorationNGAP1 = "N"; $Majoration_A_Effectuee = "Oui"; } if ($heure >= 23 || $heure < 5) { $MajorationNGAP1 = "NM"; $Majoration_A_Effectuee = "Oui"; } // pour les jours féries $dateFerie = new clDate($dateActe); if ($dateFerie->isHoliday() && strcmp($Majoration_A_Effectuee, "Non") == 0) { $MajorationNGAP1 = "F"; $Majoration_A_Effectuee = "Oui"; } // pour les dimanches if (date("w", $dateActe) == 0 && strcmp($Majoration_A_Effectuee, "Non") == 0) { $MajorationNGAP1 = "F"; $Majoration_A_Effectuee = "Oui"; } // pour les samedis if (date("w", $dateActe) == 6 && $heure >= 8 && strcmp($Majoration_A_Effectuee, "Non") == 0) { $MajorationNGAP1 = "F"; $Majoration_A_Effectuee = "Oui"; } $majoNGAP = $MajorationNGAP1; } $contenuSuite = "|{$type}|" . $res[identifiant][$i] . "|" . $res[codeActe][$i] . "||||{$dateReal}|{$heureReal}|" . $nomIDE . "||" . $matriculeIDE . "|" . $res[numUFexec][$i] . "||{$lc}|{$coeff}|{$factu}||{$majoNGAP}"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; //eko($contenu); // Mise à jour de la table ccam_cotation_acte if (strcmp($type, "creation") == 0) { $paramModif["nomIntervenant"] = $nomIDE; $paramModif["matriculeIntervenant"] = $matriculeIDE; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif); $sql = $requete->updRecord("idEvent=" . $this->idEvent . " and identifiant=" . $res["identifiant"][$i] . " and idDomaine=" . CCAM_IDDOMAINE); //eko($res["identifiant"][$i]); } } else { $contenuSuite = "|{$type}|" . $res[identifiant][$i] . "|" . $res[codeActe][$i] . "||||{$dateReal}|{$heureReal}|" . $res[nomIntervenant][$i] . "||" . $res[matriculeIntervenant][$i] . "|" . $res[numUFexec][$i] . "||{$lc}|{$coeff}|{$factu}||{$majoNGAP}"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; //eko($contenu); } unset($param); $param[DTINS] = date("Y-m-d H:i") . ":00"; $param[ETAT] = "P"; $param[DISCR] = $res[idEvent][$i]; $param[TYPE] = "NGAP"; $param[CONTENU] = $contenu; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->addRecord(); } unset($paramModif); $paramModif[validDefinitive] = "O"; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif); $sql = $requete->updRecord("codeActe='" . $res[codeActe][$i] . "' and idDomaine=" . CCAM_IDDOMAINE . " and idEvent=" . $res[idEvent][$i]); } else { if ($res[type][$i] == "ACTE") { list($modificateurs1, $modificateurs4) = explode("|", $res[modificateurs][$i]); if ($modificateurs1) { $modificateursCotes = explode("~", $modificateurs1); $modificateurs1 = ""; while (list($key, $val) = each($modificateursCotes)) { if ($val == "F" or $val == "P" or $val == "S") { if (!$modificateursJoues[$val] and !$indicateurs["C"] or $indicateurs["C"] and substr($res[codeActe][$i], 0, 3) == "DEQ") { $modificateurs1 .= "{$val}~"; } //eko("indicC:$indicateurs[C]-val:$val-modif1:$modificateurs1-modifJoueAvant:".$modificateursJoues[$val]); } else { $modificateurs1 .= "{$val}~"; } $modificateursJoues[$val] = 1; //eko("val:$val-modif1:$modificateurs1-modifJoue:".$modificateursJoues[$val]); } /*eko("codeActe:".$res[codeActe][$i]); eko($modificateursCotes); eko("modif1Final:$modificateurs1"); eko($modificateursJoues);*/ if ($modificateurs1) { $modificateurs1 = substr($modificateurs1, 0, -1); } } $modificateurs4 = ""; list($intervenant1, $intervenant4) = explode("|", $res[matriculeIntervenant][$i]); list($nomIntervenant1, $nomIntervenant4) = explode("|", $res[nomIntervenant][$i]); $codeActe = $res[codeActe][$i]; $codeAssociation = $tabAsso[$codeActe]; $contenuSuite = "|{$type}|" . $res[identifiant][$i] . "|" . $res[codeActe][$i] . "||1|0|{$dateReal}|{$heureReal}|" . $nomIntervenant1 . "||" . $intervenant1 . "|" . $res[numUFexec][$i] . "|" . $modificateurs1 . "|||oui|{$codeAssociation}"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; unset($param); $param[DTINS] = date("Y-m-d H:i") . ":00"; $param[ETAT] = "P"; $param[DISCR] = $res[idEvent][$i]; $param[TYPE] = "CCAM"; $param[CONTENU] = $contenu; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->addRecord(); if ($res[codeActivite4][$i] == "O") { /*//Recherche du nom de l'anesthésiste dans la liste unset($paramRq); $paramRq[code]=$intervenant4; $paramRq[idDomaine]=CCAM_IDDOMAINE; $paramRq[nomListe]="Anesthésie"; $req=new clResultQuery; $res2=$req->Execute("Fichier","CCAM_getNomMed",$paramRq,"ResultQuery"); //eko($res2[INDIC_SVC]); $nomMed4=$res2[nomItem][0];*/ $contenuSuite = "|{$type}|" . $res[identifiant][$i] . "|" . $res[codeActe][$i] . "||4|0|{$dateReal}|{$heureReal}|" . $nomIntervenant4 . "||" . $intervenant4 . "|" . $res[numUFexec][$i] . "|" . $modificateurs4 . "|||oui|{$codeAssociation}"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; unset($param); $param[DTINS] = date("Y-m-d H:i:") . "00"; $param[ETAT] = "P"; $param[DISCR] = $res[idEvent][$i]; $param[TYPE] = "CCAM"; $param[CONTENU] = $contenu; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->addRecord(); } unset($paramModif); $paramModif[validDefinitive] = "O"; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif); $sql = $requete->updRecord("codeActe='" . $res[codeActe][$i] . "' and idDomaine=" . CCAM_IDDOMAINE . " and idEvent=" . $res[idEvent][$i]); } else { $idEvent = $res[idEvent][$i]; /*$numSejour=$res[numSejour][$i]; $idu=$res[idu][$i]; $nomu=$res[nomu][$i]; $pren=$res[pren][$i]; $sexe=$res[sexe][$i]; $dtnai=$res[dtnai][$i]; $numUFdem=$res[numUFdem][$i];*/ $numUFexec = $res[numUFexec][$i]; $nomIntervenant = $res[nomIntervenant][$i]; $matriculeIntervenant = $res[matriculeIntervenant][$i]; $cptDiag == 1 ? $sep = "|" : ($sep = "~"); $contenuDiag .= $res[codeActe][$i] . $sep; $cptDiag++; } // Cas du diagnostic } // Cas des actes CCAM } //for ($i=0;isset($res[identifiant][$i]);$i++) if ($contenuDiag) { /*unset($paramRq); $paramRq[cw]="type='DIAG' and validDefinitive='O' and idEvent=".$res[idEvent][$i]." and idDomaine=".CCAM_IDDOMAINE; $req=new clResultQuery; $res=$req->Execute("Fichier","CCAM_getActesDiagsCotation",$paramRq,"ResultQuery"); //eko($res[INDIC_SVC]); if ($res[INDIC_SVC][2]!=0) $type="modification";*/ $cptDiag--; if ($cptDiag == 1) { $sepDiag = "|"; } else { $sepDiag = ""; } $contenuDiag = substr($contenuDiag, 0, -1); $contenuSuite = "|{$type}|" . $idEvent . "|" . $contenuDiag . $sepDiag . "|||{$dateReal}|{$heureReal}|" . $nomIntervenant . "||" . $matriculeIntervenant . "|" . $numUFexec . "||||"; $contenu = $contenuInit . $contenuInit2 . $contenuInit3 . $contenuSuite; unset($param); $param[DTINS] = date("Y-m-d H:i:") . "00"; $param[ETAT] = "P"; $param[DISCR] = $idEvent; $param[TYPE] = "DIAG"; $param[CONTENU] = $contenu; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->addRecord(); unset($paramModif); $paramModif[validDefinitive] = "O"; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif); $sql = $requete->updRecord("type='DIAG' and idEvent=" . $idEvent . " and idDomaine=" . CCAM_IDDOMAINE); } }
function Documents() { global $session; if (($session->getNavi(3) == "newEdition" or $session->getNavi(3) == "genEdition") and $session->getDroit($this->type . "_Documents", "w") and (!$_POST['Annuler'] and !$_POST['Annuler_x'])) { $session->setLogSup('Lancement du module d\'impression'); $af .= $this->imprDocuments(); } // Récupération des passages précédents. $param[cw] = "WHERE idpatient='" . $this->patient->getID() . "' ORDER BY date DESC"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getDocumentsEdites", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; // Chargement du template ModeliXe. $mod = new ModeliXe("DocumentsEdites.mxt"); $mod->SetModeliXe(); if ($session->getDroit($this->type . "_Documents", "w") and !$this->export) { $mod->MxImage("imgNewEdition", URLIMGEDI, "Nouvelle édition de document"); $mod->MxUrl("lienNewEdition", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "newEdition")); } // Affichage des différents champs. if (!$res['INDIC_SVC'][2]) { $mod->MxBloc("nomscolonnes", "modify", " "); $mod->MxBloc("docs", "modify", " "); } else { $mod->MxBloc("aucundoc", "modify", " "); for ($i = 0; isset($res['idedition'][$i]); $i++) { $date = new clDate($res['date'][$i]); $mod->MxText("docs.date", $date->getDate('d/m/y H:i')); $mod->MxText("docs.nom", $res['nomedition'][$i]); if (ereg('^http://', $res['urledition'][$i])) { $mod->MxText("docs.action", "<a href=\"" . $res['urledition'][$i] . "\" target=\"_new\" ><img src=\"" . URLIMGPDF . "\" alt=\"Voir\" /></a>"); } else { $mod->MxText("docs.action", "<a href=\"" . URLDOCSWEB . $res['urledition'][$i] . "\" target=\"_new\" ><img src=\"" . URLIMGPDF . "\" alt=\"Voir\" /></a>"); } // Boucle sur le bloc hospitalisations. $mod->MxBloc("docs", "loop"); } } // Récupération du code HTML généré. return $mod->MxWrite("1"); }
function genCase($bubulle, $droit = 'form_non_spe') { global $tool; global $session; global $options; if ($this->droit) { $droit = $this->droit; } // Chargement du template ModeliXe. $mod = new ModeliXe("FX_blocActions.mxt"); $mod->SetModeliXe(); $padaction = true; //la en fait on ne genere pas un lien, qui serait la solution la plus simple, mais l'enjeu est de tout gerer (Post, variables de la classe...) lors de la création de la classe. On ne touche pas aux variables de navigation. Donc on va créer un champ qui - pour l'utilisateur - ressemble comme deux gouttes d'eau à un lien mais qui en fait est un appel javascript remplissant un champ caché par une variable donnée. $data = $this->ListFromIds(array('I', 'E', 'F')); if (!isset($data[id_instance][0])) { $mod->MxBloc('actions.frep', 'delete'); } if ($session->getDroit($droit, 'r')) { for ($i = 0; isset($data[id_instance][$i]); $i++) { //chargement $newInstance = new clFoRmX_manip($this->ids, 'NO_POST_THREAT'); $newInstance->loadInstance($data[id_instance][$i]); $xml = $newInstance->XMLCore; //test sur les droits if ($xml['access'] && !$session->getDroit(utf8_decode((string) $xml['access']), 'r')) { continue; } elseif (!$xml['access'] && !$session->getDroit($this->droit, 'r')) { continue; } $padaction = false; $libelle = $data[libelle][$i]; $id = $data['idformx'][$i]; //$creation = $tool->date_simple($data['dt_creation'][$i]) ; //$modif = $tool->date_simple($data['dt_modif'][$i]) ; $dateCr = new clDate($data['dt_creation'][$i]); $mod->MxText("actions.dateForm", $dateCr->getDate("d/m/y H:i")); if (!$libelle) { $libelle = $data[idformx][$i]; } switch ($data[status][$i]) { case 'I': $mod->MxText("actions.statut", "<span style='color:red'>Initialisée</span>"); break; case 'E': $mod->MxText("actions.statut", "<span style='color:orange'>En cours</span>"); break; case 'F': $mod->MxText("actions.statut", "<span style='color:green'>Fini</span>"); break; default: $mod->MxText("actions.statut", "<span style='color:blue'>Inconnu</span>"); break; } //$mod -> MxText ( "actions.creation", $creation ) ; //$mod -> MxText ( "actions.modif", $modif ) ; $mod->MxText("actions.libelle", $libelle); //eko($id); if (!eregi('Radio', $libelle) and !eregi('Bio', $libelle) and !eregi('Spécialisée', $libelle)) { $mod->MxBloc('actions.frep', 'delete'); } else { if (eregi('Radio', $libelle)) { $libelleC = 'radio'; } elseif (eregi('Bio', $libelle) && eregi('2009', $libelle)) { $libelleC = 'bio2009'; } elseif (eregi('Bio', $libelle)) { $libelleC = 'labo'; } else { $libelleC = 'spe'; } //$mod->Mxattribut("actions.frep.code","document.FoRmXcase.Formulaire2print.value = '".$libelleC."';document.FoRmXcase.submit();"); if (!$options->getOption("imprRadioRadio") && ereg('Radio', $libelle) && ereg('radio', $libelle) || !$options->getOption("imprRadioScanner") && ereg('Radio', $libelle) && ereg('scanner', $libelle) || !$options->getOption("imprRadioEcho") && ereg('Radio', $libelle) && ereg('échographie', $libelle)) { $mod->MxBloc("actions.frep", "delete"); } else { $mod->MxText("actions.frep.lienPrint", "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2)) . "&Formulaire2print={$libelleC}&FormX_ext_goto_=" . $data[id_instance][$i] . "&act_print=1\" target=\"_blank\">"); } } $resume = addslashes(str_replace('"', "'", $newInstance->gen_resume())); $mod->Mxattribut("actions.codemouseover", "return overlib('" . $resume . "', CAPTION, '" . addslashes($data[libelle][$i]) . "');"); unset($newInstance); $mod->Mxattribut("actions.codemouseout", "return nd()"); $mod->Mxattribut("actions.code", "document.FoRmXcase.FormX_ext_goto_.value = '" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); if ($session->getDroit($droit, 'd')) { $mod->Mxattribut("actions.frem.code", "document.FoRmXcase.FormX_ext_goto_.value = 'RM" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("actions.frem", "delete"); } if ($session->getDroit($droit, 'a') && $data[status][$i] == 'F') { $mod->Mxattribut("actions.fed.code", "document.FoRmXcase.FormX_ext_goto_.value = 'ED" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("actions.fed", "delete"); } $mod->MxBloc("actions", "loop"); } } if ($padaction) { $mod->MxBloc("actions.frem", "delete"); $mod->MxBloc("actions.fed", "delete"); $mod->MxBloc("titre", "delete"); } else { $mod->MxBloc("padetitre", "delete"); } //le bouton de creation de nouvelle instance d'action if ($session->getDroit($droit, 'w')) { $mod->Mxattribut("nouveauF.newact_code", "document.FoRmXcase.FormX_ext_goto_.value = 'new';document.FoRmXcase.submit();"); global $options; if ($options->getOption("racBonRadio")) { $mod->Mxattribut("racbonradio.newRadio", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradio", "delete"); } if ($options->getOption("racBonLabo")) { $options->getOption("bio2009") ? $f = "Formulaire_Bio2009" : ($f = "Formulaire_Bio"); $mod->Mxattribut("racbonlabo.newLabo", "document.FoRmXcase.FormX_to_open_.value = '" . $f . "';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonlabo", "delete"); } if ($options->getOption("racBonConSpe")) { $mod->Mxattribut("racboncs.newCS", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Consultation_Specialisee';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racboncs", "delete"); } if ($options->getOption("racBonRadioRadio")) { $mod->Mxattribut("racbonradioradio.newRadioRadio", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Radio';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioradio", "delete"); } if ($options->getOption("racBonRadioScanner")) { $mod->Mxattribut("racbonradioscanner.newRadioScanner", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Scanner';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioscanner", "delete"); } if ($options->getOption("racBonRadioEcho")) { $mod->Mxattribut("racbonradioecho.newRadioEcho", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Echographies';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioecho", "delete"); } if ($options->getOption("DoubleEtablissement")) { $mod->Mxattribut("transfert.newT", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Transfert';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("transfert", "delete"); } } else { $mod->MxBloc("nouveauF", "delete"); } if ($bubulle) { $bubulle->addBulle("nv_action", "Créez une nouvelle action sur ce patient"); } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); return $mod->MxWrite("1"); }
function genPat($idpatient) { global $session; global $options; // Si un idpatient est tranmis, alors on récupère ses informations // à l'aide de la classe Patient. if ($idpatient) { $patient = new clPatient($idpatient, $session->getNavi(5)); $pat[NMA] = $patient->getNom(); $pat[PRE] = $patient->getPrenom(); $pat[DNA] = $patient->getDateNaissance(); $pat[SEX] = $patient->getSexe(); $date = new clDate($patient->getDateAdmission()); $dateA = new clDate(); $dateE = new clDate($patient->getDateExamen()); $dateS = new clDate($patient->getDateSortie()); $pat[DTA] = $date->getDate($options->getOption("Documents Date")); $pat[HEA] = $date->getDate("H:i"); $pat[MED] = $patient->getMedecin(); $pat[DHS] = $dateS->getDate($options->getOption("Documents Date")); $pat[DHE] = $dateE->getDate($options->getOption("Documents Date")); $pat[IPP] = $patient->getILP(); $pat[SEJ] = $patient->getNSej(); $pat[ADD] = $patient->getAdresse(); $pat[CPO] = $patient->getCodePostal(); $pat[VIL] = $patient->getVille(); $pat[IDE] = $patient->getIDE(); $pat[SAL] = $patient->getSalle(); $pat[CCM] = $patient->getCCMU(); $pat[GRA] = $patient->getCodeGravite(); $pat[UF] = $patient->getUF(); $pat[CRE] = $patient->getCategorieRecours(); $pat[MRE] = $patient->getMotifRecours(); $pat[COR] = $patient->getCodeRecours(); $pat[DES] = $patient->getDestinationSouhaitee(); $pat[DAT] = $patient->getDestinationAttendue(); $pat[CDI] = $patient->getCategorieDiagnostic(); $pat[DIA] = $patient->getLibelleDiagnostic(); $pat[DIC] = $patient->getCodeDiagnostic(); // Sinon, nous renseignons avec les valeurs par défaut. } else { $pat[NMA] = "Bon"; $pat[PRE] = "Jean"; $date = new clDate("1981-12-24 22:30:00"); $pat[DNA] = $date->getDate($options->getOption("Documents Date")); $pat[SEX] = "1"; $date = new clDate(); $pat[DTA] = $date->getDate($options->getOption("Documents Date")); $pat[HEA] = $date->getDate("H:i"); $pat[MED] = "Testeur"; $pat[DHS] = $date->getDate($options->getOption("Documents Date")); $pat[DHE] = $date->getDate($options->getOption("Documents Date")); $pat[IPP] = "777777777"; $pat[SEJ] = "666666666"; $pat[ADD] = "Rue des patients"; $pat[CPO] = "83400"; $pat[VIL] = "PatientsVille"; $pat[IDE] = "IDE"; $pat[SAL] = "Salle"; $pat[CCM] = "II"; $pat[GRA] = "2"; $pat[UF] = "2701"; $pat[CRE] = "Catégorie de recours"; $pat[MRE] = "Motif de recours"; $pat[COR] = "CodeRecours"; $pat[DES] = "Destination souhaitée"; $pat[DAT] = "Destination attendue"; $pat[CDI] = "Catégorie de diagnotic"; $pat[DIA] = "Diagnostic"; $pat[DIC] = "Code diagnostic"; } // On renvoie le tableau généré. return $pat; }
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); }
function genAffichage() { global $session; global $options; // Chargement du template ModeliXe. $outputLignes = array(); $mod = new ModeliXe("ExportAPHM.mxt"); $mod->SetModeliXe(); // Initialisation des dates en fonction de l'état actuel : // A la date du jour si aucune valeur n'a été passée. if ($_POST['date2']) { $dt1 = new clDate($_POST['date1']); $dt2 = new clDate($_POST['date2']); } else { $dt2 = new clDate(date("Y-m-d 00:00:00")); $dt1 = new clDate(date("Y-m-d 00:00:00")); $dt1->addDays(-1); } // Retrait d'un jour à la date1 si date1 == date2 if ($dt1->getTimestamp() == $dt2->getTimestamp()) { $dt1->addDays(-1); } // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2. if ($dt1->getTimestamp() > $dt2->getTimestamp()) { $tmp_dt3 = $dt1->getTimestamp(); $tmp_dt4 = $dt2->getTimestamp(); $dt1 = new clDate($tmp_dt4); $dt2 = new clDate($tmp_dt3); } // Calcul de la liste des valeurs possibles pour la date1. $old = ''; for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); // if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates1)) { $listeDates1 = array(); } // Calcul de la liste des valeurs possibles pour la date2. $dtj = new clDate(date("Y-m-d 00:00:00")); $dtj->addDays(1); $dt = new clDate(DATELANCEMENT); $old = ''; for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); //if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates2)) { $listeDates2 = array(); } // Fabrication des listes dans ModeliXe. $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1); $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2); // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas // le bloc contenant le lien vers l'export. if (!$_POST['Chercher'] and !$_POST['Chercher_x']) { $mod->MxBloc("donnees", "modify", " "); } else { // Affichage du lien vers le fichier contenant l'export. // Récupération de tous les patients entre les deux dates données. //Le calcul commence ici $req = new clResultQuery(); $param[table] = PSORTIS; /* // En fonction du filtre sélectionné. switch ( $_POST['filtre'] ) { //case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ; break ; ca//se 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break; case 'norm': $filter = "AND uf!=".$options->getOption('numUFUHCD')."" ; break ; case 'uhcd': $filter = "AND uf=".$options->getOption('numUFUHCD')."" ; break; default: $filter = "" ; break ; } */ if ($_POST['idpassage']) { $param['cw'] = " WHERE ilp = '" . $_POST['idpassage'] . "' "; } else { $param['cw'] = " WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' "; } //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; //eko ( $res['INDIC_SVC'] ) ; if ($res[INDIC_SVC][2] > 1) { $s = "s"; } // Affichage d'un résumé des résultats. $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]); $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}"); if (!$options->getOption('CCAMExterne')) { $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d'))); $jj->initTableauActesDiag($res); } // Parcours des différents résultats. $tabResFinal = array(); $nbMaxActesNGAP = 0; $indiceMaxNbActesNgap = 0; //PARCOURS for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. $tabLigne = array(); $naissance = new clDate($res[dt_naissance][$i]); $dtn = $naissance->getDate("d/m/Y"); if ($res[dt_admission][$i] != '0000-00-00 00:00:00') { $admission = new clDate($res[dt_admission][$i]); $dta = $admission->getDate("d/m/Y"); $hma = $admission->getDate("H:i"); } else { $dta = '--'; $hma = '--'; } if ($res[dt_examen][$i] != '0000-00-00 00:00:00') { $examen = new clDate($res[dt_examen][$i]); $dte = $examen->getDate("d/m/Y"); $hme = $examen->getDate("H:i"); } else { $dte = '--'; $hme = '--'; } if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') { $sortie = new clDate($res[dt_sortie][$i]); $dts = $sortie->getDate("d/m/Y"); $hms = $sortie->getDate("H:i"); } else { $dts = '--'; $hme = '--'; } $uf = $res[uf][$i]; $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) { $isuhcd = 1; } else { $isuhcd = 0; } //le patient est uhcd mais pas dans une salle uhcd ? $isVirtualUhcd = false; if ($ufUHCD && !ereg($options->getOption('FiltreSalleUHCD'), $res['salle_examen'][$i])) { $isVirtualUhcd = true; $codeUm = $options->getOption('UMUHCDFictif'); } // Préparation des différents champs de l'enregistrement parcouru. if ($res[ilp][$i]) { $ilp = $res[ilp][$i]; } else { $ilp = "-"; } if ($res[uf][$i]) { $uf = $res[uf][$i]; } else { $uf = "-"; } if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $res[dt_UHCD][$i]; } else { $dtUHCD = "0000-00-00 00:00:00"; } $nbSecPassage = $sortie->getDifference($admission); $nbHeurepassage = floor($nbSecPassage / 3600); $nbMinpassage = floor(($nbSecPassage - $nbHeurepassage * 3600) / 60); $strDureePassage = ($nbHeurepassage > 9 ? '' : '0') . $nbHeurepassage . ':' . ($nbMinpassage > 9 ? '' : '0') . $nbMinpassage; $tabActesNGAP = clExportAphm::getTabListeCodesNGAP($i, $jj->tabExport); //eko($tabActesNGAP); $tabLigneCCAM['CODE_HOMON'] = '1'; $tabLigneCCAM['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneCCAM['UM'] = $isVirtualUhcd ? $codeUm : ''; $tabLigneCCAM['DATENT'] = $dta . ' ' . $hma; $tabLigneCCAM['DIAG_PPAL'] = $res['diagnostic_code'][$i]; $tabLigneCCAM['DIAG_RELI'] = ''; //eko(clExportAphm::getTabListeDiagsCCAM ($i,$jj -> tabExport)); $tabLigneCCAM['DIAG_ASSO'] = implode(' ', clExportAphm::getTabListeDiagsCCAM($i, $jj->tabExport)); $tabLigneCCAM['NPI'] = $res['ilp'][$i] . 'B'; $tabLigneCCAM['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneCCAM['NOM_PATRO'] = $res['nom'][$i]; $tabLigneCCAM['PRENOM'] = $res['prenom'][$i]; $tabLigneCCAM['MARITAL'] = ''; $tabLigneCCAM['SEXE'] = $res['sexe'][$i] == 'M' ? 'H' : 'F'; $tabLigneCCAM['DDN'] = $dtn; $tabLigneCCAM['UF_EXEC'] = $res['uf'][$i]; $tabLigneCCAM['ACTES'] = implode(' ', clExportAphm::getTabListeCodesCCAM($i, $jj->tabExport)); $tabLigneCCAM['DEST_SOUHA'] = $res['dest_souhaitee'][$i]; $tabLigneCCAM['DEST_ATTEN'] = $res['dest_attendue'][$i]; $tabLigneCCAM['DUR_PASSAGE'] = $strDureePassage; $tabLigneCCAM['CODE_GRAV'] = $res['code_gravite'][$i]; $tabLigneNGAP['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneNGAP['NOM_PATRO'] = $res['nom'][$i]; $tabLigneNGAP['PRENOM'] = $res['prenom'][$i]; $tabLigneNGAP['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneNGAP['NOM_MARITAL'] = ''; $tabLigneNGAP['DATE_PASSAGE'] = $dte . ' ' . $hme; $tabLigneNGAP['MAJORATIONS_EVENTUELLES'] = clExportAphm::getMajoration($examen, $naissance); for ($cmptActe = 1; isset($tabActesNGAP[$cmptActe - 1]); $cmptActe++) { $nbMaxActesNGAP = max($nbMaxActesNGAP, $cmptActe); $tabLigneNGAP['ACTE_' . $cmptActe] = $tabActesNGAP[$cmptActe - 1]; } $cmptActe--; if ($nbMaxActesNGAP == $cmptActe) { $tabTypeNGAP = $tabLigneNGAP; } $outputLignesCCAM[] = implode("\t", $tabLigneCCAM); $outputLignesNGAP[] = implode("\t", $tabLigneNGAP); } $headerCCAM = array(); if (isset($tabLigneCCAM)) { foreach ($tabLigneCCAM as $k => $v) { $headerCCAM[] = $k; } } $headerNGAP = array(); foreach ($tabTypeNGAP as $k => $v) { $headerNGAP[] = $k; } $ficCCAM = implode("\t", $headerCCAM) . "\n" . implode("\n", $outputLignesCCAM); $ficNGAP = implode("\t", $headerNGAP) . "\n" . implode("\n", $outputLignesNGAP); // Calcul du nom du fichier temporaire. $nomfic = "exportCCAM" . date("YmdHis") . ".xls"; $nomfic2 = "exportNGAP" . date("YmdHis") . ".xls"; // Création, écriture et fermeture du fichier. $FIC = fopen(URLCACHE . $nomfic, "w"); $FIC2 = fopen(URLCACHE . $nomfic2, "w"); fwrite($FIC, $ficCCAM); fwrite($FIC2, $ficNGAP); fclose($FIC); fclose($FIC2); // Calcul du lien vers ce fichier. $mod->MxUrl("donnees.lienExport", URLCACHEWEB . $nomfic); $mod->MxUrl("donnees.lienExport2", URLCACHEWEB . $nomfic2); // On purge le répertoire temporaire de tous les fichiers qui ont plus de deux heures. $poub = new clPoubelle(URLCACHE); $poub->purgerRepertoire("2"); $isExport = true; } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // On retourne le code HTML généré par le template. $this->af .= $mod->MxWrite("1"); }
static function makeDateToday() { $obDateTmp = new clDate(); $obDateTmp = new clDate($obDateTmp->getDate()); return $obDateTmp; }
function genAffichage($dt1, $dt2) { global $session; global $options; global $jj; global $titreCCMU; global $titreGEMSA; global $titreTraumato; $fic = ''; // Chargement du template ModeliXe. $mod = new ModeliXe("Export.mxt"); $mod->SetModeliXe(); // Initialisation des dates en fonction de l'état actuel : // A la date du jour si aucune valeur n'a été passée. // Retrait d'un jour à la date1 si date1 == date2 if ($dt1->getTimestamp() == $dt2->getTimestamp()) { $dt1->addDays(-1); } // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2. if ($dt1->getTimestamp() > $dt2->getTimestamp()) { $tmp_dt3 = $dt1->getTimestamp(); $tmp_dt4 = $dt2->getTimestamp(); $dt1 = new clDate($tmp_dt4); $dt2 = new clDate($tmp_dt3); } // Calcul de la liste des valeurs possibles pour la date1. $old = ''; for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); // if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates1)) { $listeDates1 = array(); } // Calcul de la liste des valeurs possibles pour la date2. $dtj = new clDate(date("Y-m-d 00:00:00")); $dtj->addDays(1); $dt = new clDate(DATELANCEMENT); $old = ''; for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); //if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates2)) { $listeDates2 = array(); } // Fabrication des listes dans ModeliXe. $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1, '', '', "onChange=\"reload(this.form)\""); $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2, '', '', "onChange=\"reload(this.form)\""); // Gestion du filtre avec des bouttons radio. if (!isset($_POST['filtre'])) { $_POST['filtre'] = "tous"; } $mod->MxCheckerField("filtre1", "radio", "filtre", "tous", $_POST['filtre'] == "tous" ? true : false); $mod->MxCheckerField("filtre2", "radio", "filtre", "norm", $_POST['filtre'] == "norm" ? true : false); $mod->MxCheckerField("filtre3", "radio", "filtre", "uhcd", $_POST['filtre'] == "uhcd" ? true : false); // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas // le bloc contenant le lien vers l'export. if (!$_POST['Chercher'] and !$_POST['Chercher_x']) { $mod->MxBloc("donnees", "modify", " "); } else { // Affichage du lien vers le fichier contenant l'export. // Récupération de tous les patients entre les deux dates données. $req = new clResultQuery(); $param[table] = PSORTIS; // En fonction du filtre sélectionné. switch ($_POST['filtre']) { /* case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ; break ; case 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break; */ case 'norm': $filter = "AND uf!=" . $options->getOption('numUFUHCD') . ""; break; case 'uhcd': $filter = "AND uf=" . $options->getOption('numUFUHCD') . ""; break; default: $filter = ""; break; } $param[cw] = "WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' {$filter}"; //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; //eko ( $res['INDIC_SVC'] ) ; if ($res[INDIC_SVC][2] > 1) { $s = "s"; } // Affichage d'un résumé des résultats. $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]); $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}"); if (!$options->getOption('CCAMExterne')) { $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d'))); $jj->initTableauActesDiag($res); } if ($options->getOption("GestionCCMU")) { if ($res[ccmu][$i]) { $ccmu = "\t" . $res[ccmu][$i]; } else { $ccmu = "\t"; } $titreCCMU = "\tCCMU"; } else { $ccmu = ''; $titreCCMU = ''; } if ($options->getOption("GestionGEMSA")) { if ($res[gemsa][$i]) { $gemsa = "\t" . $res[gemsa][$i]; } else { $gemsa = "\t"; } $titreGEMSA = "\tGEMSA"; } else { $gemsa = ''; $titreGEMSA = ''; } if ($options->getOption("GestionTraumato")) { if ($res[traumato][$i]) { $traumato = "\t" . $res[traumato][$i]; } else { $traumato = "\t"; } $titreTraumato = "\tTraumato"; } else { $traumato = ''; $titreTraumato = ''; } // Parcours des différents résultats. for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. set_time_limit(30); $naissance = new clDate($res[dt_naissance][$i]); $dtn = $naissance->getDate("d/m/Y"); if ($res[dt_admission][$i] != '0000-00-00 00:00:00') { $admission = new clDate($res[dt_admission][$i]); $dta = $admission->getDate("d/m/Y"); $hma = $admission->getDate("H:i"); } else { $dta = '--'; $hma = '--'; } if ($res[dt_examen][$i] != '0000-00-00 00:00:00') { $examen = new clDate($res[dt_examen][$i]); $dte = $examen->getDate("d/m/Y"); $hme = $examen->getDate("H:i"); } else { $dte = '--'; $hme = '--'; } if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') { $sortie = new clDate($res[dt_sortie][$i]); $dts = $sortie->getDate("d/m/Y"); $hms = $sortie->getDate("H:i"); } else { $dts = '--'; $hme = '--'; } $uf = $res[uf][$i]; $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) { $isuhcd = 1; } else { $isuhcd = 0; } //eko($jj -> tabExport); // Préparation des différents champs de l'enregistrement parcouru. if ($res[ilp][$i]) { $ilp = $res[ilp][$i]; } else { $ilp = "-"; } if ($res[uf][$i]) { $uf = $res[uf][$i]; } else { $uf = "-"; } $dateUhcd = new clDate($res[dt_UHCD][$i]); if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $dateUhcd->getDate('Y-m-d H:i:00'); } else { $dtUHCD = ""; } if ($res[nsej][$i]) { $nsej = $res[nsej][$i]; } else { $nsej = "-"; } if ($res[nom][$i]) { $nom = $res[nom][$i]; } else { $nom = "-"; } if ($res[prenom][$i]) { $prenom = $res[prenom][$i]; } else { $prenom = "-"; } if ($res[sexe][$i]) { $sexe = $res[sexe][$i]; } else { $sexe = "-"; } if ($res[adresse_cp][$i]) { $adresse_cp = $res[adresse_cp][$i]; } else { $adresse_cp = "-"; } if ($res[medecin_traitant][$i]) { $medecin_traitant = preg_replace("/(\r\n|\n|\r)/", " ", $res[medecin_traitant][$i]); } else { $medecin_traitant = "-"; } if ($res[adresseur][$i]) { $adresseur = $res[adresseur][$i]; } else { $adresseur = "-"; } if ($res[mode_admission][$i]) { $mode_admission = $res[mode_admission][$i]; } else { $mode_admission = "-"; } if ($res[medecin_urgences][$i]) { $medecin_urgences = $res[medecin_urgences][$i]; } else { $medecin_urgences = "-"; } if ($res[salle_examen][$i]) { $salle_examen = $res[salle_examen][$i]; } else { $salle_examen = "-"; } if ($res[recours_categorie][$i]) { $recours_categorie = $res[recours_categorie][$i]; } else { $recours_categorie = "-"; } if ($res[motif_recours][$i]) { $motif_recours = $res[motif_recours][$i]; } else { $motif_recours = "-"; } if (!$options->getOption('getRecoursCIM10')) { if ($res[recours_code][$i]) { $recours_code = $res[recours_code][$i]; } else { $recours_code = "-"; } } else { if ($res[recours_code][$i]) { $recours_code = strtr($res[recours_code][$i], '.', ''); } else { $recours_code = "-"; } } if ($res[code_gravite][$i]) { $code_gravite = $res[code_gravite][$i]; } else { $code_gravite = "-"; } if ($res[dest_souhaitee][$i]) { $dest_souhaitee = $res[dest_souhaitee][$i]; } else { $dest_souhaitee = "-"; } if ($res[dest_attendue][$i]) { $dest_attendue = ' ' . $res[dest_attendue][$i]; } else { $dest_attendue = "-"; } if ($res[ide][$i]) { $ide = $res[ide][$i]; } else { $ide = "-"; } if ($res[motif_transfert][$i]) { $motif_transfert = $res[motif_transfert][$i]; } else { $motif_transfert = "-"; } if ($res[moyen_transport][$i]) { $moyen_transport = $res[moyen_transport][$i]; } else { $moyen_transport = "-"; } if ($res[type_destination][$i]) { $type_destination = $res[type_destination][$i]; } else { $type_destination = "-"; } if ($res[diagnostic_categorie][$i]) { $diagnostic_categorie = $res[diagnostic_categorie][$i]; } else { $diagnostic_categorie = "-"; } if ($res[diagnostic_libelle][$i]) { $diagnostic_libelle = $res[diagnostic_libelle][$i]; } else { $diagnostic_libelle = "-"; } if ($res[diagnostic_code][$i]) { $diagnostic_code = $res[diagnostic_code][$i]; } else { $diagnostic_code = "-"; } if ($options->getOption("GestionCCMU")) { if ($res[ccmu][$i]) { $ccmu = "\t" . $res[ccmu][$i]; } else { $ccmu = "\t"; } $titreCCMU = "\tCCMU"; } else { $ccmu = ''; $titreCCMU = ''; } if ($options->getOption("GestionGEMSA")) { if ($res[gemsa][$i]) { $gemsa = "\t" . $res[gemsa][$i]; } else { $gemsa = "\t"; } $titreGEMSA = "\tGEMSA"; } else { $gemsa = ''; $titreGEMSA = ''; } if ($options->getOption("GestionTraumato")) { if ($res[traumato][$i]) { $traumato = "\t" . $res[traumato][$i]; } else { $traumato = "\t"; } $titreTraumato = "\tTraumato"; } else { $traumato = ''; $titreTraumato = ''; } // Génération de la ligne correspondant à l'enregistrement. // $fic .= "$ilp\t$nsej\t$nom\t$prenom\t$dtn\t$sexe\t$adresse_cp\t$medecin_traitant\t$dta\t$hma\t$adresseur\t$mode_admission\t$dte\t$hme\t$medecin_urgences\t$salle_examen\t$recours_categorie\t$motif_recours\t$recours_code\t$code_gravite\t$dest_souhaitee\t$dest_attendue\t$dts\t$hms\t$ide\t$moyen_transport\t$motif_transfert\t$type_destination\t$diagnostic_categorie\t$diagnostic_libelle\t$diagnostic_code\n" ; if ($options->getOption('CCAMExterne')) { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\n"; } else { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\t" . $jj->getActesDiagsPatient($i); } } // Calcul du lien vers ce fichier. } return $fic; }
function getDates($type = '') { // Initialisation des dates. $dateT = new clDate(); $date = new clDate($dateT->getDate()); if ((!$this->dateMin or !$this->dateMax) and !isset($this->setDate)) { $dateA = new clDate(isset($_GET['dateMin']) ? $_GET['dateMin'] : $date->getDate('Y-m-d')); $date->addDays(1); $dateB = new clDate(isset($_GET['dateMax']) ? $_GET['dateMax'] : $date->getDate('Y-m-d')); $date->addDays(-1); if ($dateA->getTimestamp() > $dateB->getTimestamp()) { $this->dateMax = $dateA->getTimestamp(); $this->dateMin = $dateB->getTimestamp(); } else { $this->dateMax = $dateB->getTimestamp(); $this->dateMin = $dateA->getTimestamp(); } } // Fabrication de la liste de dates de la dernière année. $date->addYears(-1); $oneYear = $date->getTimestamp(); $date->addYears(1); $date->addDays(1); $today = $date->getTimestamp(); for ($i = $today; $i >= $oneYear; $i -= 86400) { $date->setDate($i); $tab[$i] = $date->getDate("d-m-Y"); } return is_array($tab) ? $tab : array(); }
function gestSend() { global $session; // Chargement du template ModeliXe. $mod = new ModeliXe("rpuGestSend.html"); $mod->SetModeliXe(); $dateL = new clDate(DATELANCEMENT); $dateA = new clDate(); $dateA->addDays(-1); $tabDate[$dateA->getDate('Y-m-d')] = 'Hier'; $dateA->addDays(-1); for (; $dateL->getTimestamp() < $dateA->getTimestamp(); $dateA->addDays(-1)) { $tabDate[$dateA->getDate('Y-m-d')] = $dateA->getDateText(); } $mod->MxSelect('listeDates', 'dateRPU', $_POST['dateRPU'], $tabDate, '', '', 'onChange="reload(this.form)"'); $mod->MxHidden('hidden', 'navi=' . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->genXMLH1N1($_POST['dateRPU']); $this->genXML($_POST['dateRPU']); $mod->MxText('xmlRpu', '<p>' . nl2br(htmlentities($this->xmlRpu)) . '</p>'); $mod->MxText('message', $this->sendXML($_REQUEST['EnvoyerRPU'])); $this->af .= $mod->MxWrite("1"); }
function genListeTodo() { $req = new XhamRequete(BASEXHAM, 'todo', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS); switch ($this->xham->getr('Categorie')) { case 'all': $filtreCates = "1=1"; break; case '#': $filtreCates = "categorie=''"; break; default: $filtreCates = "categorie='" . utf8_decode($this->xham->getr('Categorie')) . "'"; break; } switch ($this->xham->getr('idUser')) { case 'all': $filtreUsers = "(idUser='******' OR public=1)"; break; case '#': $filtreUsers = "idUser='******'"; break; default: $filtreUsers = "idUser='******'idUser') . "'"; break; } switch ($this->xham->getr('Mode')) { default: $filtreModes = "etat like '" . $this->xham->getr('Mode') . "'"; break; } $filtre = " {$filtreCates} and {$filtreUsers} and {$filtreModes} "; $res = $req->getGen("{$filtre} order by etat, date", "resultQuery"); $ras = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='afaire' order by etat", "resultQuery", 'sum(importance) nbHeures'); $rus = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='encours' order by etat", "resultQuery", 'sum(importance) nbHeures'); $ris = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='termines' order by etat", "resultQuery", 'sum(importance) nbHeures'); //print affTab ( $ras['INDIC_SVC'] ) ; $mod = new ModeliXe("TodoListe.html"); $mod->SetModeliXe(); $mod->MxText('recap', 'A faire : ' . ($ras['nbHeures'][0] ? $ras['nbHeures'][0] : '0') . 'h - En cours : ' . ($rus['nbHeures'][0] ? $rus['nbHeures'][0] : '0') . 'h - Terminés : ' . ($ris['nbHeures'][0] ? $ris['nbHeures'][0] : '0') . 'h'); $date = new clDate(); if ($res['INDIC_SVC'][2] == 0) { $mod->MxBloc('todo', 'replace', '<td colspan="6">Aucun todo.</td>'); } else { for ($i = 0; isset($res['idTodo'][$i]); $i++) { $js = XhamTools::genAjax('onClick', 'refreshTodo', 'ajax=changeStatus&idTodo=' . $res['idTodo'][$i] . '&navi=' . $this->xham->genNaviFull()); /* if ( $res['etat'][$i] != 'termines' ) $mod -> MxText ( 'todo.js', $js ) ; else $mod -> MxText ( 'todo.js', '' ) ; */ $mod->MxText('todo.js', $js); $mod->MxText('todo.class', $res['etat'][$i]); $mod->MxText('todo.idUser', $res['idUser'][$i]); $mod->MxText('todo.categorie', $res['categorie'][$i]); $mod->MxText('todo.nom', $res['nom'][$i]); $date->setDate($res['date'][$i]); $mod->MxText('todo.date', $date->getDate('Y-m-d H:i:s')); if ($res['dateLimite'][$i] != '0000-00-00 00:00:00') { $date->setDate($res['dateLimite'][$i]); $mod->MxText('todo.dateLimite', $date->getDate('Y-m-d')); } else { $mod->MxText('todo.dateLimite', VIDEDEFAUT); } $mod->MxText('todo.importance', $res['importance'][$i]); $mod->MxBloc('todo', 'loop'); } } $af = $mod->MxWrite("1"); if ($this->ajax) { $this->af .= $af; } else { return $af; } }
function genGraphs($mod, $dateG = '', $nbDays = '7') { $param['cs'] = "*"; $req = new clResultQuery(); $date = new clDate($dateG); $dateT = new clDate($date->getDate("Y-m-d 00:00:00")); $dateT->addDays(-1); $dateH = new clDate($dateT->getDate("Y-m-d")); $dateT->addDays(1); $dateT->addDays(-$nbDays); $dateS = new clDate($dateT->getDate("Y-m-d")); $dateT->addDays($nbDays); $j = 0; for ($dateDeb = $dateH; $dateDeb->getTimestamp() < $dateT->getTimestamp();) { $heureA = $dateDeb->getHours(); $dateA = $dateDeb->getDatetime(); $dateDeb->addHours(1); $param['cs'] = "*"; $param['cw'] = "WHERE iduser LIKE '" . $_POST['choix'] . "' AND ( date BETWEEN '" . $dateA . "' AND '" . $dateDeb->getDatetime() . "' ) AND idapplication=" . IDAPPLICATION . " AND type='navi'"; $res = $req->Execute("Fichier", "getLogs", $param, "ResultQuery"); $tab[0][0][] = $res['INDIC_SVC'][2]; //eko ( $res['INDIC_SVC'] ) ; $tab[1][0][$j] = 0; $tab[1][1][$j] = 0; // $tab[0][1][$j] = 0 ; $titres[1][] = $heureA . "h - " . $dateDeb->getHours() . "h"; for ($i = 0; isset($res['idlog'][$i]); $i++) { $tab[1][0][$j] += $res['tempsPage'][$i]; $tab[1][1][$j] += $res['tempsSQL'][$i]; //$tab[0][1][$j] += $res['nombreSQL'][$i] ; } if ($res['INDIC_SVC'][2]) { $tab[1][0][$j] = $tab[1][0][$j] / $res['INDIC_SVC'][2]; $tab[1][1][$j] = $tab[1][1][$j] / $res['INDIC_SVC'][2]; } $j++; } $dateH->addDays(-1); $jpG = new clJpGraph(); $jpG->arh_graph("Nombre de clics et requetes par heure (" . $_POST['choix'] . ") - " . $dateH->getDateText(), '', '', $tab[0], array('Clics', 'Requetes'), array('#DDCC55', '#CC3355'), 800, 500, "image1.png", $titres[1], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%d"); $jpG->arh_graph("Temps moyen par heure (" . $_POST['choix'] . ") - " . $dateH->getDateText(), '', '', $tab[1], array('Temps total', 'Temps SQL'), array('#DDCC55', '#CC3355'), 800, 400, "image2.png", $titres[1], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%2.2f"); $j = 0; for ($dateDeb = $dateS; $dateDeb->getTimestamp() < $dateT->getTimestamp();) { $jourA = $dateDeb->getDayWeek(); $dateA = $dateDeb->getDatetime(); $dateDeb->addDays(1); $param['cs'] = "*"; $param['cw'] = "WHERE iduser LIKE '" . $_POST['choix'] . "' AND ( date BETWEEN '" . $dateA . "' AND '" . $dateDeb->getDatetime() . "' ) AND idapplication=" . IDAPPLICATION . " AND type='navi'"; $res = $req->Execute("Fichier", "getLogs", $param, "ResultQuery"); $tab[2][0][] = $res['INDIC_SVC'][2]; $titres[2][] = $jourA; /* //eko ( $res['INDIC_SVC'] ) ; $tab[3][0][$j] = 0 ; $tab[3][1][$j] = 0 ; //$tab[2][1][$j] = 0 ; $titres[2][] = $jourA ; for ( $i = 0 ; isset ( $res['idlog'][$i] ) ; $i++ ) { $tab[3][0][$j] += $res['tempsPage'][$i] ; $tab[3][1][$j] += $res['tempsSQL'][$i] ; //$tab[2][1][$j] += $res['nombreSQL'][$i] ; } if ( $res['INDIC_SVC'][2] ) { $tab[3][0][$j] = $tab[3][0][$j] / $res['INDIC_SVC'][2] ; $tab[3][1][$j] = $tab[3][1][$j] / $res['INDIC_SVC'][2] ; } $j++ ; */ } // eko ( $tab[3][1] ) ; $jpG->arh_graph("Nombre de clics et requetes par jour (" . $_POST['choix'] . ") ", '', '', $tab[2], array('Clics', 'Requetes'), array('#DDCC55', '#CC3355'), 800, 500, "image3.png", $titres[2], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%d"); //$jpG->arh_graph( "Temps moyen par jour - ".$date->getDateText ( ),'','', $tab[3], array ( 'Temps total', 'Temps SQL' ), array ( '#DDCC55', '#CC3355' ), 800, 400, "image4.png", $titres[2], "45", '#C8DE3D', "groupbar", '#FFFFFF', "%2.2f" ) ; }
function 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(); }
public function affectPost2XML($item) { global $formxSession; //Certains items ne peuvent être instanciés if (in_array($item->getAttribute('type'), array('CLOSER'))) { return; } $reg = array(); //eko("affectation de la variable ".$this->prefix.$item->getAttribute('id')." à ".$_POST[$this->prefix.$item->getAttribute('id')]); //eko("je traite le post ".$this->prefix.$item->getAttribute('id')); $this->debug("Entrée dans affectPost2XML," . "affectation de la variable " . $this->prefix . $item->getAttribute('id') . " à la valeur " . clFoRmXtOoLs::getPost($this->prefix . $item->getAttribute('id'))); //si pas de données post pour cet item, mais que sa valeur n'est pas nulle, surtout on ne //touche à rien, on risquerait d'écraser les données //ex: balises conditionelles //isPostValueForItem se charge des cas particuliers (ex CHECK ) //f ( ! $this->isPostValueForItem($item) && (string) $item->getElementsByTagName('Val')->item(0)->nodeValue ) { if (!$this->isPostValueForItem($item)) { $this->debug("Aucune donnée POST n'est associée à cet item, Sortie de la methode"); return; } //si pas les droits au moins W $droit = $this->session->droit; if ($this->XMLCore['access']) { $droit = utf8_decode((string) $this->XMLCore['access']); } if ($item->getAttribute('access')) { $droit = utf8_decode($item->getAttribute('access')); } if (!$formxSession->getDroit($droit, 'w')) { $this->debug("acces refusé en écriture. cet item est associé au droit '{$droit}'"); return; } if (is_object($item->getElementsByTagName('Val')->item(0))) { $val_old_value = $item->getElementsByTagName('Val')->item(0)->nodeValue; } else { $val_old_value = ""; } switch ($item->getAttribute('type')) { case 'LISTEN': // echo(afftab($_POST)); $i = 0; $val = ''; while ($_POST[$this->prefix . $item->getAttribute('id') . '_LISTEN_' . $i]) { $val .= stripslashes($_POST[$this->prefix . $item->getAttribute('id') . '_LISTEN_' . $i]) . '|'; $i++; } $val = rtrim($val, '|'); $this->makeBalVal($item, 'Val', $val); break; case 'TAB': ereg("list:(.*)", $item->getElementsByTagName('Rows')->item(0)->nodeValue, $reg); $rows = explode('|', $reg[1]); ereg("list:(.*)", $item->getElementsByTagName('Cols')->item(0)->nodeValue, $reg); $cols = explode('|', $reg[1]); $nb_cols = 0; foreach ($cols as $col) { $nb_cols++; } $x = 0; $y = 0; $tab = array(); foreach ($rows as $row) { foreach ($cols as $col) { $tab[$y * $nb_cols + $x] = $_POST[$this->prefix . $item->getAttribute('id') . "_{$x}" . "_{$y}"]; $x++; } $x = 0; $y++; } $tab = implode('|', $tab); $this->makeBalVal($item, 'Val', $tab); break; case 'LISTEDYN': //SI DEMANDE on va inserer dans la liste XHAM la valeur demandée $nouveau = stripslashes($_POST[$this->prefix . $item->getAttribute('id') . '_new']); if ($nouveau) { $param['liste_nom'] = $item->getElementsByTagName('FromXHAMList')->item(0)->nodeValue; $param['item_nom'] = $nouveau; $param['idapplication'] = IDAPPLICATION; $req = new clResultQuery(); //execution de la requete $res = $req->Execute("Fichier", "FX_addXHAMListItem", $param, "ResultQuery"); //eko($res['INDIC_SVC']); //nouvelle valeur $this->makeBalVal($item, 'Val', $nouveau); break; } //insertOnList //insertOnList case 'LISTE': if ($item->hasAttribute('multiple')) { if (!isset($_POST[$this->prefix . $item->getAttribute('id')]) || !$_POST[$this->prefix . $item->getAttribute('id')]) { $this->makeBalVal($item, 'Val', ''); } else { $this->makeBalVal($item, 'Val', @stripslashes(implode('|', $_POST[$this->prefix . $item->getAttribute('id')]))); } } else { $this->makeBalVal($item, 'Val', stripslashes($_POST[$this->prefix . $item->getAttribute('id')])); } break; case 'FILE': if (!$item->hasAttribute('extension')) { $this->addErreur("L'attribut extention n'est pas présent. Pour des raisons de sécurité la balise FILE est désactivée."); break; } if ($item->hasAttribute('rename')) { $rename = $item->getAttribute('rename'); } else { $rename = ''; } if ($item->hasAttribute('destination')) { $destination = $item->getAttribute('destination'); } else { $destination = $this->destinationUploads; } if ($item->hasAttribute('maxfilesize')) { $maxfilesize = $item->getAttribute('maxfilesize'); } else { $maxfilesize = $this->max_size_upload; } $re = clFoRmXtOoLs::gestUpload($this->prefix . $item->getAttribute('id'), $destination, $rename, $maxfilesize, utf8_decode($item->getAttribute('extension'))); if ($re) { $this->makeBalVal($item, 'Val', 'ok'); } else { $this->makeBalVal($item, 'Val', '¤ko'); } break; case 'RADIO': case 'CHECK': if (!isset($_POST[$this->prefix . $item->getAttribute('id')])) { $this->makeBalVal($item, 'Val', ''); break; } if ($_POST[$this->prefix . $item->getAttribute('id')] == '') { $this->makeBalVal($item, 'Val', ''); } else { //debug horreur de php 5.1.3 $dat = $_POST[$this->prefix . $item->getAttribute('id')]; $this->makeBalVal($item, 'Val', stripslashes(clFoRmXtOoLs::implode_r($dat))); } break; case 'CAL': $postval = stripslashes($_POST[$this->prefix . $item->getAttribute('id')]); $this->makeBalVal($item, 'Val2', $postval); if ($item->hasAttribute('formatStore') && $postval) { $date = new clDate($postval); switch ($item->getAttribute('formatStore')) { case 'timestamp': $newval = $date->getTimestamp(); break; case 'date': $newval = $date->getDate(); break; case 'datetime': default: $newval = $date->getDatetime(); break; } $this->makeBalVal($item, 'Val', $newval); } else { $this->makeBalVal($item, 'Val', $postval); } break; default: $this->makeBalVal($item, 'Val', formxTools::helper_formatDatatype($item, stripslashes($_POST[$this->prefix . $item->getAttribute('id')]))); } $val_new_value = $item->getElementsByTagName('Val')->item(0)->nodeValue; //si la valeur de la balise a été modifiée et que d'autres éléments dynamiques dépendent de sa valeur, //on réinitialise leur valeurs pour ne pas avoir d'incohérences if ($val_new_value != $val_old_value && is_object($item->getElementsByTagName('OnChangeRefresh')->item(0))) { $strListIds = $this->getValueFrom($item->getElementsByTagName('OnChangeRefresh')->item(0)->nodeValue); $arrListIds = explode('|', $strListIds); foreach ($arrListIds as $id) { //print "<br />va chercher ".$id; $this->makeBalVal($this->getDomItemFromId($id), 'Val', ""); if (isset($_POST[$this->prefix . $id])) { unset($_POST[$this->prefix . $id]); } } } }
static function genInfoBulle($res, $i) { global $options; $e = ''; // Chargement du template ModeliXe. $mod = new ModeliXe("InfoBulle.mxt"); $mod->SetModeliXe(); // Génération de l'id pour rattacher l'info-bulle à une entrée de la liste. $mod->MxText("iddiv", "id" . $res['idpatient'][$i]); $libelle = ''; $libelle .= "<b>idpatient : </b>" . $res['idpatient'][$i] . "<br/>"; if ($res['idu'][$i] != $res['ilp'][$i]) { $libelle .= "<b>IDU : </b>" . $res['idu'][$i] . "<br/>"; } $libelle .= "<b>IPP : </b>" . $res['ilp'][$i] . "<br/>"; $libelle .= "<b>NSej : </b>" . $res['nsej'][$i] . "<br/>"; // Affichage des informations sur l'UF $ufExec = $options->getOption('numUFexec'); $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); $ufSC = $options->getOption('numUFSC'); $dtUHCD = new clDate($res['dt_UHCD'][$i]); if ($res['uf'][$i] == $ufUHCD) { $sup = '(UHCD)'; } elseif ($res['uf'][$i] == $ufSC) { $sup = '(Soins Continus)'; } elseif ($res['uf'][$i] == $ufUHCDrepere and $res['uf'][$i]) { $sup = '(UHCD repéré)'; } elseif (!$res['uf'][$i]) { $sup = '(???)'; } else { $sup = '(Urgences)'; } $libelle .= "<b>UF : </b>" . $res['uf'][$i] . " {$sup}<br/>"; // Etat civil $libelle .= "<b>(" . $res['sexe'][$i] . ") " . ucfirst(strtolower($res['prenom'][$i])) . " " . strtoupper($res['nom'][$i]) . "</b><br />"; $age = new clDate($res['dt_naissance'][$i]); $dta = new clDate($res['dt_admission'][$i]); $dte = new clDate($res['dt_examen'][$i]); $dts = new clDate($res['dt_sortie'][$i]); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); if ($res['dt_naissance'][$i] != "0000-00-00 00:00:00") { $libelle .= "Né{$e} le {$dateComple} (" . str_replace("<br>", " et ", $duree->getAgePrecis($age->getTimestamp())) . ")<br />"; } else { $libelle .= "Date de naissance inconnue<br />"; } // Date d'admission. if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'admission :</b> " . $dta->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Date d'examen. if ($res['dt_examen'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'examen :</b> " . $dte->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Date de sortie. if ($res['dt_sortie'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date de sortie :</b> " . $dts->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date de sortie :</b> " . VIDEDEFAUT . "<br />"; } // Adresseur. if ($res['adresseur'][$i]) { $libelle .= "<b>Adresseur :</b> " . $res['adresseur'][$i] . "<br />"; } else { $libelle .= "<b>Adresseur :</b> " . VIDEDEFAUT . "<br />"; } // Mode d'admission. if ($res['mode_admission'][$i]) { $libelle .= "<b>Mode d'admission :</b> " . $res['mode_admission'][$i] . "<br />"; } else { $libelle .= "<b>Mode d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Médecin. if ($res['medecin_urgences'][$i]) { $libelle .= "<b>Médecin :</b> " . $res['medecin_urgences'][$i] . "<br />"; } else { $libelle .= "<b>Médecin :</b> " . VIDEDEFAUT . "<br />"; } // IDE. if ($res['ide'][$i]) { $libelle .= "<b>IDE :</b> " . $res['ide'][$i] . "<br />"; } else { $libelle .= "<b>IDE :</b> " . VIDEDEFAUT . "<br />"; } // Salle d'examen. if ($res['salle_examen'][$i]) { $libelle .= "<b>Salle d'examen :</b> " . $res['salle_examen'][$i] . "<br />"; } else { $libelle .= "<b>Salle d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Motif de recours. if ($res['motif_recours'][$i]) { $libelle .= "<b>Motif de recours :</b> " . $res['motif_recours'][$i] . "<br />"; } else { $libelle .= "<b>Motif de recours :</b> " . VIDEDEFAUT . "<br />"; } // Destination souhaitée. if ($res['dest_souhaitee'][$i]) { $libelle .= "<b>Dest. souhaitée :</b> " . $res['dest_souhaitee'][$i] . "<br />"; } else { $libelle .= "<b>Dest. souhaitée :</b> " . VIDEDEFAUT . "<br />"; } // Destination attendue. if ($res['dest_attendue'][$i]) { $libelle .= "<b>Dest. attendue :</b> " . $res['dest_attendue'][$i] . "<br />"; } else { $libelle .= "<b>Dest. attendue :</b> " . VIDEDEFAUT . "<br />"; } // Catégorie de diagnostic. if ($res['diagnostic_categorie'][$i]) { $libelle .= "<b>Cat. de diag. :</b> " . $res['diagnostic_categorie'][$i] . "<br />"; } else { $libelle .= "<b>Cat. de diag. :</b> " . VIDEDEFAUT . "<br />"; } // Diagnostic. if ($res['diagnostic_libelle'][$i]) { $libelle .= "<b>Diagnostic :</b> " . $res['diagnostic_libelle'][$i] . "<br />"; } else { $libelle .= "<b>Diagnostic :</b> " . VIDEDEFAUT . "<br />"; } // CCMU. if ($res['ccmu'][$i]) { $libelle .= "<b>CCMU :</b> " . $res['ccmu'][$i] . "<br />"; } // GEMSA. if ($res['gemsa'][$i]) { $libelle .= "<b>GEMSA :</b> " . $res['gemsa'][$i] . "<br />"; } // Ajout des informations dans l'info-bulle. $text = preg_replace("/(\r\n|\n|\r)/", " ", nl2br($libelle)); $mod->MxText("libelle", str_replace("'", "\\'", $text)); // Récupération du code HTML généré. return $mod->MxWrite("1"); }
function genListes() { global $session; // Chargement du template ModeliXe. $mod = new ModeliXe("FusionPatients.mxt"); $mod->SetModeliXe(); // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.erreurs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } // Initialisation des variables. if (isset($_POST['valeurNom'])) { $_SESSION['valeurNom'] = $_POST['valeurNom']; } if (isset($_POST['valeurPrenom'])) { $_SESSION['valeurPrenom'] = $_POST['valeurPrenom']; } if (isset($_POST['valeurAnnee'])) { $_SESSION['valeurAnnee'] = $_POST['valeurAnnee']; } // Génération des champs du formulaire. $mod->MxFormField("nom", "text", "valeurNom", stripslashes($_SESSION['valeurNom'])); $mod->MxFormField("prenom", "text", "valeurPrenom", stripslashes($_SESSION['valeurPrenom'])); // Fabrication du filtre pour la requête. $dateVal = new clDate($_POST['filtreDate']); if (($_SESSION['valeurNom'] or $_SESSION['valeurPrenom']) and $_POST['valeurDate']) { $this->filtre = "AND nom LIKE '" . $_SESSION['valeurNom'] . "%' " . ($_SESSION['valeurPrenom'] ? " AND prenom LIKE '" . $_SESSION['valeurPrenom'] . "%'" : '') . " AND dt_admission LIKE '" . $dateVal->getDate("Y-m-d") . "%'"; } elseif ($_SESSION['valeurNom'] or $_SESSION['valeurPrenom']) { $this->filtre = "AND nom LIKE '" . $_SESSION['valeurNom'] . "%'" . ($_SESSION['valeurPrenom'] ? " AND prenom LIKE '" . $_SESSION['valeurPrenom'] . "%'" : ''); } elseif ($_POST['filtreDate']) { $this->filtre = "AND dt_admission LIKE '" . $dateVal->getDate("Y-m-d") . "%'"; } elseif (!isset($_POST['filtreDate'])) { $this->filtre = "AND dt_admission LIKE '" . date("Y-m-d") . "%'"; } // Génération des dates possibles. //$dt = new clDate ( DATELANCEMENT ) ; $dt = new clDate(); $dt->addWeeks(-13); $this->filtre .= " AND dt_admission>='" . $dt->getDate('Y-m-d') . "%'"; $listeDates[] = "Pas de filtre"; // Calcul de la liste des valeurs possibles pour la date. $dta = new clDate(date("Y-m-d 00:00:00")); if (!isset($_POST['filtreDate'])) { $_POST['filtreDate'] = $dta->getTimestamp(); } for (; $dt->getTimestamp() <= $dta->getTimestamp(); $dta->addDays(-1)) { $listeDates[$dta->getTimestamp()] = $dta->getDate("d-m-Y"); } // Si on n'a aucune date, on initialise la variable avec un tableau vide (pour ModeliXe). if (!is_array($listeDates)) { $listeDates = array(); } // Passage du tableau de dates à ModeliXe. $mod->MxSelect("date", "filtreDate", $_POST['filtreDate'], $listeDates, '', '', "onChange=\"reload(this.form)\""); // Récupération et ajout dans ModeliXe de la liste des patients entrés manuellement. $manuels = $this->getPatientsManuels(); $mod->MxSelect("manuels", "manuel", isset($_POST['manuel']) ? $_POST['manuel'] : '', $manuels, '', '', "size=\"25\""); // Récupération et ajout dans ModeliXe de la liste des patients entrés automatiquement. $automatiques = $this->getPatientsAutomatiques(); $mod->MxSelect("automatiques", "automatique", isset($_POST['automatique']) ? $_POST['automatique'] : '', $automatiques, '', '', "size=\"25\""); // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); // Affichage du bouton "Fusionner" en fonction des droits. if (!$session->getDroit("Administration_Fusions", "w")) { $mod->MxBloc("fusionner", "modify", " "); } // On enlève le bouton "Supprimer" pour le moment. $mod->MxBloc("supprimer", "modify", " "); // Récupération du code généré par ModeliXe. $this->af .= $mod->MxWrite("1"); }
function getContraintes() { global $session; global $options; // Chargement du template. $mod = new ModeliXe("ErreursSortie.mxt"); $mod->SetModeliXe(); // Génération du lien pour fermer. $mod->MxImage("imgCloseErreurs", URLIMGFER, "Fermer"); $mod->MxUrl("lienCloseErreurs", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); $tab = $this->messages; // Parcours et affichage des messages d'erreur. while (list($key, $val) = each($tab)) { $mod->MxText("erreur.nom", $key); $mod->MxText("erreur.description", $val); $mod->MxBloc("erreur", "loop"); } if ($session->getDroit("Presents_EtatCivil", "a")) { $mod->MxHidden("forcer.hiddenForcer", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "modDateSortie")); // Pour générer des formulaires plus loin. $form = new clForm(); // Date d'exécution. $now = new clDate(); // Récupération des options. $retourmax = $options->getOption("Dates Patient"); $tranches = $options->getOption("DatesDécoup Patient"); // Préparation de la première date de la liste. $now->addHours(-$retourmax); $min = $now->getTimestamp(); $now->addHours($retourmax); if ($tranches >= 5) { $minutes = $now->getMinutes(); $minutesless = $minutes % 5; $now->addMinutes(-$minutesless); } $data[now] = 'Maintenant'; $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); // On parcourt les dates en fonctions des options. for ($i = 0; $now->getTimestamp() >= $min; $i += $tranches) { $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); $now->addMinutes(-$tranches); } // On génère le select contenant la liste des dates possibles. $mod->MxText("forcer.date", $form->genSelect("modDateSortie", 1, $data)); } else { $mod->MxBloc("forcer", "modify", " "); } // Récupération du code HTML généré. $af .= $mod->MxWrite("1"); return $af; }