public function loadView() { parent::loadView(); $this->loadPraticien()->loadRefFunction(); $this->loadCodable(); $this->loadActesCCAM(); foreach ($this->_ref_actes_ccam as &$_acte) { $_acte->getTarif(); $_activite = $_acte->_ref_code_ccam->activites[$_acte->code_activite]; $_phase = $_activite->phases[$_acte->code_phase]; /* Verification des modificateurs codés */ foreach ($_phase->_modificateurs as $modificateur) { $position = strpos($_acte->modificateurs, $modificateur->code); if ($position !== false) { if ($modificateur->_double == "1") { $modificateur->_checked = $modificateur->code; } elseif ($modificateur->_double == "2") { $modificateur->_checked = $modificateur->code . $modificateur->_double; } else { $modificateur->_checked = null; } } else { $modificateur->_checked = null; } } self::precodeModifiers($_phase->_modificateurs, $_acte, $this->_ref_codable); } if ($this->_ref_praticien->isAnesth()) { $this->_codage_sibling = self::get($this->_ref_codable, $this->praticien_id, $this->activite_anesth ? 1 : 4, $this->date); $this->_codage_sibling->loadActesCCAM(); } }
* @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::checkRead(); $ds = CSQLDataSource::get("std"); // Récupération des paramètres $chirSel = CValue::getOrSession("chirSel"); $date = CValue::getOrSession("date", CMbDT::date()); $praticien = new CMediusers(); $praticien->load($chirSel); $where = array(); $ljoin = array(); if ($praticien->isAnesth()) { $ljoin = array(); $ljoin["operations"] = "operations.sejour_id = sejour.sejour_id"; $ljoin["plagesop"] = "operations.plageop_id = plagesop.plageop_id"; $where[] = "operations.anesth_id = '{$chirSel}' OR (operations.anesth_id IS NULL AND plagesop.anesth_id = '{$chirSel}')"; } else { $where["sejour.praticien_id"] = "= '{$chirSel}'"; } $where["sejour.entree"] = "<= '{$date} 23:59:59'"; $where["sejour.sortie"] = ">= '{$date} 00:00:00'"; $where["sejour.annule"] = "= '0'"; $where["sejour.group_id"] = "= '" . CGroups::loadCurrent()->_id . "'"; $sejour = new CSejour(); /** @var CSejour[] $listSejours */ $listSejours = $sejour->loadList($where, null, null, null, $ljoin); CStoredObject::massLoadFwdRef($listSejours, "patient_id");
$ljoin["plagesop"] = "plagesop.plageop_id = operations.plageop_id"; $where = array(); $where["operations.date"] = "BETWEEN '{$debut}' AND '{$fin}'"; $where["operations.annulee"] = "= '0'"; /** * Loading and analysis code above is duplicated for COperation and CConsultation * @TODO Unifiy them as CCodables, for chrissake !! */ if ($all_prats) { $prats = $user->loadPraticiens(PERM_READ); $in_prats = CSQLDataSource::prepareIn(array_keys($prats)); $where[] = "operations.chir_id " . $in_prats . " OR operations.chir_2_id " . $in_prats . " OR operations.chir_3_id " . $in_prats . " OR operations.chir_4_id " . $in_prats; $where[] = "operations.anesth_id IS NULL OR operations.anesth_id {$in_prats}"; } else { $where_chir = "operations.chir_id = '{$user->_id}' OR operations.chir_2_id = '{$user->_id}'\n OR operations.chir_3_id = '{$user->_id}' OR operations.chir_4_id = '{$user->_id}'"; if ($user->isAnesth()) { $where[] = "{$where_chir} OR\n operations.anesth_id = '{$user->_id}' OR\n (operations.anesth_id IS NULL && plagesop.anesth_id = '{$user->_id}')"; } else { $where[] = $where_chir; } } /** @var COperation[] $interventions */ $operation = new COperation(); if (!$interv_with_no_codes) { $where[] = "LENGTH(codes_ccam) > 0"; } $interventions = $operation->loadList($where, null, null, null, $ljoin); $totals["interventions"] = count($interventions); $where = array(); if (!$all_prats) { //$where["executant_id"] = "= '$user->_id'";
if (CAppUI::conf("dPplanningOp CSejour use_custom_mode_sortie")) { $mode_sortie = new CModeSortieSejour(); $where = array("actif" => "= '1'"); $list_mode_sortie = $mode_sortie->loadGroupList($where); } } } $smarty = new CSmartyDP(); $smarty->assign("listAnesths", $listAnesths); $smarty->assign("listChirs", $listChirs); $smarty->assign("services", $services); $smarty->assign("list_mode_sortie", $list_mode_sortie); $smarty->assign("consult", $consult); $smarty->assign("consult_anesth", $consult_anesth); $smarty->assign("patient", $patient); $smarty->assign("_is_anesth", $user->isAnesth()); $smarty->assign("antecedent", new CAntecedent()); $smarty->assign("traitement", new CTraitement()); $smarty->assign("acte_ngap", CActeNGAP::createEmptyFor($consult)); $smarty->assign("liste_dents", $liste_dents); if (CModule::getActive("dPprescription")) { $smarty->assign("line", new CPrescriptionLineMedicament()); } $smarty->assign("userSel", $user); $smarty->assign("user", $user); $smarty->assign("sejour_id", $sejour_id); $smarty->assign("today", CMbDT::date()); $smarty->assign("isPrescriptionInstalled", CModule::getActive("dPprescription")); if ($consult_anesth->_id) { $consult_anesth->loadRefOperation(); $consult_anesth->loadRefsTechniques();
* @package Mediboard * @subpackage SalleOp * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ // Récupération des paramètres $date = CValue::getOrSession("date", CMbDT::date()); $salle_id = CValue::getOrSession("salle_id"); $bloc_id = CValue::getOrSession("bloc_id"); $type = CValue::getOrSession("type", "ouverture_salle"); // Récupération de l'utilisateur courant $user = CUser::get(); $currUser = new CMediusers(); $currUser->load($user->_id); $currUser->isAnesth(); $currUser->isPraticien(); $salle = new CSalle(); $salle->load($salle_id); $bloc = new CBlocOperatoire(); $bloc->load($bloc_id); // Vérification de la check list journalière $daily_check_lists = array(); $daily_check_list_types = array(); $require_check_list = CAppUI::conf("dPsalleOp CDailyCheckList active", CGroups::loadCurrent()) && $date >= CMbDT::date() && !$currUser->_is_praticien; if ($require_check_list) { if ($bloc->_id) { list($check_list_not_validated, $daily_check_list_types, $daily_check_lists) = CDailyCheckList::getCheckLists($bloc, $date, $type); } else { list($check_list_not_validated, $daily_check_list_types, $daily_check_lists) = CDailyCheckList::getCheckLists($salle, $date, $type); }
$canceled = CValue::getOrSession("canceled", 0); $refresh = CValue::get('refresh', 0); $nextmonth = CMbDT::date("first day of next month", $date); $lastmonth = CMbDT::date("first day of previous month", $date); $sans_anesth = CValue::getOrSession("sans_anesth", 0); // Sélection du praticien $mediuser = CMediusers::get(); $listPrat = $mediuser->loadPraticiens(PERM_EDIT); foreach ($listPrat as $_prat) { $_prat->loadRefFunction(); } $selPrat = CValue::getOrSession("selPrat", $mediuser->isPraticien() ? $mediuser->user_id : null); $selPraticien = new CMediusers(); $selPraticien->load($selPrat); $group = CGroups::loadCurrent(); if ($selPraticien->isAnesth()) { // Selection des différentes interventions de la journée par service $count_ops = array("ambu" => 0, "comp" => 0, "hors_plage" => 0); $service = new CService(); $services = $service->loadGroupList(); $interv = new COperation(); $order = "operations.chir_id, operations.time_operation"; $ljoin = array("plagesop" => "plagesop.plageop_id = operations.plageop_id", "sejour" => "sejour.sejour_id = operations.sejour_id", "affectation" => "affectation.sejour_id = sejour.sejour_id\r\n AND '{$date}' BETWEEN DATE(affectation.entree)\r\n AND DATE(affectation.sortie)", "lit" => "lit.lit_id = affectation.lit_id", "chambre" => "chambre.chambre_id = lit.chambre_id", "service" => "service.service_id = chambre.service_id"); $where_anesth = "operations.anesth_id = '{$selPraticien->_id}' OR plagesop.anesth_id = '{$selPraticien->_id}'"; if ($sans_anesth) { $where_anesth .= " OR operations.anesth_id IS NULL OR plagesop.anesth_id IS NULL"; } $whereAmbu = array("operations.date" => "= '{$date}'", "sejour.type" => "= 'ambu'", "sejour.group_id" => "= '{$group->_id}'"); $whereAmbu[] = $where_anesth; if (!$canceled) { $whereAmbu["operations.annulee"] = " = '0'";
CCanDo::checkRead(); $mean_fields = array("age", "wash_volume", "saved_volume", "transfused_volume", "hgb_pocket", "hgb_patient"); $possible_filters = array_merge(array('chir_id', 'anesth_id', 'codes_ccam', 'code_asa', 'cell_saver_id'), $mean_fields); $filters = CValue::getOrSession('filters', array()); $months_count = CValue::getOrSession('months_count', 12); $months_relative = CValue::getOrSession('months_relative', 0); $comparison = CValue::getOrSession('comparison', $possible_filters); $comparison_left = CValue::getOrSession('comparison_left'); $comparison_right = CValue::getOrSession('comparison_right'); $mode = CValue::get('mode'); foreach ($possible_filters as $n) { if (!isset($filters[$n])) { $filters[$n] = null; } } $cell_saver = new CCellSaver(); $cell_savers = $cell_saver->loadList(null, "marque, modele"); $user = new CMediusers(); $user->load(CAppUI::$instance->user_id); $mediuser = new CMediusers(); $fields = array("anesth_id" => $mediuser->loadListFromType(array('Anesthésiste')), "chir_id" => $mediuser->loadListFromType(array('Chirurgien'), $user->isAnesth() ? null : PERM_READ), "codes_asa" => range(1, 5), "cell_saver_id" => $cell_savers); $smarty = new CSmartyDP(); // Filter $smarty->assign('filters', $filters); $smarty->assign('months_relative', $months_relative); $smarty->assign('months_count', $months_count); $smarty->assign('mode', $mode); // Lists $smarty->assign('fields', $fields); $smarty->assign('mean_fields', $mean_fields); $smarty->display('vw_stats.tpl');
<?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::checkAdmin(); $anesth_id = CValue::get("anesth_id"); $mediuser = new CMediusers(); $mediuser->load($anesth_id); if (!$mediuser->isAnesth()) { CAppUI::stepAjax("L'utilisateur n'est pas anesthesiste", UI_MSG_ERROR); } $consult = new CConsultation(); $where = array("plageconsult.chir_id" => "= '{$mediuser->_id}'", "consultation.patient_id" => "IS NOT NULL"); $ljoin = array("plageconsult" => "plageconsult.plageconsult_id = consultation.plageconsult_id"); $ids_consults = $consult->loadIds($where, null, null, null, $ljoin); $where["consultation_anesth.consultation_id"] = "IS NOT NULL"; $ljoin["consultation_anesth"] = "consultation_anesth.consultation_id = consultation.consultation_id"; $ids_consults = array_diff($ids_consults, $consult->loadIds($where, null, null, null, $ljoin)); if (count($ids_consults) == 0) { CAppUI::stepAjax("Aucune consultation sans consultation d'anesth", UI_MSG_WARNING); CAppUI::js('$V($("check_repeat_actions"), false)'); return; } $ids_consults = array_slice($ids_consults, 0, 400);