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


PHP CIdSante400::getMbObject方法代码示例

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


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

示例1: CPatient

 /**
  * Handle event A45 - move visit information - visit number
  *
  * @param CHL7Acknowledgment $ack        Acknowledgment
  * @param CPatient           $newPatient Person
  * @param array              $data       Datas
  *
  * @return string
  */
 function handleA45(CHL7Acknowledgment $ack, CPatient $newPatient, $data)
 {
     $exchange_hl7v2 = $this->_ref_exchange_hl7v2;
     $sender = $exchange_hl7v2->_ref_sender;
     // On considère que l'on a qu'un changement à faire
     if (count($data["merge"]) > 1) {
         return $exchange_hl7v2->setAckAR($ack, "E701", null, $newPatient);
     }
     $merge = CValue::read($data["merge"], 0);
     $keep_patient = new CPatient();
     $patientPI = CValue::read($data['personIdentifiers'], "PI");
     // Acquittement d'erreur : identifiants RI et PI non fournis
     if (!$patientPI) {
         return $exchange_hl7v2->setAckAR($ack, "E100", null, $newPatient);
     }
     // Chargement du patient
     $idexPatient = CIdSante400::getMatch("CPatient", $sender->_tag_patient, $patientPI);
     $keep_patient->load($idexPatient->object_id);
     if (!$keep_patient->_id) {
         return $exchange_hl7v2->setAckAR($ack, "E702", null, $keep_patient);
     }
     // MRG-1 Ancien numéro du patient
     // Chargement du séjour pour ce patient
     $MRG_1 = $this->queryTextNode("MRG.1/CX.1", $merge["MRG"]);
     $idex = new CIdSante400();
     $idex->object_class = "CPatient";
     $idex->id400 = $MRG_1;
     $idex->tag = $sender->_tag_patient;
     /** @var CPatient $patient_removing */
     $patient_removing = $idex->getMbObject();
     if (!$patient_removing || !$patient_removing->_id) {
         return $exchange_hl7v2->setAckAR($ack, "E703", null, $newPatient);
     }
     // MRG-5 Numéro de dossier
     // Chargement du dossier par le numéro de séjour
     $MRG_5 = $this->queryTextNode("MRG.5/CX.1", $merge["MRG"]);
     $idex = new CIdSante400();
     $idex->object_class = "CSejour";
     $idex->id400 = $MRG_5;
     $idex->tag = $sender->_tag_sejour;
     /** @var CSejour $venue */
     $venue = $idex->getMbObject();
     if (!$venue || !$venue->_id) {
         return $exchange_hl7v2->setAckAR($ack, "E704", null, $newPatient);
     }
     // Si le patient du séjour retrouvé est différent de celui que l'on doit "supprimer"
     if ($venue->patient_id != $patient_removing->_id) {
         return $exchange_hl7v2->setAckAR($ack, "E705", null, $venue);
     }
     // Réattribution du patient_id sur le séjour
     // Impossibilité dans Mediboard de modifier le patient d'un séjour ayant une entrée réelle
     if (CAppUI::conf("dPplanningOp CSejour patient_id") == 2 && $venue->entree_reelle) {
         return $exchange_hl7v2->setAckAR($ack, "E706", null, $venue);
     }
     $venue->patient_id = $keep_patient->_id;
     // Notifier les autres destinataires autre que le sender
     $venue->_eai_sender_guid = $sender->_guid;
     if ($msg = $venue->store()) {
         return $exchange_hl7v2->setAckAR($ack, "E707", $msg, $venue);
     }
     $comment = CEAISejour::getComment($venue);
     return $exchange_hl7v2->setAckAA($ack, "I700", $comment, $venue);
 }
开发者ID:fbone,项目名称:mediboard4,代码行数:72,代码来源:CHL7v2MoveAccountInformation.class.php


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