- 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 Jan 18, 2025@03:51:26 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