Skip to content

Commit

Permalink
Install: MAG*3.0*214
Browse files Browse the repository at this point in the history
Patch Subject:  BACKGROUND PROCESSOR (BP) DEFECT FIXES
Description:

============
 Associated Patches:
 ===================
 This patch must be installed after MAG*3.0*198.
 Subject:  BACKGROUND PROCESSOR (BP) DEFECT FIXES
 ========
 Category:  OTHER
 =========
 Description:
 =============
 This document describes MAG*3.0*214, a patch that provides fixes to the
 Background Processor (BP).  This patch addresses the following issues:
         Imaging Site Parameters screen, system displays an error message
         "Value is not initialized".
         BP Queue processor is stopping with an error at some sites.
         After installing the MAG*3.0*196, some background processor sites
         are getting prompted for 2-factor authentication when starting the
         application.
         Network Password Update on BGP causing issues.
         Resolved issue of the Event Log displaying incorrect patch.
 Patch Components:
 =================
 This patch includes software and documentation files.  This document,
 MAG3_0P 214_Patch_Description.pdf, provides an overview, explains the
 changes, and outlines the installation for this patch.
 MAG3_0P214_README.txt, if present, is an informative file associated with
 the patch released.
 Software & Documentation:
 =========================
 File Name                                  Description
 ==========                                 ===========
 MAG3_0P214.KID                             Kernel Installation and
                                            Distribution System(KIDS)build
                                            for Patch 214
 MAG3_0P214_Background_Processor_Setup.exe  Background Processor client
                                            installation file.
 MAG3_0P214_Patch_Description.pdf           Patch Description for P214
 Mag_BP_User_Manual.pdf                     Background Processor User
                                            Manual
 Files & Fields Associated:
 ==========================
 There are no files or fields associated with this patch.
 Forms Associated:
 =================
 There are no forms associated with this patch.
 Mail Groups Associated:
 =======================
 There are no mail groups associated with this patch.
 Options Associated:
 ===================
 There are no options associated with this patch.
 Protocols Associated:
 =====================
 There are no protocols associated with this patch.
 Security Keys Associated:
 =========================
 There are no security keys associated with this patch.
 Templates Associated:
 =====================
 There are no templates associated with this patch.
 Additional Information:
 =======================
 New Service Requests (NSRs):
 ============================
 There are no new service requests addressed in this patch.
 Patient Safety Issues (PSIs):
 =============================
 There are no patient safety issues associated with this patch.
 Defect Tracking System Ticket(s) & Overview
 ===========================================
 1. Defect 740851 (Trouble Ticket # INC0300885)-Imaging Site Parameters
 screen, system displays an error message "Value is not initialized".
 Problem:
 ========
 Issue 1:
 ========
 When user opens Background Processor - Imaging Site Parameters screen,
 system displays an error message "Value is not initialized" and Background
 Processor freezes. The user cannot proceed forward.
 Issue 2:
 ========
 Users are experiencing an issue where they cannot save the Default User
 Preference when selecting a different name from was previous selected.
 Resolution:
 ==========
 A new Remote Procedure Call (RPC) "MAGQBP VAL" is called before the
 Imaging Site Parameters window is opened.  This new RPC will validate the
 current values of the pointer fields:
 #100      DEFAULT USER PREFERENCE
 #.03      IMAGE NETWORK WRITE LOCATION
 #2.01     JUKEBOX WRITE LOCATION
 #1.02     PACS DIRECTORY
 #1.03     PACS IMAGE WRITE LOCATION
 A message window will be displayed to the user if any of the current
 values are invalid.  If the current value of the Default User Preferences
 field is invalid, it will be deleted from the IMAGING SITE PARAMETERS File
 (#2006.1).
 If invalid data is found, a confirmation message will be displayed to the
 user.  Click OK and the Site Parameters window will open.
 Note: If the Site Parameters window does not open, an authorized person
       will need to correct the invalid pointer in VistA using Fileman
       Enter/Edit.
 2. Defect 741310 (Trouble Tickets # INC0298707, INC0586047)-BP Queue
 processor is stopping with an error at some sites.
 Problem:
 ========
 When running the Jukebox Queue and MAG*3.0*196 is running for a while,
 unexpectedly the user will get stuck into an RPC Exception loop. The
 users are prompted for access and verify code.
 Resolution:
 ===========
 Occasionally, when an RPC Exception occurs, the connection to VistA is
 lost.  When the connection is lost, the BP will try to silently re-connect
 to VistA without user input.  In this issue, the user is prompted for
 their Access and Verify Codes because the user context has been cleared.
 The code has been modified to correctly use the last user context for the
 silent re-connect to VistA.
 3. Defect 741968 (Trouble Ticket # INC0383466)- 2-Factor Authentication
 prompt appearing for some users.
 Problem:
 ========
 After installing the MAG*3.0*196, when launching the BP Queue Processor,
 some sites are getting prompted for 2-factor authentication. The users
 launch the BP Queue Processor then will receive the 2 - Factor
 Authentication message. If the user clicks cancel, the BP Queue Processor
 will launch the window for access/verify code. The 2 - Factor
 Authentication should not appear at all. Some users are using Dameware to
 remote login to the server and login into the server using the
 administration password.
 Resolution:
 ===========
 MAG*3.0*196 and newer versions of the BP use the Broker Development Kit
 (BDK) version 65 to connect to VistA.  BDK 65 incorporates 2FA
 authentication to login to VistA. The BP code has been modified to use the
 login functionality from the last version of the BDK that did not
 incorporate 2FA authentication.
 4. Defect 744739 (Ticket # R16489435FY17) - Network Password Update on
 BGP causing issues.
 Problem:
 ========
 When the user updates the Network Password in the Background Processor,
 the system would randomly add an extra space to the end of the encrypted
 password stored in VistA, which causes the user issues when trying to log
 into other areas of VistA Imaging.
 Resolution:
 ===========
 The BP uses Kernel functions to generate encrypted passwords. If spaces
 exist in the encrypted password, the BP will continually re-encrypt the
 password until no spaces exist. The user may see an information window
 that says the password will be re-encrypted.  But there is no action
 required on the user's part, except clicking 'OK'.
 5. Defect 806306: BP Event Log Issue
 Problem:
 ========
 In the Event Log, of the BP Main Window, the value for 'Vista Imaging
 Install' incorrectly displays 3.0p196.
 Resolution:
 ===========
 The Event Log was fixed to correctly display the latest installed BP
 Patch (MAG*3.0*214).
 Test Sites:
 ===========
 The following sites are test sites for this patch:
         Oscar G. Johnson VAMC (Iron Mountain)
         Phoenix VA Healthcare System
         Syracuse VAMC (VISN2-Upstate NY)
 Software and Documentation Retrieval Instructions:
 ==================================================
 Software being released and/or documentation describing the new
 functionality introduced by this patch are available.
 Sites may retrieve the software and/or documentation directly using
 Secure File Transfer Protocol (SFTP) from the ANONYMOUS.SOFTWARE
 directory at the following OI Field Offices:
 Location        Site
 ========        ====
 Hines           domain.ext
 Salt Lake City  domain.ext
 Documentation can also be found on the VA Software Documentation Library
 at: http://www4.domain.ext/vdl/.
 Patch Installation:
 ===================
 Supported Client Versions
 =========================
 When MAG*3.0*214 is released, the list of supported versions of
 Background Processor will change:
 Supported Versions      No Longer Supported
 ==================      ===================
 3.0.214
 3.0.198
 3.0.196
 3.0.135
 Note: When a user enters invalid Access/Verify Codes while logging into
       VistA, the system gives them an error message.
 In patch 214, the Error message is hidden under the main Vista Sign-on
 window. The user has to move the VistA Sign-on window, then click 'OK' in
 the Error message window to be able to continue. A fix for this issue is
 scheduled for a future Background Processor patch.
 Pre/Post Installation Overview:
 ===============================
 MAG*3.0*214 KIDS must be installed on the VistA System prior to running
 the new executables.  This patch must be installed by the compliance date.
 All sites running VistA Imaging 3.0 must install the KIDS portion of this
 patch.  This patch may be loaded while the VistA Imaging System is
 active.  Installation will take less than one minute.
 Important: Any Background Processor applications that are running must be
            stopped and closed prior to the installation of the KIDS and
            Client software. Any image capture application (Clinical
            Capture and DICOM Gateway processing) can continue to run
            during the installation.

Use default answers for KIDS load/install questions.

Patch-Files: http://code.osehra.org/VistA.git/tree/master/Packages/Imaging/Patches/MAG_3.0_214
  • Loading branch information
josephsnyder committed May 20, 2019
1 parent b85d516 commit fe98219
Show file tree
Hide file tree
Showing 11 changed files with 438 additions and 32 deletions.
137 changes: 137 additions & 0 deletions Packages/Imaging/Routines/MAGBVAL.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
MAGBVAL ;WOIFO/GEK - BP Validate Site Params data array ; [ 12/27/2000 10:49 ]
;;3.0;IMAGING;**214**;Mar 19, 2002;Build 34;Jun 27, 2018
;; Per VHA Directive 2004-038, this routine should not be modified.
;; +---------------------------------------------------------------+
;; | Property of the US Government. |
;; | No permission to copy or redistribute this software is given. |
;; | Use of unreleased versions of this software requires the user |
;; | to execute a written test agreement with the VistA Imaging |
;; | Development Office of the Department of Veterans Affairs, |
;; | telephone (301) 734-0100. |
;; | The Food and Drug Administration classifies this software as |
;; | a medical device. As such, it may not be changed in any way. |
;; | Modifications to this software may result in an adulterated |
;; | medical device under 21CFR820, the use of which is considered |
;; | to be a violation of US Federal Statutes. |
;; +---------------------------------------------------------------+
;;
Q
VAL(MAGRY,MAGARRAY,ALL) ;RPC [MAGQBP VAL]
;Call to Validate some of the IMAGING SITE PARAMETERS values
; before the BP IMAGING SITE PARAMETERS Window is opened.
;
; Parameters :
; MAGARRAY - array of 'Field numbers' and Optionally '^' Value
; if the input array, MAGARRAY, has no value for a field,
; then we validate the current value of the field.
; example: MAGARRAY(1)="100^" Field# = 100 Value= ""
; so we would then get value from DataBase.
; ALL - "1" = Validate ALL fields, returning an array
; of error messages.
; "0" = Stop validating if an error occurs, return
; the error message in (0) node.
; ALL will default to 1, if it is null.
;
; Return Variable
; MAGRY() - Array
; Successful MAGRY(0) = 1^Image Data is Valid.
; UNsuccessful MAGRY(0) = 0^Error desc
; IF ALL then MAGRY(1..N) =0^Error desc of all errors
N MAGGFLD,MAGGDAT,MAGRES,MAGPLC,MAGIENS
N Y,AITEM,CT,MAGERR,DAT1,X
N MAGVAL,MAGVALLB
N $ETRAP,$ESTACK S $ETRAP="D ERR^"_$T(+0)
S ALL=$G(ALL,1)
S MAGPLC=$$DUZ2PLC^MAGBAPIP()
S MAGIENS=MAGPLC_","
S MAGRY(0)="0^Validating the Data Array..."
S MAGERR="",CT=0
; Do we have any data ?
I ($D(MAGARRAY)<10) S MAGRY(0)="0^No input data, Operation CANCELED" Q
; Loop through Input Array
S AITEM="" F S AITEM=$O(MAGARRAY(AITEM)) Q:AITEM="" D I $L(MAGERR) Q:'ALL S CT=CT+1,MAGRY(CT)=MAGERR,MAGERR=""
. S MAGERR=""
. S MAGGFLD=$P(MAGARRAY(AITEM),U,1),MAGGDAT=$P(MAGARRAY(AITEM),U,2,99)
. ; IF MAGGDAT = "" then get current Value.
. I MAGGDAT="" S MAGGDAT=$$GET1^DIQ(2006.1,MAGIENS,MAGGFLD,"I","MAGVAL")
. ; HERE we Validate the Data.
. I MAGGDAT="" Q ;This means no data was input, and the Field has no current Value.
. ;
. S DAT1=MAGGDAT
. I '$$VALID(2006.1,MAGGFLD,.MAGGDAT,.MAGRES) S MAGERR="0^"_MAGRES Q
. I DAT1'=MAGGDAT S MAGARRAY(AITEM)=MAGGFLD_"^"_MAGGDAT
. Q
;
; if there was an Error in data we'll quit now.
; If ALL is true, then MAGRY(1...N) will exist if there were errors.
I $O(MAGRY(0)) S MAGRY(0)="0^Errors were found in data." Q
; If ALL is false, then MAGERR will exist if there was an error.
I $L(MAGERR) S MAGRY(0)=MAGERR Q
;
; If all data is valid we get here.
S MAGRY(0)="1^Data is Valid."
Q
VALID(MAGF,MAGL,MAGD,MAGRES) ; call to validate value for field in a FM file.
; Function is boolean. Returns:
; 0 - Invalid
; 1 - Valid
; "" - Error
; Call this function before you set the FDA Array.
; MAGD - sent by reference because it could be Internal or External
; and if it is external and valid, it is changed to Internal.
;
; MAGF : File Number
; MAGL : Field Number
; MAGD : (sent by reference) data value of field
; MAGRES: (sent by reference) Result message
;
N MAGR,MAGMSG,MAGSP,MAGRESA,MAGPT
N MAGLABEL,MAGWIN
S MAGWIN=$$BROKER^XWBLIB ; If not MAGWIN, we can write to screen.
;if a BAD field number, Quit
I '$$VFIELD^DILFD(MAGF,MAGL) D Q 0
. S MAGRES="The field number: "_MAGL_", in File: "_MAGF_", is invalid."
;
D FIELD^DID(MAGF,MAGL,"","SPECIFIER;LABEL","MAGSP")
S MAGLABEL=MAGSP("LABEL")
; If it is a pointer field then:
; If an integer - We assume it is an IEN of Pointed to file. Validate that and Quit.
; If not integer - We assume it is external value, proceed to let CHK do validate
I (MAGSP("SPECIFIER")["P"),(+MAGD=MAGD) D Q MAGPT
. I $$EXTERNAL^DILFD(MAGF,MAGL,"",MAGD)'="" S MAGPT=1,MAGRES="Valid pointer" Q
. S MAGPT=0,MAGRES="The value '"_MAGD_"' for field: "_MAGLABEL_" is an invalid Pointer. "
. I 'MAGWIN W !,MAGF,!,MAGL
. ; we are only deleting the Default User Pref if it is bad.
. I (MAGL=100)&(MAGF=2006.1) D DEL(MAGF,MAGL,.MAGRES)
. Q
; here, so check external value.
D CHK^DIE(MAGF,MAGL,"E",MAGD,.MAGR,"MAGMSG")
; If success, Quit. We changed External to Internal. Internal is in MAGR
I MAGR'="^" S MAGD=MAGR Q 1
; If not success Get the error text and Quit 0
D MSG^DIALOG("A",.MAGRESA,245,5,"MAGMSG")
S MAGRES=MAGRESA(1)
Q 0
DEL(MAGF,MAGL,MAGRES) ;
I 'MAGWIN W !,"IN DEL File: ",MAGF," Field: ",MAGL
N MAGGMSG,MAGIENS
S X=$$DUZ2PLC^MAGBAPIP()
S MAGIENS=X_","
; For Default User Preference #100
; in Imaging site Parameters #2006.1
; we will delete the current value if it is invalid.
K MAGGFDA,MAGGMSG
S MAGGFDA(MAGF,MAGIENS,MAGL)="@"
D FILE^DIE("S","MAGGFDA","MAGGMSG")
I $D(MAGGMSG)=0 S MAGRES=MAGRES_" the value was Deleted."
;I $D(MAGGMSG)=10 S MAGRES=$G(MAGGMSG("DIERR",1,"TEXT",1))
I $D(MAGGMSG)=10 S MAGRES=MAGRES_" the attempt to Delete, Failed."
Q
ERR ;
N ERR
S ERR=$$EC^%ZOSV
S MAGRES="0^Error during data validation: "_ERR
D LOGERR^MAGGTERR(ERR)
D @^%ZOSF("ERRTN")
D CLEAN^DILF
Q
27 changes: 13 additions & 14 deletions Packages/Imaging/Routines/MAGQBUT4.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
MAGQBUT4 ;WOIFO/RMP - BP Utilities ;
;;3.0;IMAGING;**7,8,48,20,81,39,121,135,196,198**;Mar 19, 2002;Build 31;Apr 25, 2018
MAGQBUT4 ;WOIFO/RMP/GEK - BP Utilities ;
;;3.0;IMAGING;**7,8,48,20,81,39,121,135,196,198,214**;Mar 19, 2002;Build 34;Jun 27, 2018
;; Per VHA Directive 2004-038, this routine should not be modified.
;; +---------------------------------------------------------------+
;; | Property of the US Government. |
Expand All @@ -17,6 +17,17 @@
;;
;
Q
VOKR(RESULT,VER) ; RPC for VOK [MAGQ VOK]
;Patch 214 enables Clients 135, 196, 198, 214
N CLPATCH,SVRPATCH
; get client Patch number
S CLPATCH=$$TRIM($P(VER,"P",2))
; These are allowable Clients.
S SVRPATCH=",135,196,198,214," ; P 214 , continue to support 135, 196, 198
; if client patch is allowed, the Result = 1^...
I SVRPATCH[CLPATCH S RESULT="1^3.0P214"
E S RESULT="0^3.0P214"
Q
CONV(ARR,ICT) ;Convert any single node array to FM Style multiple
; The node subscripts of ARR are ignored, and not retained
; i.e. ARR(34)=8
Expand Down Expand Up @@ -112,18 +123,6 @@ S PV(0)="Version^Install Date"
. Q
Q
;
VOKR(RESULT,VER) ; RPC for VOK [MAGQ VOK]
;P196
N CLPATCH,SVRPATCH
; gek p196 allow 135 and 196 Client.
; get client Patch number
S CLPATCH=$$TRIM($P(VER,"P",2))
; These are allowable Clients.
S SVRPATCH=",135,196,198," ; P198, continue to support 135, 196.
; if client patch is allowed Result = 1^...
I SVRPATCH[CLPATCH S RESULT="1^3.0P196"
E S RESULT="0^3.0P196"
Q
OLD ;
S VER="3.0P"_($$TRIM($P(VER,"P",2)))
S X="ERR^MAGQBTM",@^%ZOSF("TRAP")
Expand Down
45 changes: 43 additions & 2 deletions Packages/Kernel/Globals/14.4+TASKS.zwr
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
OSEHRA ZGO Export: TASKS
20-MAY-2019 01:07:04 ZWR
^%ZTSK(-1)=4676
20-MAY-2019 02:09:46 ZWR
^%ZTSK(-1)=4680
^%ZTSK(0)="TASKS^14.4^4344"
^%ZTSK(1001,0)="TASK^XMXBULL^16^^63957,36927^63957,36927^R^^^PATCH,USER^PLA^PLA^ZTDESC^^"
^%ZTSK(1001,.02)="^PLA^^"
Expand Down Expand Up @@ -43952,6 +43952,47 @@ OSEHRA ZGO Export: TASKS
^%ZTSK(4676,.3,"DUZ(",0)="@"
^%ZTSK(4676,.3,"XQSCH")=8
^%ZTSK(4676,.3,"XQY")=9891
^%ZTSK(4677,0)="HOUR^XUTMHR^.5^^65153,7496^65153,7496^R^^^POSTMASTER^VISTA^VISTA^ZTDESC^^"
^%ZTSK(4677,.02)="^VISTA^^"
^%ZTSK(4677,.03)="Taskman Hourly Job"
^%ZTSK(4677,.04)=5629226696
^%ZTSK(4677,.1)="B^65153,7556^Task's volume set not listed in index.^^^^^^"
^%ZTSK(4677,.2)=""
^%ZTSK(4677,.21)=""
^%ZTSK(4677,.25)=""
^%ZTSK(4678,0)="ZTSK^XQ1^.5^VISTA^65153,7556^65153,7556^O^8853^HL AUTOSTART LINK MANAGER^POSTMASTER^VISTA^VISTA^ZTDESC^VISTA^"
^%ZTSK(4678,.02)="^VISTA^^"
^%ZTSK(4678,.03)="No Description (%ZTLOAD)"
^%ZTSK(4678,.04)=5629226756
^%ZTSK(4678,.1)="B^65153,7558^Task's volume set not listed in index.^^^^^^"
^%ZTSK(4678,.2)=""
^%ZTSK(4678,.21)=""
^%ZTSK(4678,.25)=""
^%ZTSK(4678,.3,"DUZ(",0)="@"
^%ZTSK(4678,.3,"XQSCH")=10
^%ZTSK(4678,.3,"XQY")=8853
^%ZTSK(4679,0)="ZTSK^XQ1^.5^VISTA^65153,7556^65153,7556^O^8412^HL TASK RESTART^POSTMASTER^VISTA^VISTA^ZTDESC^VISTA^"
^%ZTSK(4679,.02)="^VISTA^^"
^%ZTSK(4679,.03)="No Description (%ZTLOAD)"
^%ZTSK(4679,.04)=5629226756
^%ZTSK(4679,.1)="B^65153,7560^Task's volume set not listed in index.^^^^^^"
^%ZTSK(4679,.2)=""
^%ZTSK(4679,.21)=""
^%ZTSK(4679,.25)=""
^%ZTSK(4679,.3,"DUZ(",0)="@"
^%ZTSK(4679,.3,"XQSCH")=11
^%ZTSK(4679,.3,"XQY")=8412
^%ZTSK(4680,0)="ZTSK^XQ1^.5^VISTA^65153,7556^65153,7556^O^9891^XOBV LISTENER STARTUP^POSTMASTER^VISTA^VISTA^ZTDESC^VISTA^"
^%ZTSK(4680,.02)="^VISTA^^"
^%ZTSK(4680,.03)="No Description (%ZTLOAD)"
^%ZTSK(4680,.04)=5629226756
^%ZTSK(4680,.1)="B^65153,7562^Task's volume set not listed in index.^^^^^^"
^%ZTSK(4680,.2)=""
^%ZTSK(4680,.21)=""
^%ZTSK(4680,.25)=""
^%ZTSK(4680,.3,"DUZ(",0)="@"
^%ZTSK(4680,.3,"XQSCH")=8
^%ZTSK(4680,.3,"XQY")=9891
^%ZTSK(1082462,.1)="E^64013,39495^Interrupted While Running"
^%ZTSK(1082463,.1)="E^64013,39495^Interrupted While Running"
^%ZTSK(1082464,.1)="E^64013,39495^Interrupted While Running"
Expand Down
Loading

0 comments on commit fe98219

Please sign in to comment.