本文整理汇总了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)));
}
示例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);
//.........这里部分代码省略.........
示例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");