FSCSTUP ;SLC/STAFF-NOIS Site Tracking Update Reporting ;11/15/97  20:56
 ;;1.1;NOIS;;Sep 06, 1998
 ;
PATCH ; from FSCLMP
 N DIR,X,Y K DIR
 W !!,"*******  VALID for patches verified since 1/1/98  **********"
 W !!,"Choose method of reviewing PATCH installs"
 W !,"Installed:"
 W !?5,"1) Sites that have a patch installed"
 W !?5,"2) All patches installed at a site"
 W !?5,"3) Patches installed at a site for a package"
 W !!,"Not installed:"
 W !?5,"4) Sites that do not have a patch installed"
 W !?5,"5) All patches not installed at a site"
 W !?5,"6) Patches not installed at a site for a package"
 W !!,"Patches being tested:"
 W !?5,"7) Test patches installed"
 W !?5,"8) Test patches installed at a site"
 W !?5,"9) Test patches installed for a package"
 S DIR(0)="NOA^1:9:0",DIR("A")="Select number: "
 S DIR("?",1)="Enter the number of the selection."
 S DIR("??")="FSC U1 NOIS"
 D ^DIR K DIR
 I $D(DIRUT) Q
 I Y=1 D SITE Q
 I Y=2 D ALL Q
 I Y=3 D PACK Q
 I Y=4 D SITENOT Q
 I Y=5 D ALLNOT Q
 I Y=6 D PACKNOT Q
 I Y=7 D TEST Q
 I Y=8 D TESTSITE Q
 I Y=9 D TESTPACK Q
 Q
 ;
SITE ;
 N OK,PATCH
 D PATCHES(.PATCH,"V",.OK) I 'OK Q
 S FSCSTU="PATCH SITE" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
ALL ;
 N DATE,OK,SITE
 D SITES^FSCSTUR(.SITE,.OK) I 'OK Q
 D DATE^FSCSTUR(.DATE,.OK) I 'OK Q
 S FSCSTU="PATCH ALL" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
PACK ;
 N MODULE,OK,SITE
 D SITES^FSCSTUR(.SITE,.OK) I 'OK Q
 D MOD(.MODULE,.OK) I 'OK Q
 S FSCSTU="PATCH PACK" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
SITENOT ;
 N OK,PATCH
 D PATCHES(.PATCH,"V",.OK) I 'OK Q
 S FSCSTU="PATCH SITENOT" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
ALLNOT ;
 N OK,SITE
 D SITES^FSCSTUR(.SITE,.OK) I 'OK Q
 S FSCSTU="PATCH ALLNOT" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
PACKNOT ;
 N MODULE,OK,SITE
 D SITES^FSCSTUR(.SITE,.OK) I 'OK Q
 D MOD(.MODULE,.OK) I 'OK Q
 S FSCSTU="PATCH PACKNOT" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
TEST ;
 N OK,PATCH
 D PATCHES(.PATCH,"N",.OK) I 'OK Q
 S FSCSTU="PATCH TEST" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
TESTSITE ;
 N OK,SITE
 D SITES^FSCSTUR(.SITE,.OK) I 'OK Q
 S FSCSTU="PATCH TESTSITE" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
TESTPACK ;
 N MODULE,OK
 D MOD(.MODULE,.OK) I 'OK Q
 S FSCSTU="PATCH TESTPACK" D ENTRY^FSCLMIPX,HEADER^FSCLMIPX
 Q
 ;
PATCHES(PATCH,VERIFY,OK) ;
 S OK=0
 N DIC,X,Y K DIC
 S DIC=11005,DIC(0)="AEMOQ",DIC("A")="Select Patch: "
 I VERIFY="V" D
 .S DIC("S")="I $P(^(0),U,11),$D(^NTS(2050.2,""B"",+Y))"
 .W !,"Only patches that are verified and tracked can be selected."
 I VERIFY="N" D
 .S DIC("S")="I '$P(^(0),U,11),$D(^NTS(2050.2,""B"",+Y))"
 .W !,"Only patches that are not verified and tracked can be selected."
 F  D ^DIC Q:Y<1  Q:$D(^NTS(2050.2,"B",+Y))  W !,"This patch has no tracking information."
 K DIC I Y<1 Q
 S PATCH=+Y,OK=1
 I $P(^A1AE(11005,PATCH,0),U,8)="e" D
 .W !,"This patch was Entered in Error." H 2
 Q
 ;
MOD(MODULE,OK) ;
 S OK=0
 N DIR,Y K DIR
 S DIR(0)="PAO^7105.4:EM",DIR("A")="Module: "
 S DIR("?",1)="Enter the module/version# to review."
 S DIR("?")="^D HELP^FSCU(.DIR)"
 S DIR("??")="FSC U1 NOIS"
 D ^DIR K DIR
 I $D(DIRUT) Q
 S MODULE=+Y,OK=1
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFSCSTUP   3233     printed  Sep 23, 2025@19:56:28                                                                                                                                                                                                     Page 2
FSCSTUP   ;SLC/STAFF-NOIS Site Tracking Update Reporting ;11/15/97  20:56
 +1       ;;1.1;NOIS;;Sep 06, 1998
 +2       ;
PATCH     ; from FSCLMP
 +1        NEW DIR,X,Y
           KILL DIR
 +2        WRITE !!,"*******  VALID for patches verified since 1/1/98  **********"
 +3        WRITE !!,"Choose method of reviewing PATCH installs"
 +4        WRITE !,"Installed:"
 +5        WRITE !?5,"1) Sites that have a patch installed"
 +6        WRITE !?5,"2) All patches installed at a site"
 +7        WRITE !?5,"3) Patches installed at a site for a package"
 +8        WRITE !!,"Not installed:"
 +9        WRITE !?5,"4) Sites that do not have a patch installed"
 +10       WRITE !?5,"5) All patches not installed at a site"
 +11       WRITE !?5,"6) Patches not installed at a site for a package"
 +12       WRITE !!,"Patches being tested:"
 +13       WRITE !?5,"7) Test patches installed"
 +14       WRITE !?5,"8) Test patches installed at a site"
 +15       WRITE !?5,"9) Test patches installed for a package"
 +16       SET DIR(0)="NOA^1:9:0"
           SET DIR("A")="Select number: "
 +17       SET DIR("?",1)="Enter the number of the selection."
 +18       SET DIR("??")="FSC U1 NOIS"
 +19       DO ^DIR
           KILL DIR
 +20       IF $DATA(DIRUT)
               QUIT 
 +21       IF Y=1
               DO SITE
               QUIT 
 +22       IF Y=2
               DO ALL
               QUIT 
 +23       IF Y=3
               DO PACK
               QUIT 
 +24       IF Y=4
               DO SITENOT
               QUIT 
 +25       IF Y=5
               DO ALLNOT
               QUIT 
 +26       IF Y=6
               DO PACKNOT
               QUIT 
 +27       IF Y=7
               DO TEST
               QUIT 
 +28       IF Y=8
               DO TESTSITE
               QUIT 
 +29       IF Y=9
               DO TESTPACK
               QUIT 
 +30       QUIT 
 +31      ;
SITE      ;
 +1        NEW OK,PATCH
 +2        DO PATCHES(.PATCH,"V",.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH SITE"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
ALL       ;
 +1        NEW DATE,OK,SITE
 +2        DO SITES^FSCSTUR(.SITE,.OK)
           IF 'OK
               QUIT 
 +3        DO DATE^FSCSTUR(.DATE,.OK)
           IF 'OK
               QUIT 
 +4        SET FSCSTU="PATCH ALL"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +5        QUIT 
 +6       ;
PACK      ;
 +1        NEW MODULE,OK,SITE
 +2        DO SITES^FSCSTUR(.SITE,.OK)
           IF 'OK
               QUIT 
 +3        DO MOD(.MODULE,.OK)
           IF 'OK
               QUIT 
 +4        SET FSCSTU="PATCH PACK"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +5        QUIT 
 +6       ;
SITENOT   ;
 +1        NEW OK,PATCH
 +2        DO PATCHES(.PATCH,"V",.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH SITENOT"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
ALLNOT    ;
 +1        NEW OK,SITE
 +2        DO SITES^FSCSTUR(.SITE,.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH ALLNOT"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
PACKNOT   ;
 +1        NEW MODULE,OK,SITE
 +2        DO SITES^FSCSTUR(.SITE,.OK)
           IF 'OK
               QUIT 
 +3        DO MOD(.MODULE,.OK)
           IF 'OK
               QUIT 
 +4        SET FSCSTU="PATCH PACKNOT"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +5        QUIT 
 +6       ;
TEST      ;
 +1        NEW OK,PATCH
 +2        DO PATCHES(.PATCH,"N",.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH TEST"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
TESTSITE  ;
 +1        NEW OK,SITE
 +2        DO SITES^FSCSTUR(.SITE,.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH TESTSITE"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
TESTPACK  ;
 +1        NEW MODULE,OK
 +2        DO MOD(.MODULE,.OK)
           IF 'OK
               QUIT 
 +3        SET FSCSTU="PATCH TESTPACK"
           DO ENTRY^FSCLMIPX
           DO HEADER^FSCLMIPX
 +4        QUIT 
 +5       ;
PATCHES(PATCH,VERIFY,OK) ;
 +1        SET OK=0
 +2        NEW DIC,X,Y
           KILL DIC
 +3        SET DIC=11005
           SET DIC(0)="AEMOQ"
           SET DIC("A")="Select Patch: "
 +4        IF VERIFY="V"
               Begin DoDot:1
 +5                SET DIC("S")="I $P(^(0),U,11),$D(^NTS(2050.2,""B"",+Y))"
 +6                WRITE !,"Only patches that are verified and tracked can be selected."
               End DoDot:1
 +7        IF VERIFY="N"
               Begin DoDot:1
 +8                SET DIC("S")="I '$P(^(0),U,11),$D(^NTS(2050.2,""B"",+Y))"
 +9                WRITE !,"Only patches that are not verified and tracked can be selected."
               End DoDot:1
 +10       FOR 
               DO ^DIC
               if Y<1
                   QUIT 
               if $DATA(^NTS(2050.2,"B",+Y))
                   QUIT 
               WRITE !,"This patch has no tracking information."
 +11       KILL DIC
           IF Y<1
               QUIT 
 +12       SET PATCH=+Y
           SET OK=1
 +13       IF $PIECE(^A1AE(11005,PATCH,0),U,8)="e"
               Begin DoDot:1
 +14               WRITE !,"This patch was Entered in Error."
                   HANG 2
               End DoDot:1
 +15       QUIT 
 +16      ;
MOD(MODULE,OK) ;
 +1        SET OK=0
 +2        NEW DIR,Y
           KILL DIR
 +3        SET DIR(0)="PAO^7105.4:EM"
           SET DIR("A")="Module: "
 +4        SET DIR("?",1)="Enter the module/version# to review."
 +5        SET DIR("?")="^D HELP^FSCU(.DIR)"
 +6        SET DIR("??")="FSC U1 NOIS"
 +7        DO ^DIR
           KILL DIR
 +8        IF $DATA(DIRUT)
               QUIT 
 +9        SET MODULE=+Y
           SET OK=1
 +10       QUIT