<?php /** * $Id$ * * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::check(); // @todo à transférer dans dPpatient // En l'état on ne peut pas vérifier les droits sur dPcabinet // CCanDo::checkRead(); $patient_id = CValue::get("patient_id"); $consult_id = CValue::get("consult_id"); // On charge le praticien $user = CMediusers::get(); $user->loadRefs(); $canUser = $user->canDo(); $consult = new CConsultation(); if ($consult_id) { $consult->load($consult_id); $consult->loadRefsFwd(); } // Chargement des aides à la saisie $antecedent = new CAntecedent(); $antecedent->loadAides($user->_id); $aides_antecedent = $antecedent->_aides_all_depends["rques"] ? $antecedent->_aides_all_depends["rques"] : array(); // On charge le patient pour connaitre ses antécedents et traitements actuels
break; default: $listPrats = CConsultation::loadPraticiens(PERM_EDIT); } if (!$userSel->isMedical() && $current_m != "dPurgences") { CAppUI::setMsg("Vous devez selectionner un professionnel de santé", UI_MSG_ALERT); CAppUI::redirect("m=dPcabinet&tab=0"); } $list_etat_dents = array(); $consultAnesth = null; // Consultation courante $consult->_ref_chir = $userSel; // Chargement de la consultation $patient = $consult->loadRefPatient(); if ($patient->_vip) { CCanDo::redirect(); } $consultAnesth = $consult->loadRefConsultAnesth($dossier_anesth_id); // Chargement du patient $patient->countBackRefs("consultations"); $patient->countBackRefs("sejours"); $patient->countINS(); $patient->loadRefPhotoIdentite(); $patient->loadRefsNotes(); $patient->loadRefsCorrespondants(); // Affecter la date de la consultation $date = $consult->_ref_plageconsult->date; // Tout utilisateur peut consulter en lecture seule une consultation de séjour $consult->canDo(); if (CModule::getActive("fse")) { // Chargement des identifiants LogicMax
<?php /** * $Id$ * * @package Mediboard * @subpackage bloodSalvage * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $blood_salvage_id = CValue::getOrSession("blood_salvage_id"); $date = CValue::getOrSession("date", CMbDT::date()); $modif_operation = CCanDo::edit() || $date >= CMbDT::date(); $timing = CValue::getOrSession("timing"); $blood_salvage = new CBloodSalvage(); if ($blood_salvage_id) { $blood_salvage->load($blood_salvage_id); $timing["_recuperation_start"] = array(); $max_add_minutes = CAppUI::conf("dPsalleOp max_add_minutes"); foreach ($timing as $key => $value) { for ($i = -CAppUI::conf("dPsalleOp max_sub_minutes"); $i < $max_add_minutes && $blood_salvage->{$key} !== null; $i++) { $timing[$key][] = CMbDT::time("{$i} minutes", $blood_salvage->{$key}); } } } // Création du template $smarty = new CSmartyDP(); $smarty->assign("blood_salvage", $blood_salvage); $smarty->assign("date", $date);
<?php /** * dPbloc * * @category Bloc * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:$ * @link http://www.mediboard.org */ CCanDo::read(); $listBlocs = CGroups::loadCurrent()->loadBlocs(); $listSalles = array(); foreach ($listBlocs as $_bloc) { $listSalles = $listSalles + $_bloc->loadRefsSalles(); } $salle = new CSalle(); $salle->load(CValue::get("salle_id"), reset($listSalles)->_id); $salle->loadRefBloc(); $date = CValue::get("date", CMbDT::date()); // Liste des jours $listDays = array(); for ($i = 0; $i < 19 * 7; $i += 7) { $dateArr = CMbDT::date("+{$i} day", $date); $listDays[$dateArr] = $dateArr; } // Création du tableau de visualisation $affichages = array(); foreach ($listDays as $keyDate => $valDate) {
<?php /** * $Id: httpreq_vw_list_techniques_comp.php 24480 2014-08-20 10:51:06Z flaviencrochard $ * * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 24480 $ */ CCanDo::checkEdit(); $selConsult = CValue::getOrSession("selConsult", 0); $dossier_anesth_id = CValue::getOrSession("dossier_anesth_id", 0); $consult = new CConsultation(); $consult->load($selConsult); $consult->loadRefConsultAnesth($dossier_anesth_id); $consult->_ref_consult_anesth->loadRefsBack(); // Création du template $smarty = new CSmartyDP(); $smarty->assign("consult_anesth", $consult->_ref_consult_anesth); $smarty->display("inc_consult_anesth/techniques_comp.tpl");
$where["object_class"] = "= '{$filter->object_class}'"; } } if ($filter->type) { $where["type"] = "= '{$filter->type}'"; } if ($filter->_date_min) { $where[] = "date >= '{$filter->_date_min}'"; } if ($filter->_date_max) { $where[] = "date <= '{$filter->_date_max}'"; } $log = new CUserLog(); $list = null; $list_count = null; $is_admin = CCanDo::admin(); $dossiers_medicaux_shared = CAppUI::conf("dPetablissement dossiers_medicaux_shared"); if (!$stats) { $index = isset($where["object_id"]) ? "object_id" : null; /** @var CUserLog[] $list */ $list = $log->loadList($where, "date DESC", "{$start}, 100", null, null, $index); // Sort by id with PHP cuz dumbass MySQL won't limit rowscan before sorting // even though `date` is explicit as first intention sorter AND obvious index in most cases // Tends to be a known limitation array_multisort(CMbArray::pluck($list, "_id"), SORT_DESC, $list); $list_count = $log->countList($where, null, null, $index); $group_id = CGroups::loadCurrent()->_id; $users = CStoredObject::massLoadFwdRef($list, "user_id"); CStoredObject::massLoadFwdRef($list, "object_id"); // Mass loading des mediusers et des fonctions $mediuser = new CMediusers();
/** * @see parent::canRead() */ function canRead() { if (!$this->sejour_id || CCanDo::admin()) { return parent::canRead(); } // Tout utilisateur peut consulter une consultation de séjour en lecture seule return $this->_canRead = 1; }
CValue::setSession("elem_concerne", $elem_concerne); CValue::setSession("evenements", $evenements); CValue::setSession("filter_item", $filter_item); $selected_fiche_id = CValue::getOrSession("selected_fiche_id"); $where = array(); if ($elem_concerne) { $where["fiches_ei.elem_concerne"] = "= '{$elem_concerne}'"; } if ($selected_user_id) { $where["fiches_ei.user_id"] = "= '{$selected_user_id}'"; } if ($selected_service_valid_user_id) { $where["fiches_ei.service_valid_user_id"] = "= '{$selected_service_valid_user_id}'"; } $user_id = null; if ($type == "AUTHOR" || CCanDo::edit() && !CCanDo::admin()) { $user_id = $user->_id; } if ($evenements) { $listeFiches = CFicheEi::loadFichesEtat($type, $user_id, $where, 0, false, null, true); $item = new CEiItem(); $item->ei_categorie_id = $evenements; $listTypes = array_keys($item->loadMatchingList()); foreach ($listeFiches as $id => $fiche) { if (count(array_intersect($fiche->_ref_evenement, $listTypes)) == 0) { unset($listeFiches[$id]); } if ($filter_item != "" && strrpos($fiche->evenements, $filter_item) === false) { unset($listeFiches[$id]); } }
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19316 $ */ CCanDo::checkRead(); $fiche_ei_id = CValue::get("fiche_ei_id", 0); //Récupération du type de fiche à générer et de la RSPO concernée. $type_ei_id = CValue::get("type_ei_id"); $blood_salvage_id = CValue::get("blood_salvage_id"); $fiche = new CFicheEi(); $listFct = new CFunctions(); // Droit admin et edition de fiche if (CCanDo::admin() && $fiche_ei_id) { $fiche->load($fiche_ei_id); } // Chargement des Utilisateurs if (CCanDo::admin()) { $listFct = CMediusers::loadFonctions(PERM_READ); foreach ($listFct as $fct) { $fct->loadRefsUsers(); } } $fiche->loadRefsFwd(); if (!$fiche->_ref_evenement) { $fiche->_ref_evenement = array(); } /* * Si l'on est dans le cas où nous souhaitons préremplir automatiquement * quelques champs à l'aide du modèle de fiche d'incident (module cell saver). */ if ($type_ei_id) { $type_fiche = new CTypeEi();
if (!$listPlage->countList($where)) { $nbDays--; } } $bank_holidays = array_merge(CMbDate::getHolidays($debut), CMbDate::getHolidays($fin)); // Planning Week $planning = new CPlanningWeek($debut, $debut, $fin, $nbDays, false, "auto"); $user = new CMediusers(); $user->load($chirSel); if ($user->_id) { $user->loadRefFunction(); $planning->title = CMbString::htmlEntities($user->_view); } else { $planning->title = ""; } $can_edit = CCanDo::edit(); $planning->guid = $user->_guid; $planning->hour_min = "07"; $planning->hour_max = "20"; $planning->pauses = array("07", "12", "19"); $planning->dragndrop = $planning->resizable = $can_edit ? 1 : 0; $planning->hour_divider = 60 / CAppUI::conf("dPcabinet CPlageconsult minutes_interval"); $planning->no_dates = 0; $plage = new CPlageconsult(); $whereHP["plageop_id"] = " IS NULL"; $users = array(); $conges_day = array(); if ($user->_id) { $muser = new CMediusers(); $users = $muser->loadUsers(PERM_READ, $user->function_id); }
*/ CCanDo::checkRead(); $user = CUser::get(); $fiche_ei_id = CValue::getOrSession("fiche_ei_id", null); $ficheAnnuleVisible = CValue::getOrSession("ficheAnnuleVisible", 0); $ficheTermineVisible = CValue::getOrSession("ficheTermineVisible", 0); $selected_user_id = CValue::getOrSession("selected_user_id"); $selected_service_valid_user_id = CValue::getOrSession("selected_service_valid_user_id"); $elem_concerne = CValue::getOrSession("elem_concerne"); $evenements = CValue::getOrSession("evenements"); $filter_item = CValue::getOrSession("filter_item"); $catFiche = array(); $fiche = new CFicheEi(); $droitFiche = !$fiche->load($fiche_ei_id); $droitFiche = $droitFiche || !CCanDo::edit() && $fiche->user_id != $user->_id; $droitFiche = $droitFiche || CCanDo::edit() && !CCanDo::admin() && $fiche->user_id != $user->_id && $fiche->service_valid_user_id != $user->_id; // Liste des Catégories d'EI $categorie = new CEiCategorie(); /** @var CEiCategorie[] $listCategories */ $listCategories = $categorie->loadList(null, "nom"); if ($droitFiche) { // Cette fiche n'est pas valide $fiche_ei_id = null; CValue::setSession("fiche_ei_id"); $fiche = new CFicheEi(); } else { $fiche->loadRefsFwd(); $fiche->loadRefItems(); foreach ($listCategories as $keyCat => $_categorie) { foreach ($fiche->_ref_items as $keyItem => $_item) { if ($_item->ei_categorie_id == $keyCat) {
<?php /** * $Id$ * * @package Mediboard * @subpackage PlanningOp * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ $user = CMediusers::get(); // Si ni praticien ni admin, redirect if (!$user->isPraticien() && CCanDo::checkAdmin()) { CAppUI::redirect(); } // Gestion des bouton radio des dates $now = CMbDT::date(); $week_deb = CMbDT::date("last sunday", $now); $week_fin = CMbDT::date("next sunday", $week_deb); $week_deb = CMbDT::date("+1 day", $week_deb); $rectif = CMbDT::transform("+0 DAY", $now, "%d") - 1; $month_deb = CMbDT::date("-{$rectif} DAYS", $now); $month_fin = CMbDT::date("+1 month", $month_deb); $month_fin = CMbDT::date("-1 day", $month_fin); // Chargement du filter permettant de faire la recherche $filter = new COperation(); $filter->_date_min = $now; $filter->_date_max = $now; // Chargement de la liste de tous les praticiens $praticien = new CMediusers();
* $Id: vw_idx_pathologies.php 20186 2013-08-19 07:47:12Z phenxdesign $ * * @package Mediboard * @subpackage Hospi * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 20186 $ */ CAppUI::requireModuleFile("dPhospi", "inc_vw_affectations"); $affichage_patho = CValue::postOrSession("affichage_patho", "non_complet"); $date = CValue::getOrSession("date", CMbDT::date()); $pathos = new CDiscipline(); $heureLimit = "16:00:00"; // Liste des patients à placer $groupSejourNonAffectes = array(); if (CCanDo::edit()) { // Admissions de la veille $dayBefore = CMbDT::date("-1 days", $date); $where = array("entree_prevue" => "BETWEEN '{$dayBefore} 00:00:00' AND '{$date} 00:00:00'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["veille"] = loadSejourNonAffectes($where); // Admissions du matin $where = array("entree_prevue" => "BETWEEN '{$date} 00:00:00' AND '{$date} " . CMbDT::time("-1 second", $heureLimit) . "'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["matin"] = loadSejourNonAffectes($where); // Admissions du soir $where = array("entree_prevue" => "BETWEEN '{$date} {$heureLimit}' AND '{$date} 23:59:59'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["soir"] = loadSejourNonAffectes($where); // Admissions antérieures $twoDaysBefore = CMbDT::date("-2 days", $date); $where = array("annule" => "= '0'", "'{$twoDaysBefore}' BETWEEN entree_prevue AND sortie_prevue"); $groupSejourNonAffectes["avant"] = loadSejourNonAffectes($where); }
<?php /** * $Id: vw_functional_perms.php 24154 2014-07-24 14:17:58Z kgrisel $ * * @package Mediboard * @subpackage admin * @version $Revision: 24154 $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkEdit(); $user_id = CCanDo::edit() ? CValue::getOrSession("user_id", "default") : null; $user = CUser::get($user_id); $prof = $user->profile_id ? CUser::get($user->profile_id) : new CUser(); if ($user_id == "default") { $user->_id = null; } $prefvalues = array("default" => CPreferences::get(null, true), "template" => $user->profile_id ? CPreferences::get($user->profile_id, true) : array(), "user" => $user->_id !== "" ? CPreferences::get($user->_id, true) : array()); // common sera toujours au debut $prefs = array("common" => array()); // Classement par module et par permission fonctionnelle CPreferences::loadModules(true); foreach (CPreferences::$modules as $modname => $prefnames) { $module = CModule::getActive($modname); $canRead = $module ? CPermModule::getPermModule($module->_id, PERM_READ, $user_id) : false; if ($modname == "common" || $user_id == "default" || $canRead) { $prefs[$modname] = array(); foreach ($prefnames as $prefname) { $prefs[$modname][$prefname] = array("default" => CMbArray::extract($prefvalues["default"], $prefname), "template" => CMbArray::extract($prefvalues["template"], $prefname), "user" => CMbArray::extract($prefvalues["user"], $prefname)); }
} function doStore() { global $doc_ged_id, $file_id, $_validation; $this->_obj->date = CMbDT::dateTime(); $this->_obj->remarques = CAppUI::tr("Modele"); $this->_obj->doc_ged_id = $doc_ged_id; if ($file_id !== null) { $this->_obj->file_id = $file_id; $this->_obj->doc_ged_suivi_id = null; } if ($msg = $this->_obj->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); if ($this->redirectError) { $this->redirect =& $this->redirectError; } } } } $do1 = new CDoDocGedAddEdit(); if (!CCanDo::admin()) { $do1->doRedirect(); } $do1->doIt(); if ($file_id) { $do2 = new CDoDocGedSuiviAddEdit(); $do2->doIt(); } elseif ($_firstModeleGed) { $do1->dodelete(); CAppUI::setMsg("CDocGed-msg-error_file", UI_MSG_ERROR); }
*/ CCanDo::checkEdit(); $consult_id = CValue::getOrSession("selConsult"); $user_id = CValue::getOrSession("chirSel"); $_is_anesth = CValue::get("_is_anesth"); // Utilisateur sélectionné $user = CMediusers::get($user_id); $canUser = $user->canDo(); $canUser->needsEdit(); // Liste des praticiens $listPrats = CConsultation::loadPraticiens(PERM_EDIT); // Consultation courante $consult = new CConsultation(); $consult->load($consult_id); $consult->loadRefConsultAnesth(); CCanDo::checkObject($consult); $canConsult = $consult->canDo(); $canConsult->needsEdit(); $consult->loadRefPatient(); $consult->_ref_patient->loadRefPhotoIdentite(); $consult->loadRefPraticien()->loadRefFunction(); $consult->loadRefSejour(); if (CModule::getActive("maternite")) { $consult->loadRefGrossesse(); } // Création du template $smarty = new CSmartyDP(); $smarty->assign("_is_anesth", $_is_anesth); $smarty->assign("consult", $consult); $smarty->assign("consult_anesth", $consult->_ref_consult_anesth); $smarty->assign("listPrats", $listPrats);
$_operation->loadRefPlageOp(); } } foreach ($patient->loadRefsConsultations() as $_consult) { $_consult->getType(); $_consult->loadRefPlageConsult(); $function = $_consult->loadRefPraticien()->loadRefFunction(); if ($_consult->sejour_id) { unset($patient->_ref_consultations[$_consult->_id]); if (isset($patient->_ref_sejours[$_consult->sejour_id])) { $patient->_ref_sejours[$_consult->sejour_id]->_ref_consultations[$_consult->_id] = $_consult; } } if ($function->group_id != $group->_id) { unset($patient->_ref_consultations[$_consult->_id]); continue; } $_consult->loadRefFacture()->loadRefsNotes(); } $consultation = new CConsultation(); $consultation->load($consultation_id); $consultation->loadRefConsultAnesth(); if (CCanDo::read()) { // Création du template $smarty = new CSmartyDP(); $smarty->assign("is_anesth", $is_anesth); $smarty->assign("consultation", $consultation); $smarty->assign("patient", $patient); $smarty->assign("show_dhe_ecap", CValue::get("show_dhe_ecap", 1)); $smarty->display("httpreq_get_last_refs.tpl"); }
<?php /** * $Id: ajax_edit_supervision_instant_data.php 26001 2014-11-24 15:22:57Z phenxdesign $ * * @package Mediboard * @subpackage Patients * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 26001 $ */ CCanDo::checkAdmin(); $supervision_instant_data_id = CValue::getOrSession("supervision_instant_data_id"); $instant_data = new CSupervisionInstantData(); $instant_data->load($supervision_instant_data_id); $instant_data->loadRefsNotes(); if (!$instant_data->_id) { $instant_data->size = 11; } $smarty = new CSmartyDP(); $smarty->assign("instant_data", $instant_data); $smarty->display("inc_edit_supervision_instant_data.tpl");
$planning->addEvent($event); } } } // Ajout des événements (commentaires), OK foreach ($commentaires_by_salle as $salle_id => $_commentaires) { $i = array_search($salle_id, $salles_ids); foreach ($_commentaires as $_commentaire) { $debut = "{$i} " . CMbDT::time($_commentaire->debut); $duree = CMbDT::minutesRelative(CMbDT::time($_commentaire->debut), CMbDT::time($_commentaire->fin)); $com_comm = CMbString::htmlEntities($_commentaire->commentaire); $com_libelle = CMbString::htmlEntities($_commentaire->libelle); $libelle = "<span\n style=\"display: none;\"\n data-entree_prevue=\"{$_commentaire->debut}\"\n data-sortie_prevue=\"{$_commentaire->fin}\"\n data-libelle=\"{$com_libelle}\"\n data-commentaire=\"{$com_comm}\"\n data-duree=\"{$duree}\"\n data-color=\"{$_commentaire->color}\"></span>" . "<span style=\"font-size: 11px; font-weight: bold;\">" . $com_libelle . "</span>" . "\n<span class=\"compact\">" . $com_comm . "</span>"; $event = new CPlanningEvent($_commentaire->_guid, $debut, $duree, $libelle, "#{$_commentaire->color}", true, null, $_commentaire->_guid, false); $event->type = "commentaire_planning"; $event->draggable = $event->resizable = CCanDo::edit(); $event->plage["id"] = $_commentaire->_id; if ($can_edit) { $event->addMenuItem("edit", "Modifier ce commentaire"); $event->addMenuItem("copy", "Copier ce commentaire"); $event->addMenuItem("cancel", "Supprimer ce commentaire"); } $planning->addEvent($event); } } // Ajout des plages, OK foreach ($plages_by_salle as $salle_id => $_plages) { $i = array_search($salle_id, $salles_ids); CMbObject::massLoadRefsNotes($_plages); CMbObject::massLoadFwdRef($_plages, "chir_id"); CMbObject::massLoadFwdRef($_plages, "anesth_id");
<?php /** * $Id$ * * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $consult_id = CValue::get("consult_id"); $consult = new CConsultation(); $consult->_id = $consult_id; $consult->load(); $consult->loadRefPatient(); $consult->loadRefGrossesse(); $type = ""; switch ($consult->type_assurance) { case "classique": $type = "assurance_classique"; break; case "at": $type = "accident_travail"; break; case "smg": $type = "soins_medicaux_gratuits"; break; case "maternite": $type = "maternite";
<?php /** $Id$ **/ /** * @package Mediboard * @subpackage shortMessageService * @version $Revision$ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::Admin(); $smarty = new CSmartyDP(); $smarty->display("configure.tpl");