1 | RGFIACK ;ALB/CJM-PROCESS APPLICATION ACKNOWLEDGMENT ;08/27/99
|
---|
2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**5,13**;30 Apr 99
|
---|
3 | ;
|
---|
4 | ACK ;
|
---|
5 | ;Description: Process the application ack to the Facility Integration
|
---|
6 | ;Message
|
---|
7 | ;
|
---|
8 | ;Input:
|
---|
9 | ; HL7 variables must be defined
|
---|
10 | ;Output: none
|
---|
11 | ;Variables:
|
---|
12 | ; FS - field seperator
|
---|
13 | ; CS - component seperator
|
---|
14 | ; CODE - returned error code
|
---|
15 | ; MSG - error text returned
|
---|
16 | ; TYPE - ack type (AA,ER)
|
---|
17 | ; MSGID - HL7 msg id
|
---|
18 | ; RGLOG - ien of entry in the CIRN HL7 Exception file
|
---|
19 | ; ICN - Integrated Control Number
|
---|
20 | ; DFN - patient DFN
|
---|
21 | ; SITE - station # of site that sent the app ack
|
---|
22 | ;
|
---|
23 | N FS,CS,QUIT,CODE,MSG,TYPE,MSGID,RGLOG,ICN,DFN,SITE
|
---|
24 | S FS=HL("FS")
|
---|
25 | S CS=$E(HL("ECH"),1)
|
---|
26 | S QUIT=0
|
---|
27 | K HLERR
|
---|
28 | ;
|
---|
29 | X HLNEXT D Q:QUIT
|
---|
30 | .I (HLQUIT'>0) S HLERR="MISSING MSH SEGMENT",QUIT=1 Q
|
---|
31 | .I $P(HLNODE,FS)'["MSH" S HLERR="MISSING MSH SEGMENT",QUIT=1 Q
|
---|
32 | X HLNEXT D Q:QUIT
|
---|
33 | .I (HLQUIT'>0) S HLERR="MISSING MSA SEGMENT",QUIT=1 Q
|
---|
34 | .I $P(HLNODE,FS)'["MSA" S HLERR="MISSING MSA SEGMENT",QUIT=1 Q
|
---|
35 | .S TYPE=$P(HLNODE,FS,2)
|
---|
36 | .S MSGID=$P(HLNODE,FS,3)
|
---|
37 | .S MSG=$P(HLNODE,FS,4)
|
---|
38 | .S ICN=+$P(MSG,"ICN:",2)
|
---|
39 | .S DFN=$S(ICN:$$DFN^RGFIU(ICN),1:"")
|
---|
40 | .S SITE=$P(MSG,"From Station:",2),SITE=$P(SITE," ICN:")
|
---|
41 | .S CODE=$P($P(HLNODE,FS,7),CS,4)
|
---|
42 | I ($G(TYPE)["R"),$G(MSGID),$G(CODE) D
|
---|
43 | .N HLMTIEN
|
---|
44 | .S HLMTIEN=MSGID
|
---|
45 | .D EXC^RGFIU(CODE,"APPLICATION ACKNOWLEDGMENT TO MSGID: "_MSGID_" - "_MSG,DFN,MSGID,SITE)
|
---|
46 | .D STOP^RGHLLOG(1)
|
---|
47 | Q
|
---|