1 | HLCSREP ;ALB/MFK - HL7 QUEUE MANAGEMENT ;10/17/2007 08:56
|
---|
2 | ;;1.6;HEALTH LEVEL SEVEN;**109,122**;Oct 13, 1995;Build 14
|
---|
3 | ;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | REPMSG ;Duplicate messages on a queue
|
---|
6 | ; INPUT: MSG - Array which contains the queue and the
|
---|
7 | ; message numbers for msgs to be re-queued
|
---|
8 | ; MSG(QUEUE,NUMBER)
|
---|
9 | ; OUTPUT: NONE
|
---|
10 | N DIC,LLE,X,Y,DA,ERROR,FROMID,MSGID
|
---|
11 | N TOID,ENTRY,LLE
|
---|
12 | Q:('$D(MSG))
|
---|
13 | ; create new entries
|
---|
14 | S (LLE,ERROR)=""
|
---|
15 | F S LLE=$O(MSG(LLE)) Q:(LLE="")!(ERROR) D
|
---|
16 | .S ENTRY=""
|
---|
17 | .F S ENTRY=$O(MSG(LLE,ENTRY)) Q:(ENTRY="")!(ERROR) D
|
---|
18 | ..S MSGID=$$ENQUEUE^HLCSQUE(LLE,"OUT")
|
---|
19 | ..I +MSGID'>0 S ERROR=1 Q
|
---|
20 | ..S TOID=$P(MSGID,"^",2)
|
---|
21 | ..M ^HLCS(870,LLE,2,TOID)=^HLCS(870,LLE,2,ENTRY)
|
---|
22 | ..; Change .01 of new record to be IEN
|
---|
23 | ..S $P(^HLCS(870,LLE,2,TOID,0),"^",1)=TOID
|
---|
24 | ..S $P(^HLCS(870,LLE,2,TOID,0),"^",2)="P"
|
---|
25 | EXIT ;
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | ENQUE(LINK,DIR,IEN773) ;
|
---|
29 | ;This routine will place the message=IEN773 on the "AC" xref of file 773.
|
---|
30 | ;Input:
|
---|
31 | ; DIR = "I" or "O", denoting the direction that the message is going in
|
---|
32 | ; LINK = the ien of the logical link
|
---|
33 | ; IEN773 = ien of the message in file 773
|
---|
34 | ;
|
---|
35 | Q:'$G(LINK)
|
---|
36 | I DIR'="I",DIR'="O" Q
|
---|
37 | Q:'$G(IEN773)
|
---|
38 | ;
|
---|
39 | ; patch HL*1.6*122: MPI-client/server
|
---|
40 | F L +^HLMA("AC",DIR,LINK,IEN773):10 Q:$T H 1
|
---|
41 | S ^HLMA("AC",DIR,LINK,IEN773)=""
|
---|
42 | L -^HLMA("AC",DIR,LINK,IEN773)
|
---|
43 | ;
|
---|
44 | S $P(^HLMA(+IEN773,0),U,17)=+LINK ; HL*1.6*109 - lja
|
---|
45 | I DIR="O" D LLCNT^HLCSTCP(LINK,3)
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | DEQUE(LINK,DIR,IEN773) ;
|
---|
49 | ;This routine will remove the message=IEN773 on the "AC" xref of file 773.
|
---|
50 | ;Input:
|
---|
51 | ; DIR = "I" or "O", denoting the direction that the message is going in
|
---|
52 | ; LINK = the ien of the logical link
|
---|
53 | ; IEN773 = ien of the message in file 773
|
---|
54 | ;
|
---|
55 | Q:'$G(LINK)
|
---|
56 | I DIR'="I",DIR'="O" Q
|
---|
57 | Q:'$G(IEN773)
|
---|
58 | ;
|
---|
59 | ; patch HL*1.6*122: MPI-client/server
|
---|
60 | F L +^HLMA("AC",DIR,LINK,IEN773):10 Q:$T H 1
|
---|
61 | K ^HLMA("AC",DIR,LINK,IEN773)
|
---|
62 | L -^HLMA("AC",DIR,LINK,IEN773)
|
---|
63 | ;
|
---|
64 | Q
|
---|