$TXT Created by SMITH,ROBERT at MNTVBB.FO-ALBANY.MED.VA.GOV (KIDS) on Friday, 04/07/06 at 15:00 ============================================================================= Run Date: MAY 23, 2006 Designation: PSS*1*107 Package : PSS - PHARMACY DATA MANAGEMENT Priority: Mandatory Version : 1 SEQ #99 Status: Released Compliance Date: JUN 23, 2006 ============================================================================= Associated patches: (v)PSS*1*102 <<= must be installed BEFORE `PSS*1*107' Subject: UNDEFINED ERROR AND MODIFY PPDU TRIGGER Category: - Routine - Data Dictionary Description: ============ This patch will fix the UNDEFINED error that occurs when using the Drug Enter/Edit [PSS DRUG ENTER/EDIT] option. It will also modify the trigger for PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file to use 4 decimal places instead of 3. ASSOCIATED REMEDY: ================== 1) HD127459 - ASKSYN+8^PSSPOIMP Duplicate: HD125834 - Error using PSS DRUG ENTER/EDIT 2) HD97736 - Drug File triggers are not identical causing differences in operational code function 3) HD135484 - Price per order unit too big for field. ASSOCIATED E3RS: ================ N/A PARTICIPATING TEST SITES ======================== W. Palm Beach, FL Oklahoma City, OK Alexandria, LA Ann Arbor, MI Heartland East HCS DATA DICTIONARY CHANGES: ======================== This change is related to Remedy ticket HD97736. It was reported that the trigger from PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file which calculates PRICE PER DISPENSE UNIT (#16) field of the DRUG (#50) file is different then the trigger in the DISPENSE UNITS PER ORDER UNIT (#15) file of the same file. This trigger is also used to calculate the PRICE PER DISPENSE UNIT (#16) field of the DRUG (#50) file. Before: ------- 50,13 PRICE PER ORDER UNIT 660;3 NUMBER INPUT TRANSFORM: S:X["$" X=$P(X,"$",2) K:X'?.N.1".".2N!(X>9999)! (X<0)!(X?.E1"."3.N) X LAST EDITED: APR 07, 2006 HELP-PROMPT: Type a Dollar amount between 0 and 9999, 2 Decimal Digits DESCRIPTION: This is the price per order unit for this drug. GROUP: PS CROSS-REFERENCE: ^^TRIGGER^50^16 1)= K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X S Y( 1)=$S($D(^PSDRUG(D0,660)):^(660),1:"") S X=$P(Y (1),U,5)>0 I X S X=DIV S Y(1)=$S($D(^PSDRUG(D0, 660)):^(660),1:"") S X=$P(Y(1),U,6) S DIU=X K Y X ^DD(50,13,1,1,1.1) X ^DD(50,13,1,1,1.4) 1.1)= S X=DIV S Y(1)=$S($D(^PSDRUG(D0,660)):^(6 60),1:"") S X=DIV,X=$S($P(Y(1),U,5):X/$P(Y(1),U ,5),1:"*******"),Y(2)=X S X=1,Y(3)=X S X=3,X=$J (Y(2),Y(3),X) 1.4)= S DIH=$S($D(^PSDRUG(DIV(0),660)):^(660),1 :""),DIV=X X "F %=0:0 Q:$L($P(DIH,U,5,99)) S D IH=DIH_U" S %=$P(DIH,U,7,999),^(660)=$P(DIH,U,1 ,5)_U_DIV_$S(%]"":U_%,1:""),DIH=50,DIG=16 D ^DI CR:$O(^DD(DIH,DIG,1,0)) 2)= K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D( ^PSDRUG(D0,660)):^(660),1:"") S X=$P(Y(1),U,6) S DIU=X K Y S X=DIV S X="" X ^DD(50,13,1,1,2.4) 2.4)= S DIH=$S($D(^PSDRUG(DIV(0),660)):^(660),1 :""),DIV=X X "F %=0:0 Q:$L($P(DIH,U,5,99)) S D IH=DIH_U" S %=$P(DIH,U,7,999),^(660)=$P(DIH,U,1 ,5)_U_DIV_$S(%]"":U_%,1:""),DIH=50,DIG=16 D ^DI CR:$O(^DD(DIH,DIG,1,0)) CREATE CONDITION)= #15>0 CREATE VALUE)= $J(#13/#15,1,3) DELETE VALUE)= @ FIELD)= #16 After: ====== 50,13 PRICE PER ORDER UNIT 660;3 NUMBER INPUT TRANSFORM: S:X["$" X=$P(X,"$",2) K:X'?.N.1".".2N!(X>99999) !(X<0)!(X?.E1"."3.N) X LAST EDITED: APR 18, 2006 HELP-PROMPT: Type a Dollar Amount between 0 and 99999, 2 Decimal Digits. DESCRIPTION: This is the price per order unit for this drug. GROUP: PS NOTES: XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER CROSS-REFERENCE: ^^TRIGGER^50^16 1)= K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X S Y( 1)=$S($D(^PSDRUG(D0,660)):^(660),1:"") S X=$P(Y (1),U,5)>0 I X S X=DIV S Y(1)=$S($D(^PSDRUG(D0, 660)):^(660),1:"") S X=$P(Y(1),U,6) S DIU=X K Y X ^DD(50,13,1,1,1.1) X ^DD(50,13,1,1,1.4) 1.1)= S X=DIV S Y(1)=$S($D(^PSDRUG(D0,660)):^(6 60),1:"") S X=DIV,X=$S($P(Y(1),U,5):X/$P(Y(1),U ,5),1:"*******"),Y(2)=X S X=1,Y(3)=X S X=4,X=$J (Y(2),Y(3),X) 1.4)= S DIH=$S($D(^PSDRUG(DIV(0),660)):^(660),1 :""),DIV=X X "F %=0:0 Q:$L($P(DIH,U,5,99)) S D IH=DIH_U" S %=$P(DIH,U,7,999),^(660)=$P(DIH,U,1 ,5)_U_DIV_$S(%]"":U_%,1:""),DIH=50,DIG=16 D ^DI CR:$O(^DD(DIH,DIG,1,0)) 2)= K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D( ^PSDRUG(D0,660)):^(660),1:"") S X=$P(Y(1),U,6) S DIU=X K Y S X=DIV S X="" X ^DD(50,13,1,1,2.4) 2.4)= S DIH=$S($D(^PSDRUG(DIV(0),660)):^(660),1 :""),DIV=X X "F %=0:0 Q:$L($P(DIH,U,5,99)) S D IH=DIH_U" S %=$P(DIH,U,7,999),^(660)=$P(DIH,U,1 ,5)_U_DIV_$S(%]"":U_%,1:""),DIH=50,DIG=16 D ^DI CR:$O(^DD(DIH,DIG,1,0)) CREATE CONDITION)= #15>0 CREATE VALUE)= $J(#13/#15,1,4) DELETE VALUE)= @ FIELD)= #16 REMEDY OVERVIEW: ================ 1) HD127459 ASKSYN+8^PSSPOIMP Problem: -------- When entering a new drug using the Drug Enter/Edit [PSS DRUG ENTER/EDIT] option an error occurs at the point of matching the drug to the orderable item when asked to add the DRUG TEXT as a synonym. Resolution: ----------- PSSPOIMP routine will be modified to use the D0 variable when using the enter/edit functionality to set the PPPTMP(50.72) local array. 2) HD97736 Drug File triggers are not identical causing differences in operational code function Problem: -------- PRICE PER DISPENSE UNIT (#16) field of the DRUG (#50) file is triggered from PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file and DISPENSE UNITS PER ORDER UNIT (#15) field of the DRUG (#50) file. The triggers are not identical: PRICE PER ORDER UNIT (#13) field has 3 decimals and DISPENSE UNITS PER ORDER UNIT (#15) field has 4 decimal places. This results in 2 different values that populate PRICE PER DISPENSE UNIT (#16) field. Resolution: ----------- Modify the trigger for PRICE PER ORDER UNIT (#13) field to use 4 decimal places instead of 3. 3) HD135484 - Price per order unit too big for field. Problem: -------- User was attempting to enter a price per unit of 16093.27 in the DRUG (#50) file. However, the largest value allowed for this field is 9999. Resolution: ----------- Modified the input transform for the PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file so that the max is 99999 instead of 9999. The help documentation for the field was also changed to reflect the larger maximum value. Here are the before and after instances of ^DD(50,13): TECHNICAL ========= 1) HD127459 ASKSYN+8^PSSPOIMP ASKSYN+8^PSSPOIMP will be from I X]"" S PPPTMP(50.72,PSOIEN,X)="" to I X]"" S PPPTMP(50.72,D0,X)="". 2) HD97736 Drug File triggers are not identical causing differences in operational code function Modify the trigger for PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file so that it calculate 4 decimal places. CREATE CONDITION)= #15>0 CREATE VALUE)= $J(#13/#15,1,4) DELETE VALUE)= @ FIELD)= #16 3) HD135484 - Price per order unit too big for field. Modify the INPUT TRANSFORM for PRICE PER ORDER UNIT (#13) field of the DRUG (#50) file to limit input to 5 digits plus 2 decimals. INPUT TRANSFORM: S:X["$" X=$P(X,"$",2) K:X'?.N.1".".2N!(X>99999) !(X<0)!(X?.E1"."3.N) X ROUTINE SUMMARY: ================ The following is a list of the routine(s) included in this patch. The second line of each of these routine(s) will look like: ;;1.0;PHARMACY DATA MANAGEMENT;**[Patch List]**;9/30/97 CHECK^XTSUMBLD results Routine name Before Patch After Patch Patch List ============ ============ =========== ========== PSSPOIMP 531710 625980 102,107 Installation Instructions: ========================== This patch can be installed at any time. Users do not need to be off the system. Installation will take less than 1 minute. 1. Choose the PackMan message containing this patch and invoke the INSTALL/CHECK MESSAGE PackMan option. 2. Start up the Kernel Installation and Distribution System Menu [XPD MAIN]: Edits and Distribution ... Utilities ... Installation ... Select Kernel Installation & Distribution System Option: INStallation Load a Distribution Print Transport Global Compare Transport Global to Current System Verify Checksums in Transport Global Install Package(s) Restart Install of Package(s) Unload a Distribution Backup a Transport Global 3. From this menu, you may elect to use the following options (when prompted for the INSTALL NAME, enter PSS*1.0*107): a. Backup a Transport Global - This option will create a backup message of any routines exported with this patch. It will not backup any other changes such as DD's or templates. b. Compare Transport Global to Current System - This option will allow you to view all changes that will be made when this patch is installed. It compares all components of this patch (routines, DD's, templates, etc.). c. Verify Checksums in Transport Global - This option will allow you to ensure the integrity of the routines that are in the transport global. 4. Use the Install Package(s) option and select the package PSS*1.0*107. a. When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//', answer NO. b. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols? YES//', answer NO. Routine Information: ==================== The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: PSSPOIMP Before: B911666 After: B1025945 **102,107** ============================================================================= User Information: Entered By : SMITH,ROBERT J Date Entered : FEB 07, 2006 Completed By: TSAIMEUCHONG,BRENDA Date Completed: MAY 23, 2006 Released By : VECE,VIRGINIA Date Released : MAY 23, 2006 ============================================================================= Packman Mail Message: ===================== $END TXT