EAS1071C ;ALB/PJH - ESR and HEC Messaging ; 11/27/07 3:02pm ;;1.0;ENROLLMENT APPLICATION SYSTEM;**71**;15-MAR-01;Build 18 ; LINK ;Link QRY Z10/Z11 protocols to shared servers N ERROR,FILE,IEN101,LINE,LNCNT,RETURN,SIEN101,SNAM S LNCNT=1 F S LINE=$T(PROTDAT1+LNCNT) Q:$P(LINE,";",3)="END" D Q:STOP .S NAM=PREFHEC_$P(LINE,";",3)_" SERVER" .S IEN101=$O(^ORD(101,"B",NAM,0)) .I +IEN101=0 D Q ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND" ..S RETURN=-1_"^"_ERROR ..D ABORT2^EAS1071A(RETURN,"Event Driver:"_NAM) .; .;Client Protocol .S SNAM=@("PREF"_SYS) .S SNAM=SNAM_$P(LINE,";",3)_" CLIENT" .S SIEN101=$O(^ORD(101,"B",SNAM,0)) .I +SIEN101=0 D Q ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND" ..S RETURN=-1_"^"_ERROR ..D ABORT2^EAS1071A(RETURN,"Subscriber:"_SNAM) .;Skip if already present .I $D(^ORD(101,IEN101,775,"B",SIEN101)) D Q ..D WARN^EAS1071A(NAM,SNAM) ..S LNCNT=LNCNT+1 .;Add subscriber to event driver .S RETURN=$$SUBSCR^EAS1071A(IEN101,SIEN101) .I +RETURN<0 D ABORT2^EAS1071A(RETURN,"driver with Subscriber:"_SNAM) Q .S LNCNT=LNCNT+1 Q ; UNLINK(PREF) ;Remove Z10/Z11 client subscriber protocols from shared servers F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END" D Q:STOP .S NAM=PREF_$P(LINE,";",3)_" CLIENT" .S SIEN101=$O(^ORD(101,"B",NAM,0)) .I +SIEN101=0 D Q ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND" ..S RETURN=-1_"^"_ERROR ..D ABORT2^EAS1071A(RETURN,"Event Driver:"_NAM) .;If this is a SUBSCRIBER remove from SERVER .I $O(^ORD(101,"AB",SIEN101,0)) D REMOVE^EAS1071A(SIEN101,NAM) Q ; PROTDAT1 ; ;;QRY-Z10 ;;QRY-Z11 ;;END ; SOR(PREF,PREFHEC) ;Check if SOR N IENC,IENS,NAMC,NAMS S NAMS=PREFHEC_"QRY-Z10 SERVER" ;get server ien S IENS=$O(^ORD(101,"B",NAMS,0)) Q:'IENS 0 ;check subscriber protocols S IENC=+$G(^ORD(101,IENS,775,1,0)) Q:'IENC 0 ;Check subscriber if is for this system I $P($G(^ORD(101,IENC,0)),U)[PREF Q 1 ; Q 0 ; Z07(PREF,PREFHEC) ;Check if Z07 messaging is set up N IENC,IENS,FOUND,NAMC,NAMS S NAMC=PREF_"ORU-Z07 CLIENT",NAMS=PREFHEC_"ORU-Z07 SERVER" ;get server ien S IENS=$O(^ORD(101,"B",NAMS,0)) Q:'IENS 0 ;check subscriber protocols S IENC=0,FOUND=0 F S IENC=$O(^ORD(101,IENS,775,"B",IENC)) Q:'IENC D Q:FOUND .;Check subscriber if is for this system .S:$P($G(^ORD(101,IENC,0)),U)=NAMC FOUND=1 ; Q FOUND