GMTSPOS1 ;SLC/SBW - Smart routine installer and Comp. Disabler ;22/MAR/95
 ;;2.7;Health Summary;**129**;Oct 20, 1995;Build 8
 ;Per VHA Directive 2004-038, this routine should not be modified
PSO ; Controls Outpatient Pharmacy install
 N GMPSOVER
 ;If Health Summary is absent, then quit
 I '$L($T(^PSOHCSUM)) Q
 S GMPSOVER=$$VERSION^XPDUTL("PSO")
 D PSOINST(GMPSOVER)
 Q
PSOINST(VERSION) ; Install routine corresponding to HS version in
 ;                 target account
 ; If the patch is already installed, then quit w/o overwriting
 N DIE,DIF,GMMSG,X,XCN,XCNP
 I VERSION'<6.0 Q
 W !,"** Installing GMTSPSO routine for Outpatient Pharmacy component. **"
 W !,"   Outpatient Pharmacy version ",VERSION," is installed in this account.",!
 S X="GMTSPSZO",XCNP=0,DIF="^UTILITY(""GMTSPSZO""," X ^%ZOSF("LOAD") W !,"Renaming GMTSPSZO as GMTSPSO."
 S X="GMTSPSO",XCN=2,DIE="^UTILITY(""GMTSPSZO""," X ^%ZOSF("SAVE") K ^UTILITY("GMTSPSZO") W "  Done.",!
 Q
 ;******************************************************
 ; Entry points for SOWK & SOWKINST removed with patch GMTS*2.7*129
 ;******************************************************
MED ; Controls Medicine 2.0 install and disable 2.2 components
 N X,GMMSG
 ;Checks conditions for auto-disable of Medicine 2.2 components
 I $$VERSION^XPDUTL("MC")<2.2 D
 . S GMMSG="Medicine 2.2 Package not yet installed or available"
 . F X="MEDICINE ABNORMAL BRIEF","MEDICINE BRIEF REPORT","MEDICINE FULL CAPTIONED","MEDICINE FULL REPORT" D DISABLE^GMTSPOST
 . ;If Medicine 2.2 not installed, restore 2.0 medicine routines
 . W !,"** Installing GMTSMCPS routine for Medicine 2.0 component. **"
 . D MED2INST
 I $$VERSION^XPDUTL("MC")>2.19 D M22INST
 Q
MED2INST ; Install GMTSMCPS routine for med 2.0
 N DIE,DIF,GMMSG,X,XCN,XCNP
 S X="GMTSMCPZ",XCNP=0,DIF="^UTILITY(""GMTSMCPZ""," X ^%ZOSF("LOAD") W !,"Renaming GMTSMCPZ as GMTSMCPS."
 S X="GMTSMCPS",XCN=2,DIE="^UTILITY(""GMTSMCPZ""," X ^%ZOSF("SAVE") K ^UTILITY("GMTSMCPZ") W "  Done.",!
 Q
M22INST ; Install GMTSMCPS routine for med 2.2
 W !,"** Installing GMTSMCPS routine for Medicine 2.2 components. **"
 N DIE,DIF,GMMSG,X,XCN,XCNP
 S X="GMTSMCZZ",XCNP=0,DIF="^UTILITY(""GMTSMCZZ""," X ^%ZOSF("LOAD") W !,"Renaming GMTSMCZZ as GMTSMCPS."
 S X="GMTSMCPS",XCN=2,DIE="^UTILITY(""GMTSMCZZ""," X ^%ZOSF("SAVE") K ^UTILITY("GMTSMCZZ") W "  Done.",!
 Q
 ;******************************************************
PL ; Controls Problem List 2.0 install
 ; Checks conditions for auto-disable of Problem List components
 N X,GMMSG
 I $$VERSION^XPDUTL("GMPL")<2 D
 . S GMMSG="Problem List 2.0 Package not yet installed or available"
 . F X="PROBLEM LIST ACTIVE","PROBLEM LIST INACTIVE","PROBLEM LIST ALL" D DISABLE^GMTSPOST
 I $$VERSION^XPDUTL("GMPL")>1.99 D
 . W !,"** Installing GMPLHS routine for Problem List components. **"
 . D PLINST
 Q
PLINST ; Install GMPLHS routine
 N DIE,DIF,GMMSG,X,XCN,XCNP
 W !,"Renaming GMTSPLSZ as GMPLHS."
 S X="GMTSPLSZ",XCNP=0,DIF="^UTILITY(""GMTSPLSZ""," X ^%ZOSF("LOAD") W "."
 S X="GMPLHS",XCN=2,DIE="^UTILITY(""GMTSPLSZ""," X ^%ZOSF("SAVE") K ^UTILITY("GMTSPLSZ") W "  Done."
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMTSPOS1   3156     printed  Sep 23, 2025@19:35:28                                                                                                                                                                                                    Page 2
GMTSPOS1  ;SLC/SBW - Smart routine installer and Comp. Disabler ;22/MAR/95
 +1       ;;2.7;Health Summary;**129**;Oct 20, 1995;Build 8
 +2       ;Per VHA Directive 2004-038, this routine should not be modified
PSO       ; Controls Outpatient Pharmacy install
 +1        NEW GMPSOVER
 +2       ;If Health Summary is absent, then quit
 +3        IF '$LENGTH($TEXT(^PSOHCSUM))
               QUIT 
 +4        SET GMPSOVER=$$VERSION^XPDUTL("PSO")
 +5        DO PSOINST(GMPSOVER)
 +6        QUIT 
PSOINST(VERSION) ; Install routine corresponding to HS version in
 +1       ;                 target account
 +2       ; If the patch is already installed, then quit w/o overwriting
 +3        NEW DIE,DIF,GMMSG,X,XCN,XCNP
 +4        IF VERSION'<6.0
               QUIT 
 +5        WRITE !,"** Installing GMTSPSO routine for Outpatient Pharmacy component. **"
 +6        WRITE !,"   Outpatient Pharmacy version ",VERSION," is installed in this account.",!
 +7        SET X="GMTSPSZO"
           SET XCNP=0
           SET DIF="^UTILITY(""GMTSPSZO"","
           XECUTE ^%ZOSF("LOAD")
           WRITE !,"Renaming GMTSPSZO as GMTSPSO."
 +8        SET X="GMTSPSO"
           SET XCN=2
           SET DIE="^UTILITY(""GMTSPSZO"","
           XECUTE ^%ZOSF("SAVE")
           KILL ^UTILITY("GMTSPSZO")
           WRITE "  Done.",!
 +9        QUIT 
 +10      ;******************************************************
 +11      ; Entry points for SOWK & SOWKINST removed with patch GMTS*2.7*129
 +12      ;******************************************************
MED       ; Controls Medicine 2.0 install and disable 2.2 components
 +1        NEW X,GMMSG
 +2       ;Checks conditions for auto-disable of Medicine 2.2 components
 +3        IF $$VERSION^XPDUTL("MC")<2.2
               Begin DoDot:1
 +4                SET GMMSG="Medicine 2.2 Package not yet installed or available"
 +5                FOR X="MEDICINE ABNORMAL BRIEF","MEDICINE BRIEF REPORT","MEDICINE FULL CAPTIONED","MEDICINE FULL REPORT"
                       DO DISABLE^GMTSPOST
 +6       ;If Medicine 2.2 not installed, restore 2.0 medicine routines
 +7                WRITE !,"** Installing GMTSMCPS routine for Medicine 2.0 component. **"
 +8                DO MED2INST
               End DoDot:1
 +9        IF $$VERSION^XPDUTL("MC")>2.19
               DO M22INST
 +10       QUIT 
MED2INST  ; Install GMTSMCPS routine for med 2.0
 +1        NEW DIE,DIF,GMMSG,X,XCN,XCNP
 +2        SET X="GMTSMCPZ"
           SET XCNP=0
           SET DIF="^UTILITY(""GMTSMCPZ"","
           XECUTE ^%ZOSF("LOAD")
           WRITE !,"Renaming GMTSMCPZ as GMTSMCPS."
 +3        SET X="GMTSMCPS"
           SET XCN=2
           SET DIE="^UTILITY(""GMTSMCPZ"","
           XECUTE ^%ZOSF("SAVE")
           KILL ^UTILITY("GMTSMCPZ")
           WRITE "  Done.",!
 +4        QUIT 
M22INST   ; Install GMTSMCPS routine for med 2.2
 +1        WRITE !,"** Installing GMTSMCPS routine for Medicine 2.2 components. **"
 +2        NEW DIE,DIF,GMMSG,X,XCN,XCNP
 +3        SET X="GMTSMCZZ"
           SET XCNP=0
           SET DIF="^UTILITY(""GMTSMCZZ"","
           XECUTE ^%ZOSF("LOAD")
           WRITE !,"Renaming GMTSMCZZ as GMTSMCPS."
 +4        SET X="GMTSMCPS"
           SET XCN=2
           SET DIE="^UTILITY(""GMTSMCZZ"","
           XECUTE ^%ZOSF("SAVE")
           KILL ^UTILITY("GMTSMCZZ")
           WRITE "  Done.",!
 +5        QUIT 
 +6       ;******************************************************
PL        ; Controls Problem List 2.0 install
 +1       ; Checks conditions for auto-disable of Problem List components
 +2        NEW X,GMMSG
 +3        IF $$VERSION^XPDUTL("GMPL")<2
               Begin DoDot:1
 +4                SET GMMSG="Problem List 2.0 Package not yet installed or available"
 +5                FOR X="PROBLEM LIST ACTIVE","PROBLEM LIST INACTIVE","PROBLEM LIST ALL"
                       DO DISABLE^GMTSPOST
               End DoDot:1
 +6        IF $$VERSION^XPDUTL("GMPL")>1.99
               Begin DoDot:1
 +7                WRITE !,"** Installing GMPLHS routine for Problem List components. **"
 +8                DO PLINST
               End DoDot:1
 +9        QUIT 
PLINST    ; Install GMPLHS routine
 +1        NEW DIE,DIF,GMMSG,X,XCN,XCNP
 +2        WRITE !,"Renaming GMTSPLSZ as GMPLHS."
 +3        SET X="GMTSPLSZ"
           SET XCNP=0
           SET DIF="^UTILITY(""GMTSPLSZ"","
           XECUTE ^%ZOSF("LOAD")
           WRITE "."
 +4        SET X="GMPLHS"
           SET XCN=2
           SET DIE="^UTILITY(""GMTSPLSZ"","
           XECUTE ^%ZOSF("SAVE")
           KILL ^UTILITY("GMTSPLSZ")
           WRITE "  Done."
 +5        QUIT