| 1 | EAS1071B        ;ALB/PJH - EAS*1*71; ; 11/27/07 3:02pm
 | 
|---|
| 2 |         ;;1.0;ENROLLMENT APPLICATION SYSTEM;**71**;15-MAR-01;Build 18
 | 
|---|
| 3 |         Q
 | 
|---|
| 4 |         ;
 | 
|---|
| 5 | EN(ARR) ;ENTRY POINT
 | 
|---|
| 6 |         ;
 | 
|---|
| 7 |         N DA,DIK,LINE,LCT,NAM,PREFIX,RESULT
 | 
|---|
| 8 |         ;
 | 
|---|
| 9 |         S ARR="HEC messaging NOT disabled"
 | 
|---|
| 10 |         ;
 | 
|---|
| 11 |         ; Get site's Station #
 | 
|---|
| 12 |         S PREFIX="VAMC "_$P($$SITE^VASITE,"^",3)_" "
 | 
|---|
| 13 |         ;
 | 
|---|
| 14 |         I $$SOR^EAS1071C(PREFIX,PREFIX) D  Q
 | 
|---|
| 15 |         .S ARR="Unable to disable messaging, HEC is SOR"
 | 
|---|
| 16 |         ;
 | 
|---|
| 17 |         ;Remove HEC client subscriber protocols from shared servers
 | 
|---|
| 18 |         F LCT=1:1 S LINE=$T(PROTDAT+LCT) Q:$P(LINE,";",3)="END"  D  Q:STOP
 | 
|---|
| 19 |         .S NAM=PREFIX_$P(LINE,";",3)_" CLIENT"
 | 
|---|
| 20 |         .S SIEN101=$O(^ORD(101,"B",NAM,0))
 | 
|---|
| 21 |         .I +SIEN101=0 D  Q
 | 
|---|
| 22 |         ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
 | 
|---|
| 23 |         ..S RETURN=-1_"^"_ERROR
 | 
|---|
| 24 |         ..D ERROR(RETURN,"Event Driver:"_NAM)
 | 
|---|
| 25 |         .;If this is a SUBSCRIBER remove from SERVER
 | 
|---|
| 26 |         .I $O(^ORD(101,"AB",SIEN101,0)) D REMOVE(SIEN101,NAM)
 | 
|---|
| 27 |         ;
 | 
|---|
| 28 |         ;Add disable text to HEC to ESR servers
 | 
|---|
| 29 |         F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END"  D
 | 
|---|
| 30 |         .S NAM=PREFIX_$P(LINE,";",3)
 | 
|---|
| 31 |         .;Insert disable text
 | 
|---|
| 32 |         .S RESULT=$$EDP(NAM,"HEC Legacy to Site Messaging Inactivated")
 | 
|---|
| 33 |         .I +RESULT<0 D ERROR(RESULT,"Event Driver:"_NAM)
 | 
|---|
| 34 |         ;
 | 
|---|
| 35 |         S:'STOP ARR="HEC messaging disabled"
 | 
|---|
| 36 |         Q
 | 
|---|
| 37 |         ;
 | 
|---|
| 38 | EDP(PNAME,DTXT) ;Remove Disable Text from Event Driver Protocols
 | 
|---|
| 39 |         ;
 | 
|---|
| 40 |         N DATA,FILE,DGENDA,RETURN,ERROR,DA
 | 
|---|
| 41 |         S FILE=101
 | 
|---|
| 42 |         S IEN101=$O(^ORD(101,"B",PNAME,0))
 | 
|---|
| 43 |         I 'IEN101 D  Q RETURN
 | 
|---|
| 44 |         . S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
 | 
|---|
| 45 |         . S RETURN=-1_"^"_ERROR
 | 
|---|
| 46 |         ;
 | 
|---|
| 47 |         S DATA(2)=DTXT
 | 
|---|
| 48 |         S RETURN=$$UPD^DGENDBS(FILE,IEN101,.DATA,.ERROR)
 | 
|---|
| 49 |         I ERROR'=""!(+RETURN=0) S RETURN=-1_"^"_ERROR
 | 
|---|
| 50 |         ;
 | 
|---|
| 51 |         Q RETURN
 | 
|---|
| 52 |         ;
 | 
|---|
| 53 | REMOVE(CLIENT,CNAM)     ;Remove clients from server
 | 
|---|
| 54 |         N DA,DIK,SERV,SNAM,SUB
 | 
|---|
| 55 |         S SERV=0
 | 
|---|
| 56 |         F  S SERV=$O(^ORD(101,"AB",CLIENT,SERV)) Q:'SERV  D
 | 
|---|
| 57 |         .S SUB=0,SNAM=$P($G(^ORD(101,SERV,0)),U)
 | 
|---|
| 58 |         .F  S SUB=$O(^ORD(101,"AB",CLIENT,SERV,SUB)) Q:'SUB  D
 | 
|---|
| 59 |         ..S DA(1)=SERV,DA=SUB,DIK="^ORD(101,"_DA(1)_",775," D ^DIK
 | 
|---|
| 60 |         Q
 | 
|---|
| 61 |         ;
 | 
|---|
| 62 | PROTDAT ;Vista to HEC clients on shared Event Drivers
 | 
|---|
| 63 |         ;;ORU-Z07
 | 
|---|
| 64 |         ;;ORU-Z09
 | 
|---|
| 65 |         ;;ORF-Z07
 | 
|---|
| 66 |         ;;END
 | 
|---|
| 67 |         ;;NOTE THAT THESE ARE HANDLED BY QRY^EAS1071A
 | 
|---|
| 68 |         ;;QRY-Z10
 | 
|---|
| 69 |         ;;QRY-Z11
 | 
|---|
| 70 |         ;;END
 | 
|---|
| 71 |         ;
 | 
|---|
| 72 | PROTDAT1        ;HEC to Vista Event Drivers to disable
 | 
|---|
| 73 |         ;;ORU-Z04 SERVER H
 | 
|---|
| 74 |         ;;ORU-Z05 SERVER
 | 
|---|
| 75 |         ;;ORU-Z10 SERVER
 | 
|---|
| 76 |         ;;ORU-Z11 SERVER
 | 
|---|
| 77 |         ;;ORF-Z10 SERVER
 | 
|---|
| 78 |         ;;ORF-Z11 SERVER
 | 
|---|
| 79 |         ;;QRY-Z07 SERVER
 | 
|---|
| 80 |         ;;MFN-ZEG SERVER
 | 
|---|
| 81 |         ;;END
 | 
|---|
| 82 |         ;
 | 
|---|
| 83 | RESET(ARR)      ;Enable or Attach HEC protocols
 | 
|---|
| 84 |         N DA,DIK,ERROR,IEN101,LINE,LCT,NAM,PREFIX,SIEN101,SNAM,STOP
 | 
|---|
| 85 |         ;
 | 
|---|
| 86 |         S ARR="HEC messaging NOT re enabled"
 | 
|---|
| 87 |         ;
 | 
|---|
| 88 |         ; Get site's Station #
 | 
|---|
| 89 |         S PREFIX="VAMC "_$P($$SITE^VASITE,"^",3)_" ",STOP=0
 | 
|---|
| 90 |         ;
 | 
|---|
| 91 |         ;Enable to Vista to HEC Legacy servers
 | 
|---|
| 92 |         F LCT=1:1 S LINE=$T(PROTDAT1+LCT) Q:$P(LINE,";",3)="END"  D
 | 
|---|
| 93 |         .S NAM=PREFIX_$P(LINE,";",3)
 | 
|---|
| 94 |         .;Remove disable text
 | 
|---|
| 95 |         .S RESULT=$$EDP(NAM,"")
 | 
|---|
| 96 |         .I +RESULT<0 D ERROR(RESULT,"Event Driver:"_NAM)
 | 
|---|
| 97 |         ;
 | 
|---|
| 98 |         ;
 | 
|---|
| 99 |         ;Add HEC client protocols to shared servers
 | 
|---|
| 100 |         F LCT=1:1 S LINE=$T(PROTDAT+LCT) Q:$P(LINE,";",3)="END"  D
 | 
|---|
| 101 |         .S FILE=101
 | 
|---|
| 102 |         .;Server protocol
 | 
|---|
| 103 |         .S NAM=PREFIX_$P(LINE,";",3)_" SERVER"
 | 
|---|
| 104 |         .I NAM["Z04" S NAM=NAM_" V"
 | 
|---|
| 105 |         .S IEN101=$O(^ORD(101,"B",NAM,0))
 | 
|---|
| 106 |         .I 'IEN101 D  Q RETURN
 | 
|---|
| 107 |         ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
 | 
|---|
| 108 |         ..S RETURN=-1_"^"_ERROR
 | 
|---|
| 109 |         .;
 | 
|---|
| 110 |         .;Client protocol (subscriber)
 | 
|---|
| 111 |         .S SNAM=PREFIX_$P(LINE,";",3)_" CLIENT"
 | 
|---|
| 112 |         .I SNAM["Z04" S SNAM=SNAM_" V"
 | 
|---|
| 113 |         .S SIEN101=$O(^ORD(101,"B",SNAM,0))
 | 
|---|
| 114 |         .I +SIEN101=0 D  Q
 | 
|---|
| 115 |         ..S ERROR="IEN OF RECORD TO BE UPDATED NOT FOUND"
 | 
|---|
| 116 |         ..S RETURN=-1_"^"_ERROR
 | 
|---|
| 117 |         ..D ERROR(RETURN,"Subscriber:"_SNAM)
 | 
|---|
| 118 |         .;Skip if already present
 | 
|---|
| 119 |         .I $D(^ORD(101,IEN101,775,"B",SIEN101)) D  Q
 | 
|---|
| 120 |         ..D WARN(NAM,SNAM)
 | 
|---|
| 121 |         .;Add subscriber to event driver
 | 
|---|
| 122 |         .S RETURN=$$SUBSCR(IEN101,SIEN101)
 | 
|---|
| 123 |         .I +RETURN<0 D ERROR(RETURN,"driver with Subscriber:"_SNAM) Q
 | 
|---|
| 124 |         ;
 | 
|---|
| 125 |         S:'STOP ARR="HEC messaging re enabled"
 | 
|---|
| 126 |         Q
 | 
|---|
| 127 |         ;
 | 
|---|
| 128 |         ;
 | 
|---|
| 129 | ERROR(ERRMSG,SUBJ)      ;Display Install Error message and set STOP
 | 
|---|
| 130 |         ;
 | 
|---|
| 131 |         S STOP=1
 | 
|---|
| 132 |         ;
 | 
|---|
| 133 |         S ARR(1)="===================================================="
 | 
|---|
| 134 |         S ARR(2)="=                   ERROR                          ="
 | 
|---|
| 135 |         S ARR(3)="===================================================="
 | 
|---|
| 136 |         S ARR(4)="When updating "_SUBJ
 | 
|---|
| 137 |         S ARR(5)="===================================================="
 | 
|---|
| 138 |         S ARR(5)="**ERROR MSG: "_$P(ERRMSG,"^",2)
 | 
|---|
| 139 |         ;
 | 
|---|
| 140 |         Q
 | 
|---|
| 141 |         ;
 | 
|---|
| 142 | WARN(EDP,SP)    ;Display Warning Message
 | 
|---|
| 143 |         ;
 | 
|---|
| 144 |         S ARR(1)="===================================================="
 | 
|---|
| 145 |         S ARR(2)="=                 WARNING                          ="
 | 
|---|
| 146 |         S ARR(3)="===================================================="
 | 
|---|
| 147 |         S ARR(4)="When updating "_EDP
 | 
|---|
| 148 |         S ARR(5)="===================================================="
 | 
|---|
| 149 |         S ARR(5)="**"_SP_" is already defined**"
 | 
|---|
| 150 |         ;
 | 
|---|
| 151 |         Q
 | 
|---|
| 152 |         ;
 | 
|---|
| 153 | SUBSCR(IEN101,SIEN101)  ;Add client to event driver as a subscriber
 | 
|---|
| 154 |         ;
 | 
|---|
| 155 |         N DATA,DGENDA,ERROR,FILE,RETURN
 | 
|---|
| 156 |         S DGENDA(1)=IEN101
 | 
|---|
| 157 |         S FILE=101.0775
 | 
|---|
| 158 |         S DATA(.01)=SIEN101
 | 
|---|
| 159 |         S RETURN=$$ADD^DGENDBS(FILE,.DGENDA,.DATA,.ERROR)
 | 
|---|
| 160 |         S:ERROR'=""!(+RETURN=0) RETURN=-1_"^"_ERROR
 | 
|---|
| 161 |         ;
 | 
|---|
| 162 |         Q RETURN
 | 
|---|