function getStatsPages() { global $session; // Date de lancement des statistiques. $datestats = new clDate(DATESTATS); // On récupère la liste des utilisateurs s'étant déjà connectés. $param['cw'] = "WHERE idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsPersonnes", $param, "ResultQuery"); // Fabrication du tableau attendu par ModeliXe. $tab['%'] = "globales"; for ($i = 0; isset($res['uid'][$i]); $i++) { $tab[$res['uid'][$i]] = "de " . $res['uid'][$i] . " (" . $res['somme'][$i] . ")"; } // Initialisation de l'utilisateur sélectionné et du filtre MySQL correspondant. if (!isset($_POST['choix'])) { if (isset($_GET['choix'])) { $_POST['choix'] = $_GET['choix']; } else { $_POST['choix'] = "%"; } } // Application du filtre MySQL pour aller récupérer les statistiques de l'utilisateur. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION; $param['cs'] = ""; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsStatistiques", $param, "ResultQuery"); // Pour chaque statistique récupérées, on incrémente une case d'un tableau avec son nombre de clic. Il y a une case // par partie du Terminal. $stats["Total de clics"] = 0; for ($i = 0; isset($res['idstats'][$i]); $i++) { if ($res['loc2'][$i]) { if ($res['loc1'][$i]) { if (isset($stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]])) { $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] += $res['nombre'][$i]; } else { $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] = $res['nombre'][$i]; } } } else { if ($res['loc1'][$i]) { if (isset($stats[$res['loc1'][$i]])) { $stats[$res['loc1'][$i]] += $res['nombre'][$i]; } else { $stats[$res['loc1'][$i]] = $res['nombre'][$i]; } } } // Calcul du nombre total de clic pour cet utilisateur. $stats["Total de clics"] += $res['nombre'][$i]; } // Chargement du template ModeliXe. $mod = new ModeliXe("SessionsStatistiques.mxt"); $mod->SetModeliXe(); // Chargement du template ListMaker pour faire le tableau. $list = new ListMaker("template/SessionsStatistiques.html"); // Passage des variables à transmettre et de leurs valeurs. $list->addUserVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); $list->addUrlVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); $list->addUserVar('choix', $_POST['choix']); $list->addUrlVar('choix', $_POST['choix']); // Nom des colonnes du tableau. $list->setSortColumn('col1', 'Page', 'page'); $list->setSortColumn('col2', 'Clics', 'clics'); // On alterne les couleurs en fonction de la parité de la ligne. $list->setAlternateColor("pair", "impair"); // On parcourt le tableau précédemment calculé contenant les statistiques, // et on les ajoute au template ListMaker. if (is_array($stats)) { for ($i = 0; list($key, $val) = each($stats); $i++) { $item['page'] = $key; $item['clics'] = $val; $list->addItem($item); } } // Affichage d'informations complémentaires si nous ne sommes pas dans le cas // de statistiques globales. if ($_POST['choix'] != "%") { // Si l'utilisateur est connecté, on affiche un message le signalant. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); if ($res['INDIC_SVC'][2]) { $infos = "Cet utilisateur est actuellement connecté.<br />"; } // Sinon, on affiche les informations de sa dernière connexion. if (!isset($infos) or !$infos) { // Récupération des informations. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY dateslast DESC"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsHistorique", $param, "ResultQuery"); // Calcul de la durée de connexion et affichage des différentes dates. $last = new clDate(isset($res['dateslast'][0]) ? $res['dateslast'][0] : ''); $date = new clDate(isset($res['dateshisto'][0]) ? $res['dateshisto'][0] : ''); $duree = new clDuree($last->getDifference($date)); if ((isset($res['nombre'][0]) ? $res['nombre'][0] : '0') > 1) { $sc = "s"; } else { $sc = ''; } if ($duree->getMinutes() > 1) { $sm = "s"; } else { $sm = ''; } if ($duree->getSeconds() > 1) { $ss = "s"; } else { $ss = ''; } if ($duree->getMinutes() > 0) { $temps = $duree->getMinutes() . " minute{$sm}"; } else { $temps = $duree->getSeconds() . " seconde{$ss}"; } $infos = "Dernière connexion le " . $date->getDateTextFull("à") . " (" . (isset($res['nombre'][0]) ? $res['nombre'][0] : '0') . " clic{$sc}, durée de {$temps})<br />"; $infos .= "Déconnexion enregistrée le " . $last->getDateTextFull("à") . "<br />"; } $mod->MxText("informations", $infos); } else { $mod->MxText("informations", '--'); } // On affiche la date à laquelle les stats ont commencé être enregistrées. $mod->MxText("datestats", $datestats->getDateText()); // Affichage du tableau de stats. $mod->MxText("table", $list->getList(isset($pagination) ? $pagination : '')); // Affichage de la liste des personnes à sélectionner. $mod->MxSelect("choix", "choix", $_POST['choix'], $tab, '', '', "onChange=reload(this.form)"); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); //$this->genGraphs ( $mod ) ; $mod->MxCheckerField("graph", "checkbox", 'graph', 1, isset($_POST['graph']) ? $_POST['graph'] ? true : false : false, "title='Graphiques' onChange=reload(this.form)"); if (isset($_POST['graph']) and $_POST['graph']) { $this->genGraphs($mod); $mod->MxText("graphs.clicsHeure", "<img src=\"cache/image1.png\" alt=\"Clics par heure\"></img>"); $mod->MxText("graphs.tempsHeure", "<img src=\"cache/image2.png\" alt=\"Temps par clics moyen par heure\"></img>"); $mod->MxText("graphs.clicsJour", "<img src=\"cache/image3.png\" alt=\"Clics par jour\"></img>"); } else { $mod->MxBloc("graphs", "delete"); } //$mod -> MxText ( "tempsJour", "<img src=cache/image4.png></img>" ) ; // Récupération du code HTML généré. return $mod->MxWrite("1"); }
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 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 addOption() { global $session; if ($session->getDroit("Configuration_Options", "a")) { if (isset($_POST['Ajouter']) || isset($_POST['Ajouter_x'])) { if ($this->verifForm()) { $this->addNewOption(); $this->infos .= "La création de l'option '" . stripslashes($_POST['libelle']) . "' a bien été effectuée."; } } if (!$this->stop) { $mod = new ModeliXe("GestionOption.mxt"); $mod->SetModeliXe(); if ($this->erreurs2) { $mod->MxText("erreurs.errs", $this->erreurs2); } else { $mod->MxBloc("erreurs", "delete"); } $mod->MxText("titre", "Ajout d'une nouvelle option :"); $mod->MxFormField("libelle", "text", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', ""); $mod->MxFormField("description", "text", "description", isset($_POST['description']) ? stripslashes($_POST['description']) : '', ""); $mod->MxCheckerField("administrateur", "checkbox", "administrateur", 1, (isset($_POST['administrateur']) and $_POST['administrateur']) ? true : false); $categories = $this->getCategories(); $mod->MxSelect("categories", "categorie", isset($_POST['categorie']) ? $_POST['categorie'] : '', $categories, '', '', "onChange=reload(this.form)"); $mod->MxFormField("nouvelle.nouvelle", "text", "nouvelle", isset($_POST['nouvelle']) ? stripslashes($_POST['nouvelle']) : '', ""); $types['text'] = "Champs libre (Texte)"; $types['bool'] = "Booléen (Oui/Non)"; $types['combobox'] = "Liste de valeurs (Combobox)"; $mod->MxSelect("types", "type", isset($_POST['type']) ? $_POST['type'] : '', $types, '', '', "onChange=reload(this.form)"); switch (isset($_POST['type']) ? $_POST['type'] : '') { case 'combobox': $mod->MxFormField("choix.tchoix", "text", "choix", (isset($_POST['choix']) and $_POST['choix']) ? stripslashes($_POST['choix']) : "choix1|choix2|choix3...", ""); break; default: $mod->MxBloc("choix", "delete"); break; } $mod->MxBloc("modifier", "delete"); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), $session->getNavi(3))); return $mod->MxWrite("1"); } } }
function gestionDroits() { if ($this->xham->getDroit("Configuration_Droits", "r")) { // Si idgroupe est transmis, alors on affiche les opérations sur // les droits du groupe. if (isset($_POST['idgroupe']) and $_POST['idgroupe']) { // Si action est tranmis, on affiche la gestion des privilèges. if (isset($_POST['action']) and $_POST['action']) { // Si Enlever est transmis, on lance la suppression des droits sélectionnés. if (isset($_POST['Enlever']) or isset($_POST['Enlever_x'])) { $this->delDroits(); } // Si Ajouter est transmis, on lance l'ajout des droits sélectionnés. if (isset($_POST['Ajouter']) or isset($_POST['Ajouter_x'])) { $this->addDroits(); } // Création d'un nouveau droit. if (isset($_POST['CreerDroit']) or isset($_POST['CreerDroit_x'])) { $this->addNewDroit(); } // Suppression d'un droit. if ((isset($_POST['SupprimerDroit']) or isset($_POST['SupprimerDroit_x']) or $this->xham->getNavi(3) == "Suppression") and !isset($_POST['Annuler'])) { $bonus = $this->delDroit(isset($_POST['libelle']) ? $_POST['libelle'] : $this->xham->getNavi(4)); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération des droits du groupe. $dro = $this->listeDroits("format"); // Récupération des droits attribuables. $tous = $this->listeDroits("format", $_POST['idgroupe']); // Appel du template. $mod = new ModeliXe("AttributionDeDroits.mxt"); $mod->SetModeliXe(); if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des différents champs. $mod->MxSelect("action", "action", $_POST['action'], $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroits")); $mod->MxSelect("tous", "tous[]", '', $tous, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsdispos\""); $mod->MxSelect("droits", "droits[]", '', $dro, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsgroupe\""); $mod->MxFormField("creation.libelle", "text", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', ""); $mod->MxFormField("creation.description", "text", "description", isset($_POST['description']) ? stripslashes($_POST['description']) : '', ""); $mod->MxHidden("creation.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Creation") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $listeDroits = $this->getTousDroits(); $mod->MxSelect("suppression.libelles", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', $listeDroits, '', '', 'size="15"'); $mod->MxHidden("suppression.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Suppression") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $mod->MxText("bonus", isset($bonus) ? $bonus : ''); if (!$this->xham->getDroit("Configuration_Droits", "w")) { $mod->MxBloc("boutonsajouter", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "d")) { $mod->MxBloc("boutonsenlever", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("creation", "delete"); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("suppression", "delete"); } } else { // Si MajDroits est tranmis, alors on lance la mise à jour du droit. if (isset($_POST['MajDroits']) || isset($_POST['MajDroits_x'])) { $this->majDroits(); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération de la liste des droits du groupe. $dro = $this->listeDroits(); // Chargement du template. $mod = new ModeliXe("GestionDesDroits.mxt"); $mod->SetModeliXe(); $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des champs. $mod->MxSelect("action", "action", isset($_POST['action']) ? $_POST['action'] : '', $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "MajDroits")); if (count($dro['iddroit']) > 0) { $mod->MxText("titres", "<tr><th>Libellé</th><th>Description</th><th title='lecture'>R</th><th title='écriture'>W</th><th title='modifier'>M</th><th title='effacer'>D</th><th title='administrer'>A</th>"); } else { $mod->MxText("titres", "<tr><th>Ce groupe ne possède aucun droit dans cette application.</th></tr>"); } // On parcourt chaque droit attribué au groupe, et on ajoute // une ligne au template pour gérer les privilèges. for ($i = 0; isset($dro['iddroit'][$i]); $i++) { $bin = sprintf("%05b", $dro['valeur'][$i]); $mod->MxText("listedroits.libelle", $dro['libelle'][$i]); $mod->MxText("listedroits.description", $dro['descriptiondroit'][$i]); $mod->MxCheckerField("listedroits.R", "checkbox", "R" . $dro['iddroit'][$i], 1, $bin[4] ? true : false, "title='Lecture'"); $mod->MxCheckerField("listedroits.W", "checkbox", "W" . $dro['iddroit'][$i], 1, $bin[3] ? true : false, "title='Ecriture'"); $mod->MxCheckerField("listedroits.M", "checkbox", "M" . $dro['iddroit'][$i], 1, $bin[2] ? true : false, "title='Modification'"); $mod->MxCheckerField("listedroits.D", "checkbox", "D" . $dro['iddroit'][$i], 1, $bin[1] ? true : false, "title='Effacement'"); $mod->MxCheckerField("listedroits.A", "checkbox", "A" . $dro['iddroit'][$i], 1, $bin[0] ? true : false, "title='Administration'"); $mod->MxBloc("listedroits", "loop"); } $mod->MxHidden("boutons.hidden2", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "")); if (!$this->xham->getDroit("Configuration_Droits", "m")) { $mod->MxBloc("boutons", "modify", ""); } } } else { // Dans ce cas, on affiche seulement la liste des groupes disponibles. $tab = $this->listeGroupes(); $mod = new ModeliXe("ListeGroupes.mxt"); $mod->SetModeliXe(); $mod->MxSelect("groupe", "idgroupe", isset($_POST['idgroupe']) ? $_POST['idgroupe'] : '', $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1))); } /* if ( ! ereg ( ".*".PRODKEYW.".*", URL ) AND URL ) { $mod -> MxUrl ( "lienMaj", URLNAVI.$session->genNavi ( $session->getNavi(0), $session->getNavi(1), "MajDroitsProd" ) ) ; $mod -> MxImage ( "imgMaj", URLIMGMAJ, "Envoyer en production" ) ; } */ $this->af .= $mod->MxWrite("1"); //ajout cervetti, javascript descriptions droits $this->af .= $this->genJavaTitles(); } }
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 getFormNGAP($paramForm) { //eko ("getFormNGAP"); global $session; $mod = new ModeliXe("CCAM_FormNGAP.mxt"); $mod->SetModeliXe(); unset($param); $param[nomListe] = "Lettres-clé NGAP"; $param[idDomaine] = CCAM_IDDOMAINE; $tabLC = $this->tableauValeurs("CCAM_getListeLC", $param, ""); //eko ($paramForm); $mod->MxSelect("LC1", "LC1", $paramForm[LC1], $tabLC, '', '', "class=\"select2\""); $mod->MxFormField("coeff1", "text", "coeff1", $paramForm[coeff1], "size=\"3\""); $mod->MxSelect("LC2", "LC2", $paramForm[LC2], $tabLC, '', '', "class=\"select2\""); $mod->MxFormField("coeff2", "text", "coeff2", $paramForm[coeff2], "size=\"3\""); $mod->MxSelect("LC3", "LC3", $paramForm[LC3], $tabLC, '', '', "class=\"select2\""); $mod->MxFormField("coeff3", "text", "coeff3", $paramForm[coeff3], "size=\"3\""); $mod->MxFormField("coeffKARE", "text", "coeffKARE", $paramForm[coeffKARE], "size=\"3\""); if ($paramForm[valeur_envoi_facturation] == 1) { $mod->MxCheckerField("nomchecker1", "radio", "check1", 1, true, "title='Oui'"); $mod->MxCheckerField("nomchecker2", "radio", "check1", 0, false, "title='Non'"); } else { $mod->MxCheckerField("nomchecker1", "radio", "check1", 1, false, "title='Oui'"); $mod->MxCheckerField("nomchecker2", "radio", "check1", 0, true, "title='Non'"); } //eko ($paramForm[envoi_facturation]); $af = $mod->MxWrite("1"); return $af; }
static function genMenuSelection($prefix, $ids) { global $formxSession; if (!is_object($formxSession)) { $formxSession = new formxSession(); } $mod = new ModeliXe("FX_selectNew.mxt"); $mod->SetModeliXe(); $dos = opendir(FORMX_LOCATION); // Met le pointeur de lecture sur le dossier courant. $tabAllForms = array(); while ($fich = readdir($dos)) { if (ereg("^.*\\.xml\$", $fich)) { //on ouvre le fichier pour en trouver les caracteristiques principales $xml = simplexml_load_file(FORMX_LOCATION . $fich); if (!$xml) { eko("pb chargement de l'instance"); } else { if ($xml['hide'] == 'y') { continue; } if ($xml['access']) { $droit = $formxSession->getDroit(utf8_decode((string) $xml['access']), 'w'); } else { $droit = $formxSession->getDroit(DROITGENFORMX, 'w'); } if (!$droit) { continue; } $infos = array("id" => $xml['id'], 'titre' => (string) $xml->Libelle, 'objet' => (string) $xml->Objet); if ((string) $xml->Groupe) { $tabAllForms[(string) $xml->Groupe][] = $infos; } else { $tabAllForms[utf8_encode("Général")][] = $infos; } } } } foreach ($tabAllForms as $groupe => $tabGroupe) { $mod->MxText('groupe.titregroupe', $groupe); $mod->MxAttribut("groupe.id_head", "head_" . $groupe); $mod->MxAttribut("groupe.id_body", "body_" . $groupe); $mod->MxAttribut("groupe.codeOnClick", "document.getElementById('body_{$groupe}').style.display='block';"); $mod->MxAttribut("groupe.codeOnClickClose", "document.getElementById('body_{$groupe}').style.display='none';"); $mod->MxAttribut("groupe.codeOnClickCheckAll", "checkAllIn('body_{$groupe}');"); foreach ($tabGroupe as $infoGroupe) { $mod->MxText('groupe.SQUELETTE.titre', $infoGroupe['titre']); $mod->MxText('groupe.SQUELETTE.id', $infoGroupe['id']); $mod->MxText('groupe.SQUELETTE.objet', $infoGroupe['objet']); $mod->MxCheckerField('groupe.SQUELETTE.check', 'checkbox', $prefix . "chooseNew[]", $infoGroupe['id'], '', "class=\"casechoi\""); $mod->MxBloc('groupe.SQUELETTE', 'loop'); } $mod->MxBloc('groupe', 'loop'); } $mod->MxFormField("selCancel", "image", $prefix . "selCancel", "on", "value='on' src=\"" . FX_URLIMGANNMINI . "\""); $mod->MxFormField("selValid", "image", $prefix . "selValid", "on", "value='on' src=\"" . FX_URLIMGVAL . "\""); //fermeture de fen�tre if ($formxSession->infos['mode'] != 'iframe') { $mod->MxFormField("windowClose", "image", $prefix . "close", "on", "value='on' src=\"" . FX_URLIMGCLO . "\""); } //navigation $mod->MxHidden("hidden1", "navi=" . $formxSession->genNavi($formxSession->getNavi(0), $formxSession->getNavi(1), $formxSession->getNavi(2), $formxSession->getNavi(3))); //ids $mod->MxHidden("hidden2", "ids=" . $ids); return $mod->MxWrite("1"); }
function gestionDiagsActes($tabPeriodicite, $diag0) { global $session; global $options; // Appel du template permettant la saisie des diagnostics et des actes if ($options->getOption("ActiverCORAModuleActes")) { $mod = new ModeliXe("CCAM_CotationActesCORA.mxt"); } else { $mod = new ModeliXe("CCAM_CotationActes.mxt"); } $mod->SetModeliXe(); $mod->MxImage("imgQuitter", URLIMG . "QuitterSansValider.gif"); $mod->MxUrl("lienQuitter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); //Initialisation des valeurs if (!$_POST['idListeSelection0']) { if ($diag0 != "") { unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[code] = $diag0; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getCat1Diag", $param, "ResultQuery"); $idListeSelection0 = $res[categorie][0]; } else { $idListeSelection0 = "aucun#"; } } else { if ($_POST['actualiserListe_x']) { unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[code] = $_POST['actualiserListe']; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getCat1Diag", $param, "ResultQuery"); $idListeSelection0 = $res[categorie][0]; } else { $idListeSelection0 = $_POST['idListeSelection0']; } } if (!$_POST['idListeSelection1']) { $diag0 != "" ? $idListeSelection1 = $diag0 : ($idListeSelection1 = "aucun#"); } else { if ($_POST['actualiserListe_x']) { $idListeSelection1 = $_POST['actualiserListe']; } else { $idListeSelection1 = $_POST['idListeSelection1']; } } !$_POST['idListeSelection2'] ? $idListeSelection2 = "diag" : ($idListeSelection2 = $_POST['idListeSelection2']); ($_POST['aDroite_x'] or $_POST['aDroite']) ? $aDroite = 1 : ""; ($_POST['sortir_x'] or $_POST['sortir']) ? $sortir = 1 : ""; //Ajout des actes sélectionnés dans la liste des actes affectés à la liste des actes //rattachés au patient en cours if ($aDroite or $sortir) { $retourInfos = $this->addActesPatient(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } if ($_POST['lesion'] and $_POST['lesion'] != $_POST['lesion_old']) { unset($param); $param[lesionMultiple] = $_POST['lesion']; $majrq = new clRequete(CCAM_BDD, "ccam_cotation_actes", $param); $sql = $majrq->updRecord("idEvent=" . $this->idEvent . " and idDomaine=" . CCAM_IDDOMAINE); } if (!$sortir) { //Si on a choisi de modifier un acte //if ($_POST['imgOK_x'] or $_POST['imgOK']) $retourInfos=$this->modifyActe(); //Si on a choisi de supprimer un acte ou un diagnostic if ($_POST['supprimerActe_x'] or $_POST['supprimerActe']) { //eko ( htmlentities($_POST['supprimerActe']) ) ; $idActeSuppr = $_POST['supprimerActe']; $this->infos = $this->delActesPatient($idActeSuppr); } if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } if ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } //Récupération des valeurs pour Selection0 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $tabListeSelection0 = $this->tableauValeurs("CCAM_getListeCatDiag", $param, "Choisir une catégorie de diagnostics"); //Récupération des valeurs pour Selection1 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection0] = addslashes(stripslashes($idListeSelection0)); $optionTri = $options->getOption("CCAM_TriDiagnostics"); if ($optionTri == "Manuel") { $tri = "rang"; } elseif ($optionTri == "Alphabétique") { $tri = "libelle"; } elseif ($optionTri == "Alphabétique inversé") { $tri = "libelle desc"; } else { $tri = "libelle"; } $param[order] = $tri; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeDiags", $param, "Choisir un diagnostic"); if ($options->getOption("ActiverModuleActes") and $session->getDroit("CCAM_ACTES_ACTES", "r")) { $tabListeSelection2[diag] = "Actes associés au diagnostic sélectionné"; $tabListeSelection2[tous] = "Tous les actes de la liste restreinte"; $tabListeSelection2[NGAP] = "Actes NGAP"; $tabListeSelection2[PACK] = "Packs d'actes"; $optionTri = $options->getOption("CCAM_TriListeActes"); if (strcmp($optionTri, "Code de l'acte") == 0) { $tri = "code"; } elseif (strcmp($optionTri, "Libellé de l'acte") == 0) { $tri = "libelle"; } elseif (strcmp($optionTri, "Fréquence d'utilisation") == 0) { $tri = "frequence"; } else { $tri = "code"; } //Récupération des actes pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; $paramA[idDomaine] = CCAM_IDDOMAINE; if ($idListeSelection2 and $idListeSelection1) { $paramA[idListeSelection1] = $idListeSelection2; $paramRelation[idEvent] = $this->idEvent; if (strcmp($tri, "code") == 0) { $paramA["order"] = "rel.idActe"; } elseif (strcmp($tri, "libelle") == 0) { $paramA["order"] = "rel.libelleActe"; } elseif (strcmp($tri, "frequence") == 0) { $paramA["order"] = "rel.frequence desc,rel.idActe"; } // Nous sommes dans la fenetre de Cotation des diagnostics et des actes eko("fenetre de Cotation des diagnostics et des actes"); eko($this->typeIntervenant); if ($idListeSelection2 == "tous") { $requete = new clResultQuery(); unset($paramRq); if (strcmp($this->typeIntervenant, "URG") == 0) { // On prend en compte l'acte NGAP des urgentistes // Consultation urgentiste $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); } elseif (strcmp($this->typeIntervenant, "PED") == 0) { // On prend en compte l'acte NGAP des urgentistes spécialistes // Consultation urgentiste spécialiste $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); } elseif (strcmp($this->typeIntervenant, "SAF") == 0) { // On prend en compte l'acte NGAP des sage-femmes // Consultation sage-femme spécialiste $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); } elseif (strcmp($this->typeIntervenant, "OBS") == 0) { // On prend en compte l'acte NGAP des obstétrique et gynécologique // Consultation obstétrique et gynécologique spécialiste $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); } eko($codeNGAPf); eko($codeNGAPnf); eko($codeNGAP2f); eko($codeNGAP2nf); eko($codeNGAP3f); eko($codeNGAP3nf); $paramA[cw] = " and rel.idActe not like 'NGAP%') or (rel.idActe like 'NGAP%' and rel.idActe<>'" . $codeNGAP3f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP3nf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPnf[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2nf[idActe][0] . "' and rel.cotationNGAP <>''"; //eko($paramA); $requete = "CCAM_getActesNonListe"; } elseif ($idListeSelection2 == "NGAP") { // Pour lister l'ensemble des actes NGAP on doit soit afficher // l'acte de consultation urgentiste soit l'acte de consultation // urgentiste spécialiste soit lacte de consultation de sage-femmes // soit l'acte de consultation de gynecologie obstetrique // (pareil pour non facturable) $paramA[type] = "NGAP"; $requete = new clResultQuery(); unset($paramRq); if (strcmp($this->typeIntervenant, "URG") == 0) { // On prend en compte l'acte NGAP des urgentistes // Consultation urgentiste $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramA[cw] = "and rel.idActe<>'" . $codeNGAP3f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP3nf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPnf[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2nf[idActe][0] . "' and rel.cotationNGAP<>''"; } elseif (strcmp($this->typeIntervenant, "PED") == 0) { // On prend en compte l'acte NGAP des urgentistes spécialistes // Consultation urgentiste spécialiste $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramA[cw] = "and rel.idActe<>'" . $codeNGAP3f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP3nf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPnf[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2nf[idActe][0] . "' and rel.cotationNGAP<>''"; } elseif (strcmp($this->typeIntervenant, "SAF") == 0) { // On prend en compte l'acte NGAP des sage-femmes // Consultation sage-femmes $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation gynécologie et obstétrique non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramA[cw] = "and rel.idActe<>'" . $codeNGAP3f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP3nf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPnf[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2nf[idActe][0] . "' and rel.cotationNGAP<>''"; } elseif (strcmp($this->typeIntervenant, "OBS") == 0) { // On prend en compte l'acte NGAP gynécologie et obstétrique // Consultation gynécologie et obstétrique $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAP2f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAP2nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme'"; $codeNGAP3f = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation sage-femme non facturable'"; $codeNGAP3nf = $requete->Execute("Fichier", "CCAM_getActesDomaine3", $paramRq, "ResultQuery"); $paramA[cw] = "and rel.idActe<>'" . $codeNGAP3f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP3nf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPf[idActe][0] . "' and rel.idActe<>'" . $codeNGAPnf[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2f[idActe][0] . "' and rel.idActe<>'" . $codeNGAP2nf[idActe][0] . "' and rel.cotationNGAP<>''"; } $requete = "CCAM_getAutresActesNonListe"; } elseif ($idListeSelection2 == "PACK") { $paramA[type] = "PACK"; $paramA[cw] = ""; $requete = "CCAM_getAutresActesNonListe"; } else { /*if ( strcmp ($this->typeIntervenant,"URG") == 0 ) { // On prend en compte l'acte NGAP des urgentistes // Consultation urgentiste // on récupere le code NGAP des urgentistes spécialistes $requete = new clResultQuery; unset($paramRq); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste'"; $codeNGAPf = $requete->Execute("Fichier","CCAM_getActesDomaine3",$paramRq,"ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste spécialiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier","CCAM_getActesDomaine3",$paramRq,"ResultQuery"); $paramA[cw]="and act.date_fin='0000-00-00' and (rel.idActe not like 'NGAP%' or rel.idActe like 'NGAP%' and rel.idActe<>'".$codeNGAPf[idActe][0]."' and rel.idActe<>'".$codeNGAPnf[idActe][0]."' and act.cotationNGAP<>'')"; } else { // On prend en compte l'acte NGAP des urgentistes spécialistes // Consultation urgentiste spécialiste // on récupere le code NGAP des urgentistes $requete = new clResultQuery; unset($paramRq); $paramRq["cw"] = "libelleActe='Consultation urgentiste'"; $codeNGAPf = $requete->Execute("Fichier","CCAM_getActesDomaine3",$paramRq,"ResultQuery"); $paramRq["cw"] = "libelleActe='Consultation urgentiste non facturable'"; $codeNGAPnf = $requete->Execute("Fichier","CCAM_getActesDomaine3",$paramRq,"ResultQuery"); $paramA[cw]="and act.date_fin='0000-00-00' and (rel.idActe not like 'NGAP%' or rel.idActe like 'NGAP%' and rel.idActe<>'".$codeNGAPf[idActe][0]."' and rel.idActe<>'".$codeNGAPnf[idActe][0]."' and act.cotationNGAP<>'')"; } */ $paramA[idListeSelection1] = $idListeSelection1; $paramA[cw] = "and act.date_fin='0000-00-00' and (rel.idActe not like 'NGAP%' or \r\n\t\t\t\t\t\trel.idActe like 'NGAP%' and act.cotationNGAP<>'')"; if (strcmp($tri, "code") == 0) { $paramA["order"] = "act.idActe"; } elseif (strcmp($tri, "libelle") == 0) { $paramA["order"] = "act.libelleActe"; } elseif (strcmp($tri, "frequence") == 0) { $paramA["order"] = "act.frequence desc,act.idActe"; } $requete = "CCAM_getActesDiags"; } $tabListeGauche = $this->valeursListeGauche($requete, "CCAM_getActesCotes", $paramA, $paramRelation, "Choisir un acte"); // On affiche d'abord les actes CCAM puis NGAP puis PACK $ccamtableau = array(); $ngaptableau = array(); $packtableau = array(); foreach ($tabListeGauche as $cle => $valeur) { if (substr($cle, 0, 4) == "NGAP") { $ngaptableau[$cle] = $valeur; } elseif (substr($cle, 0, 4) == "PACK") { $packtableau[$cle] = $valeur; } else { $ccamtableau[$cle] = $valeur; } } foreach ($ccamtableau as $cle => $valeur) { $alltableau[$cle] = $valeur; } foreach ($ngaptableau as $cle => $valeur) { $alltableau[$cle] = $valeur; } foreach ($packtableau as $cle => $valeur) { $alltableau[$cle] = $valeur; } $tabListeGauche = $alltableau; } else { $tabListeGauche[0] = "Choisir un acte"; } $mod->MxText("actesBlocGauche.titreSelection2", "Actes"); $mod->MxSelect("actesBlocGauche.idListeSelection2", "idListeSelection2", $idListeSelection2, $tabListeSelection2, '', '', "onChange=reload(this.form) size=\"4\""); $mod->MxSelect("actesBlocGauche.listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"13\" multiple=\"yes\""); //Liste des anesthésistes // DBDEB1 : masquage de l'anesthésiste. unset($param); //$param[idDomaine]=CCAM_IDDOMAINE; //$param[idListeSelection0]="Anesthésie"; //$param[order]="libelle"; //$tabAnesth=$this->tableauValeurs("CCAM_getListeDiags",$param,"Choisir un anesthésiste"); $nomUrgentiste = $this->nomIntervenant; $matriculeUrgentiste = $this->matriculeIntervenant; //$tabAnesth[$matriculeUrgentiste]=$nomUrgentiste; !isset($_POST['anesthesiste']) ? $anesthesiste = $matriculeUrgentiste : ($anesthesiste = $_POST['anesthesiste']); $mod->MxHidden("actesBlocGauche.anesthesiste", "anesthesiste={$matriculeUrgentiste}"); //$mod->MxSelect("actesBlocGauche.anesthesiste","anesthesiste",$anesthesiste,$tabAnesth); // DBFIN1 //Récupération des actes côtés pour le patient en cours unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idEvent] = $this->idEvent; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getActesCotes", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); /*if (!$session->getDroit("CCAM_".$this->typeListe,"m")){ $mod->MxBloc("actesBlocDroite.actesCotes.actionModif","delete"); }*/ if (!$session->getDroit("CCAM_ACTES_" . $this->typeListe, "d")) { $mod->MxBloc("actesBlocDroite.actesCotes.actionSuppr", "delete"); } if ($res[INDIC_SVC][2] == 0) { $mod->MxBloc("actesBlocDroite.actesCotes", "delete"); } else { $mod->MxBloc("actesBlocDroite.aucunActe", "delete"); $idListeActes = ""; for ($i = 0; isset($res[identifiant][$i]); $i++) { $idListeActes .= "'" . $res[identifiant][$i] . "',"; $lesion = $res[lesionMultiple][$i]; list($annee, $mois, $jour) = explode("-", substr($res[dateDemande][$i], 0, 10)); $dateActe = $jour . "/" . $mois . "/" . $annee; $mod->MxText("actesBlocDroite.actesCotes.dateActe", $dateActe); if ($options->getOption("AffichageTarifsCCAM")) { unset($paramRq); $paramRq["cw"] = "and a.code='" . $res[identifiant][$i] . "' order by t.aadt_modif desc"; $fat = $req->Execute("Fichier", "CCAM_get1TarifCCAM", $paramRq, "ResultQuery"); //eko($fat); if ($fat[INDIC_SVC][2] == 1) { $prix = $fat["pu_base"][0] . "€."; $mod->MxText("actesBlocDroite.actesCotes.codeActe", $res[identifiant][$i] . "<br>" . $prix); } else { $mod->MxText("actesBlocDroite.actesCotes.codeActe", $res[identifiant][$i]); } } else { $mod->MxText("actesBlocDroite.actesCotes.codeActe", $res[identifiant][$i]); } $mod->MxText("actesBlocDroite.actesCotes.libActe", $res[libelle][$i]); $mod->MxText("actesBlocDroite.actesCotes.medecin", $res[medecin][$i]); /*$mod->MxText("actesBlocDroite.actesCotes.actionModif.codeActe", $res[identifiant][$i]);*/ $mod->MxText("actesBlocDroite.actesCotes.actionSuppr.codeActe", $res[identifiant][$i]); $periodicite = $res[periodicite][$i]; if ($_POST['modifierActe_x'] and $res[identifiant][$i] == $_POST['modifierActe']) { //$this->saisieComplementActe($res,$periodicite,$tabPeriodicite,$i); } elseif ($res[quantite][$i] == 1) { $mod->MxText("actesBlocDroite.actesCotes.complementActeLibQte", " "); $mod->MxText("actesBlocDroite.actesCotes.complementActeQte", ""); } elseif ($periodicite == "aucune") { $mod->MxText("actesBlocDroite.actesCotes.complementActeLibPeriod", ""); $mod->MxText("actesBlocDroite.actesCotes.complementActePeriod", ""); /*if ($res[quantite][$i]>1){ $mod->MxText("actesBlocDroite.actesCotes.complementActeLibQte", "Quantité :"); $mod->MxText("actesBlocDroite.actesCotes.complementActeQte", $res[quantite][$i]); }*/ } else { /*$mod->MxText("actesBlocDroite.actesCotes.complementActeLibQte","Quantité :"); $mod->MxText("actesBlocDroite.actesCotes.complementActeQte",$res[quantite][$i]); if ($periodicite!="aucune"){ $mod->MxText("actesBlocDroite.actesCotes.complementActeLibPeriod", "<br>Temps latence :"); $mod->MxText("actesBlocDroite.actesCotes.complementActePeriod", $tabPeriodicite[$periodicite]); }*/ } $mod->MxBloc("actesBlocDroite.actesCotes", "loop"); /*//Mise à jour des modificateurs $codeActe=$res[identifiant][$i]; unset($param); $param[modificateurs]=""; $requete=new clRequete(CCAM_BDD,"ccam_cotation_actes",$param); $sql=$requete->updRecord("codeActe='$codeActe' and idDomaine=".CCAM_IDDOMAINE. " and idEvent=".$this->idEvent); unset($param); $param[cw]="and substring(rel.aa_code,1,7)='$codeActe' and rel.modifi_cod in ('7')"; $req=new clResultQuery; $res2=$req->Execute("Fichier","CCAM_getModificateursActe",$param,"ResultQuery"); //eko($res2[INDIC_SVC]); $listeModificateurs=""; for ($j=0;isset($res2[modifi_cod][$j]);$j++){ $CCModificateur="Modificateur_".$res2[modifi_cod][$j]; //eko("CCmodificateur:$CCModificateur:".$_POST[$CCModificateur]); if ($_POST[$CCModificateur]){ $listeModificateurs.=$res2[modifi_cod][$j]."~"; } } //eko("listemodif:$listeModificateurs"); if ($listeModificateurs){ $listeModificateurs=substr($listeModificateurs,0,-1); unset($param); $param[modificateurs]=$listeModificateurs; $requete=new clRequete(CCAM_BDD,"ccam_cotation_actes",$param); $sql=$requete->updRecord("codeActe='$codeActe' and idDomaine=".CCAM_IDDOMAINE. " and idEvent=".$this->idEvent); //eko($sql); }*/ } $idListeActes = substr($idListeActes, 0, -1); /*//Récupération des modificateurs cotés pour les actes et le patient en cours unset($param); $param[cw]="codeActe in ($idListeActes) and idDomaine=".CCAM_IDDOMAINE. " and idEvent=".$this->idEvent; $req=new clResultQuery; $res=$req->Execute("Fichier","CCAM_getModificateursCotes",$param,"ResultQuery"); //eko($res[INDIC_SVC]); unset($tabModificateurs); for ($i=0;isset($res[modificateurs][$i]);$i++){ unset($listeModificateurs); $listeModificateurs=explode("~",$res[modificateurs][$i]); while (list($key,$val)=each($listeModificateurs)){ $tabModificateurs[$val]=$val; } } //eko($tabModificateurs);*/ //Gestion des modificateurs /*unset($param); $param[cw]="and substring(rel.aa_code,1,7) in ($idListeActes) and rel.modifi_cod in ('7')"; $req=new clResultQuery; $res=$req->Execute("Fichier","CCAM_getModificateursActe",$param,"ResultQuery"); //eko($res[INDIC_SVC]); for ($i=0;isset($res[modifi_cod][$i]);$i++){ $CCModificateur="Modificateur_".$res[modifi_cod][$i]; $modificateur=$res[modifi_cod][$i]; //eko("CCmodificateur:$CCModificateur:".$_POST[$CCModificateur]); $mod->MxCheckerField("anesthesie.ligneModificateur.CCModificateur", "checkbox",$CCModificateur,1, (($tabModificateurs[$modificateur]==$modificateur)?true:false)); $mod->MxText("anesthesie.ligneModificateur.libModificateur", $res[libelle][$i]); $mod->MxBloc("anesthesie.ligneModificateur","loop"); } $mod->MxFormField("anesthesie.imgOK","image","imgOK","", "value=\"".$res[identifiant][$i]."\" src=\"".URLIMG."Ok.gif\""); $mod->MxFormField("anesthesie.imgAnnul","image","imgAnnul","", "src=\"".URLIMG."annuler2.gif\"");*/ } $mod->MxText("titreFormulaire", "Cotation des diagnostics et des actes"); $mod->MxText("titreDispo", "Diagnostics, actes et packs disponibles"); $mod->MxText("titreAffecte", "Diagnostics et actes affectés au patient"); } else { $mod->MxText("titreFormulaire", "Cotation des diagnostics"); $mod->MxBloc("actesBlocGauche", "delete"); $mod->MxBloc("actesBlocDroite", "delete"); $mod->MxText("titreDispo", "Diagnostics disponibles"); $mod->MxText("titreAffecte", "Diagnostics affectés au patient"); // Nous faisons appel à la DLL de CORA ici pour l'affectation des actes CCAM // aux patients. Seul les diagnostics seront saisies. if ($options->getOption("ActiverCORAModuleActes")) { $mod->MxText("titreFormulaire", "Cotation des diagnostics et appel de CORA Recueil pour les actes"); $mod->MxText("fenetreFermerCora", ""); if ($_POST['cora_x'] or $session->getNavi(3) == "AppelCora") { $html = XhamTools::genFenetreBloquante("fenetreFermerCora.html"); $mod->MxText("fenetreFermerCora", $html); } } } /*list($anneeNais,$moisNais,$jourNais)=explode("-",$this->dtnai); if ($this->lieuInterv=="0") $lieuInterv=""; else $lieuInterv=", ".$this->lieuInterv; $mod->MxText("infosPatient",$this->nomu." ".$this->pren.", né(e) le ".$jourNais."/".$moisNais."/".$anneeNais. $lieuInterv);*/ $mod->MxText("nomPatient", $this->nomu . " " . ucfirst(strtolower($this->pren))); $mod->MxText("sallePatient", $this->lieuInterv); if (!$_POST['lesion']) { if (!$lesion) { $lesion = "Non"; } } else { $lesion = $_POST['lesion']; } $tabLesion[Oui] = "Oui"; $tabLesion[Non] = "Non"; while (list($key, $val) = each($tabLesion)) { $mod->MxCheckerField("lesionMultiple.btn", "radio", "lesion", $key, $lesion == $key ? true : false, "onChange=\"reload(this.form)\""); $mod->MxText("lesionMultiple.libelle", $val); $mod->MxBloc("lesionMultiple", "loop"); } //Récupération des diagnostics côtés pour le patient en cours unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idEvent] = $this->idEvent; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getDiagCotes", $param, "ResultQuery"); if (!$session->getDroit("CCAM_ACTES_" . $this->typeListe, "d")) { $mod->MxBloc("diagnostics.diagCotes.action", "delete"); } if ($res[INDIC_SVC][2] == 0) { $mod->MxBloc("diagnostics.diagCotes", "delete"); } else { $mod->MxBloc("diagnostics.aucunDiag", "delete"); for ($i = 0; isset($res[identifiant][$i]); $i++) { list($annee, $mois, $jour) = explode("-", substr($res[dateDemande][$i], 0, 10)); $dateActe = $jour . "/" . $mois . "/" . $annee; $mod->MxText("diagnostics.diagCotes.dateActe", $dateActe); $mod->MxText("diagnostics.diagCotes.codeActe", $res[identifiant][$i]); $mod->MxText("diagnostics.diagCotes.libActe", ucfirst($res[libelle][$i])); $mod->MxText("diagnostics.diagCotes.action.codeActe", $res[identifiant][$i]); $mod->MxBloc("diagnostics.diagCotes", "loop"); } } //Gestion du template $mod->MxText("titreSelection0", "Catégories"); $mod->MxSelect("idListeSelection0", "idListeSelection0", stripslashes($idListeSelection0), $tabListeSelection0, '', '', "onChange=reload(this.form)"); $mod->MxText("titreSelection1", "Diagnostics"); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_ACTES_" . $this->typeListe, "w")) { $mod->MxBloc("flDroite", "delete"); $mod->MxBloc("flSortir", "delete"); } //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"); } if ($sortir) { $mod->MxHidden("hidden", "lesion_old={$lesion}&navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); } elseif ($cora) { $mod->MxHidden("hidden", "lesion_old={$lesion}&navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "AppelCora")); } else { $mod->MxHidden("hidden", "lesion_old={$lesion}&navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "DetailDiagsActes")); } return $this->af .= $mod->MxWrite("1"); } }
function imprDocuments() { global $session; global $options; // Si on se sert du module externe de documents (Brignoles) if ($options->getOption("documentsExterne")) { $this->err1 = ""; $this->err2 = ""; // Chargement du template ModeliXe $mod = new ModeliXe("Mobidoc.html"); $mod->SetModeliXe(); $mod->MxText("errs", $this->err1 . "<br/>" . $this->err2); // Récupération du code HTML généré. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // CHB Start $cMobidoc = new clMobidocTU($this->patient->getID()); $str = $cMobidoc->OpenMobidoc(); //eko ( $str ) ; if (ereg('NACK-', $str)) { $mod->MxText("errs", "<b>L'appel à mobidoc a échoué (Erreur: COMRPC Impossible)</b>'"); } // CHB Stop /* Ancienne version $str = OpenMobidoc($this->patient->getID ( ),$_SERVER["REMOTE_ADDR"],$options->getOption('CCAMExterne_MRPCPORT'),$options->getOption('CCAMExterne_MRPCTIMEOUT')); //$str = 'ERROR' ; if ( $str == 'ERROR' ) { $mod -> MxText ( "errs", "<b>L'appel à mobidoc a échoué (Erreur: COMRPC Impossible)</b>'") ; } */ return $this->af .= $mod->MxWrite("1"); } else { if ($_POST['Imprimer'] or $_POST['Imprimer_x']) { $session->setLogSup('Impression de documents'); $sel = $_POST['selection']; $docs = new clDocuments("impr"); $date = new clDate(); for ($i = 0; isset($sel[$i]); $i++) { $param[cw] = "WHERE iddocument='" . $sel[$i] . "'"; $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); $rep = $date->getYear() . "/" . $date->getMonthNumber() . "/"; $output[$i] = $date->getTimestamp() . "-" . $this->patient->getID() . "-" . $sel[$i] . ".pdf"; $data['idpatient'] = $this->patient->getID(); $data['iddocument'] = $sel[$i]; $data['nomedition'] = $ras['nom'][0]; $data['urledition'] = $rep . $output[$i]; $data['iduser'] = $session->getUser(); $data['date'] = $date->getDatetime(); $requete = new clRequete(BDD, DOCSEDITES, $data); $requete->addRecord(); } $rep = $date->getYear() . "/" . $date->getMonthNumber() . "/"; $docs->genDoc($sel, $this->patient->getID(), $output, URLDOCS . $rep, $rep); } else { // Chargement du template ModeliXe. $mod = new ModeliXe("ImprimerDocuments.mxt"); $mod->SetModeliXe(); $mod->MxImage("imgCloseImprimer", URLIMGFER, "Fermer"); $mod->MxUrl("lienCloseImprimer", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Récupération de la liste des catégories de documents. $param['cw'] = " ORDER BY categorie"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery"); // Parcours des différentes catégories de documents. for ($i = 0; isset($res['categorie'][$i]); $i++) { // Recherche des dernières versions des documents de la catégorie parcourue. $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND fin_validite='0000-00-00 00:00:00' ORDER BY nom"; $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); // Si on a un résultat, alors on parcourt ces documents. if ($ras['INDIC_SVC'][2]) { // Et on affiche le titre de la catégorie. $mod->MxText("categorie.titre", $res['categorie'][$i]); $k = 0; for ($j = 0; isset($ras['iddocument'][$j]); $j++) { // Nom du document. $param['cw'] = "WHERE iddocument='" . $ras['iddocument'][$j] . "' AND idpatient='" . $this->patient->getID() . "'"; $req = new clResultQuery(); $rus = $req->Execute("Fichier", "getDocumentsEdites", $param, "ResultQuery"); if ($rus['INDIC_SVC'][2]) { $td = "<td class=\"dejaedite\" style=\"text-align: left;\">"; } else { $td = "<td style=\"text-align: left;\">"; } if (!($j % $options->getOption("DocumentsParLigne")) and $j != 0) { $tr = "<tr>"; if ($k) { $tr .= "<td class=\"nostyle\"></td>"; } } else { $tr = ""; } if (!(($j + 1) % $options->getOption("DocumentsParLigne")) or !isset($ras['iddocument'][$j + 1])) { $ftr = "</tr>"; $k++; } else { $ftr = ""; } $mod->MxText("categorie.documents.tdo", $tr . $td); $mod->MxCheckerField("categorie.documents.c", "checkbox", "selection[]", $ras['iddocument'][$j]); $mod->MxText("categorie.documents.doc", $ras['nom'][$j]); $mod->MxText("categorie.documents.tdf", "</td>{$ftr}"); $mod->MxBloc("categorie.documents", "loop"); } $mod->MxBloc("categorie", "loop"); } } // Variable de navigation dans le cas du lancement des éditions. $mod->MxHidden("hidden1", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "genEdition")); // Variable de navigation dans le cas d'une action d'annulation. $mod->MxHidden("hidden2", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Récupération du code HTML généré. $this->af .= $mod->MxWrite("1"); } } }
function listeActes($get = '') { global $options; global $session; if ($session->getDroit("Liste_Radio", "m")) { $req = new clResultQuery(); $param['base'] = $this->getBaseFromIdRadio($session->getNavi(2)); $param['cw'] = "where r.idpatient=p.idpatient and idradio=" . $session->getNavi(2); $res = $req->Execute("Fichier", "getRadios", $param, "ResultQuery"); if ($_REQUEST['addActe']) { $param['cw'] = " idEvent=" . $res['idpatient'][0] . " and codeActe='" . $_REQUEST['acte'] . "'"; $rus = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $param, "ResultQuery"); if ($rus['INDIC_SVC'][2]) { $data['quantite'] = $rus['quantite'][0] + 1; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $data); $requete->updRecord('identifiant=' . $rus['identifiant'][0]); } else { $param['cw'] = " CODE='" . $_REQUEST['acte'] . "'"; $ris = $req->Execute("Fichier", "CCAM_getActesCCAM", $param, "ResultQuery"); //$data['identifiant'] = ; $data['idEvent'] = $res['idpatient'][0]; $data['dateEvent'] = date('Y-m-d H:i:s'); $data['idDomaine'] = 1; $data['dtFinInterv'] = ''; $data['idu'] = $res['idu'][0]; $data['ipp'] = $res['ilp'][0]; $data['nomu'] = $res['nom'][0]; $data['pren'] = $res['prenom'][0]; $data['sexe'] = $res['sexe'][0]; $data['dtnai'] = substr($res['dt_naissance'][0], 0, 10); $data['dateDemande'] = $res['dt_admission'][0]; $data['typeAdm'] = $res['type_destination'][0]; $data['lieuInterv'] = $options->getOption('RadioSalle'); $data['numUFexec'] = $options->getOption('RadioUF'); $data['Urgence'] = ''; $data['codeActe'] = $_REQUEST['acte']; $data['libelleActe'] = $ris['LIBELLE_COURT'][0]; $data['cotationNGAP'] = ''; $data['codeActivite4'] = ''; $data['modificateurs'] = ''; $data['type'] = 'ACTE'; $data['categorie'] = ''; $data['extensionDoc'] = ''; $data['matriculeIntervenant'] = $res['adeli'][0]; $data['nomIntervenant'] = $res['radiologue'][0]; $data['numSejour'] = $res['nsej'][0]; $data['numUFdem'] = $res['uf'][0]; $data['validDefinitive'] = ''; $data['quantite'] = 1; $data['periodicite'] = 'aucune'; $data['lesionMultiple'] = 'Non'; //print affTab ( $data ) ; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $data); $requete->addRecord(); } } elseif ($session->getNavi(1) == "delActeRadio") { $param['cw'] = ' identifiant=' . $session->getNavi(3); $ris = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $param, "ResultQuery"); if ($ris['quantite'][0] > 1) { $data['quantite'] = $ris['quantite'][0] - 1; $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $data); $requete->updRecord('identifiant=' . $session->getNavi(3)); } else { $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes"); $requete->delRecord('identifiant=' . $session->getNavi(3)); } } $mod = new ModeliXe("RadioActes.html"); $mod->SetModeliXe(); $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 ($ris['INDIC_SVC'][2]) { $dateE = new clDate(); global $pi; for ($i = 0; isset($ris['codeActe'][$i]); $i++) { if ($ris['codeActe'][$i] != $options->getOption('RadioAnesthesie')) { if ($ris['quantite'][$i] > 1) { $q = ' (' . $ris['quantite'][$i] . ')'; } else { $q = ''; } $mod->MxText('acte.acte', $ris['codeActe'][$i] . $q); $dateE->setDate($ris['dateEvent'][$i]); $mod->MxText('acte.date', $dateE->getDate('d/m/Y H:i:s')); $mod->MxText('acte.med', $ris['nomIntervenant'][$i]); $modif = explode('~', $ris['modificateurs'][$i]); //$modif = explode ( '~', $tmp[0] ) ; $B = ''; $C = ''; $D = ''; $E = ''; $Y = ''; $Z = ''; while (list($key, $val) = each($modif)) { if ($val) { eval("\${$val}=1;"); } } $ajR = XhamTools::genAjax('onClick', 'setModificateursRadio', 'navi=' . $session->genNavi('Ajax', 'setModificateursRadio', $session->getNavi(2), $ris['identifiant'][$i])); $ajR = 'onclick="request(\'index.php?navi=' . $session->genNavi('Ajax', 'setModificateursRadio', $session->getNavi(2), $ris['identifiant'][$i]) . '\',' . $i . ',\'setModificateursRadio\')"'; $mod->MxCheckerField("acte.B", "checkbox", "B{$i}", 1, $B ? true : false, $pi->genInfoBulle('Radio réalisée au bloc opératoire, en unité de réanimation ou au lit du patient intransportable.') . " id=\"B{$i}\" {$ajR}"); $mod->MxCheckerField("acte.C", "checkbox", "C{$i}", 1, $C ? true : false, $pi->genInfoBulle('Réalisation d\'une radio comparative.') . " id=\"C{$i}\" {$ajR}"); $mod->MxCheckerField("acte.D", "checkbox", "D{$i}", 1, $D ? true : false, $pi->genInfoBulle('Acte de contrôle radiographique de segment de squelette immobilisé par contention rigide.') . " id=\"D{$i}\" {$ajR}"); $mod->MxCheckerField("acte.E", "checkbox", "E{$i}", 1, $E ? true : false, $pi->genInfoBulle('Acte de radiographie ou scanographie sur un patient de moins de 5 ans.') . " id=\"E{$i}\" {$ajR}"); $mod->MxCheckerField("acte.Y", "checkbox", "Y{$i}", 1, $Y ? true : false, $pi->genInfoBulle('Acte de radiographie réalisé par un pneumologue ou un rhumatologue.') . " id=\"Y{$i}\" {$ajR}"); $mod->MxCheckerField("acte.Z", "checkbox", "Z{$i}", 1, $Z ? true : false, $pi->genInfoBulle('Acte de radiographie réalisé par un radiologue.') . " id=\"Z{$i}\" {$ajR}"); $aj = XhamTools::genAjax('onClick', 'delActeRadio', 'navi=' . $session->genNavi('Ajax', 'delActeRadio', $session->getNavi(2), $ris['identifiant'][$i])); if ($session->getDroit("Liste_Radio", "d")) { $mod->MxText('acte.action', "<img src=\"images/annuler.gif\" alt=\"Supprimer acte\" {$aj} />"); } $mod->MxBloc('acte', 'loop'); } } } else { $mod->MxBloc("acte", "replace", "<tr><td style=\"text-align: center;\" class=\"red\" colspan=9>Aucun acte saisi</td></tr>"); } if ($get) { return $mod->MxWrite("1"); } else { $this->af = $mod->MxWrite("1"); } } }
function gestionListes() { global $session; !$_POST['action'] ? $action = "ccam" : ($action = $_POST['action']); $action == "affectation_ngap" ? $nomForm = "CCAM_AffectationNGAP.mxt" : ($nomForm = "CCAM_ListeRestreinte.mxt"); // Appel du template $mod = new ModeliXe($nomForm); $mod->SetModeliXe(); $mod->MxText("titreFormulaire", "Gestion de la liste restreinte"); //Liste des actions $tabAction[ccam] = "Actes CCAM"; $tabAction[non_ccam] = "Actes non CCAM"; $tabAction[affectation_ngap] = "Affectation NGAP"; 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"); } $js = ""; if ($action == "ccam") { //Suppression des actes sélectionnés if ($_POST['aGauche_x']) { $this->infos = $this->delActes(); } elseif ($_POST['aDroite_x']) { $this->infos = $this->addActes("CCAM_get1ActeCCAM"); } elseif ($_POST['OK_x']) { $retourInfos = $this->modifyActe(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } elseif ($_POST['modifierActe_x']) { //Récupération des infos pour le dernier acte sélectionné dans la liste $paramRq[idActe] = $this->getDerIdSel($_POST['listeDroite']); if ($paramRq[idActe] != "" and $paramRq[idActe] != "aucun#") { $paramRq[cw] = "and idDomaine=2"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_get1Acte", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $cotationNGAP = $this->explodeNGAP($res[cotationNGAP][0]); //Gestion du sous-template $paramForm[titreEnCours] = "Modification d'un acte"; $paramForm[codeNGAP] = $paramRq[idActe]; $paramForm[libActe] = $res[libelle][0]; $paramForm[LC1] = $cotationNGAP[LC1]; $paramForm[coeff1] = $cotationNGAP[coeff1]; $paramForm[LC2] = $cotationNGAP[LC2]; $paramForm[coeff2] = $cotationNGAP[coeff2]; $paramForm[LC3] = $cotationNGAP[LC3]; $paramForm[coeff3] = $cotationNGAP[coeff3]; $paramForm[coeffKARE] = $cotationNGAP[coeffKARE]; $paramForm[action] = "ccam"; $paramForm[action2] = "modifier"; $mod->MxText("form1Acte", $this->getForm1Acte($paramForm)); } } else { //Récupération des infos pour le dernier acte sélectionné dans la liste $paramRq[idActe] = $this->getDerIdSel($_POST['listeDroite']); if ($paramRq[idActe] != "" and $paramRq[idActe] != "aucun#") { $paramRq[cw] = "and idDomaine=2"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_get1Acte", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $cotationNGAP = $this->explodeNGAP($res[cotationNGAP][0]); //Gestion du sous-template $paramForm[titreEnCours] = "Modification d'un acte"; $paramForm[codeNGAP] = $paramRq[idActe]; $paramForm[libActe] = $res[libelle][0]; $paramForm[LC1] = $cotationNGAP[LC1]; $paramForm[coeff1] = $cotationNGAP[coeff1]; $paramForm[LC2] = $cotationNGAP[LC2]; $paramForm[coeff2] = $cotationNGAP[coeff2]; $paramForm[LC3] = $cotationNGAP[LC3]; $paramForm[coeff3] = $cotationNGAP[coeff3]; $paramForm[coeffKARE] = $cotationNGAP[coeffKARE]; $paramForm[action] = "ccam"; $paramForm[action2] = "modifier"; $mod->MxText("form1Acte", $this->getForm1Acte($paramForm)); } } //Récupération des valeurs pour Selection1 !$_POST['idListeSelection1'] ? $idListeSelection1 = "aucun#" : ($idListeSelection1 = $_POST['idListeSelection1']); unset($param); $param[cw] = ""; $tabListeSelection1 = $this->tableauValeurs("CCAM_getFamilles", $param, "Choisir une famille"); //Récupération des actes pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = 2; if ($idListeSelection1 and $idListeSelection1 != "aucun#") { $paramA[idListeSelection1] = $idListeSelection1; eko($idListeSelection1); eko($listeIdRelation); $paramRelation[idListeSelection1] = $idListeSelection1; $tabListeGauche = $this->valeursListeGauche("CCAM_getActesListeGauche", "CCAM_getActesDomaine", $paramA, $paramRelation, "Choisir un acte"); } else { $tabListeGauche[0] = "Choisir un acte"; } //Récupération des actes pour la liste des actes déjà affectés unset($param); $param[idDomaine] = 2; $param[idListeSelection1] = $idListeSelection1; $tabListeDroite = $this->valeursListeDroite("CCAM_getActesDomaine", $param, "Choisir un acte"); $js = "onDblClick=reload(this.form)"; //Gestion du template $mod->MxText("titreSelection1", "Famille d'actes : "); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); $mod->MxText("titreDispo", "Actes CCAM disponibles"); $mod->MxText("titreAffecte", "Actes CCAM affectés"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", "<font color=\"red\">Les actes en rouge ne sont plus valides par rapport \r\n à la " . CCAM_VERSION . "</font>"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("flDroite", "modify", " "); $mod->MxBloc("flGauche", "modify", " "); $mod->MxBloc("btnModifier", "modify", " "); } count($tabListeDroite) <= 1 ? $mod->MxBloc("btnModifier", "modify", " ") : ""; //Ne jamais afficher les boutons suivants $mod->MxBloc("btnAjouter", "modify", " "); $mod->MxBloc("btnSupprimer", "modify", " "); $mod->MxBloc("btnAjouterSelection1", "modify", " "); $mod->MxBloc("btnModifierSelection1", "modify", " "); $mod->MxBloc("btnSupprimerSelection1", "modify", " "); } elseif ($action == "non_ccam") { //Suppression d'un acte non CCAM de la liste restreinte if ($_POST['supprimerActe_x']) { $this->infos = $this->delActes(); } elseif ($_POST['aDroite_x']) { $this->infos = $this->addActes("CCAM_get1Acte"); } elseif ($_POST['OK_x']) { if ($_POST['action2'] == "creer") { $retourInfos = $this->addNvxActe(); } elseif ($_POST['action2'] == "modifier") { $retourInfos = $this->modifyActe(); } if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } elseif ($_POST['ajouterActe_x']) { //Gestion du sous-template $paramForm[titreEnCours] = "Saisie d'un nouvel acte"; $paramForm[codeNGAP] = "sera calculé à l'insertion"; $paramForm[libActe] = ""; $paramForm[LC1] = "aucun#"; $paramForm[coeff1] = ""; $paramForm[LC2] = "aucun#"; $paramForm[coeff2] = ""; $paramForm[LC3] = "aucun#"; $paramForm[coeff3] = ""; $paramForm[coeffKARE] = ""; $paramForm[action2] = "creer"; $mod->MxText("form1Acte", $this->getForm1Acte($paramForm)); } elseif ($_POST['modifierActe_x']) { //Récupération des infos pour le dernier acte sélectionné dans la liste $paramRq[idActe] = $this->getDerIdSel($_POST['listeDroite']); if ($paramRq[idActe] != "" and $paramRq[idActe] != "aucun#") { $paramRq[cw] = "and idDomaine=2"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_get1Acte", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $cotationNGAP = $this->explodeNGAP($res[cotationNGAP][0]); //Gestion du sous-template $paramForm[titreEnCours] = "Modification d'un acte"; $paramForm[codeNGAP] = $paramRq[idActe]; $paramForm[libActe] = $res[libelle][0]; $paramForm[LC1] = $cotationNGAP[LC1]; $paramForm[coeff1] = $cotationNGAP[coeff1]; $paramForm[LC2] = $cotationNGAP[LC2]; $paramForm[coeff2] = $cotationNGAP[coeff2]; $paramForm[LC3] = $cotationNGAP[LC3]; $paramForm[coeff3] = $cotationNGAP[coeff3]; $paramForm[coeffKARE] = $cotationNGAP[coeffKARE]; $paramForm[action2] = "modifier"; $mod->MxText("form1Acte", $this->getForm1Acte($paramForm)); } } else { //Récupération des infos pour le dernier acte sélectionné dans la liste $paramRq[idActe] = $this->getDerIdSel($_POST['listeDroite']); if ($paramRq[idActe] != "" and $paramRq[idActe] != "aucun#") { $paramRq[cw] = "and idDomaine=2"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_get1Acte", $paramRq, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); $cotationNGAP = $this->explodeNGAP($res[cotationNGAP][0]); //Gestion du sous-template $paramForm[titreEnCours] = "Modification d'un acte"; $paramForm[codeNGAP] = $paramRq[idActe]; $paramForm[libActe] = $res[libelle][0]; $paramForm[LC1] = $cotationNGAP[LC1]; $paramForm[coeff1] = $cotationNGAP[coeff1]; $paramForm[LC2] = $cotationNGAP[LC2]; $paramForm[coeff2] = $cotationNGAP[coeff2]; $paramForm[LC3] = $cotationNGAP[LC3]; $paramForm[coeff3] = $cotationNGAP[coeff3]; $paramForm[coeffKARE] = $cotationNGAP[coeffKARE]; $paramForm[action2] = "modifier"; $mod->MxText("form1Acte", $this->getForm1Acte($paramForm)); } } //Récupération des actes non CCAM des autres domaines non présents dans la liste de droite unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = 2; $paramRelation[typeCode] = "NGAP"; $paramA[idDomaine] = 2; $paramA[typeCode] = "NGAP"; $tabListeGauche = $this->valeursListeGauche("CCAM_getActesAutresDomaines", "CCAM_getActesNonCCAM", $paramA, $paramRelation, "Choisir un acte"); //Récupération des actes non CCAM du domaine unset($param); $param[idDomaine] = 2; $param[typeCode] = "NGAP"; $tabListeDroite = $this->valeursListeDroite("CCAM_getActesNonCCAM", $param, "Choisir un acte"); $js = "onDblClick=reload(this.form)"; //Gestion du template $mod->MxText("titreDispo", "Actes disponibles (en provenance d'autres domaines)"); $mod->MxText("titreAffecte", "Actes du domaine"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", "* Actes non côtés NGAP"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("btnAjouter", "modify", " "); $mod->MxBloc("btnModifier", "modify", " "); $mod->MxBloc("btnSupprimer", "modify", " "); $mod->MxBloc("flDroite", "modify", " "); } //Ne jamais afficher les boutons suivants $mod->MxBloc("flGauche", "modify", " "); $mod->MxBloc("btnAjouterSelection1", "modify", " "); $mod->MxBloc("btnModifierSelection1", "modify", " "); $mod->MxBloc("btnSupprimerSelection1", "modify", " "); } elseif ($action == "affectation_ngap") { //RAZ de la cotation NGAP pour les actes sélectionnés if ($_POST['aGauche_x']) { $this->infos = $this->RazNGAP(); } //Cotation NGAP des actes sélectionnés dans la liste resteinte if ($_POST['egal_x']) { $retourInfos = $this->addNGAP(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } //Récupération des actes non côtés NGAP unset($param); $param[idDomaine] = 2; $tabListeGauche = $this->tableauValeurs("CCAM_getNGAPVide", $param, "Choisir un acte"); //Récupération des actes non côtés NGAP unset($param); $param[idDomaine] = 2; $tabListeDroite = $this->tableauValeurs("CCAM_getNGAP", $param, "Choisir un acte"); //Gestion du template $_POST['LC1'] ? $paramForm[LC1] = $_POST['LC1'] : ($paramForm[LC1] = "aucun#"); $_POST['coeff1'] ? $paramForm[coeff1] = $_POST['coeff1'] : ($paramForm[coeff1] = ""); $_POST['LC2'] ? $paramForm[LC2] = $_POST['LC2'] : ($paramForm[LC2] = "aucun#"); $_POST['coeff2'] ? $paramForm[coeff2] = $_POST['coeff2'] : ($paramForm[coeff2] = ""); $_POST['LC3'] ? $paramForm[LC3] = $_POST['LC3'] : ($paramForm[LC3] = "aucun#"); $_POST['coeff3'] ? $paramForm[coeff3] = $_POST['coeff3'] : ($paramForm[coeff3] = ""); $_POST['coeffKARE'] ? $paramForm[coeffKARE] = $_POST['coeffKARE'] : ($paramForm[coeffKARE] = ""); $mod->MxText("formNGAP", $this->getFormNGAP($paramForm)); $mod->MxText("titreDispo", "Actes non côtés NGAP"); $mod->MxText("titreAffecte", "Actes côtés NGAP"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", ""); $mod->MxImage("plus", URLIMG . "Plus.gif"); //Afficher les boutons suivants if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("egal", "modify", " "); $mod->MxBloc("flGauche", "modify", " "); } } // 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.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $mod->MxSelect("listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\""); $mod->MxSelect("listeDroite", "listeDroite[]", '', $tabListeDroite, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\" {$js}"); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }