コード例 #1
0
 /**
  * @see parent::build()
  */
 function build($object)
 {
     parent::build($object);
     if ($object instanceof CPatient) {
         $patient = $object;
     } else {
         $patient = $object->loadRefPatient();
     }
     $this->addP($patient);
     $this->addL();
 }
コード例 #2
0
 /**
  * Send en event
  *
  * @param CHPrimSanteEvent $evenement evenement
  * @param CMbObject        $mbObject  object
  *
  * @return null|String
  * @throws CMbException
  */
 function sendEvent($evenement, CMbObject $mbObject)
 {
     $evenement->_receiver = $this;
     $this->loadConfigValues();
     $evenement->build($mbObject);
     if (!($msg = $evenement->flatten())) {
         return null;
     }
     /** @var CExchangeHprimSante $exchange */
     $exchange = $evenement->_exchange_hpr;
     if (!$exchange->message_valide) {
         return null;
     }
     if (!$this->synchronous) {
         return null;
     }
     $source = CExchangeSource::get("{$this->_guid}-{$evenement->type}");
     if (!$source->_id || !$source->active) {
         return null;
     }
     $source->setData($msg, null, $exchange);
     try {
         $source->send();
     } catch (Exception $e) {
         throw new CMbException("CExchangeSource-no-response");
     }
     $exchange->date_echange = CMbDT::dateTime();
     $ack_data = $source->getACQ();
     if (!$ack_data) {
         $exchange->store();
         return null;
     }
     /** @var CHPrimSanteEvent $data_format */
     $data_format = CHPrimSante::getEvent($exchange);
     $ack = new CHPrimSanteAcknowledgment($data_format);
     $ack->handle($ack_data);
     $exchange->date_echange = CMbDT::dateTime();
     $exchange->statut_acquittement = $ack->getStatutAcknowledgment();
     $exchange->acquittement_valide = $ack->message->isOK(CHL7v2Error::E_ERROR) ? 1 : 0;
     $exchange->_acquittement = $ack_data;
     $exchange->store();
     return $ack_data;
 }
コード例 #3
0
 /**
  * @see parent::build()
  */
 function build($object)
 {
     parent::build($object);
     /* @todo Pas de création de message pour le moment */
 }