1 | EAS1071C ;ALB/PJH - ESR and HEC Messaging ; 11/27/07 3:02pm
|
---|
2 | ;;1.0;ENROLLMENT APPLICATION SYSTEM;**71**;15-MAR-01;Build 18
|
---|
3 | ;
|
---|
4 | LINK ;Link QRY Z10/Z11 protocols to shared servers
|
---|
5 | N ERROR,FILE,IEN101,LINE,LNCNT,RETURN,SIEN101,SNAM
|
---|
6 | S LNCNT=1
|
---|
7 | F S LINE=$T(PROTDAT1+LNCNT) Q:$P(LINE,";",3)="END" D Q:STOP
|
---|
8 | .S NAM=PREFHEC_$P(LINE,";",3)_" SERVER"
|
---|
9 | .S IEN101=$O(^ORD(101,"B",NAM,0))
|
---|
10 | .I +IEN101=0 D Q
|
---|
11 | ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
|
---|
12 | ..S RETURN=-1_"^"_ERROR
|
---|
13 | ..D ABORT2^EAS1071A(RETURN,"Event Driver:"_NAM)
|
---|
14 | .;
|
---|
15 | .;Client Protocol
|
---|
16 | .S SNAM=@("PREF"_SYS)
|
---|
17 | .S SNAM=SNAM_$P(LINE,";",3)_" CLIENT"
|
---|
18 | .S SIEN101=$O(^ORD(101,"B",SNAM,0))
|
---|
19 | .I +SIEN101=0 D Q
|
---|
20 | ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
|
---|
21 | ..S RETURN=-1_"^"_ERROR
|
---|
22 | ..D ABORT2^EAS1071A(RETURN,"Subscriber:"_SNAM)
|
---|
23 | .;Skip if already present
|
---|
24 | .I $D(^ORD(101,IEN101,775,"B",SIEN101)) D Q
|
---|
25 | ..D WARN^EAS1071A(NAM,SNAM)
|
---|
26 | ..S LNCNT=LNCNT+1
|
---|
27 | .;Add subscriber to event driver
|
---|
28 | .S RETURN=$$SUBSCR^EAS1071A(IEN101,SIEN101)
|
---|
29 | .I +RETURN<0 D ABORT2^EAS1071A(RETURN,"driver with Subscriber:"_SNAM) Q
|
---|
30 | .S LNCNT=LNCNT+1
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | UNLINK(PREF) ;Remove Z10/Z11 client subscriber protocols from shared servers
|
---|
34 | F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END" D Q:STOP
|
---|
35 | .S NAM=PREF_$P(LINE,";",3)_" CLIENT"
|
---|
36 | .S SIEN101=$O(^ORD(101,"B",NAM,0))
|
---|
37 | .I +SIEN101=0 D Q
|
---|
38 | ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
|
---|
39 | ..S RETURN=-1_"^"_ERROR
|
---|
40 | ..D ABORT2^EAS1071A(RETURN,"Event Driver:"_NAM)
|
---|
41 | .;If this is a SUBSCRIBER remove from SERVER
|
---|
42 | .I $O(^ORD(101,"AB",SIEN101,0)) D REMOVE^EAS1071A(SIEN101,NAM)
|
---|
43 | Q
|
---|
44 | ;
|
---|
45 | PROTDAT1 ;
|
---|
46 | ;;QRY-Z10
|
---|
47 | ;;QRY-Z11
|
---|
48 | ;;END
|
---|
49 | ;
|
---|
50 | SOR(PREF,PREFHEC) ;Check if SOR
|
---|
51 | N IENC,IENS,NAMC,NAMS
|
---|
52 | S NAMS=PREFHEC_"QRY-Z10 SERVER"
|
---|
53 | ;get server ien
|
---|
54 | S IENS=$O(^ORD(101,"B",NAMS,0)) Q:'IENS 0
|
---|
55 | ;check subscriber protocols
|
---|
56 | S IENC=+$G(^ORD(101,IENS,775,1,0)) Q:'IENC 0
|
---|
57 | ;Check subscriber if is for this system
|
---|
58 | I $P($G(^ORD(101,IENC,0)),U)[PREF Q 1
|
---|
59 | ;
|
---|
60 | Q 0
|
---|
61 | ;
|
---|
62 | Z07(PREF,PREFHEC) ;Check if Z07 messaging is set up
|
---|
63 | N IENC,IENS,FOUND,NAMC,NAMS
|
---|
64 | S NAMC=PREF_"ORU-Z07 CLIENT",NAMS=PREFHEC_"ORU-Z07 SERVER"
|
---|
65 | ;get server ien
|
---|
66 | S IENS=$O(^ORD(101,"B",NAMS,0)) Q:'IENS 0
|
---|
67 | ;check subscriber protocols
|
---|
68 | S IENC=0,FOUND=0
|
---|
69 | F S IENC=$O(^ORD(101,IENS,775,"B",IENC)) Q:'IENC D Q:FOUND
|
---|
70 | .;Check subscriber if is for this system
|
---|
71 | .S:$P($G(^ORD(101,IENC,0)),U)=NAMC FOUND=1
|
---|
72 | ;
|
---|
73 | Q FOUND
|
---|