| [613] | 1 | HDI1000B ;BPFO/JRP - HDI v1.0 POST-INSTALL ROUTINE (CONT);2/23/2005 | 
|---|
|  | 2 | ;;1.0;HEALTH DATA & INFORMATICS;;Feb 22, 2005 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | SERVERS() ;Fix server options (they need resource devices) | 
|---|
|  | 5 | ; Input: None | 
|---|
|  | 6 | ;Output: 0 = Stop post-install (error) | 
|---|
|  | 7 | ;        1 = Continue with post-install | 
|---|
|  | 8 | N SRVR,RSRC,HDIMSG | 
|---|
|  | 9 | ;Fix VUID Server option | 
|---|
|  | 10 | S SRVR="HDIS-FACILITY-DATA-SERVER" | 
|---|
|  | 11 | S RSRC="HDIS VUID RESOURCE DEVICE" | 
|---|
|  | 12 | S HDIMSG(1)=" " | 
|---|
|  | 13 | S HDIMSG(2)="Making "_RSRC_" the resource device" | 
|---|
|  | 14 | S HDIMSG(3)="for "_SRVR | 
|---|
|  | 15 | S HDIMSG(4)=" " | 
|---|
|  | 16 | D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 17 | I '$$FIXSRVR(SRVR,RSRC) Q 0 | 
|---|
|  | 18 | ;Fix Status Server option | 
|---|
|  | 19 | S SRVR="HDIS-STATUS-UPDATE-SERVER" | 
|---|
|  | 20 | S RSRC="HDIS STATUS RESOURCE DEVICE" | 
|---|
|  | 21 | S HDIMSG(1)=" " | 
|---|
|  | 22 | S HDIMSG(2)="Making "_RSRC_" the resource device" | 
|---|
|  | 23 | S HDIMSG(3)="for "_SRVR | 
|---|
|  | 24 | S HDIMSG(4)=" " | 
|---|
|  | 25 | D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 26 | I '$$FIXSRVR(SRVR,RSRC) Q 0 | 
|---|
|  | 27 | ;Done | 
|---|
|  | 28 | Q 1 | 
|---|
|  | 29 | ; | 
|---|
|  | 30 | FIXSRVR(SRVR,RSRC) ;Fix server option | 
|---|
|  | 31 | ; Input: SRVR - Name of server option | 
|---|
|  | 32 | ;        RSRC - Name of resource device | 
|---|
|  | 33 | ;Output: 1 = Success     0 = Error/bad input | 
|---|
|  | 34 | ; Notes: Call assumes that all input have values | 
|---|
|  | 35 | N HDIMSG,PTRSRVR,PTRRSRC | 
|---|
|  | 36 | S SRVR=$G(SRVR) | 
|---|
|  | 37 | S RSRC=$G(RSRC) | 
|---|
|  | 38 | ;Find option | 
|---|
|  | 39 | S PTRSRVR=$$PTROPT(SRVR) | 
|---|
|  | 40 | I 'PTRSRVR D  Q 0 | 
|---|
|  | 41 | .I SRVR="" S SRVR="<null>" | 
|---|
|  | 42 | .S HDIMSG(1)="**" | 
|---|
|  | 43 | .S HDIMSG(2)="** Unable to find "_SRVR_" in the OPTION file (#19)" | 
|---|
|  | 44 | .S HDIMSG(3)="** Post-installation will be halted" | 
|---|
|  | 45 | .S HDIMSG(4)="**" | 
|---|
|  | 46 | .D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 47 | ;Create/find resource device | 
|---|
|  | 48 | S PTRRSRC=$$CR8RD(RSRC,1) | 
|---|
|  | 49 | I 'PTRRSRC D  Q 0 | 
|---|
|  | 50 | .I RSRC="" S RSRC="<null>" | 
|---|
|  | 51 | .S HDIMSG(1)="**" | 
|---|
|  | 52 | .S HDIMSG(2)="** Unable to find/create "_RSRC_" in the DEVICE file (#3.5)" | 
|---|
|  | 53 | .S HDIMSG(3)="** Post-installation will be halted" | 
|---|
|  | 54 | .S HDIMSG(4)="**" | 
|---|
|  | 55 | .D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 56 | ;Attach resource device to server | 
|---|
|  | 57 | I '$$RD4OPT(PTRRSRC,PTRSRVR) D  Q 0 | 
|---|
|  | 58 | .S HDIMSG(1)="**" | 
|---|
|  | 59 | .S HDIMSG(2)="** Unable to add "_RSRC_" as the resource" | 
|---|
|  | 60 | .S HDIMSG(3)="** device for server option "_SRVR | 
|---|
|  | 61 | .S HDIMSG(4)="** Post-installation will be halted" | 
|---|
|  | 62 | .S HDIMSG(5)="**" | 
|---|
|  | 63 | .D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 64 | Q 1 | 
|---|
|  | 65 | ; | 
|---|
|  | 66 | CR8RD(NAME,SLOTS) ;Create resource device | 
|---|
|  | 67 | ; Input: NAME - Name of resource device to create | 
|---|
|  | 68 | ;        SLOTS - Number of resource slots (defaults to 1) | 
|---|
|  | 69 | ;Output: Pointer to resource device (DEVICE file) | 
|---|
|  | 70 | ;        0 will be returned on error/bad input | 
|---|
|  | 71 | ; Notes: If the device NAME already exists, the pointer to that device | 
|---|
|  | 72 | ;        will be returned.  The definition of the device will not be | 
|---|
|  | 73 | ;        checked and/or modified. | 
|---|
|  | 74 | S NAME=$G(NAME) | 
|---|
|  | 75 | I NAME="" Q 0 | 
|---|
|  | 76 | S SLOTS=+$G(SLOTS) | 
|---|
|  | 77 | I SLOTS<1 S SLOTS=1 | 
|---|
|  | 78 | N PTRDVC,HDIMSG | 
|---|
|  | 79 | ;Device alread exist - return pointer to it | 
|---|
|  | 80 | S PTRDVC=$$FIND1^DIC(3.5,"","X",NAME,"B","","HDIMSG") | 
|---|
|  | 81 | I PTRDVC Q PTRDVC | 
|---|
|  | 82 | ;Create resource device | 
|---|
|  | 83 | S PTRDVC=+$$RES^XUDHSET(NAME,NAME,SLOTS) | 
|---|
|  | 84 | I PTRDVC<1 S PTRDVC=0 | 
|---|
|  | 85 | Q PTRDVC | 
|---|
|  | 86 | ; | 
|---|
|  | 87 | PTROPT(NAME) ;Get pointer to option | 
|---|
|  | 88 | ; Input: NAME - Option name | 
|---|
|  | 89 | ;Output: Pointer to OPTION file (#19) | 
|---|
|  | 90 | ; Notes: 0 returned when option not found | 
|---|
|  | 91 | N PTROPT,HDIMSG | 
|---|
|  | 92 | S PTROPT=$$FIND1^DIC(19,"","X",$G(NAME),"B","","HDIMSG") | 
|---|
|  | 93 | I $D(HDIMSG) Q 0 | 
|---|
|  | 94 | Q PTROPT | 
|---|
|  | 95 | ; | 
|---|
|  | 96 | RD4OPT(PTRDVC,PTROPT) ;Attach resource device to option | 
|---|
|  | 97 | ; Input: PTRDVC - Pointer to DEVICE file (#3.5) | 
|---|
|  | 98 | ;        PTROPT - Pointer to OPTION file (#19) | 
|---|
|  | 99 | ;Output: 1 = Success     0 = Error/Bad input | 
|---|
|  | 100 | ; Notes: Call assumes all input exists and is valid | 
|---|
|  | 101 | N HDIFDA,HDIMSG | 
|---|
|  | 102 | S PTRDVC=+$G(PTRDVC) | 
|---|
|  | 103 | I 'PTRDVC Q 0 | 
|---|
|  | 104 | S PTROPT=+$G(PTROPT) | 
|---|
|  | 105 | I 'PTROPT Q 0 | 
|---|
|  | 106 | S HDIFDA(19,PTROPT_",",227)=PTRDVC | 
|---|
|  | 107 | D FILE^DIE("","HDIFDA","HDIMSG") | 
|---|
|  | 108 | I $D(HDIMSG) Q 0 | 
|---|
|  | 109 | Q 1 | 
|---|
|  | 110 | ; | 
|---|
|  | 111 | ATTBUL() ;Attach HDIS Mail Groups to HDIS Bulletins | 
|---|
|  | 112 | N HDISBIEN,HDISBNM,HDISERRF,HDISFDA,HDISGIEN,HDISGNM,HDISLNE,HDISMSG,HDISTXT | 
|---|
|  | 113 | K HDIMSG | 
|---|
|  | 114 | D BMES^XPDUTL("Attaching HDIS Mail Groups to HDIS Bulletins") | 
|---|
|  | 115 | F HDISLNE=1:1 S HDISTXT=$P($T(BULGRP+HDISLNE),";;",2) Q:HDISTXT="END"!($G(HDISERRF))  D | 
|---|
|  | 116 | . S HDISBNM=$P(HDISTXT,"^",1) | 
|---|
|  | 117 | . S HDISBIEN=$$FIND1^DIC(3.6,"","X",HDISBNM,"","","") | 
|---|
|  | 118 | . S HDISGNM=$P(HDISTXT,"^",2) | 
|---|
|  | 119 | . S HDISGIEN=$$FIND1^DIC(3.8,"","X",HDISGNM,"","","") | 
|---|
|  | 120 | . ;If Bulletin or Mail Group not found, error | 
|---|
|  | 121 | . I HDISBIEN'>0!(HDISGIEN'>0) D | 
|---|
|  | 122 | . . S HDIMSG(1)="**" | 
|---|
|  | 123 | . . S HDIMSG(2)="** Bulletin "_HDISBNM_" or Mail Group "_HDISGNM_" not found" | 
|---|
|  | 124 | . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 125 | . . S HDISERRF=1 | 
|---|
|  | 126 | . ELSE  D | 
|---|
|  | 127 | . . ;Attach Mail Group to Bulletin | 
|---|
|  | 128 | . . N HDISFDA,HDISIEN,HDISMSG | 
|---|
|  | 129 | . . S HDISFDA(3.62,"?+2,"_HDISBIEN_",",.01)=HDISGIEN | 
|---|
|  | 130 | . . D UPDATE^DIE("","HDISFDA","HDISIEN","HDISMSG") | 
|---|
|  | 131 | . . ;Check for error | 
|---|
|  | 132 | . . I $D(HDISMSG("DIERR")) D | 
|---|
|  | 133 | . . . S HDIMSG(1)="**" | 
|---|
|  | 134 | . . . S HDIMSG(2)="** Unable to attach "_HDISGNM_" to "_HDISBNM | 
|---|
|  | 135 | . . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 136 | . . . S HDISERRF=1 | 
|---|
|  | 137 | . . ELSE  D | 
|---|
|  | 138 | . . . S HDIMSG(1)=" " | 
|---|
|  | 139 | . . . S HDIMSG(2)=".."_HDISGNM_" Mail Group"_$S($G(HDISIEN(2,0))="?":" already",1:"")_" attached to "_HDISBNM_" Bulletin" | 
|---|
|  | 140 | . . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 141 | ;Check for error | 
|---|
|  | 142 | I $G(HDISERRF) D | 
|---|
|  | 143 | . S HDIMSG(1)="** Post-installation will be halted" | 
|---|
|  | 144 | . S HDIMSG(2)="**" | 
|---|
|  | 145 | . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 146 | Q +$S($G(HDISERRF):0,1:1) | 
|---|
|  | 147 | ; | 
|---|
|  | 148 | BULGRP ;Bulletin Name^Mail Group Name | 
|---|
|  | 149 | ;;HDIS ERRORS^HDIS ERRORS | 
|---|
|  | 150 | ;;HDIS NOTIFY ERT^HDIS ERT NOTIFICATION | 
|---|
|  | 151 | ;;HDIS NOTIFY HDR^HDIS HDR NOTIFICATION | 
|---|
|  | 152 | ;;HDIS XML MSG PROCESS ERROR^HDIS ERRORS | 
|---|
|  | 153 | ;;END | 
|---|
|  | 154 | ; | 
|---|
|  | 155 | ATTREM() ;Attach HDIS Remote Members to HDIS Mail Groups | 
|---|
|  | 156 | N HDISERRF,HDISFDA,HDISGIEN,HDISGNM,HDISLNE,HDISMSG,HDISRNM,HDISTXT | 
|---|
|  | 157 | K HDIMSG | 
|---|
|  | 158 | D BMES^XPDUTL("Attaching HDIS Remote Members to HDIS Mail Groups") | 
|---|
|  | 159 | F HDISLNE=1:1 S HDISTXT=$P($T(REMMEM+HDISLNE),";;",2) Q:HDISTXT="END"!($G(HDISERRF))  D | 
|---|
|  | 160 | . S HDISGNM=$P(HDISTXT,"^",1) | 
|---|
|  | 161 | . S HDISGIEN=$$FIND1^DIC(3.8,"","X",HDISGNM,"","","") | 
|---|
|  | 162 | . S HDISRNM=$P(HDISTXT,"^",2) | 
|---|
|  | 163 | . ;If Mail Group not found, error | 
|---|
|  | 164 | . I HDISGIEN'>0 D | 
|---|
|  | 165 | . . S HDIMSG(1)="**" | 
|---|
|  | 166 | . . S HDIMSG(2)="** Mail Group "_HDISGNM_" not found" | 
|---|
|  | 167 | . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 168 | . . S HDISERRF=1 | 
|---|
|  | 169 | . ELSE  D | 
|---|
|  | 170 | . . ;Attach Remote Member to Mail Group | 
|---|
|  | 171 | . . N HDISFDA,HDISIEN,HDISMSG | 
|---|
|  | 172 | . . S HDISFDA(3.812,"?+2,"_HDISGIEN_",",.01)=HDISRNM | 
|---|
|  | 173 | . . D UPDATE^DIE("","HDISFDA","HDISIEN","HDISMSG") | 
|---|
|  | 174 | . . ;Check for error | 
|---|
|  | 175 | . . I $D(HDISMSG("DIERR")) D | 
|---|
|  | 176 | . . . S HDIMSG(1)="**" | 
|---|
|  | 177 | . . . S HDIMSG(2)="** Unable to attach "_HDISRNM_" to "_HDISGNM | 
|---|
|  | 178 | . . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 179 | . . . S HDISERRF=1 | 
|---|
|  | 180 | . . ELSE  D | 
|---|
|  | 181 | . . . S HDIMSG(1)=" " | 
|---|
|  | 182 | . . . S HDIMSG(2)=".."_HDISRNM_$S($G(HDISIEN(2,0))="?":" already",1:"")_" attached to "_HDISGNM | 
|---|
|  | 183 | . . . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 184 | ;Check for error | 
|---|
|  | 185 | I $G(HDISERRF) D | 
|---|
|  | 186 | . S HDIMSG(1)="** Post-installation will be halted" | 
|---|
|  | 187 | . S HDIMSG(2)="**" | 
|---|
|  | 188 | . D MES^XPDUTL(.HDIMSG) K HDIMSG | 
|---|
|  | 189 | Q +$S($G(HDISERRF):0,1:1) | 
|---|
|  | 190 | ; | 
|---|
|  | 191 | REMMEM ;Mail Group Name^Remote Member | 
|---|
|  | 192 | ;;HDIS ERRORS^G.HDIS ERRORS@FORUM.VA.GOV | 
|---|
|  | 193 | ;;HDIS ERT NOTIFICATION^G.HDIS ERRORS@FORUM.VA.GOV | 
|---|
|  | 194 | ;;HDIS ERT NOTIFICATION^G.HDIS ERT NOTIFICATION@FORUM.VA.GOV | 
|---|
|  | 195 | ;;HDIS HDR NOTIFICATION^G.HDIS HDR NOTIFICATION@FORUM.VA.GOV | 
|---|
|  | 196 | ;;END | 
|---|