PK.RSLTDATA
@HDR,
@HANDLE.ARGS,
@TRLR,
END;

HDR
"<?xml version="_D(34)_1.0_D(34)_" ?>"^!,
           "<ReplyMessage>"^!,
           "<TransactionId>"_1234_"</TransactionId>"^!,
           "<Status>Success</Status>"^!,
           "<Payload>"^!

HANDLE.ARGS
1^nr,
DO{nr</ARGC 1,
   /ARGV[nr]^arg,
   @HANDLE.ARG,
   nr+1^nr}

HANDLE.ARG
K(/T.INFO),
K(/T.HEADER),
K(/T.REC),
arg$1^prefix,
arg'$1^mnemonic,
IF{prefix="B" %PK.LABBDATA(prefix,mnemonic);
   prefix="M" %PK.LABMDATA(prefix,mnemonic);
   prefix="R" %PK.RADDATA(prefix,mnemonic);
   prefix="P" %PK.LABPDATA(prefix,mnemonic);
   prefix="D" %PK.DEPTDATA(prefix,mnemonic)},
@SEND.TEST,
K(/T.INFO),
K(/T.HEADER),
K(/T.REC)

SEND.TEST
"<Document>"^!,
"<Display><![CDATA["_(/T.INFO["TESTNAME"])_"]]></Display>"^!,
"<EventMnemonic></EventMnemonic>"^!,
"<EventCode><Mnemonic></Mnemonic></EventCode>"^!,
"<PersonMnemonic>"_(/T.INFO["MRN"])_"</PersonMnemonic>"^!,
"<EncounterMnemonic>"_(/T.INFO["ACCT"])_"</EncounterMnemonic>"^!,
"<EventEndDateTime>"_(/T.INFO["TESTDATE"])_"</EventEndDateTime>"^!,
"<InstanceMnemonic>"_prefix_mnemonic_"</InstanceMnemonic>"^!,
"append x to key to ensure that its not empty",
"<Key>"_"x"_(/T.INFO["UPDATENODE"])_"</Key>"^!,
"<EventSetMnemonic>"_(/T.INFO["TESTTYPE"])_"</EventSetMnemonic>"^!,
"<ResultStatus>"^!,
"<Display>"^!,
IF{/T.INFO["STATUS"]="ORD" "Ordered";
   /T.INFO["STATUS"]="COLB" "Collection Batch";
   /T.INFO["STATUS"]="RECD" "Received";
   /T.INFO["STATUS"]="UNV" "Unverified Results";
   /T.INFO["STATUS"]="RES" "Resulted";
   /T.INFO["STATUS"]="COMP" "Completed";
   /T.INFO["STATUS"]="CAN" "Cancelled";
   /T.INFO["STATUS"]="WKST" "Pending";
   /T.INFO["STATUS"]="SOUT" "Signed";
   /T.INFO["STATUS"]="ENT" "Entered";
   /T.INFO["STATUS"]}^stat^!,
"</Display>"^!,
"<Meaning>"_(stat)_"</Meaning>"^!,
"<Value></Value>"^!,
"</ResultStatus>"^!,
"<DocumentComponents>"^!,
IF{+/T.REC[""] "got a report",
      ""^T,
      "<Section>"^!,
      "<Title><![CDATA["_/T.INFO["RPTSECTION"]_"]]></Title>"^!,
      "<SectionId>1</SectionId>"^!,
      "<Body>"^!,
      "<![CDATA["^!,
      DO{+(/T.REC[T],XX)^T XX_D(10)^!},
      "]]>"^!,
      "</Body>"^!,
      "</Section>"^!},
IF{+/T.HEADER[""] "got a header",
      ""^T,
      "<Section>"^!,
      "<Title><![CDATA["_/T.INFO["HEADERSECTION"]_"]]></Title>"^!,
      "<SectionId>2</SectionId>"^!,
      "<Body>"^!,
      "<![CDATA["^!,
      DO{+(/T.HEADER[T],XX)^T XX_D(10)^!},
      "]]>"^!,
      "</Body>"^!,
      "</Section>"^!},
"</DocumentComponents>"^!,
"</Document>"^!

TRLR
"</Payload>"^!,
"</ReplyMessage>"^!
