Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: EAS1071C

EAS1071C.m

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