/** * $Id$ * * @category Urgences * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ * @link http://www.mediboard.org */ CCando::checkRead(); $consult_id = CValue::get("consult_id"); $consult = new CConsultation(); $consult->load($consult_id); $consult->loadRefPlageConsult(); $sejour = $consult->loadRefSejour(); $rpu = $sejour->loadRefRPU(); $services = array(); $list_mode_sortie = null; if ($rpu && $rpu->_id) { // Mise en session du rpu_id $_SESSION["dPurgences"]["rpu_id"] = $rpu->_id; $rpu->loadRefSejourMutation(); $affectation = $sejour->loadRefCurrAffectation(); $affectation->loadRefService(); // Urgences pour un séjour "urg" if ($sejour->type == "urg") { $services = CService::loadServicesUrgence(); } // UHCD pour un séjour "comp" et en UHCD
/** * Redéfinition du store * * @return void|string **/ function store() { $this->completeField("numero", "group_id"); if (!$this->group_id) { $this->group_id = CGroups::loadCurrent()->_id; } if ($this->_id && $this->_duplicate) { $this->_duplicate = null; if ($msg = $this->duplicate()) { return $msg; } $this->annule = 1; $this->definitive = 1; } if (!$this->cloture && $this->fieldModified("cloture") && count($this->_ref_reglements)) { return "Vous ne pouvez pas décloturer une facture ayant des règlements"; } if (!$this->cloture && $this->fieldModified("cloture") && count($this->_ref_relances)) { return "Vous ne pouvez pas décloturer une facture ayant des relances"; } $create_lignes = false; if (!$this->_id && CAppUI::conf("dPfacturation " . $this->_class . " use_auto_cloture")) { $this->cloture = CMbDT::date(); $create_lignes = true; } //Si on cloture la facture création des lignes de la facture //Si on décloture on les supprime if ($this->cloture && $this->fieldModified("cloture") && !$this->_old->cloture) { $create_lignes = true; } elseif (!$this->cloture && $this->fieldModified("cloture")) { //Suppression des tous les items de la facture $this->loadRefsItems(); foreach ($this->_ref_items as $item) { /** @var CFactureItem $item*/ $item->delete(); } $this->facture = 0; } // Etat des règlement à propager sur les consultations if ($this->fieldModified("patient_date_reglement") || $this->fieldModified("tiers_date_reglement")) { $this->loadRefsConsultation(); foreach ($this->_ref_consults as $_consultation) { $_consultation->patient_date_reglement = $this->patient_date_reglement; $_consultation->tiers_date_reglement = $this->tiers_date_reglement; if ($msg = $_consultation->store()) { return $msg; } } if ($this->isRelancable() && $this->_ref_last_relance->_id) { $this->_ref_last_relance->etat = $this->patient_date_reglement ? "regle" : "emise"; $this->_ref_last_relance->store(); } } $_object_id = null; $_object_class = null; //Lors de la validation de la cotation d'une consultation if ($this->_consult_id) { $consult = new CConsultation(); $consult->load($this->_consult_id); $consult->loadRefPlageConsult(); // Si la facture existe déjà on la met à jour $where = array(); $ljoin = array(); $plage = $consult->_ref_plageconsult; if (CAppUI::conf("ref_pays") == 2) { $where["patient_id"] = "= '{$consult->patient_id}'"; $where["praticien_id"] = "= '" . ($plage->pour_compte_id ? $plage->pour_compte_id : $plage->chir_id) . "'"; $where["cloture"] = "IS NULL"; } else { $table = $consult->sejour_id ? "facture_etablissement" : "facture_cabinet"; $ljoin["facture_liaison"] = "facture_liaison.facture_id = {$table}.facture_id"; $where["facture_liaison.object_id"] = " = '{$this->_consult_id}'"; $where["facture_liaison.object_class"] = " = 'CConsultation'"; $where["facture_liaison.facture_class"] = " = '{$this->_class}'"; $where["numero"] = " = '{$this->numero}'"; } //Si la facture existe déjà if ($this->loadObject($where, null, "facture_id", $ljoin)) { //Dans le cas Suisse if (CAppUI::conf("ref_pays") == 2 && CModule::getActive("dPfacturation")) { $ligne = new CFactureLiaison(); $ligne->facture_id = $this->_id; $ligne->facture_class = $this->_class; $ligne->object_id = $this->_consult_id; $ligne->object_class = 'CConsultation'; if (!$ligne->loadMatchingObject()) { $ligne->store(); } } } else { // Sinon on la crée $this->ouverture = CMbDT::date(); $this->patient_id = $consult->patient_id; $this->praticien_id = $plage->pour_compte_id ? $plage->pour_compte_id : $plage->chir_id; $this->type_facture = $consult->pec_at == 'arret' ? "accident" : "maladie"; if (CAppUI::conf("dPfacturation {$this->_class} use_auto_cloture")) { $this->cloture = CMbDT::date(); $create_lignes = true; } if ($this->numero > 1 && !count($consult->loadRefsFraisDivers(1)) && count($consult->loadRefsFraisDivers($this->numero)) && $consult->du_tva) { $frais = 0; foreach ($consult->loadRefsFraisDivers($this->numero) as $_frais) { $frais += $_frais->montant_base; } $this->du_patient = $frais + $consult->du_tva; $this->du_tva = $consult->du_tva; $this->taux_tva = $consult->taux_tva; } } $_object_id = $this->_consult_id; $_object_class = "CConsultation"; } //Lors de la création d'une facture de séjour if ($this->_sejour_id) { $_object_id = $this->_sejour_id; $_object_class = "CSejour"; } $this->completeField("assurance_maladie", "assurance_accident", "type_facture"); if ($this->type_facture != "accident" && $this->assurance_accident) { $this->assurance_accident = ""; } if ($this->type_facture != "maladie" && $this->assurance_maladie) { $this->assurance_maladie = ""; } // Standard store if ($msg = parent::store()) { return $msg; } if ($_object_id) { $ligne = new CFactureLiaison(); $ligne->facture_id = $this->_id; $ligne->facture_class = $this->_class; $ligne->object_id = $_object_id; $ligne->object_class = $_object_class; if (!$ligne->loadMatchingObject()) { $ligne->store(); } } if ($create_lignes) { $this->creationLignesFacture(); } }
$hide_finished = false; } //if multiple, no weekly planner if ($multipleMode) { $periods = array("day", "week", "month"); if ($period == "weekly") { $period = "month"; } } $consultation_ids = array(); // next consultations in editMultiple if ($consultation_id) { $consultation_ids = array(); $consultation_temp = new CConsultation(); $consultation_temp->load($consultation_id); $consultation_temp->loadRefPlageConsult()->loadRefChir(); $consultation_temp->loadRefElementPrescription(); // we add the first consult to the future json list (first element) if (!$consultation_temp->annule && ($consultation_temp->chrono = 16)) { $consultation_ids[] = array($consultation_temp->plageconsult_id, $consultation_temp->_id, $consultation_temp->_ref_plageconsult->date, $consultation_temp->heure, $consultation_temp->_ref_plageconsult->chir_id, utf8_encode($consultation_temp->_ref_plageconsult->_ref_chir->_view), $consultation_temp->annule, utf8_encode($consultation_temp->rques), $consultation_temp->element_prescription_id, utf8_encode($consultation_temp->element_prescription_id ? $consultation_temp->_ref_element_prescription->libelle : "")); } //edit mod 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'";
$date = CValue::getOrSession("date", $today); $prat_id = CValue::getOrSession("chirSel", $user->_id); $selConsult = CValue::getOrSession("selConsult"); $vue = CValue::getOrSession("vue2", 0); $withClosed = CValue::getOrSession("withClosed", 0); $board = CValue::get("board", 0); if (!$board) { $withClosed = 1; } else { $vue = 0; } $consult = new CConsultation(); // Test compliqué afin de savoir quelle consultation charger if (isset($_GET["selConsult"])) { if ($consult->load($selConsult)) { $consult->loadRefPlageConsult(1); $prat_id = $consult->_ref_plageconsult->chir_id; CValue::setSession("chirSel", $prat_id); } else { CValue::setSession("selConsult"); } } else { if ($consult->load($selConsult)) { $consult->loadRefPlageConsult(1); if ($prat_id !== $consult->_ref_plageconsult->chir_id) { $consult = new CConsultation(); CValue::setSession("selConsult"); } } } // On charge le praticien
<?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(); $consult_id = CValue::get("consult_id"); $consult = new CConsultation(); $consult->load($consult_id); $prat = $consult->loadRefPlageConsult()->loadRefChir(); $categorie = new CConsultationCategorie(); $categorie->function_id = $prat->function_id; $order = "nom_categorie ASC"; $categories = $categorie->loadMatchingList($order); // Création du template $smarty = new CSmartyDP(); $smarty->assign("consult", $consult); $smarty->assign("categories", $categories); $smarty->display("change_categorie.tpl");
/** * $Id$ * * @category Cabinet * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ * @link http://www.mediboard.org */ CCanDo::checkEdit(); $consult_id = CValue::get("consult_id"); $first_consult = new CConsultation(); $first_consult->load($consult_id); $plage_consult = $first_consult->loadRefPlageConsult(); $first_consult->loadRefPatient(); $first_consult->loadRefPraticien(); $date = $plage_consult->date; $praticien = new CMediusers(); $praticiens = $praticien->loadPraticiens(PERM_EDIT); $next_consult = new CConsultation(); $ljoin = array(); $where = array(); $where["patient_id"] = " = '{$first_consult->patient_id}'"; $where["date"] = " >= '{$date}'"; $ljoin["plageconsult"] = "plageconsult.plageconsult_id = consultation.plageconsult_id"; /** @var CConsultation[] $next_consults */ $next_consults = $next_consult->loadList($where, "date ASC", null, null, $ljoin); foreach ($next_consults as $_key => $_consult) { $_consult->loadRefPraticien();