本文整理汇总了PHP中CPatient::trashIPP方法的典型用法代码示例。如果您正苦于以下问题:PHP CPatient::trashIPP方法的具体用法?PHP CPatient::trashIPP怎么用?PHP CPatient::trashIPP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPatient
的用法示例。
在下文中一共展示了CPatient::trashIPP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: storeIPP
/**
* Recording IPP
*
* @param CIdSante400 $IPP Object id400
* @param CPatient $patient Patient
* @param CInteropSender $sender Sender
*
* @return null|string null if successful otherwise returns and error message
*/
static function storeIPP(CIdSante400 $IPP, CPatient $patient, CInteropSender $sender)
{
/* Gestion du numéroteur */
$group = new CGroups();
$group->load($sender->group_id);
$group->loadConfigValues();
// Purge de l'IPP existant sur le patient et on le remplace par le nouveau
if ($sender->_configs && $sender->_configs["purge_idex_movements"]) {
// On charge l'IPP courant du patient
$patient->loadIPP($sender->group_id);
$ref_IPP = $patient->_ref_IPP;
if ($ref_IPP) {
// Si l'IPP actuel est identique à celui qu'on reçoit on ne fait rien
if ($ref_IPP->id400 == $IPP->id400) {
return;
}
// On passe l'IPP courant en trash
$ref_IPP->tag = CAppUI::conf("dPpatients CPatient tag_ipp_trash") . $ref_IPP->tag;
$ref_IPP->_eai_sender_guid = $sender->_guid;
$ref_IPP->store();
$patient->trashIPP($ref_IPP);
}
// On sauvegarde le nouveau
$IPP->tag = $sender->_tag_patient;
$IPP->object_class = "CPatient";
$IPP->object_id = $patient->_id;
$IPP->last_update = CMbDT::dateTime();
$IPP->_eai_sender_guid = $sender->_guid;
return $IPP->store();
}
// Génération de l'IPP ?
/* @todo sip_idex_generator doit être remplacé par isIPPSupplier */
if ($sender->_configs && !$group->_configs["sip_idex_generator"]) {
if (!$IPP->id400) {
return null;
}
if ($patient) {
$IPP->object_id = $patient->_id;
}
$IPP->last_update = CMbDT::dateTime();
$IPP->_eai_sender_guid = $sender->_guid;
return $IPP->store();
} else {
$IPP_temp = CIdSante400::getMatch("CPatient", $sender->_tag_patient, null, $patient->_id);
// Pas d'IPP passé
if (!$IPP->id400) {
if ($IPP_temp->_id) {
return null;
}
if (!CIncrementer::generateIdex($patient, $sender->_tag_patient, $sender->group_id)) {
return CAppUI::tr("CEAIPatient-error-generate-idex");
}
return null;
} else {
// Si j'ai déjà un identifiant
if ($IPP_temp->_id) {
// On passe l'IPP courant en trash
$IPP_temp->tag = CAppUI::conf("dPpatients CPatient tag_ipp_trash") . $IPP_temp->tag;
$IPP_temp->_eai_sender_guid = $sender->_guid;
$IPP_temp->store();
}
$incrementer = $sender->loadRefGroup()->loadDomainSupplier("CPatient");
if ($incrementer && $IPP->id400 < $incrementer->range_min || $IPP->id400 > $incrementer->range_max) {
return CAppUI::tr("CEAIPatient-idex-not-in-the-range");
}
$IPP->object_id = $patient->_id;
$IPP->last_update = CMbDT::dateTime();
$IPP->_eai_sender_guid = $sender->_guid;
return $IPP->store();
}
}
}