STANDARD DATA DICTIONARY #9.9 -- PATCH MONITOR FILE 9/29/25 PAGE 1
STORED IN ^XPD(9.9, (5670 ENTRIES) SITE: WWW.BMIRWIN.COM UCI: VISTA,VISTA (VERSION 7.3)
DATA NAME GLOBAL DATA
ELEMENT TITLE LOCATION TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file contains VistA patch information which is stored by a server option when a patch arrives to G.PATCHES at a site. The
server extracts certain information and stores it here.
A night-time program will then check the file, match it against the install file. If the current date is past the compliance date
for patch installation (typically 30 days for regular patches, three days for emergency patches) it will do one of two things:
1. If the patch has been installed since last run and the parameter file is set in field 3 to delete installed patches, it
will delete the entry from this file, regardless of the number of days in field 2. If the parameter file is set to leave patches,
it is not deleted.
2. If the patch has NOT been installed, its information will be saved and reported via a mail message to a group.
The person(s) who are in charge of monitoring patches at the site or perhaps for the VISN will be responsible for following up on
delinquent patches.
DD ACCESS: @
RD ACCESS: #
WR ACCESS: @
DEL ACCESS: @
LAYGO ACCESS: @
AUDIT ACCESS: #
CROSS
REFERENCED BY: PATCH NAME(B), DATE OF RECEIPT(C), COMPLIANCE DATE(D), NON-KIDS INSTALL DATE(E)
LAST MODIFIED: MAR 14,2024@19:43:23
9.9,.01 PATCH NAME 0;1 FREE TEXT (Required)
INPUT TRANSFORM: K:$L(X)>20!($L(X)<3)!'(X'?1P.E) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: Answer must be 3-20 characters in length.
DESCRIPTION: This is the name of the patch as it comes in the mail message.
Examples: RMIM*1*1
DG*5.3*211
CROSS-REFERENCE: 9.9^B
1)= S ^XPD(9.9,"B",$E(X,1,30),DA)=""
2)= K ^XPD(9.9,"B",$E(X,1,30),DA)
9.9,1 DATE OF RECEIPT 0;2 DATE
INPUT TRANSFORM: S %DT="EX" D ^%DT S X=Y K:Y<1 X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: The date the patch was received in-house.
DESCRIPTION:
This is the date the patch was received in-house.
CROSS-REFERENCE: 9.9^C
1)= S ^XPD(9.9,"C",$E(X,1,30),DA)=""
2)= K ^XPD(9.9,"C",$E(X,1,30),DA)
Index by Date of Receipt.
9.9,2 PRIORITY 0;3 SET
'm' FOR MANDATORY;
'e' FOR EMERGENCY;
LAST EDITED: JUL 21, 2005
HELP-PROMPT: Enter the priority of the patch. Type ? for help.
DESCRIPTION:
The priority assigned to this patch. Typical is "mandatory".
9.9,3 PARENT PACKAGE 0;4 FREE TEXT
INPUT TRANSFORM: K:$L(X)>35!($L(X)<3) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: The parent package of the patch.
DESCRIPTION: This is the package for which the patch was issued.
This field must be free text because of the possibility of having a patch issued for a new package
without the package having been installed yet.
9.9,4 SEQUENCE NUMBER 0;5 NUMBER
INPUT TRANSFORM: K:+X'=X!(X>999999999999)!(X<1)!(X?.E1"."1N.N) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: The sequence number of the patch.
DESCRIPTION:
This is the sequence number assigned to the patch by the National Patch Module.
9.9,5 PACKAGE VERSION 0;6 FREE TEXT
INPUT TRANSFORM: K:$L(X)>10!($L(X)<1) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: The version assignment of the parent package.
DESCRIPTION: This is the version of the parent package for which a patch is sent. It is determined from the
patch information in the message.
9.9,6 PATCH SUBJECT 0;7 FREE TEXT
INPUT TRANSFORM: K:$L(X)>50!($L(X)<3) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: Answer must be 3-50 characters in length.
DESCRIPTION:
This is the subject of the patch.
9.9,7 INSTALL NAME 0;8 FREE TEXT
INPUT TRANSFORM: K:$L(X)>35!($L(X)<3) X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: Answer must be 3-35 characters in length.
DESCRIPTION: The installation information may or may not be in the INSTALL file for a patch. This may be
because of:
a. The package is new and may not yet be loaded
but already has patches issued.
b. The patch is a non-kids patch for executables, etc.
9.9,8 COMPLIANCE DATE 0;9 DATE
INPUT TRANSFORM: S %DT="EX" D ^%DT S X=Y K:Y<1 X
LAST EDITED: JUL 21, 2005
HELP-PROMPT: This is the date the patch must be installed by.
DESCRIPTION:
This is the date by which the patch must be installed.
CROSS-REFERENCE: 9.9^D
1)= S ^XPD(9.9,"D",$E(X,1,30),DA)=""
2)= K ^XPD(9.9,"D",$E(X,1,30),DA)
Index by Compliance Date.
9.9,9 DATE INSTALLED ; COMPUTED
MUMPS CODE: D ^XTPMKPCF
ALGORITHM: D ^XTPMKPCF
LAST EDITED: JUN 14, 2007
DESCRIPTION: This is a computed field, driven by a mumps routine XTPMKPCF. This is a special routine to
calculate the date installed from the INSTALL file. It reads the index backwards to find the last
installed version by taking the $O(^XPD(9.7,"B",[INSTALL NAME],9999999999),-1).
This is done because there may be several test versions on file in INSTALL file which may affect
the true installation date determination.
9.9,10 INSTALLED BY ; COMPUTED
MUMPS CODE: D WHO^XTPMKPCF
ALGORITHM: D WHO^XTPMKPCF
LAST EDITED: AUG 02, 2005
DESCRIPTION: This is a computed field driven also by the routine AWBCKPCF at entry point WHO. It tells who
installed the patch.
9.9,11 NON-KIDS PATCH? 0;10 SET
'1' FOR YES;
LAST EDITED: JUL 21, 2005
HELP-PROMPT: Enter 1 if a Non-KIDS patch.
DESCRIPTION: This field determines what happens in various areas of the package. A patch can be KIDs or
non-KIDs. The data on a patch record can be either NULL (KIDs patch) or 1 (Non-KIDs patch). The
field can actually be only set to a 1 or the information deleted (NULL).
9.9,12 NON-KIDS INSTALL DATE 0;11 DATE
INPUT TRANSFORM: S %DT="ESTX" D ^%DT S X=Y K:X<1 X
LAST EDITED: DEC 11, 2023
HELP-PROMPT: Enter date for NON-KIDS install.
DESCRIPTION: Non-KIDs patches are those which do not have an accompanying KIDs install in the Packman message
because:
It may have an accompanying host file (too large for a mail message) or
It may be a patch message referring to a .zip, .exe or other file which will not put an entry into
the INSTALL file.
Because of this, there is no install record to extract the install date and it must be entered
(i.e., completed) by filling in this field.
CROSS-REFERENCE: 9.9^E
1)= S ^XPD(9.9,"E",$E(X,1,30),DA)=""
2)= K ^XPD(9.9,"E",$E(X,1,30),DA)
Index by Non-Kids Install Date.
9.9,13 NON-KIDS PATCH COMPLETED BY 0;12 POINTER TO NEW PERSON FILE (#200)
LAST EDITED: JUL 21, 2005
HELP-PROMPT: This is the name of the person who completed the non-KIDs patch.
DESCRIPTION:
This is a pointer to file 200 to record who completed the non-KIDs patch.
FILES POINTED TO FIELDS
NEW PERSON (#200) NON-KIDS PATCH COMPLETED BY (#13)
INPUT TEMPLATE(S):
XTPM COMPLETE NON-KIDS PATCH JUL 21, 2005@06:43 USER #0
XTPM EDIT PATCH JUL 21, 2005@07:57 USER #0
PRINT TEMPLATE(S):
CAPTIONED USER #0
XTPM COMPLETE PATCH HISTORY JUN 15, 2007@10:18 USER #0 COMPLETE PATCH INSTALLATION HISTORY
XTPM UNINSTALLED BY COMPLIANCEJUL 21, 2005@09:30 USER #0 UNINSTALLED PATCHES BY COMPLIANCE DATE
SORT TEMPLATE(S):
XTPM COMPLETE PATCH HISTORY JUL 21, 2005@08:02 USER #0
SORT BY: @COMPLIANCE DATE;S1// ( COMPLIANCE DATE not null)
WITHIN COMPLIANCE DATE, SORT BY: PATCH NAME// ( PATCH NAME not null)
Prints a complete patch installation history.
XTPM UNINSTALLED BY COMPLIANCEJUL 21, 2005@09:27 USER #0
SORT BY: @COMPLIANCE DATE;S// (COMPLIANCE DATE from Jan 1,1901 to Dec 31,2499@24:00)
WITHIN COMPLIANCE DATE, SORT BY: PATCH NAME// ( PATCH NAME not null)
WITHIN PATCH NAME, SORT BY: $S(NON-KIDS PATCH?="YES":NON-KIDS INSTALL DATE,1:DATE INSTALLED)="";L1// ($S(NON-KIDS PATCH?=""YES"":NON-KIDS INSTALL DATE,1:DATE INSTALLED)="""")
Uninstalled patches by compliance date.
FORM(S)/BLOCK(S):