| 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
 | 
|---|