CCanDo::checkRead(); $consult_id = CValue::get("consult_id"); $group_id = CGroups::loadCurrent()->_id; $consult = new CConsultation(); $consult->load($consult_id); $consult->loadRefPlageConsult(); // next consultations $dateW = $consult->_ref_plageconsult->date; $whereN = array(); $ljoin = array(); $ljoin["plageconsult"] = "plageconsult.plageconsult_id = consultation.plageconsult_id"; $whereN["patient_id"] = " = '{$consult->patient_id}'"; $whereN["plageconsult.date"] = " >= '{$dateW}'"; $whereN["heure"] = " >= '{$consult->heure}'"; /** @var CConsultation[] $consults */ $consults = $consult->loadListWithPerms(PERM_READ, $whereN, null, null, null, $ljoin); foreach ($consults as $_consult) { $_consult->loadRefPraticien()->loadRefFunction(); $_consult->loadRefSejour(); } // sejours $where = array(); $where[] = "'{$consult->_date}' BETWEEN DATE(entree) AND DATE(sortie)"; $where["sejour.type"] = "!= 'consult'"; $where["sejour.group_id"] = "= '{$group_id}'"; $where["sejour.patient_id"] = "= '{$consult->patient_id}'"; /** @var CSejour[] $sejours */ $sejour = new CSejour(); $sejours = $sejour->loadListWithPerms(PERM_READ, $where); CMbObject::massLoadFwdRef($sejours, "praticien_id"); foreach ($sejours as $_sejour) {
if ($multiple_edit) { $plage_temp = $consultation_temp->_ref_plageconsult; $where_next = array(); $ljoin_next = array(); $limit = CAppUI::pref("NbConsultMultiple"); $date_ref = CAppUI::pref("today_ref_consult_multiple") ? CMbDT::date() : $plage_temp->date; $ljoin_next["plageconsult"] = "plageconsult.plageconsult_id = consultation.plageconsult_id"; $where_next["consultation.patient_id"] = "= '{$consultation_temp->patient_id}'"; $where_next["consultation.annule"] = "= '0'"; //only not cancelled $where_next["consultation.chrono"] = "< '48'"; //only not finished and not arrived $where_next["plageconsult.date"] = ">= '{$date_ref}'"; $where_next[$consultation_temp->_spec->key] = "!= '{$consultation_id}'"; /** @var $_consult CConsultation */ foreach ($consultation_temp->loadListWithPerms(PERM_READ, $where_next, "date", $limit, null, $ljoin_next) as $_consult) { $consultation_temp->loadRefPlageConsult()->loadRefChir(); $_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();