/** * 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); }