EAS1071B ;ALB/PJH - EAS*1*71; ; 11/27/07 3:02pm ;;1.0;ENROLLMENT APPLICATION SYSTEM;**71**;15-MAR-01;Build 18 Q ; EN(ARR) ;ENTRY POINT ; N DA,DIK,LINE,LCT,NAM,PREFIX,RESULT ; S ARR="HEC messaging NOT disabled" ; ; Get site's Station # S PREFIX="VAMC "_$P($$SITE^VASITE,"^",3)_" " ; I $$SOR^EAS1071C(PREFIX,PREFIX) D Q .S ARR="Unable to disable messaging, HEC is SOR" ; ;Remove HEC client subscriber protocols from shared servers F LCT=1:1 S LINE=$T(PROTDAT+LCT) Q:$P(LINE,";",3)="END" D Q:STOP .S NAM=PREFIX_$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 ERROR(RETURN,"Event Driver:"_NAM) .;If this is a SUBSCRIBER remove from SERVER .I $O(^ORD(101,"AB",SIEN101,0)) D REMOVE(SIEN101,NAM) ; ;Add disable text to HEC to ESR servers F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END" D .S NAM=PREFIX_$P(LINE,";",3) .;Insert disable text .S RESULT=$$EDP(NAM,"HEC Legacy to Site Messaging Inactivated") .I +RESULT<0 D ERROR(RESULT,"Event Driver:"_NAM) ; S:'STOP ARR="HEC messaging disabled" Q ; EDP(PNAME,DTXT) ;Remove Disable Text from Event Driver Protocols ; N DATA,FILE,DGENDA,RETURN,ERROR,DA S FILE=101 S IEN101=$O(^ORD(101,"B",PNAME,0)) I 'IEN101 D Q RETURN . S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND" . S RETURN=-1_"^"_ERROR ; S DATA(2)=DTXT S RETURN=$$UPD^DGENDBS(FILE,IEN101,.DATA,.ERROR) I ERROR'=""!(+RETURN=0) S RETURN=-1_"^"_ERROR ; Q RETURN ; REMOVE(CLIENT,CNAM) ;Remove clients from server N DA,DIK,SERV,SNAM,SUB S SERV=0 F S SERV=$O(^ORD(101,"AB",CLIENT,SERV)) Q:'SERV D .S SUB=0,SNAM=$P($G(^ORD(101,SERV,0)),U) .F S SUB=$O(^ORD(101,"AB",CLIENT,SERV,SUB)) Q:'SUB D ..S DA(1)=SERV,DA=SUB,DIK="^ORD(101,"_DA(1)_",775," D ^DIK Q ; PROTDAT ;Vista to HEC clients on shared Event Drivers ;;ORU-Z07 ;;ORU-Z09 ;;ORF-Z07 ;;END ;;NOTE THAT THESE ARE HANDLED BY QRY^EAS1071A ;;QRY-Z10 ;;QRY-Z11 ;;END ; PROTDAT1 ;HEC to Vista Event Drivers to disable ;;ORU-Z04 SERVER H ;;ORU-Z05 SERVER ;;ORU-Z10 SERVER ;;ORU-Z11 SERVER ;;ORF-Z10 SERVER ;;ORF-Z11 SERVER ;;QRY-Z07 SERVER ;;MFN-ZEG SERVER ;;END ; RESET(ARR) ;Enable or Attach HEC protocols N DA,DIK,ERROR,IEN101,LINE,LCT,NAM,PREFIX,SIEN101,SNAM,STOP ; S ARR="HEC messaging NOT re enabled" ; ; Get site's Station # S PREFIX="VAMC "_$P($$SITE^VASITE,"^",3)_" ",STOP=0 ; ;Enable to Vista to HEC Legacy servers F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END" D .S NAM=PREFIX_$P(LINE,";",3) .;Remove disable text .S RESULT=$$EDP(NAM,"") .I +RESULT<0 D ERROR(RESULT,"Event Driver:"_NAM) ; ; ;Add HEC client protocols to shared servers F LCT=1:1 S LINE=$T(PROTDAT+LCT) Q:$P(LINE,";",3)="END" D .S FILE=101 .;Server protocol .S NAM=PREFIX_$P(LINE,";",3)_" SERVER" .I NAM["Z04" S NAM=NAM_" V" .S IEN101=$O(^ORD(101,"B",NAM,0)) .I 'IEN101 D Q RETURN ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND" ..S RETURN=-1_"^"_ERROR .; .;Client protocol (subscriber) .S SNAM=PREFIX_$P(LINE,";",3)_" CLIENT" .I SNAM["Z04" S SNAM=SNAM_" V" .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 ERROR(RETURN,"Subscriber:"_SNAM) .;Skip if already present .I $D(^ORD(101,IEN101,775,"B",SIEN101)) D Q ..D WARN(NAM,SNAM) .;Add subscriber to event driver .S RETURN=$$SUBSCR(IEN101,SIEN101) .I +RETURN<0 D ERROR(RETURN,"driver with Subscriber:"_SNAM) Q ; S:'STOP ARR="HEC messaging re enabled" Q ; ; ERROR(ERRMSG,SUBJ) ;Display Install Error message and set STOP ; S STOP=1 ; S ARR(1)="====================================================" S ARR(2)="= ERROR =" S ARR(3)="====================================================" S ARR(4)="When updating "_SUBJ S ARR(5)="====================================================" S ARR(5)="**ERROR MSG: "_$P(ERRMSG,"^",2) ; Q ; WARN(EDP,SP) ;Display Warning Message ; S ARR(1)="====================================================" S ARR(2)="= WARNING =" S ARR(3)="====================================================" S ARR(4)="When updating "_EDP S ARR(5)="====================================================" S ARR(5)="**"_SP_" is already defined**" ; Q ; SUBSCR(IEN101,SIEN101) ;Add client to event driver as a subscriber ; N DATA,DGENDA,ERROR,FILE,RETURN S DGENDA(1)=IEN101 S FILE=101.0775 S DATA(.01)=SIEN101 S RETURN=$$ADD^DGENDBS(FILE,.DGENDA,.DATA,.ERROR) S:ERROR'=""!(+RETURN=0) RETURN=-1_"^"_ERROR ; Q RETURN