| 1 | HLTP2 ;AISC/SAW-Transaction Processor Module (Cont'd) ;2/22/95  11:35
 | 
|---|
| 2 |  ;;1.6;HEALTH LEVEL SEVEN;**34,109**;Oct 13, 1995
 | 
|---|
| 3 | PROCACK(HLMTIEN,HLEID,HLRESLT,HL) ;Process acknowledgement message
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;This is a subroutine call with parameter passing.  It returns a value
 | 
|---|
| 6 |  ;in the variable HLRESLT of null if no error occurs, or the following
 | 
|---|
| 7 |  ;two piece value if an error occurs:  error code^error description
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ;Required Input Parameters
 | 
|---|
| 10 |  ; HLMTIEN = The IEN from the Message Text file created when the
 | 
|---|
| 11 |  ;             GENERATE^HLMA or SEND^HLMA2 entry points were invoked
 | 
|---|
| 12 |  ;   HLEID = The IEN from the Protocol file of the driver event
 | 
|---|
| 13 |  ;NOTE:  The variable HLRESLT must be passed by reference
 | 
|---|
| 14 |  ; HLRESLT = The variable that will be returned to the calling
 | 
|---|
| 15 |  ;             application as descibed above
 | 
|---|
| 16 |  ;Optional Input Parameter
 | 
|---|
| 17 |  ;      HL = An array of variables to be used in processing the message
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;Check for required parameters
 | 
|---|
| 20 |  S HLRESLT=""
 | 
|---|
| 21 |  I '$G(HLMTIEN)!('$G(HLEID)) S HLRESLT="7^"_$G(^HL(771.7,7,0))_" at PROCACK^HLTP0 entry point" G EXIT
 | 
|---|
| 22 |  ;Create HL array of variables if it does not exist
 | 
|---|
| 23 |  I '$D(HL) N HL D INIT^HLFNC2(HLEID,.HL)
 | 
|---|
| 24 |  ;Set special HL variables if data is in global array
 | 
|---|
| 25 |  I '$D(HLA("HLA")) S HLQUIT=0,HLNODE="",HLNEXT="D HLNEXT^HLCSUTL"
 | 
|---|
| 26 |  ;Get and execute processing routine
 | 
|---|
| 27 |  D EVENT^HLUTIL1(HLEID,"15,20,772",.HLN) I $G(HLN(772))]"" D
 | 
|---|
| 28 |  .X:$G(HLN(20))]"" $G(HLN(20))
 | 
|---|
| 29 |  .N HLERR X HLN(772) I $D(HLERR) S HLRESLT="9^"_$G(^HL(771.7,9,0))
 | 
|---|
| 30 |  .X:$G(HLN(15))]"" $G(HLN(15))
 | 
|---|
| 31 |  ;Update status of message
 | 
|---|
| 32 |  D STATUS^HLTF0(HLMTIEN,$S($D(HLERR):4,1:3),$S($D(HLERR):+HLRESLT,1:""),$S($D(HLERR):HLERR,1:""),,$S($G(HLERR("SKIP_EVENT"))=1:1,1:0))
 | 
|---|
| 33 | EXIT K HLN,HLNEXT,HLNODE,HLQUIT
 | 
|---|
| 34 |  Q
 | 
|---|