============================================================================= Run Date: SEP 27, 2006 Designation: LEX*2*43 Package : LEX - LEXICON UTILITY Priority: Mandatory Version : 2 SEQ #42 Status: Released Compliance Date: OCT 04, 2006 ============================================================================= Associated patches: (v)ICPT*6*19 <<= must be installed BEFORE `LEX*2*43' (v)LEX*2*44 <<= must be installed BEFORE `LEX*2*43' Subject: ICD/CPT/Lexicon Remedy Ticket Fixes Category: - Routine - Data Dictionary - Enhancement (Mandatory) - Other Description: ============ This patch contains the fixes to problems reported in Remedy Tickets which involve the Lexicon, Code Set Versioned Data or Code Set APIs. It contains a multiple package Kernel Installation and Distribution System (KIDS) hostfile. The following patches are included: LEX*2.0*43 Contained in KIDS Host File LEX_2_43.KID ICPT*6.0*30 Contained in KIDS Host File LEX_2_43.KID ICD*18.0*23 Informational patch, data included in LEX*2.0*43 This patch writes to the following files: CPT Modifier #81.3 ^DIC(81.3 DBIA 4492 ICD-9 #80 ^ICD9( DBIA 4485 Lexicon Files #757-757.41 ^LEX( DBIA N/A Make a backup copy of these global files. ENHANCEMENTS: ============ REMEDY TICKETS CPT Modifiers Fixes made by modifying the logic in ICPTMOD Routine (installed in required companion patch ICPT*6.0*30) or by the re-alignment of the CPT Modifier Ranges. Modifier 47 with 26951 HD0000000 063473 Modifiers LT & RT with 73500 & 73120 HD0000000 064223 Modifier P5 with 00910 HD0000000 064495 Modifier 50 with 92250 HD0000000 084545 Modifiers 76, 77, 78, and 79 with J8499 HD0000000 097711 Modifier GT with 90853 HD0000000 110935 Modifier GW with 99213 HD0000000 118427 Modifier 53 with G0121 HD0000000 121972 Modifier GT with 90853 (dupe 110935) HD0000000 122219 Modifiers GN, GO and GP with 97760-97762 HD0000000 134404 Modifiers GN, GO and GP with 97760-97762 (dupe 134404) HD0000000 150885 Fixes made by data changes to the CPT Modifier file Modifier BL with P-Codes HD0000000 131752 Modifier 66 with Unlisted Procedures HD0000000 107714 Modifier GW with Commercial/Medicare bills HD0000000 138426 Modifier 51 with 51741 and 51798 HD0000000 141204 Modifier GT with 99090 and 99091 HD0000000 150470 ICD-9-CM ICD Codes in the Lexicon AIDS and Hip Pain HD0000000 142632 ICD Codes in DIAGNOSIS file #80 (ICD*18*23 Informational Patch) ICD Code 567.22 Recognized as CC HD0000000 147490 Lexicon Lookup Errors Lookup 357.2 returns 250.60 (original) HD0000000 141151 Lookup 357.2 returns 250.60 (duplicate exact) HD0000000 140716 Lookup 357.2 returns 250.60 (duplicate exact) HD0000000 141456 Lookup 357.2 returns 250.60 (duplicate exact) HD0000000 142510 Lookup 357.2 returns 250.60 (duplicate exact) HD0000000 145965 Lookup 414.10 returns 414.19 (duplicate, similar) HD0000000 149971 In researching a solution, it was discovered that while looking up ICD Code 357.2 in the Lexicon, the code returned to the calling application was 250.60. The problem demonstrated brought to the surface a much larger problem. When a term has multiple codes assigned to it, only one of them can be returned to the calling application. That code must be marked as the "Primary" code. Here, the code 357.2 is entered, and the preferred term is returned, "Polyneuropathy in diabetes" Term: Polyneuropathy in diabetes Code: 357.2 Preferred Term Code: 250.60 Primary Code The Dx "Polyneuropathy in Diabetes" has two codes assigned to it. One code for the DX and the other code is for the underlying disease. One of the two codes must be flagged as the Primary Code. The previous business rule was to go with the code that the Standards Development Organization (SDO) stated to code first. In this case, the SDO says "Code first underlying disease (250.60)" So entering 357.2 returns 250.60 if the current business rule is used. This has been fixed to match the VA's usage. Additionally it was noted that some codes had primary code other than the preferred term's code, also resulting in the wrong code being returned. The fix included in this patch for HD0000000 141151 includes codes 357.2, 250.60 and the following Lexicon lookup/codes: Lookup Formerly After Fix Code Returned Returns -------- -------- -------- 038.49 038.40 038.49 039.4 039.9 039.4 070.31 070.20 070.31 134.9 136.9 134.9 201.10 201.90 201.10 237.71 237.70 237.71 307.54 536.2 307.54 315.02 784.61 315.02 327.51 780.58 327.51 335.21 335.10 335.21 345.51 345.40 345.51 346.80 346.90 346.80 346.81 346.90 346.81 357.2 250.60 357.2 362.02 250.50 362.02 363.22 364.24 363.22 365.13 365.10 365.13 369.66 369.62 369.66 414.10 414.19 414.10 459.9 443.9 459.9 519.9 786.00 519.9 533.31 533.20 533.31 664.14 666.14 664.14 696.8 696.1 696.8 745.10 745.19 745.10 753.16 753.17 753.16 755.39 755.29 755.39 E850.3 965.1 E850.3 E866.1 985.0 E866.1 E878.9 998.0 E878.9 E930.2 960.3 E930.2 E946.7 976.9 E946.7 E950.4 964.2 E950.4 E953.8 E958.8 E953.8 E958.9 E953.9 E958.9 Code Set Versioning Code Changes CPT Modifiers ICPTMOD Several changes were required in this routine for Code Set Versioning. This routine (with the changes listed below) is being exported in LEX*2.0*43's companion patch ICPT*6.0*30, which will be the second build installed in the multi-package KIDS distribution. $$MODP^ICPTMOD Sub-routine function $$MODP^ICPTCOD was modified to locate the most recent modifier range that was activated on or before the date supplied. In the past $$MODP would return the first CPT Code range that contained the input code and stop, even if the code was included again at a later and more recent date. $$MODC^ICPTMOD Sub-routine $$MODC^ICPTCOD is no longer used by Code Set Versioning because it uses the "M" cross-reference to find the first code reference. Code Set Versioning now looks for the last active dated range containing the code provided. ICPTMOD2 This is a new routine. Routine ICPTMOD became too large to export and it had to be split into ICPTMOD AND ICPTMOD2. There are no supported entry points in ICPTMOD2. FTP SOFTWARE RETRIEVAL: ====================== Global Host File(s) Content Filename FTP Protocol ----------------- ------------ ------------ Data LEX_2_43.GBL ASCII KIDS Distribution LEX_2_43.KID ASCII The preferred method is to FTP the files from download.vista.med.va.gov which will transmit the files from the first available FTP server. The files may also be downloaded directly from a particular FTP location at the following locations. Hines ftp.fo-hines.med.va.gov Albany ftp.fo-albany.med.va.gov Salt Lake ftp.fo-slc.med.va.gov Files are available in the ANONYMOUS.SOFTWARE directory. INSTALLATION INSTRUCTIONS: ========================= 1) Users may be on the system during the install of LEX*2.0*43. It is recommended that this patch be installed during non-peak hours. This patch should take less than 10 minutes to install. 2) Create a backup of the following globals files before continuing: ICD-9 Diagnosis #80 ^ICD9 CPT Modifiers #81.3 ^DIC(81.3) Lexicon Files #757-757.41 ^LEX 3) Make sure that the remnants of a previous import global do not exist on your system. If the global ^LEXM does exist, you will need to kill this global before proceeding. On a Cache system, the prevention of unsubscripted global kills is a system wide setting, but it can be allowed for a particular process using the $ZU command. The command for enabling unsubscripted global kills is: VAH>S X=$ZU(68,28,0) VAH>K ^LEXM The command for disabling unsubscripted kills for a process is S X=$ZU(68,28,1); however, halting out of the process and creating a new process will achieve the same effect. 4) Install the data from the global host file LEX_2_43.GBL. This file contains the Lexicon Utility's import global ^LEXM. Thin Client Global Restore Using the Cache Thin Client, right-click on the Cache cube, then select "Explorer." Open the "Namespaces" folder, then open the "VAH" folder, and right click on the "Globals" folder. Select the "Import from disk" option. Click on the "Options..." button. Select the "Globals" tab, make sure the format is VAX DSM, then click "OK." Find the file in the directory, double click on LEX_2_43.GBL. Next, select "Import All." At the prompt "Do you wish to restore '^LEXM'," select "Yes." Programmer Mode From the Programmer prompt, execute the following routine: >D ^%GI Global input Device: VA5$:[BETA]LEX_2_43.GBL Parameters: "RS"=> Globals were saved on 09 Aug 2006 10:14 AM Cache with description: LEX*2.0*43/ICPT*6*30/ICD*18*23 Data Input option: A ^LEXM The loading of the global should take less than 2 minutes. 5) (OPTIONAL) Turn journaling off for globals ^DIC, and ^LEX Journaling OFF Journaling on a Cache system cannot be disabled by individual global. Journaling CAN BE disabled for a user's current process. In this case, the process will be the installation of this patch. It is important to know that for this to work, the KIDS installation CANNOT be tasked off. The installation MUST be run interactively for the disabled journaling to be in effect. To determine if your process has journaling enabled, you can call: >W $$CURRENT^%NOJRN() 0 means journaling is disabled, 1 means it's on To disable journaling for the current process: >D DISABLE^%NOJRN Double check your process to be sure journaling is disabled: >W $$CURRENT^%NOJRN() 0 means journaling is disabled, 1 means it's on Proceed with the installation remembering NOT to task off the install. 6) Set up user and IO variables (D ^XUP) for programmer access. 7) Distribution Load: Load the KIDS Distribution from the KIDS Host File using the "Load a Distribution" option on the KIDS "Installation..." menu. Use Host File name LEX_2_43.KID. Respond "YES" at the "OK to continue with Load? NO//" prompt. Respond "YES" at the "Want to RUN the Environment Check Routine? YES//" respond "YES" prompt 8) KIDS Installation: Install the patch using the KIDS Installation Menu action "Install Package(s)" and the install name LEX*2.0*43. The KIDS installation should take less than four minutes depending on the number of users/jobs on the system. Environment Check: LEX*2.0*43 will check to see if patches LEX*2.0*44 and ICPT*6.0*19 are installed on your system. Checks to see if globals ^LEX and ^DIC(81.3) are on your system. Checks to see if Lexicon Export global ^LEXM has been loaded from Host File LEX_2_43.GBL. Makes sure the global is the correct export global and that it is complete (global checksum). Respond "NO" at the "Want KIDS to INHIBIT LOGONs during the install? YES//" prompt. Respond "NO" at the "Want to DISABLE Schedule Options, Menu Options, and Protocols?" prompt. Install Order: 1 LEX*2.0*43 2 ICPT*6.0*30 9) Cleanup a) Check that the export global ^LEXM has been killed automatically. If it has not been automatically killed, you will need to kill the "unsubscripted" import global ^LEXM to prevent import global checksum errors on future installations. On a Cache system, the prevention of unsubscripted global kills is a system wide setting, but it can be allowed for a particular process using the $ZU command. The command for enabling unsubscripted global kills is: VAH>S X=$ZU(68,28,0) VAH>K ^LEXM The command for disabling unsubscripted kills for a process is S X=$ZU(68,28,1); however, halting out of the process and creating a new process will achieve the same effect. b) If you opted to turn journaling off prior to installation, then the journaling must be turned back on when the installation is complete. Journaling ON Journaling on a Cache system can only be turned back on for the user's current process. When the installation of this patch has completed (interactively - not tasked), you may enable journaling for the current process. To determine if your process has journaling disabled, you can call: >W $$CURRENT^%NOJRN() 0 means journaling is disabled, 1 means it's on To enable journaling for the current process: >D ENABLE^%NOJRN Double check your process to be sure journaling is enabled: >W $$CURRENT^%NOJRN() 0 means journaling is disabled, 1 means it's on c) If routines LEX2043, LEX2043P, LEX2043A, LEX2043B, LEX2043C and LEX2043D are found on your system, they may be deleted upon completion of the installation. These routines are the environment check and post-install routines for this installation. MULTI-PACKAGE BUILD ROUTINE SUMMARY: =================================== LEX*2.0*43 - Installed First ---------------------------- The second line of each of these routines will look like: ;;2.0;LEXICON UTILITY;**[PATCH LIST]**;Sep 23, 1996 The following checksums were created using CHECK^XTSUMBLD Checksums Checksums Routine Before Patch After Patch Patch List (2nd Line) -------- ------------- ------------- --------------------- LEX2043 15771579 43 LEX2043P 8994941 43 LEX2043A 24734185 43 LEX2043B 28928416 43 LEX2043C 16592711 43 LEX2043D 9626469 43 LEXA 7783187 7864496 3,4,6,19,25,36,38,43 ICPT*6.0*30 - Installed Second ------------------------------ The second line of each of these routines will look like: ;;6.0;CPT/HCPCS;**[PATCH LIST]**;May 19, 1997 The following checksums were created using CHECK^XTSUMBLD Checksums Checksums Routine Before Patch After Patch Patch List (2nd Line) -------- ------------- ------------- --------------------- ICPTMOD 9845869 14867260 6,12,13,14,19,30 ICPTMOD2 2459015 30 Routine Information: ==================== The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: LEX2043 Before: n/a After: B69278303 **43** Routine Name: LEX2043A Before: n/a After: B65763989 **43** Routine Name: LEX2043B Before: n/a After: B62523661 **43** Routine Name: LEX2043C Before: n/a After: B27867922 **43** Routine Name: LEX2043D Before: n/a After: B15573352 **43** Routine Name: LEX2043P Before: n/a After: B26656686 **43** Routine Name: LEXA Before: B30812811 After: B31301237 **3,4,6,19,25,36,38,43** ============================================================================= User Information: Entered By : ROWE,KIMBALL Date Entered : MAY 15, 2006 Completed By: BASKETT,BARBARA J Date Completed: SEP 25, 2006 Released By : MONTGOMERY,ALAN Date Released : SEP 27, 2006 ============================================================================= Packman Mail Message: =====================