Exemplo n.º 1
0
 /**
  * Usage:
  * <code>
  * $ack = new Net_HL7_Messages_ACK($request);
  * </code>
  *
  * Convenience module implementing an acknowledgement (ACK) message. This
  * can be used in HL7 servers to create an acknowledgement for an
  * incoming message.
  *
  * @version    0.10
  * @author     D.A.Dokter <*****@*****.**>
  * @access     public
  * @category   Networking
  * @package    Net_HL7
  * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
  */
 public function __construct($req = "", $reqMsh = null)
 {
     parent::__construct();
     if ($req) {
         $msh = $req->getSegmentByIndex(0);
         if ($msh) {
             $msh = new Net_HL7_Segments_MSH($msh->getFields(1));
         } else {
             $msh = new Net_HL7_Segments_MSH();
         }
     } else {
         $msh = new Net_HL7_Segments_MSH();
     }
     $msa = new Net_HL7_Segment("MSA");
     // Determine acknowledge mode: normal or enhanced
     //
     if ($req && ($msh->getField(15) || $msh->getField(16))) {
         $this->_ACK_TYPE = "E";
         $msa->setField(1, "CA");
     } else {
         $this->_ACK_TYPE = "N";
         $msa->setField(1, "AA");
     }
     $this->addSegment($msh);
     $this->addSegment($msa);
     $msh->setField(9, "ACK");
     // Construct an ACK based on the request
     if ($req && $reqMsh) {
         $msh->setField(3, $reqMsh->getField(5));
         $msh->setField(4, $reqMsh->getField(6));
         $msh->setField(5, $reqMsh->getField(3));
         $msh->setField(6, $reqMsh->getField(4));
         $msa->setField(2, $reqMsh->getField(10));
     }
 }
Exemplo n.º 2
0
 public function test()
 {
     $msh = new Net_HL7_Segments_MSH();
     $msh->setField(1, "*");
     $this->assertTrue($msh->getField(1) == "*", "MSH Field sep field (MSH(1))");
     $msh->setField(1, "xx");
     $this->assertTrue($msh->getField(1) == "*", "MSH Field sep field (MSH(1))");
     $msh->setField(2, "xxxxx");
     # Should have had no effect
     $this->assertTrue($msh->getField(2) == "^~\\&", "Special fields not changed");
     # Should have had the effect of changing some separator fields
     $msh->setField(2, "abcd");
     $this->assertTrue($msh->getField(2) == "abcd", "Encoding characters field set (MSH(2))");
 }
Exemplo n.º 3
0
<?php

require_once "Net/HL7/Segment.php";
require_once "Net/HL7/Segments/MSH.php";
require_once "test_base.php";
$msh = new Net_HL7_Segments_MSH();
$msh->setField(1, "*");
ok($msh->getField(1) == "*", "MSH Field sep field (MSH(1))<br>");
$msh->setField(1, "xx");
ok($msh->getField(1) == "*", "MSH Field sep field (MSH(1))<br>");
$msh->setField(2, "xxxxx");
# Should have had no effect
ok($msh->getField(2) == "^~\\&", "Special fields not changed<br>");
# Should have had the effect of changing some separator fields
$msh->setField(2, "abcd");
ok($msh->getField(2) == "abcd", "Encoding characters field set (MSH(2))<br>");