Beispiel #1
0
 function loadLastGrossesse()
 {
     if (!CModule::getActive("maternite")) {
         return;
     }
     $grossesse = new CGrossesse();
     $grossesse->parturiente_id = $this->_id;
     $grossesse->active = 1;
     $grossesse->loadMatchingObject("terme_prevu DESC");
     return $this->_ref_last_grossesse = $grossesse;
 }
// On récupère le séjour
$sejour = new CSejour();
if ($sejour_id && !$operation_id) {
    $sejour->load($sejour_id);
    CAccessMedicalData::checkForSejour($sejour);
    $sejour->loadRefsFwd();
    $sejour->loadRefCurrAffectation()->loadRefService();
    if (!$chir_id) {
        $chir = $sejour->_ref_praticien;
    }
    // On ne change a priori pas le praticien du séjour
    $sejour->_ref_praticien->canDo();
    $prat = $sejour->_ref_praticien;
    $patient = $sejour->_ref_patient;
}
$grossesse = new CGrossesse();
if ($grossesse_id && !$sejour_id && !$operation_id) {
    $grossesse->load($grossesse_id);
    $sejour->grossesse_id = $grossesse->_id;
    $sejour->_ref_grossesse = $grossesse;
    $patient = $grossesse->loadRefParturiente();
}
// On récupère l'opération
$op = new COperation();
$op->load($operation_id);
if ($op->_id) {
    $op->loadRefSejour();
    if (CAppUI::conf("dPplanningOp COperation use_session_praticien")) {
        CValue::setSession("chir_id", $op->chir_id);
    }
    if (CBrisDeGlace::isBrisDeGlaceRequired()) {
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version  SVN: $Id:$
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$date = CValue::get("date", CMbDT::date());
$group = CGroups::loadCurrent();
$date_min = CMbDT::date("-" . CAppUI::conf("maternite CGrossesse min_check_terme", $group) . " DAYS", $date);
$date_max = CMbDT::date("+" . CAppUI::conf("maternite CGrossesse max_check_terme", $group) . " DAYS", $date);
$where = array();
$ljoin = array();
$where["grossesse.terme_prevu"] = "BETWEEN '{$date_min}' AND '{$date_max}'";
$where["grossesse.group_id"] = "= '{$group->_id}' ";
$where["grossesse.active"] = "= '1'";
$ljoin["patients"] = "patients.patient_id = grossesse.parturiente_id";
$grossesse = new CGrossesse();
/** @var CStoredObject[] $grossesses */
$grossesses = $grossesse->loadList($where, "terme_prevu ASC, nom ASC", null, null, $ljoin);
CStoredObject::massLoadFwdRef($grossesses, "parturiente_id");
CStoredObject::massCountBackRefs($grossesses, "sejours");
$consultations = CStoredObject::massLoadBackRefs($grossesses, "consultations");
CStoredObject::massLoadFwdRef($consultations, "plageconsult_id");
/** @var CGrossesse[] $grossesses */
foreach ($grossesses as $_grossesse) {
    $_grossesse->loadRefParturiente();
    $_grossesse->countRefSejours();
    $_grossesse->loadRefsConsultations(true);
}
$smarty = new CSmartyDP();
$smarty->assign("grossesses", $grossesses);
$smarty->assign("date", $date);
<?php

/**
 * $Id$
 *  
 * @category Maternite
 * @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();
$grossesse_id = CValue::get("grossesse_id");
$grossesse = new CGrossesse();
$grossesse->load($grossesse_id);
$grossesse->loadRefsSejours();
$grossesse->loadRefsConsultations(true);
foreach ($grossesse->_ref_consultations as $_cons) {
    $prat = $_cons->loadRefPraticien();
    $prat->loadRefFunction();
}
foreach ($grossesse->_ref_sejours as $_sejour) {
    $_sejour->loadRefsConsultations();
    $_sejour->loadRefsOperations();
}
$smarty = new CSmartyDP();
$smarty->assign("grossesse", $grossesse);
$smarty->display("inc_list_grossesse_history.tpl");
        $plage->chir_id = $chir->_id;
        $plage->date = $day_now;
        $plage->freq = "00:" . CPlageconsult::$minutes_interval . ":00";
        $plage->debut = $hour_now;
        $plage->fin = $hour_next;
        $plage->libelle = "automatique";
        $plage->_immediate_plage = 1;
    }
    $plage->updateFormFields();
    if ($msg = $plage->store()) {
        CAppUI::setMsg($msg, UI_MSG_ERROR);
    }
}
$plage->loadRefsFwd();
if ($grossesse_id) {
    $grossesse = new CGrossesse();
    $grossesse->load($grossesse_id);
    if ($grossesse->_id) {
        $patient_id = $grossesse->parturiente_id;
    }
}
$ref_chir = $plage->_ref_chir;
$consult = new CConsultation();
$consult->plageconsult_id = $plage->_id;
$consult->sejour_id = $sejour->_id;
$consult->grossesse_id = $grossesse_id;
$consult->patient_id = $patient_id;
$consult->heure = $time_now;
$consult->arrivee = "{$day_now} {$time_now}";
$consult->duree = 1;
$consult->chrono = CConsultation::PATIENT_ARRIVE;
<?php

/**
 * Liste des grossesses pour une parturiente
 *  
 * @category Maternite
 * @package  Mediboard
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html 
 * @version  SVN: $Id:$ 
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$parturiente_id = CValue::getOrSession("parturiente_id");
$object_guid = CValue::getOrSession("object_guid");
$show_checkbox = CValue::get("show_checkbox");
$object = new CMbObject();
if ($object_guid) {
    $object = CMbObject::loadFromGuid($object_guid);
}
$grossesse = new CGrossesse();
$grossesse->parturiente_id = $parturiente_id;
$grossesses = $grossesse->loadMatchingList("terme_prevu DESC, active DESC");
CMbObject::massCountBackRefs($grossesses, "sejours");
CMbObject::massCountBackRefs($grossesses, "consultations");
CMbObject::massCountBackRefs($grossesses, "naissances");
$smarty = new CSmartyDP();
$smarty->assign("grossesses", $grossesses);
$smarty->assign("object", $object);
$smarty->assign("show_checkbox", $show_checkbox);
$smarty->display("inc_list_grossesses.tpl");
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html 
 * @version  SVN: $Id:$ 
 * @link     http://www.mediboard.org
 */
$user = CMediusers::get();
$user->isProfessionnelDeSante();
// vars
$grossesse_id = CValue::get('grossesse_id');
$parturiente_id = CValue::getOrSession("parturiente_id");
// options
$with_buttons = CValue::get("with_buttons", false);
// see buttons at the right panel
$standalone = CValue::get("standalone", 0);
// embedded in a requestUpdate for example
$grossesse = new CGrossesse();
$grossesse->load($grossesse_id);
$grossesse->loadRefsNotes();
if (!$grossesse->_id) {
    $grossesse->parturiente_id = $parturiente_id;
}
$grossesse->loadRefParturiente();
// sejour & last grossesse
$sejour_id = CValue::get("sejour_id");
$sejour = new CSejour();
$sejour->load($sejour_id);
$grossesse->_ref_sejour = $sejour;
if ($operation = $grossesse->loadRefLastOperation()) {
    $grossesse->_semaine_grossesse = ceil(CMbDT::daysRelative($grossesse->_date_fecondation, CMbDT::date($operation->_datetime)) / 7);
    $grossesse->_terme_vs_operation = CMbDT::daysRelative($grossesse->terme_prevu, CMbDT::date($operation->_datetime));
}
/**
 * $Id$
 *  
 * @category Maternité
 * @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();
$date = CView::request("date", "date default|" . CMbDT::date());
CView::checkin();
$date_max = CMbDT::date("+2 month", $date);
$group = CGroups::loadCurrent();
$grossesse = new CGrossesse();
$where = array();
$where["terme_prevu"] = "BETWEEN '{$date}' AND '{$date_max}'";
$where["group_id"] = "= '{$group->_id}'";
$grossesses = $grossesse->loadList($where);
$sejours = CStoredObject::massLoadBackRefs($grossesses, "sejours", "entree_prevue DESC");
CStoredObject::massLoadBackRefs($sejours, "operations", "date ASC");
$fiches_anesth = array();
$params = array("dossier_anesth_id" => "", "operation_id" => "", "offline" => 1, "print" => 1, "pdf" => 0);
/** @var CGrossesse $_grossesse */
foreach ($grossesses as $_grossesse) {
    foreach ($_grossesse->loadRefsConsultations() as $_consult) {
        foreach ($_consult->loadRefsDossiersAnesth() as $_dossier_anesth) {
            $params["dossier_anesth_id"] = $_dossier_anesth->_id;
            $fiches_anesth[$_dossier_anesth->_id] = CApp::fetch("dPcabinet", "print_fiche", $params);
        }
if ($terme) {
    $where["terme_prevu"] = " = '{$terme}'";
} else {
    if ($terme_start && $terme_end) {
        $where["terme_prevu"] = " BETWEEN '{$terme_start}' AND '{$terme_end}' ";
    } elseif ($terme_start && !$terme_end) {
        $where["terme_prevu"] = " >= '{$terme_start}' ";
    } elseif (!$terme_start && $terme_end) {
        $where["terme_prevu"] = " <= '{$terme_end}' ";
    }
}
if ($fausse_couche !== '') {
    $where["fausse_couche"] = " = '{$fausse_couche}' ";
}
if ($multiple !== '') {
    $where["multiple"] = " = '{$multiple}' ";
}
$grossesse = new CGrossesse();
$ljoin = array("patients" => "patients.patient_id = grossesse.parturiente_id");
/** @var CGrossesse[] $grossesses */
$nb_grossesses = $grossesse->countList($where, null, $ljoin);
$grossesses = $grossesse->loadList($where, "nom, prenom", "{$page}, 30", null, $ljoin);
foreach ($grossesses as $_grossesse) {
    $_grossesse->loadRefParturiente();
}
// smarty
$smarty = new CSmartyDP();
$smarty->assign("grossesses", $grossesses);
$smarty->assign("nb_grossesses", $nb_grossesses);
$smarty->assign("page", $page);
$smarty->display("inc_list_search_grossesse.tpl");