[613] | 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
|
---|