/** * Get data nodes * * @return array Get nodes */ function getContentNodes() { $data = parent::getContentNodes(); $sender = $this->_ref_sender; $this->queryNodes("NK1", null, $data, true); $this->queryNodes("ROL", null, $data, true); $PV1 = $this->queryNode("PV1", null, $data, true); $data["admitIdentifiers"] = $this->getAdmitIdentifiers($PV1, $sender); $this->queryNode("PV2", null, $data, true); // Traitement des segments spécifiques extension française PAM if ($this->_is_i18n == "FR" || $sender->_configs["iti31_historic_movement"]) { $this->queryNode("ZBE", null, $data, true); } if ($this->_is_i18n == "FR") { $this->queryNode("ZFP", null, $data, true); $this->queryNode("ZFV", null, $data, true); $this->queryNode("ZFM", null, $data, true); $this->queryNode("ZFD", null, $data, true); } $this->queryNodes("OBX", null, $data, true); $this->queryNodes("GT1", null, $data, true); $root_element_name = $this->documentElement->nodeName; $insurances = $this->queryNodes("{$root_element_name}.INSURANCE", null, $varnull, true); foreach ($insurances as $_insurance) { $tmp = array(); // IN1 $this->queryNodes("IN1", $_insurance, $tmp, true); $data["insurances"][] = $tmp; } return $data; }
/** * Get data nodes * * @return array Get nodes */ function getContentNodes() { $data = parent::getContentNodes(); $this->queryNodes("NK1", null, $data, true); $this->queryNodes("ROL", null, $data, true); $this->queryNodes("OBX", null, $data, true); return $data; }
/** * Get contents * * @return array */ function getContentNodes() { $data = parent::getContentNodes(); $pv1 = $this->queryNode("PV1", null, $data, true); $data["admitIdentifiers"] = $this->getAdmitIdentifiers($pv1, $this->_ref_sender); $ORDER = $this->queryNodes("ORM_O01.ORDER", null, $varnull, true); foreach ($ORDER as $_ORM_O01_ORDER) { // ORC $this->queryNode("ORC", $_ORM_O01_ORDER, $data, true); } $ORDER_DETAIL = $this->queryNode("ORM_O01.ORDER_DETAIL", null, $varnull, true); $ORDER_DETAIL_SEGMENTS = $this->queryNode("ORM_O01.ORDER_DETAIL_SEGMENTS", $ORDER_DETAIL, $varnull, true); // OBR $this->queryNode("OBR", $ORDER_DETAIL_SEGMENTS, $data, true); return $data; }
/** * Get contents * * @return array */ function getContentNodes() { $data = parent::getContentNodes(); $this->queryNode("MRG", null, $data, true); return $data; }
/** * Handle event PAM / DEC / PDQ / SWF message * * @param CExchangeHL7v2 $exchange_hl7v2 Exchange HL7v2 * @param CHL7v2MessageXML $dom_evt DOM Event * @param CHL7Acknowledgment $ack Acknowledgment * @param array $data Nodes data * * @return null|string */ static function handleEvent(CExchangeHL7v2 $exchange_hl7v2, CHL7v2MessageXML $dom_evt, CHL7Acknowledgment $ack, $data = array()) { $newPatient = new CPatient(); $newPatient->_eai_exchange_initiator_id = $exchange_hl7v2->_id; $data = array_merge($data, $dom_evt->getContentNodes()); return $dom_evt->handle($ack, $newPatient, $data); }