当前位置: 首页>>代码示例>>PHP>>正文


PHP CSejour::getCurrAffectation方法代码示例

本文整理汇总了PHP中CSejour::getCurrAffectation方法的典型用法代码示例。如果您正苦于以下问题:PHP CSejour::getCurrAffectation方法的具体用法?PHP CSejour::getCurrAffectation怎么用?PHP CSejour::getCurrAffectation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CSejour的用法示例。


在下文中一共展示了CSejour::getCurrAffectation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getPL

 /**
  * Get PL : person location
  *
  * @param CInteropReceiver $receiver    Receiver
  * @param CSejour          $sejour      Admit
  * @param CAffectation     $affectation Affectation
  *
  * @return array
  */
 function getPL(CInteropReceiver $receiver, CSejour $sejour, CAffectation $affectation = null)
 {
     $group = $sejour->loadRefEtablissement();
     $default_name = null;
     if ($receiver && $receiver->_id && isset($receiver->_configs)) {
         $default_name = $receiver->_configs["build_PV1_3_1_default"];
     }
     if (!$affectation) {
         // Chargement de l'affectation courante
         $affectation = $sejour->getCurrAffectation();
         // Si on n'a pas d'affectation on va essayer de chercher la première
         if (!$affectation->_id) {
             $affectation = $sejour->loadRefFirstAffectation();
         }
     }
     $affectation->loadRefLit()->loadRefChambre();
     $current_uf = $sejour->getUFs(null, $affectation->_id);
     $name = null;
     if ($receiver && $receiver->_id && isset($receiver->_configs)) {
         switch ($receiver->_configs["build_PV1_3_1"]) {
             case "UF":
                 $name = $current_uf["hebergement"]->code;
                 break;
             case "service":
                 if ($affectation->_id) {
                     $name = $affectation->loadRefService()->nom;
                 }
                 if (!$name) {
                     $name = $sejour->loadRefService()->nom;
                 }
                 break;
             default:
         }
     }
     $pl1 = $name ? $name : $default_name;
     return array(array($pl1, $this->getPL2($receiver, $affectation), $this->getPL3($receiver, $affectation), $this->getGroupAssigningAuthority($sejour->loadRefEtablissement()), $this->getPL5($receiver), null, CHL7v2TableEntry::mapTo("307", $group->_id)));
 }
开发者ID:OpenXtrem,项目名称:mediboard_save,代码行数:46,代码来源:CHL7v2Segment.class.php

示例2: mapAndStoreAffectation

 /**
  * Mapping et enregistrement de l'affectation
  *
  * @param CSejour   $newVenue Admit
  * @param array     $data     Datas
  * @param CMovement $movement Movement
  *
  * @return CAffectation|string|null
  */
 function mapAndStoreAffectation(CSejour $newVenue, $data, CMovement $movement = null)
 {
     $sender = $this->_ref_sender;
     if ($newVenue->annule) {
         return null;
     }
     $PV1_3 = $this->queryNode("PV1.3", $data["PV1"]);
     $affectation = new CAffectation();
     $affectation->sejour_id = $newVenue->_id;
     $event_code = $this->_ref_exchange_hl7v2->code;
     // Récupération de la date de réalisation de l'évènement
     // Dans le cas spécifique de quelques évènements, on récupère le code sur le ZBE
     $datetime = $this->queryTextNode("EVN.6/TS.1", $data["EVN"]);
     if (array_key_exists("ZBE", $data) && $data["ZBE"] && CMbArray::in($event_code, array("A01", "A02", "A04", "A15", "Z80", "Z84"))) {
         $datetime = $this->queryTextNode("ZBE.2/TS.1", $data["ZBE"]);
     }
     switch ($event_code) {
         // Cas d'une suppression de mutation ou d'une permission d'absence
         case "A12":
         case "A52":
             // Quand on a un mouvement (provenant d'un ZBE)
             if (array_key_exists("ZBE", $data) && $data["ZBE"]) {
                 if (!$movement) {
                     return null;
                 }
                 $affectation->load($movement->affectation_id);
                 if (!$affectation->_id) {
                     return "Le mouvement '{$movement->_id}' n'est pas lié à une affectation dans Mediboard";
                 }
             } else {
                 $affectation->entree = $datetime;
                 $affectation->loadMatchingObject();
                 if (!$affectation->_id) {
                     return null;
                 }
             }
             // Pas de synchronisation
             $affectation->_no_synchro = true;
             if ($msgAffectation = $affectation->delete()) {
                 return $msgAffectation;
             }
             return null;
             // Annulation admission
         // Annulation admission
         case "A11":
             if (!$movement) {
                 return null;
             }
             $affectation = $newVenue->getCurrAffectation($datetime);
             // Si le mouvement n'a pas d'affectation associée, et que l'on a déjà une affectation dans MB
             if (!$movement->affectation_id && $affectation->_id) {
                 return "Le mouvement '{$movement->_id}' n'est pas lié à une affectation dans Mediboard";
             }
             // Si on a une affectation associée, alors on charge celle-ci
             if ($movement->affectation_id) {
                 $affectation = $movement->loadRefAffectation();
             }
             // Pas de synchronisation
             $affectation->_no_synchro = true;
             if ($msg = $affectation->delete()) {
                 return $msg;
             }
             return null;
             // Annuler le retour du patient
         // Annuler le retour du patient
         case "A53":
             if (!$movement) {
                 return null;
             }
             $affectation->load($movement->affectation_id);
             if (!$affectation->_id) {
                 return "Le mouvement '{$movement->_id}' n'est pas lié à une affectation dans Mediboard";
             }
             $affectation->effectue = 0;
             // Pas de synchronisation
             $affectation->_no_synchro = true;
             $affectation->_eai_sender_guid = $sender->_guid;
             if ($msg = $affectation->store()) {
                 return $msg;
             }
             return $affectation;
             // Cas d'un départ pour une permission d'absence
         // Cas d'un départ pour une permission d'absence
         case "A21":
             $affectation->entree = $datetime;
             $affectation->loadMatchingObject();
             // Si on ne retrouve pas une affectation
             // Création de l'affectation
             // et mettre à 'effectuee' la précédente si elle existe sinon création de celle-ci
             if (!$affectation->_id) {
                 $service_externe = CService::loadServiceExterne($sender->group_id);
//.........这里部分代码省略.........
开发者ID:OpenXtrem,项目名称:mediboard-test,代码行数:101,代码来源:CHL7v2RecordAdmit.class.php

示例3: foreach

}
switch ($order_col) {
    case "_entree":
        $order = "entree {$order_way}, rpu.ccmu {$order_way}";
        break;
    case "ccmu":
        $order = "rpu.ccmu {$order_way}, entree {$order_way}";
        break;
    case "_patient_id":
        $order = "patients.nom {$order_way}, ccmu {$order_way}";
}
/** @var CSejour[] $listSejours */
$listSejours = $sejour->loadList($where, $order, null, "`sejour`.sejour_id", $ljoin);
if ($service_id) {
    foreach ($listSejours as $key => $sejour) {
        $curr_aff = $sejour->getCurrAffectation();
        if (!$curr_aff->_id && (!$sejour->service_id || $sejour->service_id != $service_id) || $curr_aff->service_id != $service_id) {
            unset($listSejours[$key]);
        }
    }
}
CMbObject::massLoadFwdRef($listSejours, "patient_id");
CMbObject::massLoadFwdRef($listSejours, "group_id");
$prats = CMbObject::massLoadFwdRef($listSejours, "praticien_id");
CMbObject::massLoadFwdRef($prats, "function_id");
CMbObject::massCountBackRefs($listSejours, "notes");
CMbObject::massCountBackRefs($listSejours, "rpu");
CMbObject::massCountBackRefs($listSejours, "consultations");
CMbObject::massCountBackRefs($listSejours, "prescriptions");
CMbObject::massCountBackRefs($listSejours, "documents");
CMbObject::massCountBackRefs($listSejours, "files");
开发者ID:fbone,项目名称:mediboard4,代码行数:31,代码来源:httpreq_vw_main_courante.php


注:本文中的CSejour::getCurrAffectation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。