} $sejour = new CSejour(); $whereSejour = array(); $group = CGroups::loadCurrent(); $whereSejour["type"] = "!= 'consult'"; $whereSejour[] = "'{$consult->_date}' BETWEEN DATE(entree) AND DATE(sortie)"; $whereSejour["patient_id"] = "= '{$consult->patient_id}'"; $whereSejour["group_id"] = "= '{$group->_id}'"; $consult->_count_matching_sejours = $sejour->countList($whereSejour); //next consultation ? $dateW = $consult->_ref_plageconsult->date; $where = array(); $whereN["patient_id"] = " = '{$consult->patient_id}'"; $whereN["date"] = " >= '{$dateW}'"; $ljoin["plageconsult"] = "plageconsult.plageconsult_id = consultation.plageconsult_id"; $count_next_plage = $consult->countList($whereN, null, $ljoin); } if (!$modal) { // Save history $params = array("consult_urgence_id" => $consult_urgence_id, "consultation_id" => $consultation_id, "plageconsult_id" => $plageconsult_id, "sejour_id" => $sejour_id, "date_planning" => $date_planning, "grossesse_id" => $grossesse_id); $object = null; $type = CViewHistory::TYPE_VIEW; if ($consultation_id) { $object = $consult; $type = CViewHistory::TYPE_EDIT; } elseif ($plageconsult_id) { $object = new CPlageconsult(); $object->load($plageconsult_id); $type = CViewHistory::TYPE_NEW; } else { $object = $chir;
$where_examen = "`examen` LIKE '%{$examen_consult}%'"; $where_consult[] = $where_examen; } if ($traitement_consult) { $where_traitement = "`traitement` LIKE '%{$traitement_consult}%'"; $where_consult[] = $where_traitement; } if ($where_consult) { $where_consult = implode(" OR ", $where_consult); } } $patients_consult = array(); $order_consult = "patient_id"; $total_consults = null; if ($where_consult) { $total_consults = $consult->countList($where_consult); $consultations = $consult->loadList($where_consult, $order_consult, "{$page_consult}, 30"); } foreach ($consultations as $value) { $value->loadRefPatient(); } // Recherche sur les sejours /** @var CSejour[] $sejours */ $sejours = array(); $sejour = new CSejour(); $patients_sejour = array(); $where_sejour = null; if ($recherche_sejour == "and") { if ($typeAdmission_sejour) { $where_sejour["type"] = "LIKE '%{$typeAdmission_sejour}%'"; }
/** * Calcul du nombre de patient dans la plage * * @param bool $include_pause count pauses too * * @return int The patient count */ function countPatients($include_pause = false) { $consultation = new CConsultation(); $consultation->plageconsult_id = $this->_id; $where["plageconsult_id"] = "= '{$this->_id}'"; if (!$include_pause) { $where["patient_id"] = " IS NOT NULL"; } $where["annule"] = "= '0'"; return $this->_nb_patients = $consultation->countList($where); }
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 22723 $ */ CCanDo::checkAdmin(); $resolve = CValue::get("resolve", 0); //@todo supprimer la partie AMI après utilisation $ljoin = array(); $ljoin["plageconsult"] = "plageconsult.plageconsult_id = consultation.plageconsult_id"; $ljoin["id_sante400"] = "consultation.consultation_id = id_sante400.object_id"; $where = array(); $where["id_sante400.object_class"] = " = 'CConsultation'"; $where["id_sante400.tag"] = " = 'ami_import'"; $where[] = "consultation.heure NOT BETWEEN plageconsult.debut AND plageconsult.fin\r\n AND consultation.heure <> '00:00:00'"; $where[] = "\r\n EXISTS ( SELECT * FROM plageconsult p\r\n WHERE p.chir_id = plageconsult.chir_id\r\n AND p.date = plageconsult.date\r\n AND consultation.heure BETWEEN p.debut AND p.fin\r\n )\r\n"; $consultation = new CConsultation(); $nb_consult = $consultation->countList($where, null, $ljoin); $limit = $resolve == 1 ? 100 : 30; $consultations = $consultation->loadList($where, null, $limit, null, $ljoin); CMbObject::massLoadFwdRef($consultations, "patient_id"); if (!$resolve) { CMbObject::massLoadFwdRef($consultations, "plageconsult_id"); } foreach ($consultations as $consult) { $consult->loadRefPlageConsult(); if (!$resolve) { $consult->loadRefPatient(); } } if ($resolve) { foreach ($consultations as $consult) { $where = array();
* * @package Mediboard * @subpackage Hospi * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ $sejour_id = CValue::get("sejour_id"); $transmission = new CTransmissionMedicale(); $where = array("sejour_id" => "= '{$sejour_id}'"); $nb_trans_obs = $transmission->countList($where); $observation = new CObservationMedicale(); $nb_trans_obs += $observation->countList($where); $consultation = new CConsultation(); $where["annule"] = "= '0'"; $nb_trans_obs += $consultation->countList($where); unset($where["annule"]); // Compter les consultations d'anesthésie hors séjour $sejour = new CSejour(); $sejour->load($sejour_id); $patient = $sejour->loadRefPatient(); $consultations = $patient->loadRefsConsultations(array("annule" => "= '0'")); CStoredObject::massCountBackRefs($consultations, "consult_anesth"); foreach ($consultations as $_consult) { if ($_consult->_count["consult_anesth"]) { $nb_trans_obs++; } } $constantes = new CConstantesMedicales(); $where = array("context_class" => "= 'CSejour'", "context_id" => "= '{$sejour_id}'"); $nb_trans_obs += $constantes->countList($where);
$idex = new CIdSante400(); $res_current_etab["CSejour-_NDA"] = $idex->countList($where); // - Patients IPP $tag_ipp = CPatient::getTagIPP($current_group); $where["tag"] = " = '{$tag_ipp}'"; $where["object_class"] = " = 'CPatient'"; $idex = new CIdSante400(); $res_current_etab["CPatient-_IPP"] = $idex->countList($where); // - Nombre de consultations $where = array(); $consultation = new CConsultation(); $ljoin["plageconsult"] = "consultation.plageconsult_id = plageconsult.plageconsult_id"; $ljoin["users_mediboard"] = "plageconsult.chir_id = users_mediboard.user_id"; $ljoin["functions_mediboard"] = "users_mediboard.function_id = functions_mediboard.function_id"; $where["functions_mediboard.group_id"] = " = '{$current_group}'"; $res_current_etab["CConsultation"] = $consultation->countList($where, null, $ljoin); // - Lits $ljoin = array(); $where = array(); $lit = new C**t(); $ljoin["chambre"] = "lit.chambre_id = chambre.chambre_id"; $ljoin["service"] = "chambre.service_id = service.service_id"; $where["service.group_id"] = " = '{$current_group}'"; $res_current_etab["C**t"] = $lit->countList($where, null, $ljoin); // - Chambres $ljoin = array(); $where = array(); $chambre = new CChambre(); $ljoin["service"] = "chambre.service_id = service.service_id"; $where["service.group_id"] = " = '{$current_group}'"; $res_current_etab["CChambre"] = $chambre->countList($where, null, $ljoin);