$TXT Created by BEUSCHEL,GARY at FM22-PATCH.FO-OAKLAND.MED.VA.GOV (KIDS) on Tuesday, 03/30/10 at 07:23 ============================================================================= Run Date: JUN 30, 2010 Designation: DI*22*163 Package : DI - VA FILEMAN Priority: Mandatory Version : 22 SEQ #144 Status: Released Compliance Date: JUL 31, 2010 ============================================================================= Associated patches: (v)DI*22*30 <<= must be installed BEFORE `DI*22*163' (v)DI*22*63 <<= must be installed BEFORE `DI*22*163' (v)DI*22*104 <<= must be installed BEFORE `DI*22*163' (v)DI*22*140 <<= must be installed BEFORE `DI*22*163' (v)DI*22*159 <<= must be installed BEFORE `DI*22*163' (v)DI*22*160 <<= must be installed BEFORE `DI*22*163' Subject: HOPPING DOWN THE AUDIT TRAIL Category: - Routine Description: ============ ** Notice: ** ** See "Installation Instructions" section for Installation Warning ** This patch addresses the following items: 1) Remedy Ticket #320253 If you have an option designed to do a sort on a file using a SORT template, and if that file also has a SEARCH template with the same name as the SORT template, when the option is invoked, FileMan may be confused and pick the SEARCH template to use, and then discard it, and not attempt to find the correct SORT template. With this patch, FileMan will keep looking for the SORT template if it doesn't find it initially. (Routine ^DIP11) To test this, first create a SEARCH template for a file. Then create a SORT template of the same name. (The order is important. Also, FileMan won't let one user create a SORT and SEARCH template with the same name, so you'll have to do it as two different users) Then create an option to SORT and then print records from the file. Invoke the option. Notice that FM doesn't use the SORT template. After the patch is installed, it will. 2) Remedy Ticket #353934 If you inquire to file entries and ask for the audit trail to be displayed, .01 fields which have been deleted from multiples are not shown, even though they are tracked in the AUDIT file. With this patch, they will be. (Routine ^DIQ) To test this, let's focus on the SECONDARY MENU OPTIONS (#203) multiple of the NEW PERSON (#200) file. First check to make sure its .01 field is being audited. If not, turn auditing on for it. Now edit the field for the POSTMASTER. Add XMUSER as a secondary menu option. (Note: you'll need the XUMGR key to do this.) When you Inquire to File Entries for the POSTMASTER, and say YES to DISPLAY AUDIT TRAIL? FileMan will tell you that you added XMUSER. Now Edit file entries and delete XMUSER as a secondary menu option. When you inquire again to file entries for the POSTMASTER and ask to see the audit trail, FileMan won't tell you that XMUSER was deleted. After the patch is installed, it will. 3) Remedy Ticket #364157 If you use ^DIR to edit a pointer field, and the pointed-to field is free text with more than 19 characters, FileMan may respond with the "replace ... with ..." mode of editing, which is not appropriate. With this patch, it won't do that. (Routine ^DIR) To test this, pick a record from the OUTPATIENT ENCOUNTER (#409.68) file whose CLINIC STOP CODE (#.03) field points to a stop code name with more than 19 characters. Then at the programmer prompt, do: >S DA=,DIR(0)="409.68,.03" D ^DIR CLINIC STOP CODE: MENTAL HEALTH CLINIC - IND Replace Notice that FM thinks you're editing a free text field and asks you what you'd like to replace. If you go along with it, and actually try to replace something, FM will come to its senses and say you must select a record. After the patch is installed, FM will no longer engage in this silliness. 4) Remedy Ticket #371879 When you create a SORT or PRINT template, your FileMan access code (DUZ(0)) is assigned to that template for READ and WRITE access. Other users may use the templates when using FileMan's PRINT option, but only if their FileMan access code has a character in common with the template's READ access code. However, it was discovered that FileMan had been enforcing this rule only for PRINT templates. With this patch, the rule is enforced for SORT templates, too. Please see chapter 12 of the Advanced User Manual for more information on template protection. (Routine ^DIP11) To test this, create a SORT and a PRINT template. Ask someone whose FileMan access code has nothing in common with yours to try to use the templates with FileMan's PRINT option. That person should be able to use the SORT template, but not the PRINT template. After the patch is installed, that person shouldn't be able to use either. 5) Remedy Ticket #377120 When INPUT templates, PRINT templates, and Cross References are compiled and then altered and then recompiled, the old compiled routines are not deleted. With this patch, they will be. When compiled INPUT and PRINT templates are deleted, their compiled routines are not deleted. With this patch, they will be. (Routines ^DIEZ, ^DIKZ, ^DIPZ, ^DIPZ0, ^DINIT12, POST^DIPR163) To test this, create an INPUT and/or PRINT template. Compile it. Now edit it and change it and recompile it. Notice that the old compiled routines are still there, along with the new compiled routines. Now delete the template. Notice that the compiled routines are still there. After the patch is installed, when you edit and recompile the template or delete the template, the old compiled routines will be deleted, too. 6) Remedy Ticket #378354 When using the TRANSFER option to TRANSFER FILE ENTRIES to make a copy of a file, and the file numbers are different length, and the new file number contains the old one, FileMan will go into an infinite loop until it crashes with a string length error. With this patch, it won't. Please see chapter 13 of the Advanced User Manual for more information on this option. (Routine ^DIT1) To test this, we'll copy the STATE (#5) file to a new file. The new file number will be longer than the old file number, and, crucially, it will include the old file number. Select OPTION: 9 TRANSFER ENTRIES Select TRANSFER OPTION: 1 TRANSFER FILE ENTRIES INPUT TO WHAT FILE: ZZGARY// ZZGSTATE Are you adding 'ZZGSTATE' as a new FILE? No// Y (Yes) FILE NUMBER: 16000027// 16000050 <--- Include 5 in the new file # INTERNAL GLOBAL REFERENCE: ^DIZ(16000050,// ...SORRY, JUST A MOMENT PLEASE... A FreeText NAME Field (#.01) has been created. TRANSFER FROM FILE: 5 STATE DO YOU WANT TO TRANSFER THE 'STATE' DATA DICTIONARY INTO YOUR NEW FILE? Y (Yes) ...SORRY, LET ME PUT YOU ON 'HOLD' FOR A SECOND... DO YOU WANT TO COPY 'STATE'S TEMPLATES INTO YOUR NEW FILE? Yes// N (No) ........ . . S $E(X,I-DIL2,I-1)=DIT Q ^ ADJ+9^DIT1 If you ZW X, you'll see that X is HUGE, with lots of repetition. After the patch, this won't happen. 7) Remedy Ticket #378663 The API $$OREF^DILF("^A(""("")") returns the 5-byte string: ^A(", It should return the 7-byte string: ^A("(", After the patch, it will. (Routine ^DIQGU) Documentation ============= No documentation changes were necessary for this patch. The most up-to-date VA FileMan end-user documentation is available on the VHA Software Document Library (VDL) at the following Internet Website: http://www.va.gov/vdl/application.asp?appid=5 NOTE: VistA documentation is made available online in Microsoft Word format (.DOC) and Adobe Acrobat Portable Document Format (.PDF). The VA FileMan documentation is also available in HTML format at the following Intranet Websites: * Getting Started Manual: http://vaww.vista.med.va.gov/fileman/docs/u1/index.shtml * Advanced User Manual: http://vaww.vista.med.va.gov/fileman/docs/u2/index.shtml * APIs/Programmer Manual: http://vaww.vista.med.va.gov/fileman/docs/pm/index.shtml * ScreenMan Tutorial: http://vaww.vista.med.va.gov/fileman/docs/scrnman/index.shtml Blood Bank Clearance ==================== Clearance - 2/1/2010 EFFECT ON BLOOD BANK FUNCTIONAL REQUIREMENTS: Patch DI*22*163 contains changes to a package referenced in VHA OI SEPG SOP 192-023 Review of VISTA Patches for Effects on VISTA Blood Bank Software. This patch does not alter or modify any VistA Blood Bank software design safeguards or safety critical elements functions. RISK ANALYSIS: Changes made by patch DI*22*163 have no effect on Blood Bank software functionality, therefore RISK is none. Remedy Tickets ============== 320253 353934 364157 371879 377120 378354 378663 Thanks to Test Sites ==================== Alexanderia VAMC Philadelphia VAMC Upstate New York HCS Routine Summary: ================ Please see the "Routine Information" section. *Note: Routine: DIPR163 issues a warning during the installation of this patch if it appears that TaskMan is still running and/or logons have not been inhibited. Installation Instructions: ========================= ** Although queuing of this patch is allowed, it is HIGHLY RECOMMENDED that ALL Users be off the system and VISTA Background jobs be STOPPED before this patch is installed. TaskMan should be stopped or placed in a wait state. Failure to do so may result in 'source routine edited' errors during a database update. Edits may be lost and records may be left in an inconsistent state. An error that occurs before a cross- reference is executed, for example, may lead to corrupted data or hard errors in the future. ** The following installation instructions are based upon the premise that the installer has heeded the above warning. Installation should take less than a minute. 1. Use the 'INSTALL/CHECK MESSAGE' option on the PackMan menu. This option will load the KIDS package onto your system. 2. The patch has now been loaded into a transport global on your system. You now need to use KIDS to install the transport global. 3. On the KIDS menu, under the 'Installation' menu, use the following options: Print Transport Global Compare Transport Global to Current System Verify Checksums in Transport Global Backup a Transport Global 4. In accordance with the warning at the beginning of the installation instructions, make sure ALL interactive processes, and ALL non-interactive background jobs are stopped following your site specific procedures. TaskMan should be stopped or placed in a wait state. All users should be off the system. NOT performing this step could result in 'source routine edited' error during database updates, and records may be left in an inconsistent state. 5. On the KIDS menu, under the 'Installation' menu, use the following option: Select Installation Option: Install Package(s) Select INSTALL NAME: DI*22.0*163 =========== The Environment Check Routine DIPR163 runs automatically during this step. DIPR163 issues a warning if it appears that TaskMan is still running or logons have not been inhibited. Answer 'YES' to 'Want KIDS to INHIBIT LOGONs during the install?' Answer 'NO' to 'Want to DISABLE Scheduled Options, Menu Options, and Protocols?' The post-init will make changes to the ROUTINE INVOKED (#1815) field of the PRINT TEMPLATE (#.4) and INPUT TEMPLATE (#.402) files. A MUMPS cross reference will be added to each field to delete any compiled routines if the template is deleted. This change is also reflected in routine DINIT12. 6. Re-enable all processes stopped in step 4 above. Post Installation ================= Upon successful installation of this patch, routine DIPR163 may be deleted. Example ======= >D ^ZTRDEL ROUTINE DELETE All Routines? No => No Routine: DIPR163 Routine: 1 routine 1 routines to DELETE, OK: NO// Y DIPR163 Done. Routine Information: ==================== The second line of each of these routines now looks like: ;;22.0;VA FileMan;**[Patch List]**;Mar 30, 1999;Build 28 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: DIEZ Before: B18556993 After: B21739471 **1,11,159,163** Routine Name: DIKZ Before: B29541347 After: B29922049 **140,163** Routine Name: DINIT12 Before: B20522056 After: B20226922 **104,163** Routine Name: DIP11 Before: B17961202 After: B21981037 **97,163* Routine Name: DIPR163 Before: n/a After: B6521718 **163** Routine Name: DIPZ Before: B17203752 After: B17402853 **163** Routine Name: DIPZ0 Before: B4318484 After: B4753333 **160,163** Routine Name: DIQ Before: B37013741 After: B47760134 **19,64,74,81,99,133,163** Routine Name: DIQGU Before: B8156081 After: B6424161 **163** Routine Name: DIR Before: B22317316 After: B22459740 **30,163** Routine Name: DIT1 Before: B21997622 After: B22503370 **6,63,163** Routine list of preceding patches: 30, 63, 97, 104, 133, 140, 159, 160 ============================================================================= User Information: Entered By : BEUSCHEL,GARY Date Entered : DEC 07, 2009 Completed By: SINGH,GURBIR Date Completed: JUN 29, 2010 Released By : HARROD,PAUL Date Released : JUN 30, 2010 ============================================================================= Packman Mail Message: ===================== $END TXT