$TXT Created by MENDOZA,RAUL at KRN.FO-OAKLAND.MED.VA.GOV (KIDS) on Thursday, 03/28/13 at 14:43 ============================================================================= Run Date: JUN 10, 2013 Designation: XU*8*580 Package : XU - KERNEL Priority: Mandatory Version : 8 SEQ #498 Status: Released Compliance Date: JUL 11, 2013 ============================================================================= Subject: SUPPORT FOR E-PCS Category: - Routine Description: ============ ** Notice: ** ** See "Installation Instructions" section for Installation Warning ** OVERVIEW This patch is in support of the Drug Enforcement Agency (DEA) e-Prescribing of Controlled Substances (CS) (ePCS) using Public Key Infrastructure (PKI). The following will describe the modifications and/or enhancements to the Kernel package to meet the requirements proposed by the DEA Interim Final Rule (IFR) for Electronic Prescriptions for Controlled Substances effective as of June 1, 2010. Installation Instructions ------------------------- Installation instructions are contained in the DEA ePrescribing Installation and Setup Guide for Patches (XU*8.0*580 and OR*3.0*218) or OR_30_218_IG.pdf. New Person (#200) file modifications: 53.3 VA# - make it case in-sensitive 53.11 'Extra DEA#' is rename to 'Detox/Maintenance ID Number' 55.1 Schedule II Narcotic - new field 55.2 Schedule II Non-Narcotic - new field 55.3 Schedule III Narcotic - new field 55.4 Schedule III Non-Narcotic - new field 55.5 Schedule IV - new field 55.6 Schedule V - new field Institution (#4) file modification: 52.1 Facility DEA Expiration Date - new field NEW Files: XUEPCS DATA FILE (#8991.6) XUEPCS PSDRPH AUDIT FILE (#8991.7) Parameters: XUEPCS REPORT DEVICE Set the parameter XUEPCS REPORT DEVICE to printer device (see examples below) a. This can be done from General Parameter Tools menu under the CPRS Configuration (IRM) menu b. This can also be done by running the routine XPAREDIT Examples: ========= Setting the XUEPCS REPORT DEVICE parameter: CL Clinician Menu ... NM Nurse Menu ... WC Ward Clerk Menu ... PE CPRS Configuration (Clin Coord) ... IR CPRS Configuration (IRM) ... Select CPRS Manager Menu Option: IR CPRS Configuration (IRM) OC Order Check Expert System Main Menu ... TI ORMTIME Main Menu ... UT CPRS Clean-up Utilities ... XX General Parameter Tools ... HD HealtheVet Desktop Configuration ... RD Remote Data Order Checking Parameters Select CPRS Configuration (IRM) Option: GENERal Parameter Tools LV List Values for a Selected Parameter LE List Values for a Selected Entity LP List Values for a Selected Package LT List Values for a Selected Template EP Edit Parameter Values ET Edit Parameter Values with Template EK Edit Parameter Definition Keyword Select General Parameter Tools Option: EP Edit Parameter Values --- Edit Parameter Values --- Select PARAMETER DEFINITION NAME: XUEPCS REPORT DEVICE ePCS Device Definition for Reports ---- Setting XUEPCS REPORT DEVICE for System: KRN.FO-OAKLAND.MED.VA.GOV ---- Select device for ePCS reports: SDD P10// ? Enter printer device -------------------------------------------------------------------------- Select PARAMETER DEFINITION NAME: Also can be set by running routine XPAREDIT >D ^XPAREDIT --- Edit Parameter Values --- Select PARAMETER DEFINITION NAME: XUEPCS REPORT DEVICE ePCS Device Definition for Reports ---- Setting XUEPCS REPORT DEVICE for System: KRN.FO-OAKLAND.MED.VA.GOV ---- Select device for ePCS reports: SDD P10// ? Enter printer device -------------------------------------------------------------------------- Select PARAMETER DEFINITION NAME: APIs: $$DEA^XUSER() - ICR 2343 $$DETOX^XUSER() - ICR 2343 $$SDEA^XUSER() - ICR 2343 $$VDEA^XUSER() - ICR 2343 Options: ePCS DEA Utility Functions... [XU EPCS Utility Functions] Print DEA Expiration Date Null [XU EPCS EXP DATE] Print DISUSER DEA Expiration Date Null [XU EPCS DISUSER EXP DATE] Print DEA Expiration Date Expires 30 days [XU EPCS XDATE EXPIRES] Print DISUSER DEA Expiration Date Expires 30 days [XU EPCS DISUSER XDATE EXPIRES] Print Prescribers with Privileges [XU EPCS PRIVS] Print DISUSER Prescribers with Privileges [XU EPCS DISUSER PRIVS] Print PSDRPH Key Holders [XU EPCS PSDRPH] Print Setting Parameters Privileges [XU EPCS SET PARMS] Task Changes to DEA Prescribing Privileges Report [XU EPCS LOGICAL ACCESS] Task Allocation Audit of PSDRPH Key Report [XU EPCS PSDRPH AUDIT] Allocate/De-Allocate of PSDRPH Key [XU EPCS PSDRPH KEY] Edit Facility DEA# and Expiration Date [XU EPCS EDIT DEA# AND XDATE] Print Audits for Prescriber Editing [XU EPCS PRINT EDIT AUDIT] Options - Broker-type: ePCS Edit Prescriber Data [XU EPCS EDIT DATA] ePCS Set SAN from PIV Card [XUSSPKI UPN SET] *The following options need to run on a daily basis and need to be setup through TaskManager. Make sure the parameter XUEPCS REPORT DEVICE is set up prior (as shown in the Parameter section above). Task Changes to DEA Prescribing Privileges Report [XU EPCS LOGICAL ACCESS] Task Allocation Audit of PSDRPH Key Report [XU EPCS PSDRPH AUDIT] Examples: 1. XU EPCS LOGICAL ACCESS Core Applications ... Device Management ... Menu Management ... Programmer Options ... Operations Management ... Spool Management ... Information Security Officer Menu ... Taskman Management ... User Management ... FM VA FileMan ... Application Utilities ... Capacity Planning ... HL7 Main Menu ... Manage Mailman ... Select Systems Manager Menu Option: Taskman Management Schedule/Unschedule Options One-time Option Queue Taskman Management Utilities ... List Tasks Dequeue Tasks Requeue Tasks Delete Tasks Print Options that are Scheduled to run Cleanup Task List Print Options Recommended for Queueing Select Taskman Management Option: SCHedule/Unschedule Options Select OPTION to schedule or reschedule: XU EPCS LOGICAL ACCESS Task Changes to DEA Prescribing Privileges Report Are you adding 'XU EPCS LOGICAL ACCESS' as a new OPTION SCHEDULING (the 238TH)? No// Y Edit Option Schedule Option Name: XU EPCS LOGICAL ACCESS Menu Text: Task Changes to DEA Prescribing TASK ID: __________________________________________________________________________ QUEUED TO RUN AT WHAT TIME: T+1@001 DEVICE FOR QUEUED JOB OUTPUT: QUEUED TO RUN ON VOLUME SET: RESCHEDULING FREQUENCY: 1D TASK PARAMETERS: SPECIAL QUEUEING: __________________________________________________________________________ COMMAND: SAVE COMMAND: EXIT Select OPTION to schedule or reschedule: 2. XU EPCS PSDRPH AUDIT Repeat the same process for XU EPCS PSDRPH AUDIT. Set the time and frequency the same. Security Keys: XUEPCSEDIT RPCs: XU EPCS EDIT XUS PKI SET UPN XUS PKI GET UPN XWB GET VARIABLE VALUE Print Templates: XU EPCS XDATE PRINT XU EPCS DISUSER XDATE PRINT XU EPCS DISUSER XDATE2 PRINT XU EPCS PSDRPH PRINT XU EPCS SET PARMS PRINT XU EPCS PRIVS PRINT XU EPCS DISUSER PRIVS PRINT XU EPCS LOGICAL ACCESS PRINT XU EPCS PSDRPH KEY PRINT XU EPCS XDATE 30 PRINT Sort Templates: XU EPCS PSDRPH SORT XU EPCS SET PARMS SORT XU EPCS DIV SORT XU EPCS DISUSER SORT XU EPCS DISUSER2 SORT XU EPCS ACTIVE USER SORT Bulletin: XUSSPKI SAN The following items address fixes that need to be in place to support the DEA ePCS specific software: 1) Remedy Ticket 327828: The file screen on the NEW PERSON (#200) file can cause an error when editing the file using ^LOOP. This patch fixes that. (Routine ^XUSER) To reproduce this, do the following: 1) Create a new key. 2) Create a search template with some users in it. 3) Give one of the users the new key and the XUSHOWSSN key. 4) Edit the NEW PERSON (#200) file: INPUT TO WHAT FILE: INSTALL// 200 NEW PERSON EDIT WHICH FIELD: ALL// KEY 1 KEY DELEGATION LEVEL 2 KEYS (multiple) 3 KEYSTROKES FROM LM WP CHOOSE 1-3: 2 KEYS (multiple) EDIT WHICH KEYS SUB-FIELD: ALL// .01///MY NEW NURSE KEY THEN EDIT KEYS SUB-FIELD: THEN EDIT FIELD: Select NEW PERSON NAME: ^LOOP EDIT ENTRIES BY: NAME//[ZZNURSETEMPLATE WITHIN 'ZZNURSETEMPLATE' NUMBER, EDIT ENTRIES BY: XUUSER1,ONE REGISTERED NURSE Select KEY: SDMOB// MY NEW NURSE KEY Select KEY: XUUSER2,TWO NURSE PRACTITIONER 118 NURSE PRACTITIONER Select KEY: MAGDISP CLIN// MY NEW NURSE KEY Select KEY: XUUSER3,THREE REGISTERED NURSE Select KEY: MAGDISP CLIN// MY NEW NURSE KEY Select KEY: XUUSER4,FOUR CHIEF NURSE/EDUCATION Select KEY: MY NEW NURSE KEY Select KEY: XUUSER5,FIVE REGISTERED NURSE Select KEY: PSB CPRS MED BUTTON// MY NEW NURSE KEY Select KEY: XUUSER6,SIX REGISTERED NURSE Select KEY: MY NEW NURSE KEY// ?? WANT TO STOP LOOPING? Yes// N (No) I $G(DUZ),$D(^XUSEC("XUSHOWSSN",DUZ)),$L(X)=9,X?9N Q 1 ^ SCR200+3^XUSER *X The ^LOOP fails when it reaches the user who already has the new key and the XUSHOWSSN key. 2) Remedy Ticket 389572: The OBJECT (#9.201) multiple in the HELP FRAME (#9.2) file points to a non-existent file. Therefore, we are deleting the OBJECT multiple. The Kernel Developers Guide has been updated to remove any mention of the non-existing OBJECT file. (Routine POST^XU8P544) The following will be deleted from the HELP FRAME (#9.2) file: STANDARD DATA DICTIONARY #9.2 -- HELP FRAME FILE STORED IN ^DIC(9.2, DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE -------------------------------------------------------------------------- 9.2,10 OBJECT 10;0 POINTER Multiple #9.201 DESCRIPTION: This field is a multiple provided to point to the object file to specify particular objects, and is primarily used in conjunction with the Enter and Exit Execute fields (fields 10.1 and 10.2). 9.201,.01 OBJECT 0;1 POINTER ** TO AN UNDEFINED FILE ** (Multiply asked) LAST EDITED: JAN 16, 1991 HELP-PROMPT: This is a pointer to entries in the OBJECT file which may be referenced in the ENTRY or EXIT EXECUTE STATEMENTS associated with this Help Frame DESCRIPTION: This field is used to indicate a specific object in the OBJECT file. It is primarily intended for use with the Entry and Exit Execute fields to provide the ability to relate to the specified object. CROSS-REFERENCE: 9.201^B 1)= S ^DIC(9.2,DA(1),10,"B",$E(X,1,30),DA)="" 2)= K ^DIC(9.2,DA(1),10,"B",$E(X,1,30),DA) 3) Remedy Ticket 322444: The description for the DIS(1) (#69.1) field in the OPTION (#19) file incorrectly states that a $T value of 1 will cause the entry not to print. We are taking this opportunity to correct that, and rewrite the descriptions of all the DIS fields. The following fields in the OPTION (#19) file have new HELP PROMPTs and DESCRIPTIONs: 19,69 DIS(0) 69;E1,245 MUMPS INPUT TRANSFORM: K:$L(X)>245 X D:$D(X) ^DIM LAST EDITED: MAR 21, 1991 HELP-PROMPT: Enter standard M code which sets $T. DESCRIPTION: Used in the PRINT type option. This is executable M code which sets $T to select desired entries for the sort process. If the code produces a truth value of 1, the entry will be printed. (A truth value of 0 will not allow the entry to be printed.) At the time the code is executed, the internal entry number (IEN) of the entry is stored in the variable D0. For example, the following would print patients who were NOT born in the 1970's: DIS(0)=I $P(^DPT(D0,0),U,3)<2700101!($P(^(0),U,3)>2791231) If used in conjunction with fields DIS(1), DIS(2), and DIS(3), the entry will print if DIS(0) and DIS(1) are true, OR if DIS(0) and DIS(2) are true, OR if DIS(0) and DIS(3) are true. Note: You may have DIS(0) only, or DIS(0) in combination with DIS(1) only, or DIS(1) and DIS(2), or DIS(1), DIS(2), and DIS(3). 19,69.1 DIS(1) 69.1;E1,245 MUMPS INPUT TRANSFORM: K:$L(X)>245 X D:$D(X) ^DIM LAST EDITED: MAR 21, 1991 HELP-PROMPT: Enter standard M code which sets $T. DESCRIPTION: This field may be used in PRINT options along with DIS(0) and the other DIS(n) fields. Each DIS field is examined in order (beginning with 0) for M code that will produce a $T value to determine whether or not the data pointed to by D0 should be printed. See the description of D(0) (field #69) for more information. 19,69.2 DIS(2) 69.2;E1,245 MUMPS INPUT TRANSFORM: K:$L(X)>245 X D:$D(X) ^DIM LAST EDITED: MAR 21, 1991 HELP-PROMPT: Enter standard M code which sets $T. DESCRIPTION: This field may be used in PRINT options along with DIS(0) and the other DIS(n) fields. Each DIS field is examined in order (beginning with 0) for M code that will produce a $T value to determine whether or not the data pointed to by D0 should be printed. See the description of D(0) (field #69) for more information. 19,69.3 DIS(3) 69.3;E1,245 MUMPS INPUT TRANSFORM: K:$L(X)>245 X D:$D(X) ^DIM LAST EDITED: MAR 21, 1991 HELP-PROMPT: Enter standard M code which sets $T. DESCRIPTION: This field may be used in PRINT options along with DIS(0) and the other DIS(n) fields. Each DIS field is examined in order (beginning with 0) for M code that will produce a $T value to determine whether or not the data pointed to by D0 should be printed. See the description of D(0) (field #69) for more information. Documentation Changes ===================== The Kernel Developers Guide has been updated to remove any mention of the non-existing OBJECT file. The most up-to-date Kernel/Kernel Toolkit 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=10 NOTE: VistA documentation is made available online in Microsoft Word format (.DOC) and Adobe Acrobat Portable Document Format (.PDF). The Kernel/Kernel Toolkit APIs are also available in HTML format at the following Intranet Website: http://vaww.vista.med.va.gov/kernel/apis/index.shtml Blood Bank Clearance ==================== EFFECT ON BLOOD BANK FUNCTIONAL REQUIREMENTS: Patch XU*8*580 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 XU*8*580 have no effect on Blood Bank software functionality, therefore RISK is none. Remedy Tickets ============== 322444 327828 389572 Thanks to Test Sites ==================== Charleston Cleveland Heartland-East Heartland-West Hines Loma Linda Palo Alto San Diego Tampa Routine Summary: ================ Please see the "Routine Information" section. *Note: Routine: XU8P580 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 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: XU*8.0*580 =========== The Environment Check Routine XU8P580 runs automatically during this step. XU8P580 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?' During the Pre-Install process, you will see: Beginning Pre-Installation... I am deleting the cross-reference "SAN" for field #501.2 file #200. Finished Pre-Installation. During the Post-Install process, you will see: Beginning Post-Installation... I am deleting the OBJECT (#9.201) multiple from the HELP FRAME (#9.2) file. I am re-indexing "ASAN" cross-reference for field #501.2 file #200. Finished Post-Installation. 6. Re-enable all processes stopped in step 4 above. Post Installation ================= Upon successful installation of this patch, routine XU8P580 may be deleted. Example ======= >D ^ZTRDEL ROUTINE DELETE All Routines? No => No Routine: XU8P580 Routine: 1 routine 1 routines to DELETE, OK: NO// Y XU8P580 Done. Routine Information: ==================== The second line of each of these routines now looks like: ;;8.0;KERNEL;**[Patch List]**;Jul 10, 1995;Build 46 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: XU8P580 Before: n/a After: B7617911 **580** Routine Name: XUEPCSED Before: n/a After: B2888160 **580** Routine Name: XUEPCSRT Before: n/a After: B22030133 **580** Routine Name: XUSC1C Before: B8238333 After: B8383983 **283,580** Routine Name: XUSER Before: B9027633 After: B47045111 **75,97,99,150,226,267,288,330, 370,373,580** Routine Name: XUSER2 Before: B13847196 After: B15407315 **267,251,344,534,580** Routine list of preceding patches: 283, 373, 534 ============================================================================= User Information: Entered By : IVEY,JOEL Date Entered : MAY 26, 2011 Completed By: SERVICE,JOHN Date Completed: JUN 10, 2013 Released By : TILLIS,LEWIS Date Released : JUN 10, 2013 ============================================================================= Packman Mail Message: ===================== $END TXT