for ($i = 0; $i < $consultation->duree; $i++) { if (isset($listPlace[$keyPlace + $i])) { $listPlace[$keyPlace + $i]["consultations"][] =& $consultation; } } } // Utilisation des prises de rdv // Pour ceux de la même fonction $user = new CMediusers(); $user->load($plage->chir_id); $function = $user->loadRefFunction(); if ($function->quotas) { $quotas = $function->quotas; } $listPrat = CConsultation::loadPraticiens(PERM_EDIT, $user->function_id, null, true); $listAllPrat = CConsultation::loadPraticiens(null, null, null, true); $where = array(); $where["date"] = $ds->prepare("BETWEEN %1 AND %2", "{$plage->date}", "{$plage->date}"); $where[] = "libelle != 'automatique' OR libelle IS NULL"; $where["chir_id"] = " = '{$user->_id}'"; if ($display_nb_consult == "cab" || $display_nb_consult == "etab") { $where["chir_id"] = CSQLDataSource::prepareIn(array_keys($listPrat)); /** @var CPlageconsult[] $plages_func */ $plages_func = $plage->loadList($where); $utilisation_func = utilisation_rdv($plages_func, $listPlace, $plage); } if ($display_nb_consult == "etab") { $where["chir_id"] = CSQLDataSource::prepareIn(array_keys($listAllPrat)); /** @var CPlageconsult[] $plages_etab */ $plages_etab = $plage->loadList($where); $utilisation_etab = utilisation_rdv($plages_etab, $listPlace, $plage);
* $Id: httpreq_vw_choix_anesth.php 24175 2014-07-28 09:17:55Z aurelie17 $ * * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 24175 $ */ CCanDo::checkRead(); // Utilisateur sélectionné ou utilisateur courant $prat_id = CValue::getOrSession("chirSel", 0); $userSel = CMediusers::get($prat_id); $userSel->loadRefs(); $canUserSel = $userSel->canDo(); // Vérification des droits sur les praticiens $listChir = CConsultation::loadPraticiens(PERM_EDIT); if (!$userSel->isMedical()) { CAppUI::setMsg("Vous devez selectionner un professionnel de santé", UI_MSG_ALERT); CAppUI::redirect("m=dPcabinet&tab=0"); } $canUserSel->needsEdit(); $selConsult = CValue::getOrSession("selConsult", 0); $dossier_anesth_id = CValue::getOrSession("dossier_anesth_id", 0); if (isset($_GET["date"])) { $selConsult = null; CValue::setSession("selConsult", 0); } $anesth = new CTypeAnesth(); $anesth = $anesth->loadGroupList(); // Consultation courante $consult = new CConsultation();
* @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19484 $ */ 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
* * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: $ */ CCanDo::checkRead(); $chir_id = CValue::get("chir_id"); $function_id = CValue::get("function_id"); $list_chir_ids = array(); $user = new CMediusers(); $user->load($chir_id); $ds = $user->getDS(); if ($function_id) { $users = CConsultation::loadPraticiens(PERM_EDIT, $function_id); $list_chir_ids = array_keys($users); } else { $list_chir_ids = array($chir_id); } // Liste des consultations a avancer si desistement $now = CMbDT::date(); $where = array("plageconsult.date" => " > '{$now}'", "plageconsult.chir_id" => $ds->prepareIn($list_chir_ids), "consultation.si_desistement" => "= '1'", "consultation.annule" => "= '0'"); $ljoin = array("plageconsult" => "plageconsult.plageconsult_id = consultation.plageconsult_id"); $consultation_desist = new CConsultation(); /** @var CConsultation[] $consultations */ $consultations = $consultation_desist->loadList($where, "date, heure", null, null, $ljoin); foreach ($consultations as $_consult) { $_consult->loadRefPatient(); $_consult->loadRefPlageConsult(); $_consult->loadRefCategorie();
<?php /** * $Id: vw_dossier.php 24981 2014-09-26 09:53:05Z nicolasld $ * * @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 24981 $ */ CCanDo::checkEdit(); $pat_id = CValue::getOrSession("patSel"); // Liste des Praticiens $listPrat = CConsultation::loadPraticiens(PERM_READ); $patient = new CPatient(); $patient->load($pat_id); // Chargement des références du patient if ($pat_id) { // Infos patient complètes (tableau de droite) $patient->loadDossierComplet(); $patient->countINS(); /* foreach ($patient->_ref_consultations as $key => $value) { if (!array_key_exists($value->_ref_plageconsult->chir_id, $listPrat)) { unset($patient->_ref_consultations[$key]); } } foreach ($patient->_ref_sejours as $key => $sejour) { if (!array_key_exists($sejour->praticien_id, $listPrat)) {
<?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(); $patient_id = CValue::get("patient_id"); $patient = new CPatient(); $patient->load($patient_id); $listPrat = CConsultation::loadPraticiens(PERM_EDIT, null, null, null, false); $patient->loadRefsDocItems(); foreach ($patient->_ref_files_by_cat as $cat => $files_by_cat) { foreach ($files_by_cat as $key => $_file) { if ($_file->annule) { unset($patient->_ref_files_by_cat[$cat][$key]); } } } $where = array(); $where["plageconsult.chir_id"] = CSQLDataSource::prepareIn(array_keys($listPrat)); $patient->loadRefsConsultations($where); $patient->loadRefsSejours(); $dossier_medical = $patient->loadRefDossierMedical(); $dossier_medical->loadRefsAntecedents(); $dossier_medical->loadRefsTraitements();
/** * Charge les praticiens à la compta desquels l'utilisateur courant a accès * * @param ref $prat_id Si définit, retourne un tableau avec seulement ce praticien * * @todo Définir verbalement la stratégie * @return CMediusers[] */ static function loadPraticiensCompta($prat_id = null) { // Cas du praticien unique if ($prat_id) { $prat = new CMediusers(); $prat->load($prat_id); $prat->loadRefFunction(); return array($prat->_id => $prat); } // Cas standard $user = CMediusers::get(); $is_admin = in_array(CUser::$types[$user->_user_type], array("Administrator")); $is_secretaire = in_array(CUser::$types[$user->_user_type], array("Secrétaire")); $is_directeur = in_array(CUser::$types[$user->_user_type], array("Directeur")); $function = $user->loadRefFunction(); $praticiens = array(); // Liste des praticiens du cabinet if ($is_admin || $is_secretaire || $is_directeur || $function->compta_partagee) { $function_id = null; if (!CAppUI::conf("cabinet Comptabilite show_compta_tiers") && $user->_user_username != "admin") { $function_id = $user->function_id; } if ($is_admin) { $praticiens = CConsultation::loadPraticiens(PERM_EDIT, $function_id); } else { $praticiens = CConsultation::loadPraticiens(PERM_EDIT, $user->function_id); // On ajoute les praticiens qui ont délégués leurs compta $where = array(); $where[] = "users_mediboard.compta_deleguee = '1' || users_mediboard.user_id " . CSQLDataSource::prepareIn(array_keys($praticiens)); // Filters on users values $where["users_mediboard.actif"] = "= '1'"; $where["functions_mediboard.group_id"] = "= '" . CGroups::loadCurrent()->_id . "'"; $ljoin["users"] = "users.user_id = users_mediboard.user_id"; $ljoin["functions_mediboard"] = "functions_mediboard.function_id = users_mediboard.function_id"; $order = "users.user_last_name, users.user_first_name"; $mediuser = new CMediusers(); /** @var CMediusers[] $mediusers */ $mediusers = $mediuser->loadListWithPerms(PERM_EDIT, $where, $order, null, null, $ljoin); // Associate already loaded function foreach ($mediusers as $_mediuser) { $_mediuser->loadRefFunction(); } $praticiens = $mediusers; } } elseif ($user->isPraticien() && !$user->compta_deleguee) { return array($user->_id => $user); } return $praticiens; }
*/ CCanDo::checkRead(); $now = CMbDT::date(); $_date_min = CValue::get("_date_min", "{$now}"); $_date_max = CValue::get("_date_max", "{$now}"); $_telephone = CValue::get("_telephone"); $_coordonnees = CValue::get("_coordonnees"); $_print_ipp = CValue::get("_print_ipp", CAppUI::conf("dPcabinet CConsultation show_IPP_print_consult")); $sorting_mode = CValue::get('sorting_mode'); $chir_id = CValue::getOrSession("chir"); $ds = CSQLDataSource::get('std'); $plage = new CPlageconsult(); $consult = new CConsultation(); $patient = new CPatient(); $ljoin = array("{$plage->_spec->table}" => "`cs`.`plageconsult_id` = `{$plage->_spec->table}`.`{$plage->_spec->key}`", "{$patient->_spec->table}" => "`cs`.`patient_id` = `{$patient->_spec->table}`.`{$patient->_spec->key}`"); $practitioners = CConsultation::loadPraticiens(PERM_EDIT); $where = array(); $where["cs.annule"] = "= '0'"; $where["{$plage->_spec->table}.date"] = $ds->prepare('BETWEEN ?1 AND ?2', $_date_min, $_date_max); $where["{$plage->_spec->table}.chir_id"] = CSQLDataSource::prepareIn(array_keys($practitioners), $chir_id); $where["{$patient->_spec->table}.{$patient->_spec->key}"] = 'IS NOT NULL'; $order_by = array(); $mysql_date_format = null; $php_date_format = null; switch ($sorting_mode) { case 'day': $mysql_date_format = '%Y-%m-%d'; $php_date_format = '\\3'; break; case 'month': $mysql_date_format = '%Y-%m';
<?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(); $group = CGroups::loadCurrent(); $cabinet_id = $group->service_urgences_id; $consult = new CConsultation(); $consult->motif = CAppUI::tr("CConsultation.reconvoc_immediate"); $consult->_datetime = "now"; $praticiens = CConsultation::loadPraticiens(PERM_READ, $cabinet_id); $smarty = new CSmartyDP(); $smarty->assign("praticiens", $praticiens); $smarty->assign("consult", $consult); $smarty->display("inc_create_reconvoc.tpl");
$tarif->_bind_codable = true; $tarif->_codable_id = $codable_id; $tarif->_codable_class = $codable_class; $tarif->bindCodable(); $tarif->updateFormFields(); } else { $tarif->loadRefsNotes(); $tarif->getSecteur1Uptodate(); $tarif->loadView(); if (!$tarif->_id) { $tarif->secteur1 = 0; } } $tarif->getPrecodeReady(); // L'utilisateur est-il praticien ? $user = CAppUI::$user; $user->loadRefFunction(); // Liste des praticiens du cabinet -> on ne doit pas voir les autres $listPrat = $user->isSecretaire() ? CConsultation::loadPraticiens(PERM_READ) : array($user->_id => $user); //Chargement du praticien $praticien_id = $tarif->chir_id ? $tarif->chir_id : $prat_id; $prat = new CMediusers(); $prat->load($praticien_id); $prat->loadRefFunction(); // Creation du template $smarty = new CSmartyDP(); $smarty->assign("tarif", $tarif); $smarty->assign("user", $user); $smarty->assign("listPrat", $listPrat); $smarty->assign("prat", $prat); $smarty->display("inc_edit_tarif.tpl");
$_consult->loadRefElementPrescription(); $consultation_ids[] = array($_consult->plageconsult_id, $_consult->_id, $_consult->_ref_plageconsult->date, $_consult->heure, $_consult->_ref_chir->_id, utf8_encode($_consult->_ref_chir->_view), $_consult->annule, $_consult->rques, $_consult->element_prescription_id, utf8_encode($_consult->_ref_element_prescription->libelle)); } } } if ($heure && !$consultation_id) { $consultation_ids[] = array($plageconsult_id, null, $date, $heure, $chir_id, "chir", 0, null, null, null); } //functions $function = new CFunctions(); $listFunctions = $function->loadSpecialites(PERM_EDIT); // Récupération des plages de consultation disponibles $plage = new CPlageconsult(); $where = array(); // Praticiens sélectionnés $listPrat = CConsultation::loadPraticiens(PERM_EDIT, $function_id, null, true); if ($_line_element_id) { $where["pour_tiers"] = "= '1'"; } $chir_sel = CSQLDataSource::prepareIn(array_keys($listPrat), $chir_id); $where[] = "chir_id {$chir_sel} OR remplacant_id {$chir_sel}"; // Filtres if ($hour) { $where["debut"] = "<= '{$hour}:00'"; $where["fin"] = "> '{$hour}:00'"; } if ($hide_finished) { $where[] = $ds->prepare("`date` >= %", CMbDT::date()); } $minDate = $maxDate = $refDate = CMbDT::date(null, $date); // Filtre de la période
$board = CValue::get("board", 1); $boardItem = CValue::get("boardItem", 1); $consult = new CConsultation(); $nb_anesth = 0; $cabinets = CMediusers::loadFonctions(PERM_EDIT, null, "cabinet"); if ($mode_urgence) { $group = CGroups::loadCurrent(); $cabinet_id = $group->service_urgences_id; } // Récupération de la liste des praticiens $praticiens = array(); $cabinet = new CFunctions(); if ($mode_maternite) { $praticiens = $mediuser->loadListFromType(array("Sage Femme")); } elseif ($cabinet_id) { $praticiens = CConsultation::loadPraticiens(PERM_EDIT, $cabinet_id, null, true); $cabinet->load($cabinet_id); } // Praticiens disponibles ? $all_prats = $praticiens; if ($consult->_id) { $date = $consult->_ref_plageconsult->date; CValue::setSession("date", $date); } // Récupération des plages de consultation du jour et chargement des références $listPlages = array(); $heure_limit_matin = CAppUI::conf("dPcabinet CPlageconsult hour_limit_matin"); foreach ($praticiens as $prat) { if ($prat->_user_type == 4) { $nb_anesth++; }