コード例 #1
0
 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();
     }
 }
コード例 #2
0
 * @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");
コード例 #3
0
$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'";
コード例 #4
0
        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();
コード例 #5
0
 * @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);
    }
コード例 #6
0
ファイル: vw_idx_planning.php プロジェクト: fbone/mediboard4
$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'";
コード例 #7
0
ファイル: vw_stats.php プロジェクト: OpenXtrem/mediboard-test
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');
コード例 #8
0
<?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);