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