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