/**
  * Send event PMSI
  *
  * @param CHPrimXMLEvenementsServeurActivitePmsi $dom_evt  Event
  * @param CMbObject                              $mbObject Object
  *
  * @throws CMbException
  *
  * @return void
  */
 function sendEvenementPMSI(CHPrimXMLEvenementsServeurActivitePmsi $dom_evt, CMbObject $mbObject)
 {
     if (!($msg = $dom_evt->generateTypeEvenement($mbObject))) {
         return;
     }
     $source = CExchangeSource::get("{$this->_guid}-{$dom_evt->sous_type}");
     if (!$source->_id || !$source->active) {
         return;
     }
     $exchange = $dom_evt->_ref_echange_hprim;
     $source->setData($msg, false, $exchange);
     try {
         $source->send();
     } catch (Exception $e) {
         throw new CMbException("CExchangeSource-no-response");
     }
     $exchange->date_echange = CMbDT::dateTime();
     $acq = $source->getACQ();
     if (!$acq) {
         $exchange->store();
         return;
     }
     $dom_acq = CHPrimXMLAcquittementsServeurActivitePmsi::getEvtAcquittement($dom_evt);
     $dom_acq->loadXML($acq);
     $dom_acq->_ref_echange_hprim = $exchange;
     $doc_valid = $dom_acq->schemaValidate(null, false, $this->display_errors);
     $exchange->statut_acquittement = $dom_acq->getStatutAcquittementServeurActivitePmsi();
     $exchange->acquittement_valide = $doc_valid ? 1 : 0;
     $exchange->_acquittement = $acq;
     $exchange->store();
 }
 /**
  * Generate header message
  *
  * @return void
  */
 function generateEnteteMessage()
 {
     parent::generateEnteteMessage("evenementsServeurActes");
 }
 /**
  * Generate header message
  *
  * @return void
  */
 function generateEnteteMessage()
 {
     parent::generateEnteteMessage("evenementsServeurEtatsPatient");
 }
 /**
  * Generate header message
  *
  * @return void
  */
 function generateEnteteMessage()
 {
     parent::generateEnteteMessage("evenementsPMSI");
 }
 /**
  * Generate header message
  *
  * @return void
  */
 function generateEnteteMessage()
 {
     parent::generateEnteteMessage("evenementsFraisDivers");
 }
 /**
  * The message contains a collection of 
  * 
  * @param CHPrimXMLEvenementsServeurActivitePmsi    $dom_evt    DOM event PMSI
  * @param CHPrimXMLAcquittementsServeurActivitePmsi $dom_acq    DOM acquittement PMSI
  * @param CEchangeHprim                             $echg_hprim Exchange H'XML
  * @param array                                     &$data      Data
  * 
  * @return string Acquittement 
  **/
 static function eventPMSI(CHPrimXMLEvenementsServeurActivitePmsi $dom_evt, CHPrimXMLAcquittementsServeurActivitePmsi $dom_acq, CEchangeHprim $echg_hprim, &$data = array())
 {
     $data = array_merge($data, $dom_evt->getContentsXML());
     if (CMbArray::get($data, "action") && ($msgAcq = $dom_evt->isActionValide($data['action'], $dom_acq, $echg_hprim))) {
         return $msgAcq;
     }
     $operation = new COperation();
     $operation->_eai_exchange_initiator_id = $echg_hprim->_id;
     return $dom_evt->handle($dom_acq, $operation, $data);
 }