STANDARD DATA DICTIONARY #9.9 -- PATCH MONITOR FILE                                                               3/24/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):