/** * Get aAcknowledgment object * * @param string $ack_data Data * * @return CHL7v3AcknowledgmentPRPA|null */ static function getAcknowledgment($ack_data) { $dom = new CHL7v3MessageXML(); $dom->loadXMLSafe($ack_data); $element = $dom->documentElement; $tagName = $element->tagName; if (strpos($tagName, "_Response") !== false) { $cloneNode = $element->firstChild->cloneNode(true); // Suppression du noeud RESPONSE $dom->removeChild($element); // On remet le noeud dédié à la réponse $dom->appendChild($cloneNode); $element = $dom->documentElement; $tagName = $element->tagName; } $first_element = str_replace("PRPA_", "", $tagName); if (array_key_exists($first_element, self::$evenements)) { $dom->hl7v3_version = "2009"; $dom->dirschemaname = $tagName; $hl7event = new self::$evenements[$first_element](); $hl7event->dom = $dom; return $hl7event; } return null; }
/** * Update exchange HL7v3 with * * @param Bool $validate Validate message * * @return CExchangeHL7v3 */ function updateExchange($validate = true) { $exchange_hl7v3 = $this->_exchange_hl7v3; $exchange_hl7v3->_message = $this->message; $exchange_hl7v3->message_valide = $validate ? $this->dom->schemaValidate() : true; $exchange_hl7v3->store(); return $exchange_hl7v3; }
/** * Bind value set * * @param CHL7v3MessageXML $dom Document * @param DOMElement $elt Element * @param string $prefix Prefix * * @return void */ function bind(CHL7v3MessageXML $dom, DOMElement $elt, $prefix) { $this->lang = $dom->getValueAttributNode($elt, "xml:lang"); foreach ($dom->queryNodes($prefix . "Concept", $elt) as $_concept) { $concept = new CHL7v3EventSVSConcept($dom); $concept->bind($dom, $_concept); $this->concept[] = $concept; } }
/** * Build Retrieve Value Set event * * @param CMbObject $object compte rendu * * @see parent::build() * * @throws CMbException * @return void */ function build($object) { parent::build($object); $data = $object->_data; $dom = new CHL7v3MessageXML("utf-8", $this->version); $RetrieveValueSetRequest = $dom->addElement($dom, "ns1:RetrieveValueSetRequest", null, "urn:ihe:iti:svs:2008"); $ValueSet = $dom->addElement($RetrieveValueSetRequest, "ns1:ValueSet", null, "urn:ihe:iti:svs:2008"); $dom->addValueSet($ValueSet, "id", "OID", $data); $dom->addValueSet($ValueSet, "version", "version", $data); $dom->addValueSet($ValueSet, "xml:lang", "language", $data); $this->message = $dom->saveXML(); $this->updateExchange(false); }
/** * Add header * * @return void */ function addHeader() { $dom = $this->dom; $root = $dom->addElement($dom, $this->getInteractionID()); $dom->addNameSpaces(); // id $id = $dom->addElement($root, "id"); $this->setII($id, $this->_exchange_hl7v3->_id, CMbOID::getOIDFromClass($this->_exchange_hl7v3, $this->_receiver)); // creationTime $creationTime = $dom->addElement($root, "creationTime"); $dom->addAttribute($creationTime, "value", CHL7v3MessageXML::dateTime()); // interactionId $interactionId = $dom->addElement($root, "interactionId"); $this->setII($interactionId, $this->getInteractionID(), "2.16.840.1.113883.1.6"); // processingCode $processingCode = $dom->addElement($root, "processingCode"); $instance_role = CAppUI::conf("instance_role") == "prod" ? "P" : "D"; $dom->addAttribute($processingCode, "code", $instance_role); // processingModeCode $processingModeCode = $dom->addElement($root, "processingModeCode"); $dom->addAttribute($processingModeCode, "code", "T"); // acceptAckCode $acceptAckCode = $dom->addElement($root, "acceptAckCode"); $dom->addAttribute($acceptAckCode, "code", "AL"); }
/** * Bind value set * * @param CHL7v3MessageXML $dom Document * @param DOMElement $elt Element * @param string $prefix Prefix * * @return void */ function bind(CHL7v3MessageXML $dom, DOMElement $elt, $prefix) { $this->id = $dom->getValueAttributNode($elt, "id"); $this->version = $dom->getValueAttributNode($elt, "version"); $this->displayName = $dom->getValueAttributNode($elt, "displayName"); foreach ($dom->queryNodes($prefix . "ConceptList", $elt) as $_concept_list) { $concept_list = new CHL7v3EventSVSConceptList($dom); $concept_list->bind($dom, $_concept_list, $prefix); $this->concept_list[] = $concept_list; } }
/** * Get aAcknowledgment object * * @param string $ack_data Data * * @return CHL7v3AcknowledgmentPRPA|null */ static function getAcknowledgment($ack_data) { $dom = new CHL7v3MessageXML(); $dom->loadXMLSafe($ack_data); $dom->formatOutput = true; $acknowledgment_svs = new CHL7v3AcknowledgmentSVS(); $acknowledgment_svs->dom = $dom; return $acknowledgment_svs; }
/** * Bind value set * * @param CHL7v3MessageXML $dom Document * @param DOMElement $elt Element * * @return void */ function bind(CHL7v3MessageXML $dom, DOMElement $elt) { $this->displayName = $dom->getValueAttributNode($elt, "displayName"); $this->codeSystem = $dom->getValueAttributNode($elt, "codeSystem"); $this->code = $dom->getValueAttributNode($elt, "code"); }