public function setInfo($ind, $val, $request = '') { if ($this->id) { if ($request) { $param[$ind] = isset($_REQUEST[$val]) ? $_REQUEST[$val] : $request; } else { $param[$ind] = $val; } $requete = new clRequete(BDD, $this->nomTable, $param); $sql = $requete->updRecord($this->nomId . '=' . $this->id); } }
function setAuto($idpatient, $table) { global $session; $data['manuel'] = 0; $data['valide'] = 0; $data['iduser'] = '******'; // Appel de la classe Requete. $requete = new clRequete(BDD, $table, $data); // Exécution de la requete. $requete->updRecord("idpatient={$idpatient}"); $session->setLogSup("Suppression du patient manuel (idpatient={$idpatient})"); }
function mbtv2Traited($id, $dateT = '') { $date = new clDate($dateT); $param['DTTRT'] = $date->getDatetime(); $param['ETAT'] = "W"; $majrq = new clRequete(CCAM_BDD, "MBTV2", $param); $sql = $majrq->updRecord("ID={$id}"); }
function modItem() { global $session; global $options; global $errs; $req = new clResultQuery(); // Récupération des anciennes informations de l'item à modifier. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomliste='" . $_POST['liste'] . "' AND iditem='" . $_POST['item'] . "'"; $res1 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // Récupération de tous les autres items. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND categorie='" . $this->type . "' AND nomliste='" . $_POST['liste'] . "'"; $res2 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // Vérification de la présence d'une liste portant le nouveau nom. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomitem='" . $_POST['nomItemF'] . "' and iditem!='" . $res1[iditem][0] . "' AND nomliste='" . $_POST['liste'] . "'"; $res3 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // Vérification que l'item existe. if ($res1[INDIC_SVC] > 0) { // Vérification d'un changement de nom. if ($res1[nomitem][0] != stripslashes($_POST['nomItemF'])) { // Nouveau nom libre ou pas. if ($res3[INDIC_SVC][2] == 0) { // Nouveau nom correct. if (eregi("[0-9a-zA-Z]", $_POST['nomItemF'])) { // Mise à jour du nom de l'item dans la base. $data[nomitem] = $_POST['nomItemF']; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data); $requete->updRecord("iditem='" . $_POST['item'] . "'"); // Message d'information. $this->infos .= "L'item \"" . $res1[nomitem][0] . "\" de la liste \"" . stripslashes($_POST['liste']) . "\" a changé de nom : \n \"" . stripslashes($_POST['nomItemF']) . "\".<br />"; } else { // Message d'erreur. $this->erreurs .= "Le nom choisi ne doit pas être vide."; } } else { // Message d'erreur. $this->erreurs .= "Le nom choisi pour l'item \"" . $res1[nomitem][0] . "\" est déjà utilisé. La modification est annulée.<br />"; } } // On vérifie si l'item a changé de position ou non. if ($_POST['item'] != $_POST['placerF']) { // Suppression du rang actuel et décalage du rang des autres items. $rang = $res1[rang][0]; $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND rang>'{$rang}' AND categorie='" . $this->type . "' AND nomitem!='LISTE' AND nomliste='" . $_POST['liste'] . "'"; $res4 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); for ($i = 0; isset($res4[iditem][$i]); $i++) { $data3[rang] = $res4[rang][$i] - 1; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data3); $requete->updRecord("iditem='" . $res4[iditem][$i] . "'"); } // Calcul du rang suivant. if ($_POST['placerF']) { $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND iditem='" . $_POST['placerF'] . "' AND categorie='" . $this->type . "'"; $res6 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); $rang = $res6[rang][0] + 1; } else { $rang = 1; } // Décalage de tous les items d'un rang. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND rang>='{$rang}' AND categorie='" . $this->type . "' AND nomitem!='LISTE' AND nomliste='" . $_POST['liste'] . "'"; $res5 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); for ($i = 0; isset($res5[iditem][$i]); $i++) { $data4[rang] = $res5[rang][$i] + 1; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data4); $requete->updRecord("iditem='" . $res5[iditem][$i] . "'"); } // Mise à jour du rang de l'item. if ($_POST['placerF']) { $data5[rang] = $res6[rang][0] + 1; } else { $data5[rang] = 1; } $requete = new clRequete(CCAM_BDD, "ccam_liste", $data5); $requete->updRecord("iditem='" . $res1[iditem][0] . "'"); // Message d'information. $this->infos .= "L'item \"" . $res1[nomitem][0] . "\" a changé de position.<br />"; /*if ($this->type == "ListeMédecins" ) { $dataUf[code] = $_POST['ufF'] ; $requete = new clRequete ( CCAM_BDD, "ccam_liste", $dataUf ) ; $requete->updRecord ( "nomitem='LISTE' and nomliste='".$_REQUEST["liste"]."'" ) ; // Mise à jour de l'Uf dans la table ccam_uf_spe $dataSpe[numeroUF] = $_POST['ufF'] ; $requete = new clRequete ( CCAM_BDD, "ccam_uf_spe", $dataSpe ) ; $requete->updRecord ( "libelleSpecialite='".$_REQUEST["liste"]."'" ) ; }*/ } // On vérifie si le code a changé. if ($res1[code][0] != $_POST['codeF']) { $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND code='" . $_POST['codeF'] . "' AND categorie='" . $this->type . "' AND nomliste='" . $_POST['liste'] . "'"; $res6 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); if (eregi("[0-9a-zA-Z]", $_POST['codeF']) && $this->type != "Documents") { // code modifié pour permettre de saisir des codes ADELI non unique if ($res6[INDIC_SVC][2] > 0 && $this->type != "Documents") { $this->erreurs .= "L'item \"" . $res6[nomitem][0] . "\" a déjà ce code attribué. Merci d'en choisir un autre."; } else { // Mise à jour du rang de l'item. if ($_POST['codeF']) { $data6[code] = $_POST['codeF']; } else { $data6[code] = '_'; } $requete = new clRequete(CCAM_BDD, "ccam_liste", $data6); $requete->updRecord("iditem='" . $res1[iditem][0] . "'"); $this->infos .= "Le code \"" . $res1[code][0] . "\" de l'item \"" . $res1[nomitem][0] . "\" a changé : \"" . stripslashes($_POST['codeF']) . "\"<br />"; } } else { $this->erreurs = "Le code ne doit pas être vide."; } } } else { // Signalement d'une erreur si l'item à modifier n'existe pas. $this->erreurs .= "L'item ne peut pas être modifié (id=\"{$idItem}\") car il n'existe pas."; $errs->addErreur("clListesGenerales : L'item ne peut pas être modifié (id=\"{$idIditem}\") car il n'existe pas."); } }
function modifyDiags() { global $session; unset($retourInfos); unset($param); $param[idActe] = $_POST['nvxCode']; $param[libelleActe] = $_POST['libActe']; $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe='{$param['idActe']}' AND idDomaine=" . CCAM_IDDOMAINE); $retourInfos[infos] = "La famille d'actes '" . $_POST['nvxCode'] . "' a été modifiée"; return $retourInfos; }
function delActesPatient($idActe) { global $session; unset($retourInfos); $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $param); $sql = $requete->delRecord("codeActe='{$idActe}' AND idEvent=" . $this->idEvent); //MAJ Fréquence d'utilisation de l'acte $paramRq[idDomaine] = CCAM_IDDOMAINE; $paramRq[idActe] = $idActe; $req3 = new clResultQuery(); $res3 = $req3->Execute("Fichier", "CCAM_getMaxFreqActe", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res3[INDIC_SVC]); unset($param); $param[frequence] = $res3[freq_max][0] - 1; $majrq = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $sql = $majrq->updRecord("idActe='{$paramRq['idActe']}' AND idDomaine=" . CCAM_IDDOMAINE); $retourInfos = "L'acte '" . $idActe . "' n'est plus affecté au patient en cours"; return $retourInfos; }
function majPatientHL7($data, $table, $ilp = '', $base = BDD, $res = '') { global $errs; unset($data['uf']); unset($data['prevenir']); unset($data['medecin_traitant']); unset($data['mode_admission']); if ($ilp) { unset($data['nsej']); unset($data['dt_admission']); $requete = new clRequete($base, $table, $data); $res = $requete->updRecord("ilp='" . $data['ilp'] . "'"); } elseif ($data['nsej']) { if ($res['dt_sortie'][0] != '0000-00-00 00:00:00') { $dates = new clDate($res['dt_sortie'][0]); $datea = new clDate($data['dt_admission']); eko($data['dt_admission']); if ($datea->getTimestamp() > $dates->getTimestamp()) { unset($data['dt_admission']); } eko($data['dt_admission']); } $requete = new clRequete($base, $table, $data); $res = $requete->updRecord("nsej='" . $data['nsej'] . "'"); } if ($ilp) { //$errs->addErreur ( afftab($res) ) ; } //eko ( $data ) ; //eko ( $res ) ; $this->mods1++; }
function modRang($idmenu, $type, $action) { global $session; if ($session->getDroit("Configuration_Navigation", "m")) { $param['cw'] = "WHERE idunique='{$idmenu}'" . " AND idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getMenus", $param, "ResultQuery"); if ($type == "menu") { $param['cw'] = "WHERE type='menu'" . " AND idapplication=" . IDAPPLICATION; $ras = $req->Execute("Fichier", "getMenus", $param, "ResultQuery"); } else { $param['cw'] = "WHERE menuparent='" . $res['menuparent'][0] . "' AND idapplication=" . IDAPPLICATION; $ras = $req->Execute("Fichier", "getMenus", $param, "ResultQuery"); } if ($res['rang'][0] == 1 and $action < 0) { $this->erreurs .= "Impossible d'augmenter le rang de cet élément."; } if ($res['rang'][0] == $ras['INDIC_SVC'][2] and $action > 0) { $this->erreurs .= "Impossible de descendre le rang de cet élément."; } $param['cw'] .= " AND rang=" . ($res['rang'][0] + $action); $rus = $req->Execute("Fichier", "getMenus", $param, "ResultQuery"); // Préparation du tableau de données. $data['rang'] = $res['rang'][0] + $action; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLENAVI, $data); // Exécution de la requete. $requete->updRecord("idmenu=" . $res['idmenu'][0]); // Préparation du tableau de données. $data['rang'] = $res['rang'][0]; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLENAVI, $data); // Exécution de la requete. $requete->updRecord("idmenu=" . $rus['idmenu'][0]); return isset($af) ? $af : ''; } }
function majDroitsProd() { $data = array(); // On efface les droits de base (idgroupe=0) sur le serveur de production. $raq = new clRequete(BASEXHAM, TABLEDROITS, $data, 'prod'); if ($raq->getConn()) { $ris = $raq->delRecord("idgroupe=0 AND idapplication=" . IDAPPLICATION); // On récupère la liste des droits. $req = new clResultQuery(); $param[cw] = "WHERE idgroupe=0 AND idapplication=" . IDAPPLICATION; $res = $req->Execute("Fichier", "getDroitsTous", $param, "ResultQuery"); //eko ( $res[INDIC_SVC] ) ; // Récupération du nom des attributs d'un droit. while (list($key, $val) = each($res)) { if ($key != "INDIC_SVC" and $key != "iddroit") { $keys[] = $key; } } // Pacours des droits existants. for ($i = 0; isset($res['iddroit'][$i]); $i++) { // Pour chaque droit on vérifie s'il existe en production. $param['cw'] = "WHERE idgroupe=0 AND libelle='" . addslashes($res['libelle'][$i]) . "' AND idapplication=" . IDAPPLICATION; $ras = $req->Execute("Fichier", "getDroitsProd", $param, "ResultQuery"); //eko ( $ras[INDIC_SVC] ) ; // S'il n'existe pas, if (!$ras['INDIC_SVC'][2]) { // On prépare le tableau contenant toutes les données du droit. for ($j = 0; isset($keys[$j]); $j++) { $data[$keys[$j]] = $res[$keys[$j]][$i]; } // On ajoute le droit en production. $raq = new clRequete(BASEXHAM, TABLEDROITS, $data, 'prod'); $ris = $raq->addRecord(); eko("insert : " . $res['libelle'][$i]); // S'il existe déjà, } else { // On prépare le tableau contenant les champs à mettre à jour. for ($j = 0; isset($keys[$j]); $j++) { if ($keys[$j] != "valeur" and $keys[$j] != "idgroupe") { $data[$keys[$j]] = $res[$keys[$j]][$i]; } } // On met à jour le droit en production. $raq = new clRequete(BASEXHAM, TABLEDROITS, $data, 'prod'); $ris = $raq->updRecord("libelle='" . addslashes($res['libelle'][$i]) . "' AND idapplication=" . IDAPPLICATION); eko("update : " . $res['libelle'][$i]); //eko ( $ris ) ; } } // Affichage d'un message d'information. $this->infos .= "La liste des droits a été mise à jour en production."; } }
$contenuMBTV2 = explode("|", $res[CONTENU][$i]); $codeActe = $contenuMBTV2[11]; $codeAdeli = $contenuMBTV2[18]; unset($paramRq); $paramRq[cw] = "categorie='ListeMédecins' and code='{$codeAdeli}' and idDomaine=" . CCAM_IDDOMAINE; $res3 = $req->Execute("Fichier", "CCAM_getSpeMedecin", $paramRq, "ResultQuery"); $libelleSpe = $res3[nomliste][0]; //echo "rq:".$res3[INDIC_SVC][15]."<br>idEvent:$idEvent-codeActe:$codeActe-libSpe:$libelleSpe<br>"; unset($param); if ($libelleSpe) { if ($tabSpecialite["{$libelleSpe}"]) { $param[numUFexec] = $tabSpecialite["{$libelleSpe}"]; } else { $param[numUFexec] = "3301"; } } else { $param[numUFexec] = "3301"; } $majrq = new clRequete(CCAM_BDD, "ccam_cotation_actes", $param); $sql = $majrq->updRecord("idEvent={$idEvent} and codeActe='{$codeActe}'"); /*//Ecriture dans la BAL $cw="and codeActe='$codeActe'"; $ccam->writeBALSorti($cw); //Récupération de l'ID de la table MBTV2 d'origine et maj MBTV2 unset($param); $param[ID]=$id; $majrq=new clRequete(CCAM_BDD,"MBTV2",$param); $sql=$majrq->updRecord("discr='$idEvent' and contenu like '%|$codeActe|%'");*/ echo "Fin de traitement pour discr={$idEvent}<br>"; }
function launchFusion($data) { eko("Lancement de la fusion des patients " . $data['nsej'] . " et " . $data['fusion']); $info['idu'] = $data['idu']; $info['ilp'] = $data['ilp']; $info['nom'] = $data['nom']; $info['prenom'] = $data['prenom']; $info['sexe'] = $data['sexe']; $info['dt_naissance'] = $data['dt_naissance']; $info['adresse_libre'] = $data['adresse_libre']; $info['adresse_cp'] = $data['adresse_cp']; $info['adresse_ville'] = $data['adresse_ville']; $info['telephone'] = $data['telephone']; $info['medecin_traitant'] = $data['medecin_traitant']; // Appel de la classe Requete. $requete = new clRequete(BDD, PPRESENTS, $info); // Exécution de la requete. $res = $requete->updRecord("idu='" . $data['fusion'] . "'"); // eko ( $res ) ; // Appel de la classe Requete. $requete = new clRequete(BDD, PSORTIS, $info); // Exécution de la requete. $res = $requete->updRecord("idu='" . $data['fusion'] . "'"); // eko ( $res ) ; // Recherche du dernier séjour de ce patient dans les présents $req = new clResultQuery(); $param2['table'] = PPRESENTS; $param2['cw'] = "WHERE idu='" . $data['idu'] . "' ORDER BY dt_admission DESC"; $pres = $req->Execute("Fichier", "getPatients", $param2, "ResultQuery"); // eko ( $pres['INDIC_SVC'] ) ; // Recherche du dernier séjour de ce patient dans les sortis $param2['table'] = PSORTIS; $param2['cw'] = "WHERE idu='" . $data['idu'] . "' ORDER BY dt_admission DESC"; $sort = $req->Execute("Fichier", "getPatients", $param2, "ResultQuery"); // eko ( $sort['INDIC_SVC'] ) ; }
function addItem($nomListe) { global $options; // On vérifie qu'un item ne porte pas déjà ce nom. $param['cw'] = "WHERE nomitem='" . addslashes(stripslashes($_POST['nomItemF'])) . "' AND nomliste='" . addslashes(stripslashes($nomListe)) . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getListesItems", $param, "ResultQuery"); // On signale l'erreur si le nom est déjà pris. if ($res['INDIC_SVC'][2] > 0) { $this->erreurs .= "Dans la liste \"{$nomListe}\", un item portant ce nom (\"" . $_POST['nomItemF'] . "\") existe déjà. La création est annulée."; } else { // Nouveau nom correct. if (eregi("[0-9a-zA-Z]", $_POST['nomItemF'])) { if ($options->getOption($nomListe . " Id") and !eregi("[0-9a-zA-Z]", $_POST['libreF'])) { $this->erreurs .= "L'identifiant est un champ obligatoire."; } else { // On positionne correctement le nouvel item et on déplace les autres. if ($options->getOption(stripslashes($nomListe)) != "Manuel") { $rang = 1; } else { $param['cw'] = "WHERE iditem='" . $_POST['placerF'] . "' and nomliste='" . addslashes(stripslashes($nomListe)) . "'"; $res2 = $req->Execute("Fichier", "getListesItems", $param, "ResultQuery"); $rang = (isset($res2['rang'][0]) ? $res2['rang'][0] : 0) + 1; } $param['cw'] = "WHERE rang>='{$rang}' AND nomliste='" . addslashes($nomListe) . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getListesItems", $param, "ResultQuery"); for ($i = 0; isset($res['iditem'][$i]); $i++) { $data2['rang'] = $res['rang'][$i] + 1; $requete = new clRequete(BASEXHAM, "listes", $data2); $requete->updRecord("iditem='" . $res['iditem'][$i] . "'"); } // Insertion du nouveau item. $data['categorie'] = "ListesGenerales"; $data['nomliste'] = $nomListe; $data['nomitem'] = $_POST['nomItemF']; $data['rang'] = $rang; $data['valide'] = 1; $data['localisation'] = isset($_POST['typeF']) ? $_POST['typeF'] : ''; if ($nomListe == 'Destinations attendues') { $data['libre'] = $_POST['destpmsi'] . $_POST['ori']; } else { $data['libre'] = isset($_POST['libreF']) ? $_POST['libreF'] : ''; } $data['idapplication'] = IDAPPLICATION; $requete = new clRequete(BASEXHAM, "listes", $data); $requete->addRecord(); // Message d'information. $this->infos .= "L'item \"" . $_POST['nomItemF'] . "\" a été ajouté dans la liste \"" . stripslashes($nomListe) . "\"."; } } else { $this->erreurs .= "Le nom choisi ne doit pas être vide."; } } }
function genMod() { global $session; global $options; if ($session->getDroit("Liste_Radio", "m")) { if ($session->getNavi(1) == "valDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = $_REQUEST['valDate']; $data['dt_encours'] = $_REQUEST['valDate']; $data['etat'] = 'b'; $session->setLogSup("Radio : prise en charge"); break; /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ case 'dateD': $data['dt_fin'] = $_REQUEST['valDate']; $session->setLogSup("Radio : terminée"); $data['etat'] = 'd'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } elseif ($session->getNavi(1) == "annDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = '0000-00-00 00:00:00'; $data['dt_encours'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de la prise en charge"); $data['etat'] = 'a'; break; case 'dateC': /* $data['dt_encours'] = '0000-00-00 00:00:00' ; $session->setLogSup ( "Radio : annulation de 'en cours'" ) ; $data['etat'] = 'b' ; */ break; case 'dateD': $data['dt_fin'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de 'terminée'"); $data['etat'] = 'b'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } $_SESSION['typeModJS'] = ''; $req = new clResultQuery(); $param['cw'] = 'where r.idpatient=p.idpatient and idradio=' . $session->getNavi(2); $param['base'] = $this->getBaseFromIdRadio($session->getNavi(2)); // Exécution de la requête. $res = $req->Execute("Fichier", "getRadios", $param, "ResultQuery"); // print affTab ( $res['INDIC_SVC'] ) ; // Chargement du template de modeliXe. $mod = new ModeliXe("RadioMod.html"); $mod->SetModeliXe(); $mod->MxText("patient", strtoupper($res['nom'][0]) . ' ' . ucfirst(strtolower($res['prenom'][0]))); $et = $res['etat'][0]; // ************ // // * CREATION * // // ************ // $mod->MxText("etape.nomEtape", "Création : "); $date = new clDate($res['dt_creation'][0]); if ($res['dt_creation'][0] != '0000-00-00 00:00:00') { $dateA = $date->getDate('d/m/Y H:i'); } else { $dateA = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateA); $mod->MxBloc("etape.formEtape", "delete"); $mod->MxBloc("etape.annulerEtape", "delete"); $mod->MxBloc("etape", "loop"); // ******* // // * PEC * // // ******* // $mod->MxText("etape.nomEtape", "Prise en charge : "); $date = new clDate($res['dt_pec'][0]); if ($res['dt_pec'][0] != '0000-00-00 00:00:00') { $dateB = $date->getDate('d/m/Y H:i'); } else { $dateB = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateB); if ($et == 'a') { $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_creation'][0]); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initB, $listeB); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateB"); $_SESSION['typeModJS'] = 'dt_pec'; $mod->MxText("etape.formEtape.ajaxVal", XhamTools::genAjax('onClick', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.formEtape", "delete"); } if ($et == 'b') { $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateB"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.annulerEtape", "delete"); } $mod->MxBloc("etape", "loop"); /* // ************ // // * EN COURS * // // ************ // $mod -> MxText ( "etape.nomEtape", "En cours : " ) ; $date = new clDate ( $res['dt_encours'][0] ) ; if ( $res['dt_encours'][0] != '0000-00-00 00:00:00' ) { $dateC = $date -> getDate ( 'd/m/Y H:i' ) ; } else $dateC = '<span class="red">Non renseignée</span>' ; $mod -> MxText ( "etape.dateEtape", $dateC ) ; if ( $et == 'b' ) { $mod -> MxText ( "etape.dateEtape", '' ) ; $datePec = new clDate ( ) ; $dateMin = new clDate ( $res['dt_pec'][0] ) ; $initC = $datePec -> getDatetime ( ) ; for ( $i = 0 ; $datePec -> getTimestamp ( ) >= $dateMin -> getTimestamp ( ) AND $i < 3600 ; $datePec->addMinutes ( -1 ) ) { $listeC[$datePec->getDatetime ( )] = $datePec -> getDate ( 'd/m/Y H:i' ) ; $i++ ; } $mod -> MxSelect ( "etape.formEtape.valeurEtape", "date", $initC, $listeC ) ; $mod -> MxHidden ( "etape.formEtape.hidden", "typeDate=dateC" ) ; $_SESSION['typeModJS'] = 'dt_encours' ; $mod -> MxText ( "etape.formEtape.ajaxVal", XhamTools::genAjax ( 'onClick', 'valDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'valDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.formEtape", "delete" ) ; if ( $et == 'c' ) { $mod -> MxHidden ( "etape.annulerEtape.hidden", "typeDate=dateC" ) ; $mod -> MxText ( "etape.annulerEtape.ajaxAnn", XhamTools::genAjax ( 'onClick', 'annDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'annDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.annulerEtape", "delete" ) ; $mod -> MxBloc ( "etape", "loop" ) ; */ // ******* // // * FIN * // // ******* // $mod->MxText("etape.nomEtape", "Terminé : "); $date = new clDate($res['dt_fin'][0]); if ($res['dt_fin'][0] != '0000-00-00 00:00:00') { $dateD = $date->getDate('d/m/Y H:i'); $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateD"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $dateD = '<span class="red">Non renseignée</span>'; $mod->MxBloc("etape.annulerEtape", "delete"); } if ($et != 'b') { $mod->MxBloc("etape.formEtape", "delete"); } else { $param['cw'] = " idEvent=" . $res['idpatient'][0] . " and lieuInterv='" . $options->getOption('RadioSalle') . "'"; $ris = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $param, "ResultQuery"); //print affTab ( $ris['INDIC_SVC'] ) ; if ($options->getOption("RadioCCAM") and !$ris['INDIC_SVC'][2] and !$_REQUEST['addActe']) { $dateD = '<div id="CotationCCAMRadio" class="red">Cotation CCAM à saisir</span>'; $mod->MxBloc("etape.formEtape", "delete"); } else { $dateD = ''; $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_encours'][0]); $initD = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } //1 $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initD, $listeD); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateD"); $_SESSION['typeModJS'] = 'dt_fin'; $mod->MxText("etape.formEtape.ajaxVal", 'onclick="' . XhamTools::genAjax('', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2))) . ';cache(\'mod\');cache(\'arbo\');"'); } } $mod->MxText("etape.dateEtape", $dateD); $mod->MxBloc("etape", "loop"); $mod->MxText('idradio', $res['idradio'][0]); $mod->MxText('commentaire_radio', $res['commentaire_radio'][0]); if ($options->getOption("RadioCCAM")) { $listeGen = new clListesGenerales("recup"); $listeRadiologues = $listeGen->getListeItemsV2("Radiologues", "1", '', '1'); $aj = XhamTools::genAjax('onChange', 'setRadiologue', 'navi=' . $session->genNavi('Ajax', 'setRadiologue', $session->getNavi(2))); $mod->MxSelect("cotation.listeRadiologues", "radiologue", $res['adeli'][0], $listeRadiologues, '', '', 'id="radiologue" style="width: 240px;" ' . $aj); if ($res['adeli'][0]) { $mod->MxText("cotation.moduleCCAM", $this->moduleCCAM('get')); } } else { $mod->MxBloc("cotation", "delete"); } return $mod->MxWrite("1"); } }
function remplacerUF($uf1, $uf2) { if ($uf1 and $uf2) { $data['numUFexec'] = $uf2; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $data); $res = $requete->updRecord("numUFexec='" . $uf1 . "'"); $nbe = $res['affected_rows']; unset($data); $data['numUFdem'] = $uf2; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $data); $res = $requete->updRecord("numUFdem='" . $uf1 . "'"); $nbe += $res['affected_rows']; unset($data); $data['code'] = $uf2; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data); $res = $requete->updRecord("code='" . $uf1 . "' AND categorie='ListeMédecins' AND nomitem='LISTE'"); $nbd = $res['affected_rows']; unset($data); $data['numeroUF'] = $uf2; $requete = new clRequete(CCAM_BDD, "ccam_uf_spe", $data); $res = $requete->updRecord("numeroUF='" . $uf1 . "'"); $nbs = $res['affected_rows']; $this->af .= "Remplacement de l'UF <b>{$uf1}</b> par <b>{$uf2}</b> dans {$nbe} actes et dans {$nbs} spécialités...<br/><br/>"; } }
function majOptionsProd() { // Récupération de la liste des options en dev. $req = new clResultQuery(); $param['cw'] = "WHERE idapplication=" . IDAPPLICATION; $res = $req->Execute("Fichier", "getOptions", $param, "ResultQuery"); //eko ( $res[INDIC_SVC] ) ; // Préparation de la liste des attributs d'une option. while (list($key, $val) = each($res)) { if ($key != "INDIC_SVC" and $key != "idoption") { $keys[] = $key; } } // Pour chaque option, for ($i = 0; isset($res['idoption'][$i]); $i++) { // On regarde si elle existe en production. $param['cw'] = "WHERE libelle='" . addslashes($res['libelle'][$i]) . "' AND idapplication=" . IDAPPLICATION; $ras = $req->Execute("Fichier", "getOptionsProd", $param, "ResultQuery"); //eko ( $ras[INDIC_SVC] ) ; // S'il elle n'existe pas, if (!$ras['INDIC_SVC'][2]) { // On prépare le tableau contenant les données de l'option. for ($j = 0; isset($keys[$j]); $j++) { $data[$keys[$j]] = $res[$keys[$j]][$i]; } // Et on crée cette option en production. $raq = new clRequete(BASEXHAM, TABLEOPTS, $data, 'prod'); $ris = $raq->addRecord(); eko("insert : " . $res['libelle'][$i]); // Si elle existe, } else { // On crée le tableau contenant les champs à mettre à jour. for ($j = 0; isset($keys[$j]); $j++) { if ($keys[$j] != "valeur") { $data[$keys[$j]] = $res[$keys[$j]][$i]; } } // Mise à jour de l'option. eko("update : " . $res['libelle'][$i]); $raq = new clRequete(BASEXHAM, TABLEOPTS, $data, 'prod'); $ris = $raq->updRecord("libelle='" . addslashes($res['libelle'][$i]) . "' AND idapplication=" . IDAPPLICATION); } } // Message d'information sur l'opération effectuée. $this->infos .= "La liste des droits a été mise à jour en production."; }
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 addItem($nomListe) { global $options; // On vérifie qu'un item ne porte pas déjà ce nom. $param[cw] = "WHERE nomitem='" . $_POST['nomItemF'] . "' AND nomliste='{$nomListe}'"; $param[idDomaine] = CCAM_IDDOMAINE; $param[order] = ""; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getListesItems", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); // On signale l'erreur si le nom est déjà pris. if ($res[INDIC_SVC][2] > 0) { $this->erreurs .= "Dans la liste \"{$nomListe}\", un item portant ce nom \r\n\t\t(\"" . $_POST['nomItemF'] . "\") existe déjà. La création est annulée."; } else { // Nouveau nom correct. if (eregi("[0-9a-zA-Z]", $_POST['nomItemF'])) { // On positionne correctement le nouvel item et on déplace les autres. if ($options->getOption(stripslashes($nomListe)) != "Manuel") { $rang = 1; } else { $param[cw] = "WHERE iditem='" . $_POST['placerF'] . "' and nomliste='{$nomListe}'"; $param[idDomaine] = CCAM_IDDOMAINE; $param[order] = ""; $res2 = $req->Execute("Fichier", "CCAM_getListesItems", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $rang = $res2[rang][0] + 1; } $param[cw] = "WHERE rang>='{$rang}' AND nomliste='{$nomListe}'"; $param[idDomaine] = CCAM_IDDOMAINE; $param[order] = ""; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getListesItems", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); for ($i = 0; isset($res[iditem][$i]); $i++) { $data2[rang] = $res[rang][$i] + 1; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data2); $requete->updRecord("iditem='" . $res[iditem][$i] . "' and idDomaine=" . CCAM_IDDOMAINE); } // Insertion du nouveau item. $data[categorie] = "ListesCCAM"; $data[nomliste] = $nomListe; $data[nomitem] = $_POST['nomItemF']; $data[rang] = $rang; $data[idDomaine] = CCAM_IDDOMAINE; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data); $requete->addRecord(); // Message d'information. $this->infos .= "L'item \"" . $_POST['nomItemF'] . "\" a été ajouté dans la liste \"" . stripslashes($nomListe) . "\"."; } else { $this->erreurs .= "Le nom choisi ne doit pas être vide."; } } }
function ctrlActes() { global $session; $req = new clResultQuery(); $dateFin = date("Y-m-d"); // Appel du template $mod = new ModeliXe("CCAM_CtrlActesVersion.mxt"); $mod->SetModeliXe(); $mod->MxText("versionCCAM", CCAM_VERSION); //Liste des actions if (!$_POST['action']) { $action = "invalide"; } else { $action = $_POST['action']; } $tabAction["invalide"] = "Actes invalides"; $tabAction["liste_restreinte"] = "Actes de la liste restreinte"; $tabAction["tarif_nul"] = "Actes dont le tarif est nul"; while (list($key, $val) = each($tabAction)) { $mod->MxCheckerField("action.action", "radio", "action", $key, $action == $key ? true : false, "onClick=reload(this.form)"); $mod->MxText("action.libAction", $val); $mod->MxBloc("action", "loop"); } //On a validé la suppression ou le remplacement $validerRemplacer = 0; if ($_POST['imgValiderRemplacer'] or $_POST['imgValiderRemplacer_x']) { $idActe = $_POST['listeActesInvalides']; $idNvxActe = $_POST['listeARemplacer']; if ($idNvxActe == "suppr") { $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_pack"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_diagnostic"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } else { if (ereg($idNvxActe, $_POST['dejaDansLR'])) { $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } else { unset($param); $param["idActe"] = $idNvxActe; $param["date_fin"] = "0000-00-00"; $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } unset($param); $param["idActe"] = $idNvxActe; $requete = new clRequete(CCAM_BDD, "ccam_actes_pack", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_diagnostic", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } $validerRemplacer = 1; } else { $mod->MxBloc("informations", "delete"); } //Récupération des actes invalides if ($action == "invalide") { $res = $req->Execute("Fichier", "CCAM_getActesInvalides", array(), "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes invalides"); } elseif ($action == "liste_restreinte") { unset($paramRq); $paramRq["cw"] = "date_fin='0000-00-00'"; $res = $req->Execute("Fichier", "CCAM_getActesDomaine2", $paramRq, "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes de la liste restreinte"); } elseif ($action == "tarif_nul") { $res = $req->Execute("Fichier", "CCAM_getTarifCCAMNul", array(), "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes dont le tarif est nul"); } //eko($res["INDIC_SVC"]); if ($res["INDIC_SVC"][2]) { $mod->MxBloc("nonExisteActes", "delete"); $listeActes = ""; for ($i = 0; isset($res["idActe"][$i]); $i++) { $idActe = $res["idActe"][$i]; if ($i == 0) { $idActe0 = $idActe; } $tabActesInvalides[$idActe] = "{$idActe} - " . $res["libelleActe"][$i]; $listeActes .= "'{$idActe}',"; } if (!isset($_POST['listeActesInvalides']) or isset($_POST['actionPrec']) and $action != $_POST['actionPrec'] or $validerRemplacer == 1) { $listeActesInvalides = $idActe0; } else { $listeActesInvalides = $_POST['listeActesInvalides']; } $mod->MxSelect("existeActes.listeActesInvalides", "listeActesInvalides", $listeActesInvalides, $tabActesInvalides, '', '', "size=\"15\" class=\"selectngap\" onChange=\"reload(this.form)\""); //Récupération du libellé de l'acte sélectionné (liste gauche) unset($paramRq); $paramRq["idActe"] = $listeActesInvalides; $res = $req->Execute("Fichier", "CCAM_get1ActeCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.libelleActe", "{$listeActesInvalides} - " . $res["libelle"][0]); //Récupération des packs utilisant l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and rel.idActe='{$listeActesInvalides}' and rel.idDomaine=" . CCAM_IDDOMAINE; $res = $req->Execute("Fichier", "CCAM_getPackActes", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listePacks = "<p><u>Liste des packs associés :</u> "; if ($res["INDIC_SVC"][2]) { for ($i = 0; isset($res["idPack"][$i]); $i++) { $listePacks .= $res["idPack"][$i] . "-" . $res["libelleActe"][$i] . ", "; } $listePacks = substr($listePacks, 0, -2); } else { $listePacks .= "Aucun pack n'a été associé"; } $mod->MxText("existeActes.listePacks", $listePacks); //Récupération des diagnostics associés à l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and rel.idActe='{$listeActesInvalides}' and rel.idDomaine=" . CCAM_IDDOMAINE; $res = $req->Execute("Fichier", "CCAM_getDiagsActe", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listeDiags = "<p><u>Liste des diagnostics associés :</u> "; if ($res["INDIC_SVC"][2]) { for ($i = 0; isset($res["idDiag"][$i]); $i++) { $listeDiags .= $res["idDiag"][$i] . "-" . $res["nomItem"][$i] . ", "; } $listeDiags = substr($listeDiags, 0, -2); } else { $listeDiags .= "Aucun diagnostic n'a été associé"; } $mod->MxText("existeActes.listeDiags", $listeDiags); //Récupération du tarif de l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and a.code='{$listeActesInvalides}' order by t.aadt_modif desc"; $res = $req->Execute("Fichier", "CCAM_get1TarifCCAM", $paramRq, "ResultQuery"); eko($res); $mod->MxText("existeActes.tarif", "<br><u>Tarif en vigueur :</u> " . number_format($res["pu_base"][0], 2, ',', '.') . " euros"); //Mise à jour de la date de fin de validité if ($action == "invalide") { $listeActes = substr($listeActes, 0, -1); unset($param); $param["date_fin"] = date("Y-m-d"); $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe in ({$listeActes}) and date_fin='0000-00-00' and idDomaine=" . CCAM_IDDOMAINE); } //Affichage de la zone début de code $mod->MxText("existeActes.codeSelectionne", $listeActesInvalides); if (!isset($_POST['debCodeActe']) or isset($_POST['listeActesPrec']) and $listeActesInvalides != $_POST['listeActesPrec']) { $debCodeActe = substr($listeActesInvalides, 0, 4); } else { $debCodeActe = strtoupper($_POST['debCodeActe']); } if (!$debCodeActe or $debCodeActe == "%") { $debCodeActe = "A"; } $mod->MxFormField("existeActes.debCodeActe", "text", "debCodeActe", $debCodeActe, "size=\"7\" \r\n onChange=\"reload(this.form)\""); //Récupération des actes correspondant au début du code déjà présents dans la liste restreinte unset($paramRq); $paramRq["cw"] = "idActe like '{$debCodeActe}%'"; $res = $req->Execute("Fichier", "CCAM_getActesDomaine2", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listeActes = ""; for ($i = 0; isset($res["idActe"][$i]); $i++) { $listeActes .= $res["idActe"][$i] . ","; } /*if ($listeActes){ $listeActes=substr($listeActes,0,-1); $cwListeActes="and code not in ($listeActes)"; }*/ //Récupération des actes correspondant au début du code unset($paramRq); $paramRq["cw"] = "dt_fin is null and code like '{$debCodeActe}%' and code!='{$listeActesInvalides}'"; $res = $req->Execute("Fichier", "CCAM_getActesCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $tabARemplacer = array(); $dejaDansLR = ""; for ($i = 0; isset($res["CODE"][$i]); $i++) { $idActe = $res["CODE"][$i]; $idActeAff = $idActe; if (ereg($idActe, $listeActes)) { if ($idActe == $_POST["listeARemplacer"]) { $idActe .= "\"selected=\"selected\" style=\"color:green;\""; } else { $idActe .= "\"style=\"color:green;\""; } } if ($i == 0) { $idActe0 = $idActeAff; } $tabARemplacer[$idActe] = "{$idActeAff} - " . $res["LIBELLE_COURT"][$i]; } $tabARemplacer["suppr"] = "Supprimer l'acte '{$listeActesInvalides}' des différentes listes"; if (!isset($_POST['listeARemplacer']) or isset($_POST['listeActesPrec']) and $listeActesInvalides != $_POST['listeActesPrec'] or isset($_POST['debCodeActePrec']) and $debCodeActe != $_POST['debCodeActePrec']) { $listeARemplacer = $idActe0; } else { $listeARemplacer = $_POST['listeARemplacer']; } $mod->MxSelect("existeActes.listeARemplacer", "listeARemplacer", $listeARemplacer, $tabARemplacer, '', '', "size=\"15\" \r\n onChange=\"reload(this.form)\""); if ($res["INDIC_SVC"][2]) { if ($listeARemplacer != "suppr") { //Récupération du libellé de l'acte sélectionné (liste droite) unset($paramRq); $paramRq["idActe"] = $listeARemplacer; $res = $req->Execute("Fichier", "CCAM_get1ActeCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.libelleARemplacer", "{$listeARemplacer} - " . $res["libelle"][0]); //Récupération du tarif de l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and a.code='{$listeARemplacer}' order by t.aadt_modif desc"; $res = $req->Execute("Fichier", "CCAM_get1TarifCCAM", $paramRq, "ResultQuery"); //eko ($res); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.tarifNvx", "<br><u>Tarif en vigueur :</u> " . number_format($res["pu_base"][0], 2, ',', '.') . " euros"); } } $mod->MxFormField("existeActes.imgValiderRemplacer", "image", "imgValiderRemplacer", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n title=\"Mettre à jour l'acte invalide dans les différentes listes\""); } else { $mod->MxBloc("existeActes", "delete"); $mod->MxText("nonExisteActes.versionCCAM", CCAM_VERSION); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $mod->MxHidden("hidden2", "actionPrec={$action}&dejaDansLR={$listeActes}&debCodeActePrec={$debCodeActe}&listeActesPrec={$listeActesInvalides}"); $this->af .= $mod->MxWrite("1"); }
function modGroupeV() { if (stripslashes($_POST['idGroupe']) == "Invité" or stripslashes($_POST['idGroupe']) == "HOPI") { $this->erreurs .= "Ce groupe ne peut être modifié, il est nécessaire au fonctionnement de l'application."; } else { // Récupération de la liste des groupes. $param['cw'] = "WHERE nomgroupe=\"" . $_POST['nomGroupe'] . "\""; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getGroupes", $param, "ResultQuery"); if ($res['INDIC_SVC'][2]) { $this->erreurs .= "Le groupe \"" . stripslashes($_POST['nomGroupe']) . "\" existe déjà. Le changement de nom du groupe \"" . stripslashes($_POST['idGroupe']) . "\" est annulé."; } else { // Préparation du tableau de données. $data['nomgroupe'] = $_POST['nomGroupe']; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, "groupes", $data); // Exécution de la requete. $res = $requete->updRecord("nomgroupe=\"" . $_POST['idGroupe'] . "\""); if ($res['error']) { $this->erreurs .= "Une erreur a été rencontré lors de la tentative de modification du groupe \"" . stripslashes($_POST['idGroupe']) . "\".<br/>Le problème a été signalé à l'administrateur."; } else { $this->infos .= "Le groupe \"" . stripslashes($_POST['idGroupe']) . "\" a changé de nom : \"" . stripslashes($_POST['nomGroupe']) . "\""; } } } }
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 modDoc() { global $session; global $errs; $date = new clDate(); // Récupération des informations du document. $param[cw] = "WHERE iddocument='" . $session->getNavi(3) . "' AND fin_validite='0000-00-00 00:00:00'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); // Si le document existe on le met à jour : // Désactivation de la version précédente en renseignant une date de fin de validité, // puis création de la nouvelle version (en incrémentant le numéro de version). if ($res[INDIC_SVC][2]) { // Message d'information. $this->infos .= "Modification du document \"" . $res[nom][0] . "\" effectuée."; // Fin de validité de la version actuelle. $data1[fin_validite] = $date->getDatetime(); $requete = new clRequete(BDD, "documents", $data1); $requete->updRecord("iddocument='" . $res[iddocument][0] . "'"); // Création de la nouvelle version du document. if ($_POST['newCategorie']) { $data2[categorie] = $_POST['newCategorie']; } else { if ($_POST['listeCategories']) { $data2[categorie] = $_POST['listeCategories']; } else { $data2[categorie] = $res[categorie][0]; } } if (eregi("[0-9a-zA-Z]", $_POST['nomDoc'])) { $data2[nom] = stripslashes($_POST['nomDoc']); } else { $data2[nom] = $res[nom][0]; } $data2[contenu] = $_POST['contenu']; $data2[deb_validite] = $date->getDatetime(); $data2[version] = $res[version][0] + 1; $requete = new clRequete(BDD, "documents", $data2); $res = $requete->addRecord(); //newfct ( gen_affiche_tableau, $res ) ; } else { // Génération d'une erreur et d'un affichage si le document à modifier n'existe pas. $this->erreurs .= "Le document à modifier n'existe pas ou n'est plus actif. Le problème a été transmis, l'action est annulée."; $errs->addErreur("Le document à modifier (id=\"" . $session->getNavi(3) . "\") n'existe pas ou n'est plus actif. Action annulée."); } }
function AddNGAP() { //eko ("AddNGAP"); //Affectation de la cotation NGAP aux actes sélectionnés dans la liste de gauche if (is_array($_POST['listeGauche'])) { unset($retourInfos); $cotationNGAP = $this->getCotationNGAP(); if ($cotationNGAP) { while (list($key, $val) = each($_POST['listeGauche'])) { if ($val and $val != "aucun#") { if ($cotationNGAP != "aucun#") { unset($param); $param[cotationNGAP] = $cotationNGAP; $param[envoi_facturation] = $_POST['check1']; $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe='{$val}' AND idDomaine=" . CCAM_IDDOMAINE); $retourInfos[infos] = "Les actes sélectionnés ont désormais une cotation NGAP égale à {$cotationNGAP}"; } else { $retourInfos[erreur] = "Cotation des actes sélectionnés : La 1ère lettre et le 1er coefficient doivent être \r\n\t\t\t\t\trenseignés ; la modification a été annulée"; } } } } else { $retourInfos[erreur] = "Cotation des actes sélectionnés : \r\n\t\tLes coefficients saisis ne sont pas numériques ; la modification a été annulée"; } return $retourInfos; } }
function majPatientSQL($idimport, $idpatient, $table) { global $errs; global $news1; global $mods1; global $errs1; global $news2; global $mods2; global $errs2; // Récupération des informations sur le patient à mettre à jour. $param['cw'] = "WHERE idimport='{$idimport}'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getImports", $param, "ResultQuery"); if ($res['INDIC_SVC'][2]) { $i = 0; $data['idu'] = $res['idu'][$i]; $data['ilp'] = $res['ilp'][$i]; $data['nsej'] = $res['idpass'][$i]; $data['uf'] = $res['uf'][$i]; $data['nom'] = $res['nom'][$i]; $data['prenom'] = $res['prenom'][$i]; $data['sexe'] = $res['sexe'][$i]; $data['dt_naissance'] = $res['dt_naissance'][$i]; $data['adresse_libre'] = $res['adresse_libre'][$i]; $data['adresse_cp'] = $res['adresse_cp'][$i]; $data['adresse_ville'] = $res['adresse_ville'][$i]; $data['telephone'] = $res['telephone'][$i]; $data['prevenir'] = str_replace('^', '<br/>', $res['prevenir'][$i]); $data['medecin_traitant'] = $res['medecin_nom'][$i]; $data['dt_admission'] = $res['dt_admission'][$i]; $data['mode_admission'] = $res['mode_admission'][$i]; $data['iduser'] = "******"; $data['manuel'] = 0; //newfct ( gen_affiche_tableau, $data ) ; if ($res['uf'][$i] == '6004') { $base = 'terminal2_tuv2'; $mods2++; } else { $base = BDD; $mods1++; } // Appel de la classe Requete. $requete = new clRequete($base, $table, $data); // Exécution de la requete. $requete->updRecord("idpatient='{$idpatient}'"); // Mise à jour de la date de traitement de l'import. $date = new clDate(); $data2['dt_traitement'] = $date->getDatetime(); // Appel de la classe Requete. $requete = new clRequete(BDD, IMPORTS, $data2); // Exécution de la requete. $requete->updRecord("idimport='{$idimport}'"); } else { // En cas d'erreur, on la signale... $errs->addErreur("clImportation : Impossible d'importer ce nouveau patient, l'identifiant de l'import est introuvable (idimport=\"{$idimport}\")."); $errs1++; $errs2++; } }
function setSessionSQL() { global $options; // Date actuelle. $date = new clDate(); // On met à jour la session actuelle. $data['nombre'] = "nombre+1"; $data['last'] = $date->getDatetime(); $data['localisation'] = $this->navi; $data['idapplication'] = IDAPPLICATION; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->updRecord("uid='" . $this->informations['iduser'] . "' AND type='" . $this->informations['type'] . "' AND idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } // Si la session n'a pas pu mettre à jour, on regarde les différents cas possibles. if (!$res['affected_rows']) { // La session existe-t-elle ? $param['cw'] = "WHERE idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res['INDIC_SVC']); } // Si la session existe. if ($res['INDIC_SVC'][2]) { // On historise son état actuel. unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = $res['nombre'][0]; $data['uid'] = $res['uid'][0]; $data['type'] = $res['type'][0]; $data['ip'] = $res['ip'][0]; $data['dateshisto'] = $res['date'][0]; $data['dateslast'] = $res['last'][0]; $data['navigateur'] = $res['navigateur'][0]; $data['fonctions'] = $res['fonctions'][0]; $data['equipes'] = $res['equipes'][0]; $data['organisations'] = $res['organisations'][0]; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESHIST, $data); // Exécution de la requete. $res = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { affTab($res); } // Puis on met à jour cette session. unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; $data['localisation'] = $this->navi; $data['uid'] = $this->informations['iduser']; $data['type'] = $this->informations['type']; $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['date'] = $date->getDatetime(); $data['last'] = $date->getDatetime(); $data['navigateur'] = $this->informations['navigateur']; $data['fonctions'] = implode('|', isset($this->informations['fonctions']) ? $this->informations['fonctions'] : array()); $data['equipes'] = implode('|', isset($this->informations['service']) ? $this->informations['service'] : array()); $data['organisations'] = $this->informations['org']; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->updRecord("idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } } else { // Si la session n'existe pas, on la crée avec les bonnes informations. unset($data); if ($this->navi != "Importation" and $this->navi != "SW1wb3J0YXRpb24=" and $this->navi != "Q29uZmlndXJhdGlvbnxjcm9u") { $param[cw] = "WHERE uid='" . $this->informations['iduser'] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); if (DEBUGLOGSESSION) { print affTab($res['INDIC_SVC']); } if ($res['INDIC_SVC'][2] and $options->getOption("UniqLogin") and !$_POST['AuthentificationDemandee']) { $this->informations = ''; $this->informations['type'] = "Echec"; $this->informations['nom'] = "Invité"; $this->informations['prenom'] = "Invité"; $this->informations['pseudo'] = "Invité"; $this->informations['mail'] = "*****@*****.**"; $this->informations['iduser'] = "******"; $this->informations['idgroupe'] = "1"; $this->informations['ip'] = $_SERVER['REMOTE_ADDR']; $this->informations['navigateur'] = $_SERVER["HTTP_USER_AGENT"]; $this->informations['fonctions'] = array(); $this->informations['service'] = array(); $this->informations['org'] = ''; // Sauvegarde des informations. $_SESSION['informations'] = $this->informations; } else { $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; $data['localisation'] = $this->navi; $data['uid'] = $this->informations['iduser']; $data['type'] = $this->informations['type']; $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['date'] = $date->getDatetime(); $data['last'] = $date->getDatetime(); $data['idsession'] = $_SESSION['sidtuv2' . $this->index]; $data['navigateur'] = $this->informations['navigateur']; $data['fonctions'] = implode('|', isset($this->informations['fonctions']) ? $this->informations['fonctions'] : array()); $data['equipes'] = implode('|', isset($this->informations['service']) ? $this->informations['service'] : array()); $data['organisations'] = $this->informations['org']; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } } } } } if ($options->getOption("UniqLogin")) { $requete = new clRequete(BASEXHAM, TABLESACTU); // Exécution de la requete. $res = $requete->delRecord("uid='" . $this->informations['iduser'] . "' AND last<'" . $date->getDatetime() . "' AND idsession!='" . $_SESSION['sidtuv2' . $this->index] . "'"); if (DEBUGLOGSESSION) { print affTab($res); } } // Maintenant, on historise les sessions qui ne sont plus valides et on les supprime // de la table des sessions actuelles. $dmax = $options->getOption("DureeSession"); $dact = $date->getDatetime(); $date->addMinutes("-{$dmax}"); $param['cw'] = "WHERE last<'" . $date->getDatetime() . "' AND idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res[INDIC_SVC]); } for ($i = 0; isset($res['idsactu'][$i]); $i++) { unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = $res['nombre'][$i]; $data['uid'] = $res['uid'][$i]; $data['type'] = $res['type'][$i]; $data['ip'] = $res['ip'][$i]; $data['dateshisto'] = $res['date'][$i]; $data['dateslast'] = $res['last'][$i]; $data['navigateur'] = $res['navigateur'][$i]; $data['fonctions'] = $res['fonctions'][$i]; $data['equipes'] = $res['equipes'][$i]; $data['organisations'] = $res['organisations'][$i]; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESHIST, $data); // Exécution de la requete. $ras = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { affTab($ras); } unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $rus = $requete->delRecord("idsession='" . $res['idsession'][$i] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($rus); } } }
function tarifsNGAP() { global $session; //On a lancer le rapatriement des tarifs depuis Pastel if ($_POST['imgCalcul_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); $res = $req->Execute("Fichier", "Tarifs_getTarifNGAP", array(), "ResultQuery"); eko($res); $mail = ""; for ($i = 0; isset($res[LC][$i]); $i++) { $lc = $res[LC][$i]; unset($param); //if ($res[TARIF][$i]!="0"){ // code de Christophe Boulet if ($res[TARIF][$i] >= 0) { // modification François Derock $param[tarif] = str_replace(",", ".", $res[TARIF][$i]); $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc='{$lc}'"; $res2 = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res2[INDIC_SVC]); if ($res2[INDIC_SVC][2]) { $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } else { $param[lc] = $param[lcNat] = $lc; $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->addRecord(); } } else { $mail .= "{$lc}, "; } } if ($mail) { $mail = substr($mail, 0, -2); $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "<b>Anomalie : </b>La mise à jour des tarifs (source PASTEL) renvoit '0' pour les lettres-clé suivantes : {$mail}<br>\r\n\t\t\t==> Les tarifs n'ont pas été mis à jour pour ces lettres-clés<p>\r\n\t\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[erreur] = "Certains tarifs sont à '0' dans PASTEL. Un mail de synthèse a été envoyé. Leur mise à jour a été annulée."; } else { $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL<p>\r\n\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL"; } } //On a validé les modifications if ($_POST['imgValider_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $varLC = "LC_" . $lc; $tarifLC = "tarif_" . $lc; unset($param); $param[lcNat] = $_POST[$varLC]; $param[tarif] = str_replace(",", ".", $_POST[$tarifLC]); $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été modifiés"; } // Appel du template $mod = new ModeliXe("CCAM_TarifsNGAP.mxt"); $mod->SetModeliXe(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } if ($session->getDroit("CCAM_TarifsNGAP", "w")) { if (!$_POST['imgModifier_x']) { $mod->MxFormField("modifier.imgModifier", "image", "imgModifier", "", "src=\"" . URLIMG . "modifier2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Modifier les correspondances nationales et les tarifs\""); $mod->MxFormField("maj.imgCalcul", "image", "imgCalcul", "", "src=\"" . URLIMG . "calculer.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Rapatrier les tarifs depuis PASTEL\""); $mod->MxBloc("valider", "delete"); } else { $mod->MxFormField("valider.imgValider", "image", "imgValider", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Valider les modifications\""); $mod->MxFormField("valider.imgAnnuler", "image", "imgAnnuler", "", "src=\"" . URLIMG . "annuler2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Annuler les modifications\""); $mod->MxBloc("maj", "delete"); $mod->MxBloc("modifier", "delete"); } } else { $mod->MxBloc("modifier", "delete"); $mod->MxBloc("valider", "delete"); $mod->MxBloc("maj", "delete"); } $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $mod->MxText("ligneLC.LC", $lc); if (!$_POST['imgModifier_x']) { $mod->MxText("ligneLC.LCnat", $res[lcNat][$i]); $mod->MxText("ligneLC.tarif", $res[tarif][$i]); } else { $varLC = "LC_" . $lc; $mod->MxFormField("ligneLC.LCnat", "text", $varLC, $res[lcNat][$i], "size=\"10\""); $tarifLC = "tarif_" . $lc; $mod->MxFormField("ligneLC.tarif", "text", $tarifLC, $res[tarif][$i], "size=\"10\""); } $mod->MxBloc("ligneLC", "loop"); } //Ne jamais afficher les boutons suivants // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "delete"); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "delete"); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function setEndTime($date) { if (!$this->isActive()) { return false; } $data = array('id_trigger' => $this->getIdTrigger(), 'date_fin' => $date->getDatetime()); $obRequete = new clRequete(BDD, 'enquetes', $data); $obRequete->updRecord(' id_enquete = ' . $this->getIdEnquete()); return false; }
function addPatientPresent() { global $session; global $listeMois; global $options; // Si la confirmation d'ajout est présente, alors on ajoute le nouveau patient dans la table. if ($_POST['ValiderAjouter'] or $_POST['ValiderAjouter_x']) { global $errs; // Préparation de la date d'admission. $date = new clDate(); $dateN = new clDate($_POST['naissance']); /*if ( $options -> getOption ( "DoubleEtablissement" ) AND ! ( $options -> getOption ( 'DoubleSansCom' ) ) ) { $req = new clResultQuery ; $ras = $req -> Execute ( "Fichier", "getMaxIdToulon", array(), "ResultQuery" ) ; $max = 1 ; for ( $j = 0 ; isset ( $ras['idpatient'][$j] ) ; $j++ ) if ( $ras['idpatient'][$j] > $max ) $max = $ras['idpatient'][$j] ; $max++ ; eko ( "Double Etablissement : Calcul du max ($max)" ) ; $data['idpatient'] = $max ; }*/ // Remplissage des champs pour la requête. $data['idu'] = "X"; $data['ilp'] = "X"; $data['nsej'] = "X"; $data['uf'] = $options->getOption("AjoutManuelUF"); $data['sexe'] = $_POST['sexe']; $data['prenom'] = $_POST['prenom']; $data['nom'] = $_POST['nom']; $data['dt_admission'] = $date->getDatetime(); $data['dt_naissance'] = $dateN->getDatetime(); $data['adresse_libre'] = $_POST['adresse']; $data['adresse_cp'] = $_POST['cp']; $data['adresse_ville'] = $_POST['ville']; $data['telephone'] = $_POST['telephone']; $data['salle_examen'] = $_POST['salle']; $data['dest_souhaitee'] = $_POST['destSouhaitee']; $data['dest_attendue'] = $_POST['destAttendue']; $data['adresseur'] = $_POST['adresseur']; $data['medecin_urgences'] = $_POST['medecin']; if ($_POST['medecin']) { $data[dt_examen] = $date->getDatetime(); } $data['recours_categorie'] = $_POST['categorieRecours']; $data['manuel'] = 1; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data); // Exécution de la requête. $resu = $requete->addRecord(); // On signale les éventuelles erreurs rencontrées. if ($resu['error']) { $errs->addErreur("clListesPatients : Erreur lors de la bascule d'un patient attendu en patient présent (" . $resu[error] . ")."); } $param['table'] = PPRESENTS; $param['cw'] = "WHERE idu='X'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); for ($i = 0; isset($res['idpatient'][$i]); $i++) { $data2['idu'] = "MANU" . $res['idpatient'][$i]; $data2['ilp'] = "MANU" . $res['idpatient'][$i]; $data2['nsej'] = "MANU" . $res['idpatient'][$i]; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data2); // Exécution de la requête. $requete->updRecord("idpatient='" . $res['idpatient'][$i] . "'"); header('Location:' . URLNAVI . $session->genNavi($session->getNavi(0))); } } else { // Sinon, nous affichons le formulaire d'ajout d'un nouveau patient présent. // Chargement du template ModeliXe. $mod = new ModeliXe("addPresent.html"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("titre", "Ajouter un nouveau patient présent"); $mod->MxImage("imgClose", URLIMGFER, "Annuler"); $mod->MxUrl("lienClose", URLNAVI . $session->genNavi($session->getNavi(0))); // Champs IDU, IPP, et nsej... // $mod -> MxFormField ( "idu", "text", "idu", $_POST['idu'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "ilp", "text", "ilp", $_POST['ilp'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "nsej", "text", "nsej", $_POST['nsej'], "size=\"47\" maxlength=\"50\"" ) ; // Champs de l'état civil du patient. $data['M'] = "Homme"; $data['F'] = "Femme"; $data['I'] = "Indéterminé"; $javascript1 = XhamTools::genAjax('onKeyUp', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript3 = XhamTools::genAjax('onChange', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript1 = XhamTools::genAjaxWithTempo('getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $mod->MxSelect("sexe", "sexe", $_POST['sexe'], $data, '', '', 'class="w300" ' . "{$javascript3}"); $mod->MxFormField("prenom", "text", "prenom", $_POST['prenom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); $mod->MxFormField("nom", "text", "nom", $_POST['nom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); // Gestion des champs de la date de naissance. $_POST['naissance'] = date('d/m/Y'); $mod->MxFormField("naissance", "text", "naissance", $_POST['naissance'], "id=\"naissance\""); // Adresse et téléphone du patient. $mod->MxFormField("adresse", "text", "adresse", $_POST['adresse'], "size=\"47\" maxlength=\"128\""); $mod->MxFormField("telephone", "text", "telephone", $_POST['telephone'], "size=\"47\" maxlength=\"64\""); $mod->MxFormField("cp", "text", "cp", $_POST['cp'], "size=\"5\" maxlength=\"5\""); $mod->MxFormField("ville", "text", "ville", $_POST['ville'], "size=\"38\" maxlength=\"64\""); // Préparation des listes dynamiques. $listeCom = new clListes("Recours", "recup"); $listeGen = new clListesGenerales("recup"); $listeMedecins = $listeGen->getListeItems("Médecins", "1", '', '', "1"); $listeSalles = $listeGen->getListeItems("Salles d'examens", "1", '', '', "1"); $listeCategoriesRecours = $listeCom->getListes("", "1"); $listeDestSouhaitees = $listeGen->getListeItems("Destinations souhaitées", "1", '', '', "1"); $listeDestAttendues = $listeGen->getListeItems("Destinations attendues", "1", '', '', "1"); // Affichage des listes dynamiques. $mod->MxSelect("medecin", "medecin", $_POST['medecin'], $listeMedecins, '', '', 'class="w300"'); $mod->MxSelect("salle", "salle", $_POST['salle'], $listeSalles, '', '', 'class="w300"'); $mod->MxSelect("categorieRecours", "categorieRecours", $_POST['categorieRecours'], $listeCategoriesRecours, '', '', 'class="w300"'); $mod->MxSelect("destSouhaitee", "destSouhaitee", $_POST['destSouhaitee'], $listeDestSouhaitees, '', '', 'class="w300"'); $mod->MxSelect("destAttendue", "destAttendue", $_POST['destAttendue'], $listeDestAttendues, '', '', 'class="w300"'); // Suppression du bouton de modification inutile ici. $mod->MxBloc("modifier", "modify", " "); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), "addPatientPresent")); // Récupération du code HTML généré par le template ModeliXe. $this->af .= $mod->MxWrite("1"); } }
function modifierActeur() { $param['ob'] = ''; $param['cw'] = "WHERE idActeur=" . $_POST['idActeur']; $req = new clResultQuery(); $res = $req->Execute("Fichier", "authCodeAcces", $param, "ResultQuery"); //print affTab ( $res['INDIC_SVC'] ) ; if (!$res['INDIC_SVC'][2]) { $this->erreur .= "L'acteur demandé est introuvable. Aucune modification n'a été effectuée."; $errs->addErreur("L'acteur demandé est introuvable. Aucune modification n'a été effectuée." . affTab($res['INDIC_SVC'])); } $param['ob'] = ''; $param['cw'] = "WHERE password='******'password'])) . "' AND idActeur!=" . $_POST['idActeur']; $req = new clResultQuery(); $res = $req->Execute("Fichier", "authCodeAcces", $param, "ResultQuery"); if ($res['INDIC_SVC'][2]) { $this->erreurs .= "Ce mot de passe est déjà utilisé. La modification est annulée.<br/>"; } if (!$_POST['nomActeur']) { $this->erreurs .= "Le nom ne doit pas être vide. La modification est annulée.<br/>"; } if (!$this->erreurs) { $data['nomActeur'] = stripslashes($_POST['nomActeur']); $data['mailActeur'] = stripslashes($_POST['mailActeur']); $data['password'] = stripslashes($_POST['password']); $req = new clRequete(BASEXHAM, TABLEACTEURS, $data); $ris = $req->updRecord("idActeur=" . $_POST['idActeur']); $this->infos .= "La modification a réussi."; unset($_POST['idActeur']); } }
function setPatient2($data) { $requete = new clRequete($this->base, "patients_sortis", $data); $requete->updRecord("idpatient='" . $this->idpatient . "'"); }
function genFusion() { global $errs; global $options; global $fusion; global $table_patient_manuel; global $table_patient_automatique; // On vérifie qu'un patient manuel et un patient automatique ont bien été sélectionné. if (!$_POST['manuel'] or !$_POST['automatique']) { // Affichage d'un message d'erreur si ce n'est pas bon. $this->erreurs .= "Deux patients doivent être sélectionnés pour lancer le processus de fusion des patients."; } else { // On récupère l'idpatient et la table actuelle du patient automatique sélectionné. $auto = explode("|", $_POST['automatique']); // En fonction de son état (Presents ou Sortis), on en déduit sa table. if ($auto[1] == "Presents") { $param['table'] = PPRESENTS; } else { $param['table'] = PSORTIS; } $param['cw'] = "WHERE idpatient='" . $auto[0] . "'"; // Lancement de la requête pour récupérer toutes ses informations. $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); $table_patient_automatique = $param['table']; // On récupère l'idpatient et la table actuelle du patient manuel sélectionné. $manu = explode("|", $_POST['manuel']); // En fonction de son état (Presents ou Sortis), on en déduit sa table. if ($manu[1] == "Presents") { $param2['table'] = PPRESENTS; } else { $param2['table'] = PSORTIS; } $param2['cw'] = "WHERE idpatient='" . $manu[0] . "'"; // Lancement de la requête pour récupérer toutes ses informations. $req2 = new clResultQuery(); $ras = $req2->Execute("Fichier", "getPatients", $param2, "ResultQuery"); $table_patient_manuel = $param2['table']; // On vérifie que le patient automatique existe. if ($res['INDIC_SVC'][2] < 1) { $this->erreurs .= "Le patient automatique (idpatient=\"" . $_POST['automatique'] . "\") est introuvable dans la table des patients " . $auto[1] . ". Problème signalé."; $errs->addErreur("clFusion : Le patient automatique (idpatient=\"" . $_POST['automatique'] . "\") est introuvable dans la table des patients " . $auto[1] . "."); // On vérifie que le patient manuel existe. } elseif ($ras['INDIC_SVC'][2] < 1) { $this->erreurs .= "Le patient manuel (idpatient=\"" . $manu[0] . "\") est introuvable dans la table des patients " . $manu[1] . ". Problème signalé."; $errs->addErreur("clFusion : Le patient manuel (idpatient=\"" . $manu[0] . "\") est introuvable dans la table des patients " . $manu[1] . "."); } else { $data['idu'] = $res['idu'][0]; $data['ilp'] = $res['ilp'][0]; $data['nsej'] = $res['nsej'][0]; $data['uf'] = $res['uf'][0]; $data['nom'] = $res['nom'][0]; $data['prenom'] = $res['prenom'][0]; $data['sexe'] = $res['sexe'][0]; $data['dt_naissance'] = $res['dt_naissance'][0]; $data['adresse_libre'] = $res['adresse_libre'][0]; $data['adresse_cp'] = $res['adresse_cp'][0]; $data['adresse_ville'] = $res['adresse_ville'][0]; $data['telephone'] = $res['telephone'][0]; $data['prevenir'] = $res['prevenir'][0]; $data['medecin_traitant'] = $res['medecin_nom'][0]; $data['dt_admission'] = $res['dt_admission'][0]; if ($res['mode_admission'][0]) { $data['mode_admission'] = $res['mode_admission'][0]; } $data['iduser'] = "******"; $data['manuel'] = 0; // Appel de la classe Requete. $requete = new clRequete(BDD, $param2['table'], $data); // Exécution de la requete. $requete->updRecord("idpatient='" . $manu[0] . "'"); // Appel de la classe Requete. $requete = new clRequete(BDD, $param['table']); // Exécution de la requete. $requete->delRecord("idpatient='" . $auto[0] . "'"); $this->infos .= "Fusion du patient (" . $res['sexe'][0] . ") " . ucfirst(strtolower($res['prenom'][0])) . " " . strtoupper($res['nom'][0]) . " effectuée.<br />"; if ($options->getOption("Module_CCAM")) { $fusion = 1; $ccam = new clCCAMCotationActesDiags(array()); $ccam->writeBALall(array($auto[0], $manu[0])); } } } }