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