コード例 #1
0
     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);
コード例 #2
0
 * $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();
コード例 #3
0
 * @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
コード例 #4
0
 *
 * @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();
コード例 #5
0
ファイル: vw_dossier.php プロジェクト: fbone/mediboard4
<?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)) {
コード例 #6
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::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();
コード例 #7
0
 /**
  * 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;
 }
コード例 #8
0
 */
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';
コード例 #9
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::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");
コード例 #10
0
    $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");
コード例 #11
0
            $_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
コード例 #12
0
ファイル: vw_journee.php プロジェクト: fbone/mediboard4
$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++;
    }