Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: GMTSP129

GMTSP129.m

Go to the documentation of this file.
  1. GMTSP129 ; SLC/DJH - Patch 129 post-install routine ;6/6/19 4:00pm
  1. ;;2.7;Health Summary;**129**;Oct 20, 1995;Build 8
  1. ;Per VHA Directive 2004-038, this routine should not be modified
  1. Q
  1. ; This routine is a part of patch GMTS*2.7*129 that is supporting patch SOW*3.0*65 (which will completely
  1. ; decommission the Social Work (SOW) package from VistA) and remove all Social Work GMTS code and components
  1. ; This routine is marking Health Summary Components for Social Work as inactive by setting the DISABLE FLAG
  1. ; field to P (Permanent). This will make the component non-selectable for use, and prevents the component
  1. ; from being printed in any Health Summary in which it is included.
  1. ;
  1. ; DBIA# SUPPORTED
  1. ; ----- --------------------------------------
  1. ; 10013 ^DIK
  1. ;
  1. EN ; Entry point
  1. ;
  1. ROUT ; remove routines from ^DIC(9.8
  1. N SPNI,DA,DIK
  1. S SPNI=0 S SPNI=$O(^DIC(9.8,"B","GMTSSOWZ",SPNI)) D
  1. . Q:'SPNI S DA=SPNI,DIK="^DIC(9.8," D ^DIK K DA,DIK
  1. S SPNI=0 S SPNI=$O(^DIC(9.8,"B","GMTSSOWK",SPNI)) D
  1. . Q:'SPNI S DA=SPNI,DIK="^DIC(9.8," D ^DIK K DA,DIK
  1. ;
  1. ;keep record of deleted records for 60 days
  1. S ^XTMP("GMTSP129",0)=$$FMADD^XLFDT($$NOW^XLFDT,60)_U_$$NOW^XLFDT
  1. ;
  1. ; Find all HS Component that contain GMTSSOW* in the PRINT ROUTINE
  1. COMP N GMTIEN,CNT,GMTCMP,GMTIEN2
  1. S GMTIEN=0 F S GMTIEN=$O(^GMT(142.1,GMTIEN)) Q:'GMTIEN D
  1. . Q:$G(^GMT(142.1,GMTIEN,0))']""
  1. . Q:($P(^GMT(142.1,GMTIEN,0),U,2)'["GMTSSOW")
  1. . S GMTCMP(GMTIEN)=$P(^GMT(142.1,GMTIEN,0),U)
  1. . M ^XTMP("GMTSP129",142.1,GMTIEN)=^GMT(142.1,GMTIEN)
  1. ;
  1. ; Generate 0 found msg and quit
  1. I '$O(GMTCMP(0)) D Q
  1. . S CNT=1
  1. . S MSG(CNT)="",CNT=CNT+1
  1. . S MSG(CNT)="PATCH GMTS*2.7*129 completed processing successfully.",CNT=CNT+1
  1. . S MSG(CNT)="",CNT=CNT+1
  1. . S MSG(CNT)="This patch found 0 Health Summary components with field PRINT ROUTINE ",CNT=CNT+1
  1. . S MSG(CNT)="containing GMTSSOWK.",CNT=CNT+1
  1. . S MSG(CNT)=""
  1. . S XMSUB="PATCH GMTS*2.7*129 INSTALL",XMTEXT="MSG(",XMDUZ="Patch GMTS*2.7*129"
  1. . S XMY(DUZ)=""
  1. . D ^XMD
  1. ;
  1. S GMTCMP=0 F S GMTCMP=$O(GMTCMP(GMTCMP)) Q:'GMTCMP D
  1. . S GMTIEN=0 F S GMTIEN=$O(^GMT(142,"AE",GMTCMP,GMTIEN)) Q:'GMTIEN D
  1. . . S GMTCMP(GMTCMP,GMTIEN)=$P(^GMT(142,GMTIEN,0),U)
  1. . . S GMTIEN2=0 F S GMTIEN2=$O(^GMT(142,"AE",GMTCMP,GMTIEN,GMTIEN2)) Q:'GMTIEN2 D
  1. . . . S GMTCMP(GMTCMP,GMTIEN,GMTIEN2)=""
  1. . . . M ^XTMP("GMTSP129",142,GMTIEN,GMTIEN2)=^GMT(142,GMTIEN,1,GMTIEN2)
  1. ;
  1. ; set disabled field
  1. S GMTCMP=0 F S GMTCMP=$O(GMTCMP(GMTCMP)) Q:'GMTCMP D
  1. . N DA,DIE
  1. . S DA=GMTCMP,DIE="^GMT(142.1," S DR="5////P" D ^DIE K DIE
  1. . ; remove from health summary type
  1. . S GMTIEN=0 F S GMTIEN=$O(GMTCMP(GMTCMP,GMTIEN)) Q:'GMTIEN D
  1. . . S GMTIEN2=0 F S GMTIEN2=$O(GMTCMP(GMTCMP,GMTIEN,GMTIEN2)) Q:'GMTIEN2 D
  1. . . . ; GMTCMP = IEN IN #142.1, GMTIEN = IEN IN #142, GMTIEN2 = SUB IEN IN 1 RECORD OF #142
  1. . . . ; DELETE FROM #142
  1. . . . S DA(2)=142,DA(1)=GMTIEN,DA=GMTIEN2,DIK="^GMT("_DA(2)_","_DA(1)_",1," D ^DIK
  1. ;
  1. MAIL ;
  1. N XMY,XMDUZ,XMSUB,XMTEXT,DIE,DA,DR,MSG
  1. S CNT=1
  1. S XMY(DUZ)=""
  1. S XMSUB="PATCH GMTS*2.7*129 INSTALL",XMTEXT="MSG(",XMDUZ="Patch GMTS*2.7*129"
  1. S MSG(CNT)="",CNT=CNT+1
  1. S MSG(CNT)="PATCH GMTS*2.7*129 completed processing successfully.",CNT=CNT+1
  1. S MSG(CNT)="",CNT=CNT+1
  1. S MSG(CNT)="These Health Summary Component(s) were marked permanently disabled",CNT=CNT+1
  1. S GMTCMP=0 F S GMTCMP=$O(GMTCMP(GMTCMP)) Q:'GMTCMP D
  1. . S MSG(CNT)=GMTCMP(GMTCMP),CNT=CNT+1
  1. S MSG(CNT)="",CNT=CNT+1
  1. S MSG(CNT)="The above Components were deleted from these Health Summary Types:",CNT=CNT+1
  1. ;
  1. S GMTCMP=0 F S GMTCMP=$O(GMTCMP(GMTCMP)) Q:'GMTCMP D
  1. . S GMTIEN=0 F S GMTIEN=$O(GMTCMP(GMTCMP,GMTIEN)) Q:'GMTIEN D
  1. . . S MSG(CNT)=GMTCMP(GMTCMP,GMTIEN),CNT=CNT+1
  1. ;SEND MAIL MSG
  1. D ^XMD
  1. Q