DGPMXX2 ; COMPILED XREF FOR FILE #405 ; 06/01/18
 ; 
 S DIKZK=1
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S ^DGPM("B",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S DGPMDDF=1 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .X ^DD(405,.01,1,3,1.3) I X S X=DIV X ^DD(405,.01,1,3,89.2) S X=$P(Y(101),U,1) S D0=I(0,0) S DIU=X K Y S X=DIV S X=DIV X ^DD(405,.01,1,3,1.4)
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S:$P(^DGPM(DA,0),U,22)="" $P(^(0),U,22)=0
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X S X=$S('$D(^DGPM(+$P(^DGPM(DA,0),U,24),0)):0,1:X'=+^(0)) I X S X=DIV S Y(1)=$S($D(^DGPM(D0,0)):^(0),1:"") S X=$P(Y(1),U,24),X=X S DIU=X K Y S X="" X ^DD(405,.01,1,5,1.4)
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S:$P(^DGPM(DA,0),U,3) ^DGPM("ADFN"_$P(^(0),U,3),X,DA)=""
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S Y=$P(^DGPM(DA,0),U,2) I Y,Y'=4,Y'=5,X,X<DT S DGHNYT=$S(Y=1:$S($D(DGIDX):3,1:1),Y=2:$S($D(DGIDX):6,1:4),Y=3:$S($D(DGIDX):9,1:7),1:15) D ^DGPMGLC K DGIDX
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" I "^1^3^"[("^"_$P(^DGPM(DA,0),"^",2)_"^") S A1B2TAG="ADM" D ^A1B2XFR
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" S DGPMDDF=2 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,3)
 I X'="" S ^DGPM("C",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,3)
 I X'="" S DGPMDDF=3 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,3)
 I X'="" S ^DGPM("ADFN"_X,+^DGPM(DA,0),DA)=""
 S X=$P($G(DIKZ(0)),U,4)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^DGPM(D0,0)):^(0),1:"") S X=$P(Y(1),U,18),X=X S DIU=X K Y S X=DIV S X=$S($D(^DG(405.1,X,0)):$P(^(0),"^",3),1:"") X ^DD(405,.04,1,1,1.4)
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,5)
 I X'="" I $P(^DGPM(DA,0),"^",2)=3 S A1B2TAG="ADM" D ^A1B2XFR
 S X=$P($G(DIKZ(0)),U,6)
 I X'="" S DGPMDDF=6,DGPMDDT=1 D ^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,6)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^DGPM(D0,0)):^(0),1:"") S X=$P(Y(1),U,7),X=X S DIU=X K Y S X="" S DIH=$G(^DGPM(DIV(0),0)),DIV=X S $P(^(0),U,7)=DIV,DIH=405,DIG=.07 D ^DICR
 S X=$P($G(DIKZ(0)),U,6)
 I X'="" S Y=^DGPM(DA,0) I +Y,Y<DT S Y=$P(Y,U,2) I Y<3,$D(DGOWD) S DGHNYT=$S(Y=1:10,1:12) D ^DGPMGLC K DGIDX
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,7)
 I X'="" S DGPMDDF=7,DGPMDDT=1 D ^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,8)
 I X'="" S DGPMDDF=8,DGPMDDT=1 D ^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" S DGPMDDF=9 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" S DGPMDDF=9,DGPMDDT=1 D ^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" I $D(^DGPM(+$P(^DGPM(DA,0),"^",24),0)),($P(^(0),"^",2)=1) S A1B2TAG="ADM1" D ^A1B2XFR
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" S Y=^DGPM(DA,0) I +Y,Y<DT S Y=$P(Y,U,2) I Y=6,X'=$P(Y,U,9) S DGHNYT=13 D ^DGPMGLC
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" D:($T(ADGRU^DGRUDD01)'="") ADGRU^DGRUDD01($$GET1^DIQ(405,DA,.03,"I"))
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" S DH=405,DV=.09,DU=1 S DIIX=3 D:$G(DIK(0))'["A" AUDIT^DIK1
 S X=$P($G(DIKZ(0)),U,14)
 I X'="" S DGPMDDF=14 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,14)
 I X'="" S ^DGPM("CA",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,14)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X I "^3^5^"[("^"_$P(^DGPM(DA,0),"^",2)_"^") I X S X=DIV X ^DD(405,.14,1,3,89.2) S X=$P($G(^DGPM(+$P(Y(101),U,17),0)),U) S D0=I(0,0) S DIU=X K Y S X=DIV S X=DA X ^DD(405,.14,1,3,1.4)
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,16)
 I X'="" S ^DGPM("APTF",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,17)
 I X'="" D XREF^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,18)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X I "MAS MOVEMENT TYPE"'="TRANSFER IN"&("MAS MOVEMENT TYPE"'="TRANSFER OUT") I X S X=DIV S Y(1)=$S($D(^DGPM(D0,0)):^(0),1:"") S X=$P(Y(1),U,5),X=X S DIU=X K Y S X="" X ^DD(405,.18,1,1,1.4)
 S X=$P($G(DIKZ(0)),U,18)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(0)=X S X=$S('$D(^DG(405.2,+Y(0),0)):"",1:$P(^(0),U,1))["DEATH" I X S X=DIV X ^DD(405,.18,1,2,89.2) S X=$P(Y(101),U,1) S D0=I(0,0) S DIU=X K Y X ^DD(405,.18,1,2,1.1) X ^DD(405,.18,1,2,1.4)
 S X=$P($G(DIKZ(0)),U,18)
 I X'="" S Y=^DGPM(DA,0) I +Y,Y<DT S Y=$P(Y,U,2) I Y<4,$D(DGOTY) S DGHNYT=11 D ^DGPMGLC K DGIDX
 S X=$P($G(DIKZ(0)),U,18)
 I X'="" I $P(^DGPM(DA,0),"^",2)=3 S A1B2TAG="ADM" D ^A1B2XFR
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X=$P($G(DIKZ(0)),U,19)
 I X'="" S DGPMDDF=19,DGPMDDT=1 D ^DGPMDDCN
 S X=$P($G(DIKZ(0)),U,22)
 I X'="" S DGPMDDF=22 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,23)
 I X'="" S DGPMDDF=23 D ^DGPMDD1
 S X=$P($G(DIKZ(0)),U,24)
 I X'="" S ^DGPM("APHY",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,27)
 I X'="" S ^DGPM("AVISIT",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,27)
 I X'="" S:$P(^DGPM(DA,0),U,3) ^DGPM("AVST",$P(^DGPM(DA,0),U,3),X,DA)=""
 S DIKZ("DIR")=$G(^DGPM(DA,"DIR"))
 S X=$P($G(DIKZ("DIR")),U,1)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^DGPM(D0,"DIR")):^("DIR"),1:"") S X=$P(Y(1),U,2),X=X S DIU=X K Y S X=DIV N %I,%H,% D NOW^%DTC S X=% X ^DD(405,41,1,1,1.4)
 S X=$P($G(DIKZ("DIR")),U,1)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^DGPM(D0,"DIR")):^("DIR"),1:"") S X=$P(Y(1),U,3),X=X S DIU=X K Y S X=DIV S X=$G(DUZ) S DIH=$G(^DGPM(DIV(0),"DIR")),DIV=X S $P(^("DIR"),U,3)=DIV,DIH=405,DIG=43 D ^DICR
 S X=$P($G(DIKZ("DIR")),U,1)
 I X'="" S DGPMDDF=41,DGPMDDT=1 D ^DGPMDDCN
 S DIKZ("ODS")=$G(^DGPM(DA,"ODS"))
 S X=$P($G(DIKZ("ODS")),U,2)
 I X'="" S A1B2TAG="ADM" D ^A1B2XFR
 S X=$P($G(DIKZ("ODS")),U,4)
 I X'="" S ^DGPM("AODSA",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ("ODS")),U,6)
 I X'="" S A1B2TAG="ADM" D ^A1B2XFR
 S X=$P($G(DIKZ("ODS")),U,7)
 I X'="" S ^DGPM("AODSD",$E(X,1,30),DA)=""
CR1 S DIXR=1515
 K X
 S DIKZ(0)=$G(^DGPM(DA,0))
 S X(1)=$P(DIKZ(0),U,1)
 S X(2)=$P(DIKZ(0),U,2)
 S X(3)=$P(DIKZ(0),U,3)
 S X=$G(X(1))
 I $G(X(1))]"",$G(X(2))]"",$G(X(3))]"" D
 . K X1,X2 M X1=X,X2=X
 . S ^DGPM("AC",X(1),X(2),X(3),DA)=""
CR2 S DIXR=1516
 K X
 S DIKZ("USR")=$G(^DGPM(DA,"USR"))
 S X(1)=$P(DIKZ("USR"),U,2)
 S X=$G(X(1))
 I $G(X(1))]"" D
 . K X1,X2 M X1=X,X2=X
 . S ^DGPM("AD",$E(X,1,30),DA)=""
CR3 K X
END Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGPMXX2   6184     printed  Sep 23, 2025@20:26:38                                                                                                                                                                                                     Page 2
DGPMXX2   ; COMPILED XREF FOR FILE #405 ; 06/01/18
 +1       ; 
 +2        SET DIKZK=1
 +3        SET DIKZ(0)=$GET(^DGPM(DA,0))
 +4        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +5        IF X'=""
               SET ^DGPM("B",$EXTRACT(X,1,30),DA)=""
 +6        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +7        IF X'=""
               SET DGPMDDF=1
               DO ^DGPMDD1
 +8        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +9        IF X'=""
               Begin DoDot:1
 +10               NEW DIK,DIV,DIU,DIN
 +11               XECUTE ^DD(405,.01,1,3,1.3)
                   IF X
                       SET X=DIV
                       XECUTE ^DD(405,.01,1,3,89.2)
                       SET X=$PIECE(Y(101),U,1)
                       SET D0=I(0,0)
                       SET DIU=X
                       KILL Y
                       SET X=DIV
                       SET X=DIV
                       XECUTE ^DD(405,.01,1,3,1.4)
               End DoDot:1
 +12       SET X=$PIECE($GET(DIKZ(0)),U,1)
 +13       IF X'=""
               if $PIECE(^DGPM(DA,0),U,22)=""
                   SET $PIECE(^(0),U,22)=0
 +14       SET X=$PIECE($GET(DIKZ(0)),U,1)
 +15       IF X'=""
               Begin DoDot:1
 +16               NEW DIK,DIV,DIU,DIN
 +17               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(0)=X
                   SET X=$SELECT('$DATA(^DGPM(+$PIECE(^DGPM(DA,0),U,24),0)):0,1:X'=+^(0))
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGPM(D0,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,24)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       SET X=""
                       XECUTE ^DD(405,.01,1,5,1.4)
               End DoDot:1
 +18       SET X=$PIECE($GET(DIKZ(0)),U,1)
 +19       IF X'=""
               if $PIECE(^DGPM(DA,0),U,3)
                   SET ^DGPM("ADFN"_$PIECE(^(0),U,3),X,DA)=""
 +20       SET X=$PIECE($GET(DIKZ(0)),U,1)
 +21       IF X'=""
               SET Y=$PIECE(^DGPM(DA,0),U,2)
               IF Y
                   IF Y'=4
                       IF Y'=5
                           IF X
                               IF X<DT
                                   SET DGHNYT=$SELECT(Y=1:$SELECT($DATA(DGIDX):3,1:1),Y=2:$SELECT($DATA(DGIDX):6,1:4),Y=3:$SELECT($DATA(DGIDX):9,1:7),1:15)
                                   DO ^DGPMGLC
                                   KILL DGIDX
 +22       SET X=$PIECE($GET(DIKZ(0)),U,1)
 +23       IF X'=""
               IF "^1^3^"[("^"_$PIECE(^DGPM(DA,0),"^",2)_"^")
                   SET A1B2TAG="ADM"
                   DO ^A1B2XFR
 +24       SET DIKZ(0)=$GET(^DGPM(DA,0))
 +25       SET X=$PIECE($GET(DIKZ(0)),U,2)
 +26       IF X'=""
               SET DGPMDDF=2
               DO ^DGPMDD1
 +27       SET X=$PIECE($GET(DIKZ(0)),U,3)
 +28       IF X'=""
               SET ^DGPM("C",$EXTRACT(X,1,30),DA)=""
 +29       SET X=$PIECE($GET(DIKZ(0)),U,3)
 +30       IF X'=""
               SET DGPMDDF=3
               DO ^DGPMDD1
 +31       SET X=$PIECE($GET(DIKZ(0)),U,3)
 +32       IF X'=""
               SET ^DGPM("ADFN"_X,+^DGPM(DA,0),DA)=""
 +33       SET X=$PIECE($GET(DIKZ(0)),U,4)
 +34       IF X'=""
               Begin DoDot:1
 +35               NEW DIK,DIV,DIU,DIN
 +36               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(1)=$SELECT($DATA(^DGPM(D0,0)):^(0),1:"")
                   SET X=$PIECE(Y(1),U,18)
                   SET X=X
                   SET DIU=X
                   KILL Y
                   SET X=DIV
                   SET X=$SELECT($DATA(^DG(405.1,X,0)):$PIECE(^(0),"^",3),1:"")
                   XECUTE ^DD(405,.04,1,1,1.4)
               End DoDot:1
 +37       SET DIKZ(0)=$GET(^DGPM(DA,0))
 +38       SET X=$PIECE($GET(DIKZ(0)),U,5)
 +39       IF X'=""
               IF $PIECE(^DGPM(DA,0),"^",2)=3
                   SET A1B2TAG="ADM"
                   DO ^A1B2XFR
 +40       SET X=$PIECE($GET(DIKZ(0)),U,6)
 +41       IF X'=""
               SET DGPMDDF=6
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +42       SET X=$PIECE($GET(DIKZ(0)),U,6)
 +43       IF X'=""
               Begin DoDot:1
 +44               NEW DIK,DIV,DIU,DIN
 +45               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(1)=$SELECT($DATA(^DGPM(D0,0)):^(0),1:"")
                   SET X=$PIECE(Y(1),U,7)
                   SET X=X
                   SET DIU=X
                   KILL Y
                   SET X=""
                   SET DIH=$GET(^DGPM(DIV(0),0))
                   SET DIV=X
                   SET $PIECE(^(0),U,7)=DIV
                   SET DIH=405
                   SET DIG=.07
                   DO ^DICR
               End DoDot:1
 +46       SET X=$PIECE($GET(DIKZ(0)),U,6)
 +47       IF X'=""
               SET Y=^DGPM(DA,0)
               IF +Y
                   IF Y<DT
                       SET Y=$PIECE(Y,U,2)
                       IF Y<3
                           IF $DATA(DGOWD)
                               SET DGHNYT=$SELECT(Y=1:10,1:12)
                               DO ^DGPMGLC
                               KILL DGIDX
 +48       SET DIKZ(0)=$GET(^DGPM(DA,0))
 +49       SET X=$PIECE($GET(DIKZ(0)),U,7)
 +50       IF X'=""
               SET DGPMDDF=7
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +51       SET X=$PIECE($GET(DIKZ(0)),U,8)
 +52       IF X'=""
               SET DGPMDDF=8
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +53       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +54       IF X'=""
               SET DGPMDDF=9
               DO ^DGPMDD1
 +55       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +56       IF X'=""
               SET DGPMDDF=9
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +57       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +58       IF X'=""
               IF $DATA(^DGPM(+$PIECE(^DGPM(DA,0),"^",24),0))
                   IF ($PIECE(^(0),"^",2)=1)
                       SET A1B2TAG="ADM1"
                       DO ^A1B2XFR
 +59       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +60       IF X'=""
               SET Y=^DGPM(DA,0)
               IF +Y
                   IF Y<DT
                       SET Y=$PIECE(Y,U,2)
                       IF Y=6
                           IF X'=$PIECE(Y,U,9)
                               SET DGHNYT=13
                               DO ^DGPMGLC
 +61       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +62       IF X'=""
               if ($TEXT(ADGRU^DGRUDD01)'="")
                   DO ADGRU^DGRUDD01($$GET1^DIQ(405,DA,.03,"I"))
 +63       SET X=$PIECE($GET(DIKZ(0)),U,9)
 +64       IF X'=""
               SET DH=405
               SET DV=.09
               SET DU=1
               SET DIIX=3
               if $GET(DIK(0))'["A"
                   DO AUDIT^DIK1
 +65       SET X=$PIECE($GET(DIKZ(0)),U,14)
 +66       IF X'=""
               SET DGPMDDF=14
               DO ^DGPMDD1
 +67       SET X=$PIECE($GET(DIKZ(0)),U,14)
 +68       IF X'=""
               SET ^DGPM("CA",$EXTRACT(X,1,30),DA)=""
 +69       SET X=$PIECE($GET(DIKZ(0)),U,14)
 +70       IF X'=""
               Begin DoDot:1
 +71               NEW DIK,DIV,DIU,DIN
 +72               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(0)=X
                   IF "^3^5^"[("^"_$PIECE(^DGPM(DA,0),"^",2)_"^")
                       IF X
                           SET X=DIV
                           XECUTE ^DD(405,.14,1,3,89.2)
                           SET X=$PIECE($GET(^DGPM(+$PIECE(Y(101),U,17),0)),U)
                           SET D0=I(0,0)
                           SET DIU=X
                           KILL Y
                           SET X=DIV
                           SET X=DA
                           XECUTE ^DD(405,.14,1,3,1.4)
               End DoDot:1
 +73       SET DIKZ(0)=$GET(^DGPM(DA,0))
 +74       SET X=$PIECE($GET(DIKZ(0)),U,16)
 +75       IF X'=""
               SET ^DGPM("APTF",$EXTRACT(X,1,30),DA)=""
 +76       SET X=$PIECE($GET(DIKZ(0)),U,17)
 +77       IF X'=""
               DO XREF^DGPMDDCN
 +78       SET X=$PIECE($GET(DIKZ(0)),U,18)
 +79       IF X'=""
               Begin DoDot:1
 +80               NEW DIK,DIV,DIU,DIN
 +81               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(0)=X
                   IF "MAS MOVEMENT TYPE"'="TRANSFER IN"&("MAS MOVEMENT TYPE"'="TRANSFER OUT")
                       IF X
                           SET X=DIV
                           SET Y(1)=$SELECT($DATA(^DGPM(D0,0)):^(0),1:"")
                           SET X=$PIECE(Y(1),U,5)
                           SET X=X
                           SET DIU=X
                           KILL Y
                           SET X=""
                           XECUTE ^DD(405,.18,1,1,1.4)
               End DoDot:1
 +82       SET X=$PIECE($GET(DIKZ(0)),U,18)
 +83       IF X'=""
               Begin DoDot:1
 +84               NEW DIK,DIV,DIU,DIN
 +85               KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(0)=X
                   SET X=$SELECT('$DATA(^DG(405.2,+Y(0),0)):"",1:$PIECE(^(0),U,1))["DEATH"
                   IF X
                       SET X=DIV
                       XECUTE ^DD(405,.18,1,2,89.2)
                       SET X=$PIECE(Y(101),U,1)
                       SET D0=I(0,0)
                       SET DIU=X
                       KILL Y
                       XECUTE ^DD(405,.18,1,2,1.1)
                       XECUTE ^DD(405,.18,1,2,1.4)
               End DoDot:1
 +86       SET X=$PIECE($GET(DIKZ(0)),U,18)
 +87       IF X'=""
               SET Y=^DGPM(DA,0)
               IF +Y
                   IF Y<DT
                       SET Y=$PIECE(Y,U,2)
                       IF Y<4
                           IF $DATA(DGOTY)
                               SET DGHNYT=11
                               DO ^DGPMGLC
                               KILL DGIDX
 +88       SET X=$PIECE($GET(DIKZ(0)),U,18)
 +89       IF X'=""
               IF $PIECE(^DGPM(DA,0),"^",2)=3
                   SET A1B2TAG="ADM"
                   DO ^A1B2XFR
 +90       SET DIKZ(0)=$GET(^DGPM(DA,0))
 +91       SET X=$PIECE($GET(DIKZ(0)),U,19)
 +92       IF X'=""
               SET DGPMDDF=19
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +93       SET X=$PIECE($GET(DIKZ(0)),U,22)
 +94       IF X'=""
               SET DGPMDDF=22
               DO ^DGPMDD1
 +95       SET X=$PIECE($GET(DIKZ(0)),U,23)
 +96       IF X'=""
               SET DGPMDDF=23
               DO ^DGPMDD1
 +97       SET X=$PIECE($GET(DIKZ(0)),U,24)
 +98       IF X'=""
               SET ^DGPM("APHY",$EXTRACT(X,1,30),DA)=""
 +99       SET X=$PIECE($GET(DIKZ(0)),U,27)
 +100      IF X'=""
               SET ^DGPM("AVISIT",$EXTRACT(X,1,30),DA)=""
 +101      SET X=$PIECE($GET(DIKZ(0)),U,27)
 +102      IF X'=""
               if $PIECE(^DGPM(DA,0),U,3)
                   SET ^DGPM("AVST",$PIECE(^DGPM(DA,0),U,3),X,DA)=""
 +103      SET DIKZ("DIR")=$GET(^DGPM(DA,"DIR"))
 +104      SET X=$PIECE($GET(DIKZ("DIR")),U,1)
 +105      IF X'=""
               Begin DoDot:1
 +106              NEW DIK,DIV,DIU,DIN
 +107              KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(1)=$SELECT($DATA(^DGPM(D0,"DIR")):^("DIR"),1:"")
                   SET X=$PIECE(Y(1),U,2)
                   SET X=X
                   SET DIU=X
                   KILL Y
                   SET X=DIV
                   NEW %I,%H,%
                   DO NOW^%DTC
                   SET X=%
                   XECUTE ^DD(405,41,1,1,1.4)
               End DoDot:1
 +108      SET X=$PIECE($GET(DIKZ("DIR")),U,1)
 +109      IF X'=""
               Begin DoDot:1
 +110              NEW DIK,DIV,DIU,DIN
 +111              KILL DIV
                   SET DIV=X
                   SET D0=DA
                   SET DIV(0)=D0
                   SET Y(1)=$SELECT($DATA(^DGPM(D0,"DIR")):^("DIR"),1:"")
                   SET X=$PIECE(Y(1),U,3)
                   SET X=X
                   SET DIU=X
                   KILL Y
                   SET X=DIV
                   SET X=$GET(DUZ)
                   SET DIH=$GET(^DGPM(DIV(0),"DIR"))
                   SET DIV=X
                   SET $PIECE(^("DIR"),U,3)=DIV
                   SET DIH=405
                   SET DIG=43
                   DO ^DICR
               End DoDot:1
 +112      SET X=$PIECE($GET(DIKZ("DIR")),U,1)
 +113      IF X'=""
               SET DGPMDDF=41
               SET DGPMDDT=1
               DO ^DGPMDDCN
 +114      SET DIKZ("ODS")=$GET(^DGPM(DA,"ODS"))
 +115      SET X=$PIECE($GET(DIKZ("ODS")),U,2)
 +116      IF X'=""
               SET A1B2TAG="ADM"
               DO ^A1B2XFR
 +117      SET X=$PIECE($GET(DIKZ("ODS")),U,4)
 +118      IF X'=""
               SET ^DGPM("AODSA",$EXTRACT(X,1,30),DA)=""
 +119      SET X=$PIECE($GET(DIKZ("ODS")),U,6)
 +120      IF X'=""
               SET A1B2TAG="ADM"
               DO ^A1B2XFR
 +121      SET X=$PIECE($GET(DIKZ("ODS")),U,7)
 +122      IF X'=""
               SET ^DGPM("AODSD",$EXTRACT(X,1,30),DA)=""
CR1        SET DIXR=1515
 +1        KILL X
 +2        SET DIKZ(0)=$GET(^DGPM(DA,0))
 +3        SET X(1)=$PIECE(DIKZ(0),U,1)
 +4        SET X(2)=$PIECE(DIKZ(0),U,2)
 +5        SET X(3)=$PIECE(DIKZ(0),U,3)
 +6        SET X=$GET(X(1))
 +7        IF $GET(X(1))]""
               IF $GET(X(2))]""
                   IF $GET(X(3))]""
                       Begin DoDot:1
 +8                        KILL X1,X2
                           MERGE X1=X,X2=X
 +9                        SET ^DGPM("AC",X(1),X(2),X(3),DA)=""
                       End DoDot:1
CR2        SET DIXR=1516
 +1        KILL X
 +2        SET DIKZ("USR")=$GET(^DGPM(DA,"USR"))
 +3        SET X(1)=$PIECE(DIKZ("USR"),U,2)
 +4        SET X=$GET(X(1))
 +5        IF $GET(X(1))]""
               Begin DoDot:1
 +6                KILL X1,X2
                   MERGE X1=X,X2=X
 +7                SET ^DGPM("AD",$EXTRACT(X,1,30),DA)=""
               End DoDot:1
CR3        KILL X
END        QUIT