/** * Handle acknowledgment * * @param string $ack_hl7 HL7 acknowledgment * * @return DOMDocument */ function handle($ack_hl7) { $this->message = new CHL7v2Message(); $this->message->parse($ack_hl7); $this->dom_message = $this->message->toXML(); return $this->dom_message; }
$exchange = new CExchangeHL7v2(); $exchange->load($exchange_id); $exchange->loadRefsInteropActor(); if ($exchange->receiver_id) { /** @var CInteropReceiver $actor */ $actor = $exchange->_ref_receiver; $actor->loadConfigValues(); } else { /** @var CInteropSender $actor */ $actor = $exchange->_ref_sender; $actor->getConfigs($exchange); } $hl7_message = new CHL7v2Message(); $hl7_message->parse($er7); /** @var CHL7v2MessageXML $xml */ $xml = $hl7_message->toXML(null, false); $MSH = $xml->queryNode("MSH"); $EVN = $xml->queryNode("EVN"); $PID = $xml->queryNode("PID"); $PV1 = $xml->queryNode("PV1"); $PV2 = $xml->queryNode("PV2"); $ZBE = $xml->queryNode("ZBE"); $IPP = $NDA = null; $data = array(); $data["personIdentifiers"] = $xml->getPersonIdentifiers("PID.3", $PID, $actor); $data["admitIdentifiers"] = $xml->getAdmitIdentifiers($PV1, $actor); $names = array("nom" => "", "nom_jeune_fille" => ""); $prenom = null; $PID5 = $xml->query("PID.5", $PID); foreach ($PID5 as $_PID5) { // Nom(s)
<?php /* $Id $ */ /** * @package Mediboard * @subpackage hl7 * @version $Revision: 15455 $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ $er7 = CValue::post("er7"); $query = CValue::post("query"); $hl7_message = new CHL7v2Message(); $hl7_message->parse($er7); $xml = $hl7_message->toXML(); if ($query) { $xpath = new CMbXPath($xml); $results = @$xpath->query("//{$query}"); $nodes = array(); // Création du template $smarty = new CSmartyDP(); if ($results) { foreach ($results as $result) { $nodes[] = CMbString::highlightCode("xml", $xml->saveXML($result)); } } $smarty->assign("nodes", $nodes); $smarty->display("inc_er7_xml_result.tpl"); } else { ob_clean(); header("Content-Type: text/xml");
/* $Id $ */ /** * @package Mediboard * @subpackage hl7 * @version $Revision$ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkRead(); $message_string = CValue::post("message"); if (!$message_string) { return; } $message_string = stripslashes($message_string); CValue::setSession("message", $message_string); try { $message = new CHL7v2Message(); $message->parse($message_string); $message->_errors_msg = !$message->isOK(CHL7v2Error::E_ERROR); $message->_warnings_msg = !$message->isOK(CHL7v2Error::E_WARNING); $message->_xml = CMbString::highlightCode("xml", $message->toXML()->saveXML()); } catch (CHL7v2Exception $e) { CAppUI::stepMessage(UI_MSG_ERROR, $e->getMessage() . " (" . $e->extraData . ")"); return; } // Création du template $smarty = new CSmartyDP(); $smarty->assign("message", $message); $smarty->assign("key", "input"); $smarty->display("inc_display_hl7v2_message.tpl");