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