DGPTXC3 ; ;02/01/23
 ;;
1 N X,X1,X2 S DIXR=1248 D X1(U) K X2 M X2=X D X1("F") K X1 M X1=X
 I $G(X(1))]"",$G(X(2))]"",$G(X(3))]"",$G(X(4))]"" D
 . D KPTFDD^DGPTDDCR(.X,.DA,"D SD23")
 K X M X=X2 I $G(X(1))]"",$G(X(2))]"",$G(X(3))]"",$G(X(4))]"" D
 . D SPTFDD^DGPTDDCR(.X,.DA,"D SD23")
 Q
X1(DION) K X
 S X(1)=$G(@DIEZTMP@("V",45,DIIENS,.01,DION),$P($G(^DGPT(DA,0)),U,1))
 S X(2)=$G(@DIEZTMP@("V",45,DIIENS,2,DION),$P($G(^DGPT(DA,0)),U,2))
 S X(3)=$G(@DIEZTMP@("V",45,DIIENS,11,DION),$P($G(^DGPT(DA,0)),U,11))
 S X(4)=$G(@DIEZTMP@("V",45,DIIENS,79.24914,DION),$P($G(^DGPT(DA,71)),U,14))
 S X(5)=$G(@DIEZTMP@("V",45,DIIENS,70,DION),$P($G(^DGPT(DA,70)),U,1))
 S X=$G(X(1))
 Q
2 N X,X1,X2 S DIXR=1249 D X2(U) K X2 M X2=X D X2("F") K X1 M X1=X
 I $G(X(1))]"",$G(X(2))]"",$G(X(3))]"",$G(X(4))]"" D
 . D KPTFDD^DGPTDDCR(.X,.DA,"D SD24")
 K X M X=X2 I $G(X(1))]"",$G(X(2))]"",$G(X(3))]"",$G(X(4))]"" D
 . D SPTFDD^DGPTDDCR(.X,.DA,"D SD24")
 Q
X2(DION) K X
 S X(1)=$G(@DIEZTMP@("V",45,DIIENS,.01,DION),$P($G(^DGPT(DA,0)),U,1))
 S X(2)=$G(@DIEZTMP@("V",45,DIIENS,2,DION),$P($G(^DGPT(DA,0)),U,2))
 S X(3)=$G(@DIEZTMP@("V",45,DIIENS,11,DION),$P($G(^DGPT(DA,0)),U,11))
 S X(4)=$G(@DIEZTMP@("V",45,DIIENS,79.24915,DION),$P($G(^DGPT(DA,71)),U,15))
 S X(5)=$G(@DIEZTMP@("V",45,DIIENS,70,DION),$P($G(^DGPT(DA,70)),U,1))
 S X=$G(X(1))
 Q
3 N X,X1,X2 S DIXR=1691 D X3(U) K X2 M X2=X D X3("F") K X1 M X1=X
 D
 . D NOTIFYP^DGPTDD(.X1,.X2,.DA,45,"DISCHARGE","KILL")
 K X M X=X2 D
 . D NOTIFYP^DGPTDD(.X1,.X2,.DA,45,"DISCHARGE","SET")
 Q
X3(DION) K X
 S X(1)=$G(@DIEZTMP@("V",45,DIIENS,.01,DION),$P($G(^DGPT(DA,0)),U,1))
 S X(2)=$G(@DIEZTMP@("V",45,DIIENS,11,DION),$P($G(^DGPT(DA,0)),U,11))
 S X(3)=$G(@DIEZTMP@("V",45,DIIENS,45.01,DION),$P($G(^DGPT(DA,"401P")),U,1))
 S X(4)=$G(@DIEZTMP@("V",45,DIIENS,45.02,DION),$P($G(^DGPT(DA,"401P")),U,2))
 S X(5)=$G(@DIEZTMP@("V",45,DIIENS,45.03,DION),$P($G(^DGPT(DA,"401P")),U,3))
 S X(6)=$G(@DIEZTMP@("V",45,DIIENS,45.04,DION),$P($G(^DGPT(DA,"401P")),U,4))
 S X(7)=$G(@DIEZTMP@("V",45,DIIENS,45.05,DION),$P($G(^DGPT(DA,"401P")),U,5))
 S X=$G(X(1))
 Q
4 N X,X1,X2 S DIXR=835 D X4(U) K X2 M X2=X D X4("F") K X1 M X1=X
 D
 . D NOTIFY^DGPTDD(.X1,.X2,.DA,45,"MOVEMENT","KILL")
 K X M X=X2 D
 . D NOTIFY^DGPTDD(.X1,.X2,.DA,45,"MOVEMENT","SET")
 Q
X4(DION) K X
 S X(1)=$G(@DIEZTMP@("V",45.02,DIIENS,.01,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,1))
 S X(2)=$G(@DIEZTMP@("V",45.02,DIIENS,5,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,5))
 S X(3)=$G(@DIEZTMP@("V",45.02,DIIENS,6,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,6))
 S X(4)=$G(@DIEZTMP@("V",45.02,DIIENS,7,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,7))
 S X(5)=$G(@DIEZTMP@("V",45.02,DIIENS,8,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,8))
 S X(6)=$G(@DIEZTMP@("V",45.02,DIIENS,9,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,9))
 S X(7)=$G(@DIEZTMP@("V",45.02,DIIENS,11,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,11))
 S X(8)=$G(@DIEZTMP@("V",45.02,DIIENS,12,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,12))
 S X(9)=$G(@DIEZTMP@("V",45.02,DIIENS,13,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,13))
 S X(10)=$G(@DIEZTMP@("V",45.02,DIIENS,14,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,14))
 S X(11)=$G(@DIEZTMP@("V",45.02,DIIENS,15,DION),$P($G(^DGPT(DA(1),"M",DA,0)),U,15))
 S X(12)=$G(@DIEZTMP@("V",45.02,DIIENS,81.01,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,1))
 S X(13)=$G(@DIEZTMP@("V",45.02,DIIENS,81.02,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,2))
 S X(14)=$G(@DIEZTMP@("V",45.02,DIIENS,81.03,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,3))
 S X(15)=$G(@DIEZTMP@("V",45.02,DIIENS,81.04,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,4))
 S X(16)=$G(@DIEZTMP@("V",45.02,DIIENS,81.05,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,5))
 S X(17)=$G(@DIEZTMP@("V",45.02,DIIENS,81.06,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,6))
 S X(18)=$G(@DIEZTMP@("V",45.02,DIIENS,81.07,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,7))
 S X(19)=$G(@DIEZTMP@("V",45.02,DIIENS,81.08,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,8))
 S X(20)=$G(@DIEZTMP@("V",45.02,DIIENS,81.09,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,9))
 S X(21)=$G(@DIEZTMP@("V",45.02,DIIENS,81.1,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,10))
 S X(22)=$G(@DIEZTMP@("V",45.02,DIIENS,81.11,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,11))
 S X(23)=$G(@DIEZTMP@("V",45.02,DIIENS,81.12,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,12))
 S X(24)=$G(@DIEZTMP@("V",45.02,DIIENS,81.13,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,13))
 S X(25)=$G(@DIEZTMP@("V",45.02,DIIENS,81.14,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,14))
 S X(26)=$G(@DIEZTMP@("V",45.02,DIIENS,81.15,DION),$P($G(^DGPT(DA(1),"M",DA,81)),U,15))
 S X=$G(X(1))
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGPTXC3   4584     printed  Sep 23, 2025@20:30:05                                                                                                                                                                                                     Page 2
DGPTXC3   ; ;02/01/23
 +1       ;;
1          NEW X,X1,X2
           SET DIXR=1248
           DO X1(U)
           KILL X2
           MERGE X2=X
           DO X1("F")
           KILL X1
           MERGE X1=X
 +1        IF $GET(X(1))]""
               IF $GET(X(2))]""
                   IF $GET(X(3))]""
                       IF $GET(X(4))]""
                           Begin DoDot:1
 +2                            DO KPTFDD^DGPTDDCR(.X,.DA,"D SD23")
                           End DoDot:1
 +3        KILL X
           MERGE X=X2
           IF $GET(X(1))]""
               IF $GET(X(2))]""
                   IF $GET(X(3))]""
                       IF $GET(X(4))]""
                           Begin DoDot:1
 +4                            DO SPTFDD^DGPTDDCR(.X,.DA,"D SD23")
                           End DoDot:1
 +5        QUIT 
X1(DION)   KILL X
 +1        SET X(1)=$GET(@DIEZTMP@("V",45,DIIENS,.01,DION),$PIECE($GET(^DGPT(DA,0)),U,1))
 +2        SET X(2)=$GET(@DIEZTMP@("V",45,DIIENS,2,DION),$PIECE($GET(^DGPT(DA,0)),U,2))
 +3        SET X(3)=$GET(@DIEZTMP@("V",45,DIIENS,11,DION),$PIECE($GET(^DGPT(DA,0)),U,11))
 +4        SET X(4)=$GET(@DIEZTMP@("V",45,DIIENS,79.24914,DION),$PIECE($GET(^DGPT(DA,71)),U,14))
 +5        SET X(5)=$GET(@DIEZTMP@("V",45,DIIENS,70,DION),$PIECE($GET(^DGPT(DA,70)),U,1))
 +6        SET X=$GET(X(1))
 +7        QUIT 
2          NEW X,X1,X2
           SET DIXR=1249
           DO X2(U)
           KILL X2
           MERGE X2=X
           DO X2("F")
           KILL X1
           MERGE X1=X
 +1        IF $GET(X(1))]""
               IF $GET(X(2))]""
                   IF $GET(X(3))]""
                       IF $GET(X(4))]""
                           Begin DoDot:1
 +2                            DO KPTFDD^DGPTDDCR(.X,.DA,"D SD24")
                           End DoDot:1
 +3        KILL X
           MERGE X=X2
           IF $GET(X(1))]""
               IF $GET(X(2))]""
                   IF $GET(X(3))]""
                       IF $GET(X(4))]""
                           Begin DoDot:1
 +4                            DO SPTFDD^DGPTDDCR(.X,.DA,"D SD24")
                           End DoDot:1
 +5        QUIT 
X2(DION)   KILL X
 +1        SET X(1)=$GET(@DIEZTMP@("V",45,DIIENS,.01,DION),$PIECE($GET(^DGPT(DA,0)),U,1))
 +2        SET X(2)=$GET(@DIEZTMP@("V",45,DIIENS,2,DION),$PIECE($GET(^DGPT(DA,0)),U,2))
 +3        SET X(3)=$GET(@DIEZTMP@("V",45,DIIENS,11,DION),$PIECE($GET(^DGPT(DA,0)),U,11))
 +4        SET X(4)=$GET(@DIEZTMP@("V",45,DIIENS,79.24915,DION),$PIECE($GET(^DGPT(DA,71)),U,15))
 +5        SET X(5)=$GET(@DIEZTMP@("V",45,DIIENS,70,DION),$PIECE($GET(^DGPT(DA,70)),U,1))
 +6        SET X=$GET(X(1))
 +7        QUIT 
3          NEW X,X1,X2
           SET DIXR=1691
           DO X3(U)
           KILL X2
           MERGE X2=X
           DO X3("F")
           KILL X1
           MERGE X1=X
 +1        Begin DoDot:1
 +2            DO NOTIFYP^DGPTDD(.X1,.X2,.DA,45,"DISCHARGE","KILL")
           End DoDot:1
 +3        KILL X
           MERGE X=X2
           Begin DoDot:1
 +4            DO NOTIFYP^DGPTDD(.X1,.X2,.DA,45,"DISCHARGE","SET")
           End DoDot:1
 +5        QUIT 
X3(DION)   KILL X
 +1        SET X(1)=$GET(@DIEZTMP@("V",45,DIIENS,.01,DION),$PIECE($GET(^DGPT(DA,0)),U,1))
 +2        SET X(2)=$GET(@DIEZTMP@("V",45,DIIENS,11,DION),$PIECE($GET(^DGPT(DA,0)),U,11))
 +3        SET X(3)=$GET(@DIEZTMP@("V",45,DIIENS,45.01,DION),$PIECE($GET(^DGPT(DA,"401P")),U,1))
 +4        SET X(4)=$GET(@DIEZTMP@("V",45,DIIENS,45.02,DION),$PIECE($GET(^DGPT(DA,"401P")),U,2))
 +5        SET X(5)=$GET(@DIEZTMP@("V",45,DIIENS,45.03,DION),$PIECE($GET(^DGPT(DA,"401P")),U,3))
 +6        SET X(6)=$GET(@DIEZTMP@("V",45,DIIENS,45.04,DION),$PIECE($GET(^DGPT(DA,"401P")),U,4))
 +7        SET X(7)=$GET(@DIEZTMP@("V",45,DIIENS,45.05,DION),$PIECE($GET(^DGPT(DA,"401P")),U,5))
 +8        SET X=$GET(X(1))
 +9        QUIT 
4          NEW X,X1,X2
           SET DIXR=835
           DO X4(U)
           KILL X2
           MERGE X2=X
           DO X4("F")
           KILL X1
           MERGE X1=X
 +1        Begin DoDot:1
 +2            DO NOTIFY^DGPTDD(.X1,.X2,.DA,45,"MOVEMENT","KILL")
           End DoDot:1
 +3        KILL X
           MERGE X=X2
           Begin DoDot:1
 +4            DO NOTIFY^DGPTDD(.X1,.X2,.DA,45,"MOVEMENT","SET")
           End DoDot:1
 +5        QUIT 
X4(DION)   KILL X
 +1        SET X(1)=$GET(@DIEZTMP@("V",45.02,DIIENS,.01,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,1))
 +2        SET X(2)=$GET(@DIEZTMP@("V",45.02,DIIENS,5,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,5))
 +3        SET X(3)=$GET(@DIEZTMP@("V",45.02,DIIENS,6,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,6))
 +4        SET X(4)=$GET(@DIEZTMP@("V",45.02,DIIENS,7,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,7))
 +5        SET X(5)=$GET(@DIEZTMP@("V",45.02,DIIENS,8,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,8))
 +6        SET X(6)=$GET(@DIEZTMP@("V",45.02,DIIENS,9,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,9))
 +7        SET X(7)=$GET(@DIEZTMP@("V",45.02,DIIENS,11,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,11))
 +8        SET X(8)=$GET(@DIEZTMP@("V",45.02,DIIENS,12,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,12))
 +9        SET X(9)=$GET(@DIEZTMP@("V",45.02,DIIENS,13,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,13))
 +10       SET X(10)=$GET(@DIEZTMP@("V",45.02,DIIENS,14,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,14))
 +11       SET X(11)=$GET(@DIEZTMP@("V",45.02,DIIENS,15,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,0)),U,15))
 +12       SET X(12)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.01,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,1))
 +13       SET X(13)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.02,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,2))
 +14       SET X(14)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.03,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,3))
 +15       SET X(15)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.04,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,4))
 +16       SET X(16)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.05,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,5))
 +17       SET X(17)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.06,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,6))
 +18       SET X(18)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.07,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,7))
 +19       SET X(19)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.08,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,8))
 +20       SET X(20)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.09,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,9))
 +21       SET X(21)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.1,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,10))
 +22       SET X(22)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.11,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,11))
 +23       SET X(23)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.12,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,12))
 +24       SET X(24)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.13,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,13))
 +25       SET X(25)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.14,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,14))
 +26       SET X(26)=$GET(@DIEZTMP@("V",45.02,DIIENS,81.15,DION),$PIECE($GET(^DGPT(DA(1),"M",DA,81)),U,15))
 +27       SET X=$GET(X(1))
 +28       QUIT