/**
  * @see parent::__construct
  */
 function __construct()
 {
     $this->evenement = "evt_serveurintervention";
     $this->acquittement = "acquittementsServeurActes";
     $version = str_replace(".", "", CAppUI::conf("hprimxml {$this->evenement} version"));
     parent::__construct("serveurActivitePmsi_v{$version}", "msgAcquittementsServeurActes{$version}");
 }
 /**
  * Get acknowledgment event
  *
  * @param CHPrimXMLEvenements $dom_evt Event
  *
  * @return CHPrimXMLAcquittementsFraisDivers|CHPrimXMLAcquittementsPatients|CHPrimXMLAcquittementsPmsi|
  * CHPrimXMLAcquittementsServeurActes|CHPrimXMLAcquittementsServeurIntervention|null
  */
 static function getAcquittementEvenementXML(CHPrimXMLEvenements $dom_evt)
 {
     // Message événement patient
     if ($dom_evt instanceof CHPrimXMLEvenementsPatients) {
         return new CHPrimXMLAcquittementsPatients();
     }
     // Message serveur activité PMSI
     if ($dom_evt instanceof CHPrimXMLEvenementsServeurActivitePmsi) {
         return CHPrimXMLAcquittementsServeurActivitePmsi::getEvtAcquittement($dom_evt);
     }
     return null;
 }
 /**
  * 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();
 }
 /**
  * @see parent::__construct
  */
 function __construct()
 {
     $this->evenement = "evt_pmsi";
     $this->acquittement = "acquittementsPmsi";
     parent::__construct("msgAcquittementsPmsi105");
 }
 /**
  * @see parent::__construct
  */
 function __construct()
 {
     $this->evenement = "evt_frais_divers";
     $this->acquittement = "acquittementsFraisDivers";
     parent::__construct("msgAcquittementsPmsi105");
 }