| [613] | 1 | ABSVM ;OAKLANDFO/DPC - VSS MIGRATION;8/23/2002
 | 
|---|
 | 2 |  ;;4.0;VOLUNTARY TIMEKEEPING;**31,33**;Jul 1994
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | PREP ;
 | 
|---|
 | 6 |  ;Entry  point for the Prepare For Transition option.
 | 
|---|
 | 7 |  ;Accomplishes the initial setup.
 | 
|---|
 | 8 |  N ABSSITE,SITENUM,DIR,I,DIERR,ABSFDA,ABSIEN
 | 
|---|
 | 9 |  N ABSSITES ;This array is created in BLDVOLLT^ABSVMUT1.
 | 
|---|
 | 10 |  W @IOF
 | 
|---|
 | 11 |  ;Check for existing entries.
 | 
|---|
 | 12 |  D LIST^DIC(503339.5)
 | 
|---|
 | 13 |  I ^TMP("DILIST",$J,0) D  Q
 | 
|---|
 | 14 |  . W !!,"This option has already been run.  The Migration Process is started."
 | 
|---|
 | 15 |  . W !,"Continue the Migration process with another option."
 | 
|---|
 | 16 |  . W !,"Contact the System Implementation team if you need additional instructions."
 | 
|---|
 | 17 |  . Q
 | 
|---|
 | 18 |  ;
 | 
|---|
 | 19 |  W "You are starting the process that will move "
 | 
|---|
 | 20 |  W !,"Voluntary Timekeeping data to the new "
 | 
|---|
 | 21 |  W !,"Voluntary Service System application."
 | 
|---|
 | 22 |  W !!,"First, information about your site will be collected."
 | 
|---|
 | 23 |  ;this get the Station Number from Institution file
 | 
|---|
 | 24 |  S ABSSITE=$P($G(^DIC(4,+$$KSP^XUPARAM("INST"),99)),U)
 | 
|---|
 | 25 |  I ABSSITE="" W !!,"There is no Station Number for your site, Contact System Implementation team!!!" Q
 | 
|---|
 | 26 |  W !,"Your Volunteer Daily Time file will be scanned to find "
 | 
|---|
 | 27 |  W !,"all sites referenced.  This will take some time.",!
 | 
|---|
 | 28 |  D BLDVOLLT^ABSVMUT1("S")
 | 
|---|
 | 29 |  W !,"Done."
 | 
|---|
 | 30 |  W !!,"Your primary site number is "_ABSSITE_"."
 | 
|---|
 | 31 |  W !,"Volunteer Hours are recorded for the following sites:"
 | 
|---|
 | 32 |  S SITENUM=0
 | 
|---|
 | 33 |  F I=0:1 S SITENUM=$O(ABSSITES(SITENUM)) Q:SITENUM=""  W !,?20,SITENUM
 | 
|---|
 | 34 |  W !!,"The next section will allow you to designate which of the above sites",!,"you want data sent from.  Your primary site will default to 'YES' ",!
 | 
|---|
 | 35 |  I I W "Any Games site,(700, 701, 702, or 575W), will default to 'NO'.",!
 | 
|---|
 | 36 |  S DIR(0)="Y"
 | 
|---|
 | 37 |  S DIR("A")="Do you want to continue"
 | 
|---|
 | 38 |  S DIR("??")="If the information is not correct, answer NO. The preparation process will be stopped for now."
 | 
|---|
 | 39 |  D ^DIR
 | 
|---|
 | 40 |  W !!
 | 
|---|
 | 41 |  I 'Y W "CONTACT THE IMPLEMENTATION TEAM. PROCESS STOPPED FOR NOW." Q
 | 
|---|
 | 42 |  W "Making an entry in the Voluntary Migration Log file."
 | 
|---|
 | 43 |  S ABSFDA(503339.5,"+1,",.01)=ABSSITE,SITENUM=0
 | 
|---|
 | 44 |  F I=2:1 S SITENUM=$O(ABSSITES(SITENUM)) Q:SITENUM=""  D
 | 
|---|
 | 45 |  . S ABSFDA(503339.51,"+"_I_",+1,",.01)=SITENUM
 | 
|---|
 | 46 |  . ;setup games site for no sending of data
 | 
|---|
 | 47 |  . S:"^700^701^702^575W^"[(U_SITENUM_U) ABSFDA(503339.51,"+"_I_",+1,",.02)="N"
 | 
|---|
 | 48 |  D UPDATE^DIE("E","ABSFDA","ABSIEN")
 | 
|---|
 | 49 |  I $D(DIERR) W ! D MSG^DIALOG() Q
 | 
|---|
 | 50 |  D SITEINFO(ABSIEN(1))
 | 
|---|
 | 51 |  W !
 | 
|---|
 | 52 |  D SENDMSG(ABSIEN(1))
 | 
|---|
 | 53 |  Q
 | 
|---|
 | 54 |  ;
 | 
|---|
 | 55 | SITEINFO(ABSIEN) ;
 | 
|---|
 | 56 |  ;User Inputs data for sites
 | 
|---|
 | 57 |  N ABSROOT,I,DIE,DA,DR,DIERR,SITENUM
 | 
|---|
 | 58 |  D LIST^DIC(503339.51,","_ABSIEN_",",1,,,,,,,,"ABSROOT")
 | 
|---|
 | 59 |  I $D(DIERR) W ! D MSG^DIALOG() Q
 | 
|---|
 | 60 |  F I=1:1:+ABSROOT("DILIST",0) D
 | 
|---|
 | 61 |  . S DIE="^ABS(503339.5,"_ABSIEN_",1,",SITENUM=ABSROOT("DILIST",1,I)
 | 
|---|
 | 62 |  . S DA=ABSROOT("DILIST",2,I),DA(1)=ABSIEN
 | 
|---|
 | 63 |  . D
 | 
|---|
 | 64 |  .. ;check for primary or games site
 | 
|---|
 | 65 |  .. I SITENUM=ABSSITE S DR="W ""Send this Station's Data?: YES"";.02///YES;1:11" Q
 | 
|---|
 | 66 |  .. I "^700^701^702^575W^"[(U_SITENUM_U) S DR="W ""Send this Station's Data?: NO"";.02///NO" Q
 | 
|---|
 | 67 |  .. S DR=".02//YES;S:X=""N"" Y=0;1:11"
 | 
|---|
 | 68 |  .. Q
 | 
|---|
 | 69 |  . S DIE("NO^")="BACK"
 | 
|---|
 | 70 |  . W !!,?20,"Add information for Station Number "_SITENUM,!
 | 
|---|
 | 71 |  . D ^DIE
 | 
|---|
 | 72 |  . Q
 | 
|---|
 | 73 |  ;save codes
 | 
|---|
 | 74 |  W !!,"Saving information...",!
 | 
|---|
 | 75 |  D SAVE^ABSVMLC1,SAVE^ABSVMLC2
 | 
|---|
 | 76 |  Q
 | 
|---|
 | 77 |  ;
 | 
|---|
 | 78 | SENDMSG(NEWIEN) ;
 | 
|---|
 | 79 |  N ABSMSG,OUT,ABSRECIP,DIR,DIRUT,X,Y
 | 
|---|
 | 80 |  N MSGNUM,ABSSUBJ,ABSMSG,ABSRECIP
 | 
|---|
 | 81 |  S OUT=0
 | 
|---|
 | 82 |  W !,"Sending a message containing information about your site."
 | 
|---|
 | 83 |  F  Q:OUT  D
 | 
|---|
 | 84 |  . S DIR(0)="FAO"
 | 
|---|
 | 85 |  . S DIR("A")="Enter a Recipient of the Institution Creation message: "
 | 
|---|
 | 86 |  . S DIR("?")="See the Install Instructions for the recipients e-mail address."
 | 
|---|
 | 87 |  . S DIR("?",1)="Network e-mail addresses must contain '@'."
 | 
|---|
 | 88 |  . D ^DIR
 | 
|---|
 | 89 |  . I $G(DIRUT) D
 | 
|---|
 | 90 |  . . I $D(ABSRECIP) S OUT=1 Q  ;At least 1 recipient selected.
 | 
|---|
 | 91 |  . . N DIR,X,Y,DIRUT,DIK,DA
 | 
|---|
 | 92 |  . . W !!,"You must enter at least one recipient of the message."
 | 
|---|
 | 93 |  . . W !,"If you do not, you will need to run the Preparation option again"
 | 
|---|
 | 94 |  . . W !,"and re-enter all information.",!
 | 
|---|
 | 95 |  . . S DIR(0)="Y"
 | 
|---|
 | 96 |  . . S DIR("A")="Do you want to exit the Preparation option and run it again later"
 | 
|---|
 | 97 |  . . S DIR("B")="No"
 | 
|---|
 | 98 |  . . D ^DIR
 | 
|---|
 | 99 |  . . I Y D
 | 
|---|
 | 100 |  . . . W !!,"Rerun Preparation later. BYE."
 | 
|---|
 | 101 |  . . . ;Delete entry in Migration Log.
 | 
|---|
 | 102 |  . . . S DIK="^ABS(503339.5,",DA=NEWIEN
 | 
|---|
 | 103 |  . . . D ^DIK
 | 
|---|
 | 104 |  . . . S OUT=1
 | 
|---|
 | 105 |  . . . Q
 | 
|---|
 | 106 |  . . Q
 | 
|---|
 | 107 |  . E  S ABSRECIP(X)=""
 | 
|---|
 | 108 |  . Q
 | 
|---|
 | 109 |  I '$D(ABSRECIP) Q  ;No recipients selected.
 | 
|---|
 | 110 |  S ABSSUBJ="VSS: Institution Creation Message from: "_$P($G(^DIC(4,+$$KSP^XUPARAM("INST"),99)),U)
 | 
|---|
 | 111 |  D BLDMSG(.ABSMSG,NEWIEN)
 | 
|---|
 | 112 |  D SENDMSG^XMXAPI(DUZ,ABSSUBJ,"ABSMSG",.ABSRECIP,,.MSGNUM)
 | 
|---|
 | 113 |  W !,"Message sent.  Message number: "_MSGNUM
 | 
|---|
 | 114 |  Q
 | 
|---|
 | 115 |  ;
 | 
|---|
 | 116 | BLDMSG(MSGBODY,NEWIEN) ;
 | 
|---|
 | 117 |  N I,LNCNT,TEXT
 | 
|---|
 | 118 |  S LNCNT=0
 | 
|---|
 | 119 |  S TEXT="This is a VSS migration message."
 | 
|---|
 | 120 |  D ADDLN(TEXT,.MSGBODY,.LNCNT)
 | 
|---|
 | 121 |  S TEXT="It contains information needed to create an entry in the VtkInstitutions table."
 | 
|---|
 | 122 |  D ADDLN(TEXT,.MSGBODY,.LNCNT,1)
 | 
|---|
 | 123 |  S TEXT="The message is sent from Station Number: "_$P($G(^DIC(4,+$$KSP^XUPARAM("INST"),99)),U)_"."
 | 
|---|
 | 124 |  D ADDLN(TEXT,.MSGBODY,.LNCNT,1)
 | 
|---|
 | 125 |  S TEXT="The sender is "_$$GET1^DIQ(200,DUZ_",",.01)_" (DUZ= "_DUZ_")."
 | 
|---|
 | 126 |  D ADDLN(TEXT,.MSGBODY,.LNCNT)
 | 
|---|
 | 127 |  ;GET the list of station numbers.
 | 
|---|
 | 128 |  N FLDNUM,ABSIEN,VALUE,FIELD
 | 
|---|
 | 129 |  D LIST^DIC(503339.51,","_NEWIEN_",",1,,,"X",,"SN",,,"ABSROOT")
 | 
|---|
 | 130 |  I $D(DIERR) W ! D MSG^DIALOG() Q
 | 
|---|
 | 131 |  ;Assemble the message for each site.
 | 
|---|
 | 132 |  F I=1:1:+ABSROOT("DILIST",0) D
 | 
|---|
 | 133 |  . S TEXT="          INFORMATION FOR STATION NUMBER: "_ABSROOT("DILIST","ID",I,.01)
 | 
|---|
 | 134 |  . D ADDLN(TEXT,.MSGBODY,.LNCNT,1)
 | 
|---|
 | 135 |  . S ABSIEN=ABSROOT("DILIST",2,I)_","_NEWIEN_","
 | 
|---|
 | 136 |  . ;Fieldnames and values are obtained for Voluntary Migration Log.
 | 
|---|
 | 137 |  . ;Note changes to the DD will require changes to this code.
 | 
|---|
 | 138 |  . F FLDNUM=1:1:11 D
 | 
|---|
 | 139 |  . . S FIELD=$$GET1^DID(503339.51,FLDNUM,,"LABEL")
 | 
|---|
 | 140 |  . . S VALUE=$$GET1^DIQ(503339.51,ABSIEN,FLDNUM)
 | 
|---|
 | 141 |  . . S TEXT=FIELD_":  "_VALUE
 | 
|---|
 | 142 |  . . D ADDLN(TEXT,.MSGBODY,.LNCNT,1)
 | 
|---|
 | 143 |  . . Q
 | 
|---|
 | 144 |  . Q
 | 
|---|
 | 145 |  Q
 | 
|---|
 | 146 |  ;
 | 
|---|
 | 147 | ADDLN(LINE,BODY,COUNT,SKIP) ;
 | 
|---|
 | 148 |  I $G(SKIP) S COUNT=COUNT+1,BODY(COUNT)=" "
 | 
|---|
 | 149 |  S COUNT=COUNT+1
 | 
|---|
 | 150 |  S BODY(COUNT)=LINE
 | 
|---|
 | 151 |  Q
 | 
|---|
 | 152 |  ;
 | 
|---|
 | 153 | VAL ;
 | 
|---|
 | 154 |  ;Entry point for Validate Existing Data Option
 | 
|---|
 | 155 |  ;Checks all data that will be migrated and creates log entries 
 | 
|---|
 | 156 |  ;containing entries with problems.
 | 
|---|
 | 157 |  ;Optionally, you can print results.
 | 
|---|
 | 158 |  N DIR,Y,ABSRES,ABSRESDA,ABSIEN,EXSITES
 | 
|---|
 | 159 |  W @IOF
 | 
|---|
 | 160 |  ;Check to assure entry exists in Migration Log file.
 | 
|---|
 | 161 |  D ABSIEN^ABSVMUT1 Q:'ABSIEN
 | 
|---|
 | 162 |  W "Data that will be moved to the new Voluntary Service System database"
 | 
|---|
 | 163 |  W !," will now be checked for consistency."
 | 
|---|
 | 164 |  W !!,"The result will be recorded in the Voluntary Migration Log File."
 | 
|---|
 | 165 |  W !,"You will have the opportunity to print these results."
 | 
|---|
 | 166 |  W !!
 | 
|---|
 | 167 |  ;
 | 
|---|
 | 168 |  S DIR(0)="Y"
 | 
|---|
 | 169 |  S DIR("A")="Do you want to proceed"
 | 
|---|
 | 170 |  S DIR("??")="If you answer NO, you can check the data at a later time."
 | 
|---|
 | 171 |  D ^DIR
 | 
|---|
 | 172 |  I 'Y W !!,"Data checking can be done at a later time.  Bye." Q
 | 
|---|
 | 173 |  ;
 | 
|---|
 | 174 |  W !!,"Creating list of all Volunteers with hours after Sept. 30, 1996."
 | 
|---|
 | 175 |  D EXSITES^ABSVMUT1
 | 
|---|
 | 176 |  D BLDVOLLT^ABSVMUT1()
 | 
|---|
 | 177 |  W !,"Done."
 | 
|---|
 | 178 |  ;
 | 
|---|
 | 179 |  W !!,"Creating lists of valid Organization, Service, Schedule, and Award Codes."
 | 
|---|
 | 180 |  D LDCDS^ABSVMUT1
 | 
|---|
 | 181 |  W !,"Done."
 | 
|---|
 | 182 |  ;
 | 
|---|
 | 183 |  W !!,"Validating entries in the Volunteer Organization Codes File."
 | 
|---|
 | 184 |  D ORGVAL^ABSVMRV1(,.ABSRES)
 | 
|---|
 | 185 |  W !,"Errors Found in Organization Codes: "_ABSRES("ERRCNT")
 | 
|---|
 | 186 |  S ABSRESDA(ABSRES("DA"))=""
 | 
|---|
 | 187 |  ;
 | 
|---|
 | 188 |  W !!,"Validating entries in the Service Assignment Codes File."
 | 
|---|
 | 189 |  D SRVVAL^ABSVMRV1(,.ABSRES)
 | 
|---|
 | 190 |  W !,"Errors found in Service Assignment Codes: "_ABSRES("ERRCNT")
 | 
|---|
 | 191 |  S ABSRESDA(ABSRES("DA"))=""
 | 
|---|
 | 192 |  ;
 | 
|---|
 | 193 |  W !!,"Validating Occasional Hours."
 | 
|---|
 | 194 |  D OHRSVAL^ABSVMHV1(,.ABSRES)
 | 
|---|
 | 195 |  W !,"Errors found in Occasional Hours: "_ABSRES("ERRCNT")
 | 
|---|
 | 196 |  S ABSRESDA(ABSRES("DA"))=""
 | 
|---|
 | 197 |  ;
 | 
|---|
 | 198 |  W !!,"Validating Regular Hours."
 | 
|---|
 | 199 |  W !,"THIS WILL TAKE SOME TIME."
 | 
|---|
 | 200 |  D RHRSVAL^ABSVMHV1(,.ABSRES)
 | 
|---|
 | 201 |  W !,"Errors found in Regular Hours: "_ABSRES("ERRCNT")
 | 
|---|
 | 202 |  S ABSRESDA(ABSRES("DA"))=""
 | 
|---|
 | 203 |  ;
 | 
|---|
 | 204 |  W !!,"Validating Volunteer data."
 | 
|---|
 | 205 |  W !,"THIS WILL TAKE SOME TIME."
 | 
|---|
 | 206 |  D VALVOL^ABSVMVV1(,.ABSRES)
 | 
|---|
 | 207 |  W !,"Errors found in Volunteer data: "_ABSRES("ERRCNT")
 | 
|---|
 | 208 |  S ABSRESDA(ABSRES("DA"))=""
 | 
|---|
 | 209 |  ;
 | 
|---|
 | 210 |  W !!,"The data checking on your system is complete!"
 | 
|---|
 | 211 |  D CLEANCDS^ABSVMUT1 ;Kills arrays of National Codes
 | 
|---|
 | 212 |  ;
 | 
|---|
 | 213 |  W !!
 | 
|---|
 | 214 |  S DIR(0)="Y"
 | 
|---|
 | 215 |  S DIR("A")="Do you want to print the results now"
 | 
|---|
 | 216 |  S DIR("??")="If you answer NO, you can print the results later."
 | 
|---|
 | 217 |  D ^DIR
 | 
|---|
 | 218 |  I Y D PRINTRES(.ABSRESDA,ABSIEN)
 | 
|---|
 | 219 |  Q
 | 
|---|
 | 220 |  ;
 | 
|---|
 | 221 | PRINT ;
 | 
|---|
 | 222 |  ;Prints entries from the VALIDATION RESULTS multiple of Voluntary Migration Log file.
 | 
|---|
 | 223 |  N DIC,Y,DA
 | 
|---|
 | 224 |  N ABSI,ABSVDA,DIR,ABSIEN
 | 
|---|
 | 225 |  N OUT S OUT=0
 | 
|---|
 | 226 |  W @IOF
 | 
|---|
 | 227 |  ;Check to assure entry exists in Migration Log file.
 | 
|---|
 | 228 |  D ABSIEN^ABSVMUT1 Q:'ABSIEN
 | 
|---|
 | 229 |  W "You can print results of the Examination of Existing Data "
 | 
|---|
 | 230 |  W !,"by selecting the date/time that the examination was done."
 | 
|---|
 | 231 |  W !
 | 
|---|
 | 232 |  F ABSI=1:1 D  Q:OUT
 | 
|---|
 | 233 |  . S DIC="^ABS(503339.5,"_ABSIEN_",2,"
 | 
|---|
 | 234 |  . S DIC(0)="AE"
 | 
|---|
 | 235 |  . D ^DIC
 | 
|---|
 | 236 |  . I Y=-1 S OUT=1 Q
 | 
|---|
 | 237 |  . S ABSVDA(+Y)=""
 | 
|---|
 | 238 |  . W !
 | 
|---|
 | 239 |  . S DIR(0)="Y"
 | 
|---|
 | 240 |  . S DIR("A")="Do you want to select another result to print"
 | 
|---|
 | 241 |  . D ^DIR
 | 
|---|
 | 242 |  . I 'Y S OUT=1 Q
 | 
|---|
 | 243 |  . W !
 | 
|---|
 | 244 |  . Q
 | 
|---|
 | 245 |  I $D(ABSVDA) D PRINTRES(.ABSVDA,ABSIEN)
 | 
|---|
 | 246 |  Q
 | 
|---|
 | 247 |  ;
 | 
|---|
 | 248 | PRINTRES(ABSVMDA,ABSMIEN) ;
 | 
|---|
 | 249 |  ;Prints preselected subentries in the VALIDATION RESULTS multiple
 | 
|---|
 | 250 |  ;passed in by the input parameter (passed by reference).
 | 
|---|
 | 251 |  N ABSI,POP,DA,DIC
 | 
|---|
 | 252 |  D ^%ZIS
 | 
|---|
 | 253 |  Q:$G(POP)
 | 
|---|
 | 254 |  U IO
 | 
|---|
 | 255 |  S ABSI=0
 | 
|---|
 | 256 |  F  S ABSI=$O(ABSVMDA(ABSI)) Q:ABSI=""  D
 | 
|---|
 | 257 |  . W @IOF
 | 
|---|
 | 258 |  . W "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 259 |  . S DIC="^ABS(503339.5,"_ABSMIEN_",2,"
 | 
|---|
 | 260 |  . S DA(1)=1
 | 
|---|
 | 261 |  . S DA=ABSI
 | 
|---|
 | 262 |  . D EN^DIQ
 | 
|---|
 | 263 |  . Q
 | 
|---|
 | 264 |  D ^%ZISC
 | 
|---|
 | 265 |  Q
 | 
|---|
 | 266 |  ;
 | 
|---|