Episode17

Determine if a KIDS patch is already installed
EVE-->Fileman-->Inquire-->Install then the patch you are inquiring about. GMRV*5.0
 * To determine if a KIDS patch is already installed go
 * Enter all or part of the KIDS patch name, usually asterisk delimited like
 * This will let you see a list of all the GMRV 5.0 patches and when they were installed.

KIDS patch install best practice
First appeared here: http://groups.google.com/group/hardhats/browse_frm/thread/392e49c54b683559/c5415573158c1d20?q=#c5415573158c1d20

From: "Ignacio Valdes"  Local: Thurs, Oct 23 2008 3:43 pm Subject: Intracare Implementation Log Episode 17: KIDs Patch Install Best Practice.

Recent attempts to KIDs patch WorldVistA EHR/VOE 1.0 to 'cross the streams' with Medsphere CIS resulted in this terminal session which reflects how to do a KIDs patch with best practices for doing it, not just loading it and installing it. In other words, this is how a professional does a KIDs patch which did not (but almost did) complete in this particular case and we are working on a solution:

Setting up programmer environment This is a TEST account.

Terminal Type set to: C-VT100

Select OPTION NAME: XPD MAIN      Kernel Installation & Distribution System

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Kernel Installation & Distribution System Option: Installation

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 1 Load a Distribution Enter a Host File: /home/vista/MSCGMAG5.KID

KIDS Distribution saved on Nov 09, 2006@13:05:07 Comment: gft

This Distribution contains Transport Globals for the following Package(s): MSCGMAG*1.0*5 Distribution OK!

Want to Continue with Load? YES// Loading Distribution...

MSCGMAG*1.0*5 Use INSTALL NAME: MSCGMAG*1.0*5 to install this Distribution.

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 2 Verify Checksums in Transport Global Select INSTALL NAME:   MSCGMAG*1.0*5     Loaded from Distribution     Loaded fr om Distribution  10/22/08@12:24:30 => gft ;Created on Nov 09, 2006@13:05:07

This Distribution was loaded on Oct 22, 2008@12:24:30 with header of  gft  ;Created on Nov 09, 2006@13:05:07 It consisted of the following Install(s): MSCGMAG*1.0*5

Want each Routine Listed with Checksums: Yes//  YES DEVICE: HOME//  TELNET

PACKAGE: MSCGMAG*1.0*5    Oct 22, 2008 12:24 pm                      PAGE 1 ---

MSCGMAG  Calculated   10787194 MSCGPT   Calculated   23171150

2 Routines checked, 0 failed.

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 3 Print Transport Global Select INSTALL NAME:   MSCGMAG*1.0*5     Loaded from Distribution     Loaded fr om Distribution  10/22/08@12:24:30 => gft ;Created on Nov 09, 2006@13:05:07

This Distribution was loaded on Oct 22, 2008@12:24:30 with header of  gft  ;Created on Nov 09, 2006@13:05:07 It consisted of the following Install(s): MSCGMAG*1.0*5 DEVICE: HOME//  TELNET

PACKAGE: MSCGMAG*1.0*5    Oct 22, 2008 12:24 pm                      PAGE 1 --- TYPE: SINGLE PACKAGE TRACK NATIONALLY: NO NATIONAL PACKAGE: ALPHA/BETA TESTING: NO DESCRIPTION:MEDSPHERE INSTALLATION OF IMAGING

'MSCGMAG CAT IMAGES' RPC gets images for a patient by CATEGORY

Sample test call: MIDLAND>D CATEGORY^MSCGMAG(.GFT,55536,67) ZW GFT

ENVIRONMENT CHECK :                           DELETE ENV ROUTINE: No PRE-INIT ROUTINE :                       DELETE PRE-INIT ROUTINE: No POST-INIT ROUTINE :                      DELETE POST-INIT ROUTINE: No PRE-TRANSPORT RTN :

Enter RETURN to continue or '^' to exit:

PACKAGE: MSCGMAG*1.0*5    Oct 22, 2008 12:24 pm                      PAGE 2 UP   SEND  DATA                USER DATE SEC.  COMES  SITE   RSLV  OVER FILE #     NAME                         DD    CODE  W/FILE DATA   PTS   RIDE ---

2005.02    OBJECT TYPE                  YES   YES   YES    OVER   NO    NO

2005.2     NETWORK LOCATION             YES   NO    NO Partial DD: subDD: 2005.2     fld: 1 fld: 20 DATA SCREEN:

ROUTINE: MSCGMAG                                       SEND TO SITE MSCGPT                                        SEND TO SITE

Security Key: MAG DELETE                                    SEND TO SITE

Enter RETURN to continue or '^' to exit:

PACKAGE: MSCGMAG*1.0*5    Oct 22, 2008 12:24 pm                      PAGE 3 ---  MAGCAP MED GEN                                 SEND TO SITE MAGCAP PHOTOID                                SEND TO SITE MAGCAP TIU                                    SEND TO SITE MSCGMAGSAV                                    SEND TO SITE

REMOTE PROCEDURE: MAGGUSERKEYS                                  SEND TO SITE MSCGMAG CAT IMAGES                            SEND TO SITE MSCGMAG CPRS TIU NOTE                         SEND TO SITE MSCGMAG GROUP IMAGES                          SEND TO SITE MSCGMAG PAT IMAGES                            SEND TO SITE MSCGMAG PAT PHOTOS                            SEND TO SITE MSCGPT LOOKUP MASKS                           SEND TO SITE

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option:

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Kernel Installation & Distribution System Option: 4 ??

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Kernel Installation & Distribution System Option: installation

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 4 Compare Transport Global to Current System Select INSTALL NAME:   MSCGMAG*1.0*5     Loaded from Distribution     Loaded fr om Distribution  10/22/08@12:24:30 => gft ;Created on Nov 09, 2006@13:05:07

This Distribution was loaded on Oct 22, 2008@12:24:30 with header of  gft  ;Created on Nov 09, 2006@13:05:07 It consisted of the following Install(s): MSCGMAG*1.0*5

Select one of the following:

1        Full Comparison 2        Second line of Routines only 3        Routines only 4        Columnar Routine compare

Type of Compare: 1 Full Comparison DEVICE: HOME//  TELNET Compare MSCGMAG*1.0*5 to current site ---

ADD Routine: MSCGMAG

ADD Routine: MSCGPT

File # 2005.02 Data Dictionary


 * OLD *  ^DD(2005.02,0,"DDA") = N
 * NEW *  ^DD(2005.02,0,"DDA") = Y

File # 2005.02 Data

URL will be ADDED
 * DEL *  ^MAG(2005.02,1,1,"B","DISPABST.MAGWABS",1) =
 * DEL *  ^MAG(2005.02,1,1,"B","DISPABST.MAGWABS",3) =
 * DEL *  ^MAG(2005.02,1,1,"B","DISPLAY.MAGSTI",2) =
 * OLD *  ^MAG(2005.02,1,1,0) = ^2005.21^1^3
 * NEW *  ^MAG(2005.02,1,1,0) = ^2005.21^3^3
 * DEL *  ^MAG(2005.02,1,1,"B","DISPABST.MAGWABS",1) =
 * DEL *  ^MAG(2005.02,1,1,"B","DISPABST.MAGWABS",3) =
 * DEL *  ^MAG(2005.02,1,1,"B","DISPLAY.MAGSTI",2) =
 * DEL *  ^MAG(2005.02,3,1,"B","DISPABST.MAGWABS",5) =
 * DEL *  ^MAG(2005.02,3,1,"B","DISPLAY.MAGRXRY",4) =
 * DEL *  ^MAG(2005.02,9,1,"B","DISPABST.MAGWABS",4) =
 * DEL *  ^MAG(2005.02,9,1,"B","DISPLAY.MAGOBW",6) =
 * DEL *  ^MAG(2005.02,10,1,"B","DISPABST.MAGKABS",3) =
 * DEL *  ^MAG(2005.02,10,1,"B","DISPLAY.MAGKDIS",1) =
 * DEL *  ^MAG(2005.02,11,1,"B","DISPABST.MAGKDGP1",1) =
 * DEL *  ^MAG(2005.02,11,1,"B","DISPCINE.MAGCIN",3) =
 * DEL *  ^MAG(2005.02,11,1,"B","DISPLAY.MAGKDGP",2) =
 * DEL *  ^MAG(2005.02,12,1,"B","DISPABST.MAGKABS",3) =
 * DEL *  ^MAG(2005.02,12,1,"B","DISPLAY.MAGKDISP",1) =
 * DEL *  ^MAG(2005.02,13,1,"B","DISPABST.MAGOECGA",4) =
 * DEL *  ^MAG(2005.02,13,1,"B","DISPLAY.MAGOECGF",5) =
 * DEL *  ^MAG(2005.02,14,1,"B","DISPABST.MAGKDGP1",2) =
 * DEL *  ^MAG(2005.02,14,1,"B","DISPLAY.MAGCIN",1) =
 * DEL *  ^MAG(2005.02,16,1,"B","DISPABST.MAGKDGP1",1) =
 * DEL *  ^MAG(2005.02,17,1,"B","DISPABST.MAGRDOS1",1) =
 * DEL *  ^MAG(2005.02,17,1,"B","DISPLAY.MAGRDOS1",2) =

File # 2005.2 Data Dictionary

(X?1"\\".E1"\".E1"\")!(X?1A1":\"1E.E1"\")!($P($$UPPER^MAGQE4(X),"//")["HTTP")) X ice. Answer must be 1-120 character in length. ice. Answer must be 1-63 character in length.
 * OLD *  ^DD(2005.2,1,0) = PHYSICAL REFERENCE^RFX^^0;2^K:$L(X)>120!($L(X)<1)!'(
 * NEW *  ^DD(2005.2,1,0) = PHYSICAL REFERENCE^RFX^^0;2^K:$L(X)>63!($L(X)<1) X
 * OLD *  ^DD(2005.2,1,3) = Enter the name of the physical location for this dev
 * NEW *  ^DD(2005.2,1,3) = Enter the name of the physical location for this dev
 * OLD *  ^DD(2005.2,1,"DT") = 3050707
 * NEW *  ^DD(2005.2,1,"DT") = 3030220
 * OLD *  ^DD(2005.2,20,0) = SYNTAX^S^UNC:UNC;^4;1^Q
 * NEW *  ^DD(2005.2,20,0) = SYNTAX^S^URL:URL;^4;1^Q

Security Key

Security Key: MSCGMAGSAV will be ADDED
 * OLD *  ^DIC(19.1,328,1,0) = ^^3^3^2950322^^^
 * NEW *  ^DIC(19.1,328,1,0) = ^19.11^3^3^3060412^^^^

REMOTE PROCEDURE

REMOTE PROCEDURE: MSCGMAG PAT IMAGES will be ADDED REMOTE PROCEDURE: MSCGMAG GROUP IMAGES will be ADDED REMOTE PROCEDURE: MSCGMAG CPRS TIU NOTE will be ADDED REMOTE PROCEDURE: MSCGMAG PAT PHOTOS will be ADDED REMOTE PROCEDURE: MSCGPT LOOKUP MASKS will be ADDED REMOTE PROCEDURE: MSCGMAG CAT IMAGES will be ADDED

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 5 Backup a Transport Global Select INSTALL NAME:   MSCGMAG*1.0*5     Loaded from Distribution     Loaded fr om Distribution  10/22/08@12:24:30 => gft ;Created on Nov 09, 2006@13:05:07

This Distribution was loaded on Oct 22, 2008@12:24:30 with header of  gft  ;Created on Nov 09, 2006@13:05:07 It consisted of the following Install(s): MSCGMAG*1.0*5 Subject: Backup of MSCGMAG*1.0*5 install on Oct 22, 2008 Replace Loading Routines for MSCGMAG*1.0*5 Routine MSCGMAG is not on the disk.. Routine MSCGPT is not on the disk.. Send mail to: VALDES,IGNACIO//  VALDES,IGNACIO Select basket to send to: IN// And Send to:

You have PENDING ALERTS Enter "VA to jump to VIEW ALERTS option

Select Installation Option: 6 Install Package(s) Select INSTALL NAME:   MSCGMAG*1.0*5     Loaded from Distribution     Loaded fr om Distribution  10/22/08@12:24:30 => gft ;Created on Nov 09, 2006@13:05:07

This Distribution was loaded on Oct 22, 2008@12:24:30 with header of  gft  ;Created on Nov 09, 2006@13:05:07 It consisted of the following Install(s): MSCGMAG*1.0*5

Checking MSCGMAG*1.0*5 for overlap with VOE 1.0 .... OK           No overlap found

Checking MSCGMAG*1.0*5 for overlap with VOE 1.1 .... OK           No overlap found

Checking MSCGMAG*1.0*5 for overlap with NO HOME 1.0 .... OK           No overlap found

Checking Install for Package MSCGMAG*1.0*5

Install Questions for MSCGMAG*1.0*5

Incoming Files:

2005.02  OBJECT TYPE  (including data) Note: You already have the 'OBJECT TYPE' File. I will OVERWRITE your data with mine.

2005.2   NETWORK LOCATION  (Partial Definition) Note: You already have the 'NETWORK LOCATION' File.

Want KIDS to INHIBIT LOGONs during the install? YES// Want to DISABLE Scheduled Options, Menu Options, and Protocols? YES// NO

Enter the Device you want to print the Install messages. You can queue the install by enter a 'Q' at the device Prompt. Enter a '^' to abort the install.

DEVICE: HOME//  TELNET MSCGMAG*1.0*5 ────────────────────────────────────────────────────────────────────────────────

Install Started for MSCGMAG*1.0*5 : Oct 22, 2008@12:27:36

Build Distribution Date: Nov 09, 2006

Installing Routines: Oct 22, 2008@12:27:36

Installing Data Dictionaries: Oct 22, 2008@12:27:36

Installing Data:

AC+3^MAGUXRF, Global variable undefined: ^MAG(2005.02,150372994,-%GTM-E-GVUNDEF

────────────────────────────────────────────────────────────────────────────────         ┌────────────────────────────────────────────────────────────┐  100%    │             25             50             75               │ Complete  └────────────────────────────────────────────────────────────┘

Install MSCGMAG*1.0*5 has encountered an Error. Enter "VA to jump to VIEW ALERTS option

Select Installation Option: "VA 2. kdtop3  Local: Fri, Oct 24 2008 7:05 pm

Ignacio,

I'm not sure what your question was, other than what to do with the crash. But I am facing the same thing when I install patches for drug files.

I find that the writers of these patches like to assume that everything is as it should be. They just charge ahead and reference global nodes that don't exist, and then you get the crash mentioned above.

To address this, I see what routine is being run, then edit it to try to figure out where the bad pointer is, and then try to fix that bad pointer in my system. It's a thankless job.

Kevin

3. Frederick D. S. Marshall Local: Mon, Oct 27 2008 10:15 am

Dear Kevin,

In a development or test account, an undefined error can be a great boon, helping to identify defects in the code, the database, or both. In a production account, an undefined error is a sign that the code is not quite ready for prime time. Between $DATA and $GET, MUMPS gives us all the tools we need to gracefully handle undefined global nodes. The developers need to be given the time they need to finish bulletproofing the code before it is released, and they need to be committed to that bulletproofing.

No matter how hard a developer tries to anticipate problems, there will always be certain problems that escape testing and show up only in a production environment. Undefined errors are not among those.

Yours truly,

Rick