IBXX35 ; COMPILED XREF FOR FILE #399.0404 ; 05/29/25
 ; 
 S DA(2)=DA(1) S DA(1)=0 S DA=0
A1 ;
 I $D(DISET) K DIKLM S:DIKM1=2 DIKLM=1 S:DIKM1'=2&'$G(DIKPUSH(2)) DIKPUSH(2)=1,DA(2)=DA(1),DA(1)=DA,DA=0 G @DIKM1
A S DA(1)=$O(^DGCR(399,DA(2),"CP",DA(1))) I DA(1)'>0 S DA(1)=0 G END
1 ;
B S DA=$O(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA)) I DA'>0 S DA=0 Q:DIKM1=1  G A
2 ;
 S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","B",$E(X,1,30),DA)=""
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(0)=X S X=Y(0),X=X S X=X'=1 I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,4),X=X S DIU=X K Y S X="" X ^DD(399.0404,.01,1,2,1.4)
 S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .X ^DD(399.0404,.02,1,1,1.3) I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,5),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,1,1.4)
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .X ^DD(399.0404,.02,1,2,1.3) I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,3),X=X S DIU=X K Y S X=DIV S X=$$EXTCR^IBCEU5(X) X ^DD(399.0404,.02,1,2,1.4)
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .X ^DD(399.0404,.02,1,3,1.3) I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,8),X=X S DIU=X K Y X ^DD(399.0404,.02,1,3,1.1) X ^DD(399.0404,.02,1,3,1.4)
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,15),X=X S DIU=X K Y X ^DD(399.0404,.02,1,7,1.1) X ^DD(399.0404,.02,1,7,1.4)
 S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 S X=$P($G(DIKZ(0)),U,5)
 I X'="" D
 .N DIK,DIV,DIU,DIN
 .K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(0)=X S X=Y(0)="SLF000" I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,2),X=X S DIU=X K Y S X="" X ^DD(399.0404,.05,1,1,1.4)
CR1 S DIXR=178
 K X
 S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 S X(1)=$P(DIKZ(0),U,1)
 S X=$$EXTERNAL^DILFD(399.0404,.01,,X(1))
 S:$D(X)#2 X(2)=X
 S X=$G(X(1))
 I $G(X(2))]"" D
 . K X1,X2 M X1=X,X2=X
 . S ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C",$E(X(2),1,30),DA)=""
CR2 K X
 G:'$D(DIKLM) B Q:$D(DISET)
END G ^IBXX36
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBXX35   2594     printed  Sep 23, 2025@20:09:36                                                                                                                                                                                                      Page 2
IBXX35    ; COMPILED XREF FOR FILE #399.0404 ; 05/29/25
 +1       ; 
 +2        SET DA(2)=DA(1)
           SET DA(1)=0
           SET DA=0
A1        ;
 +1        IF $DATA(DISET)
               KILL DIKLM
               if DIKM1=2
                   SET DIKLM=1
               if DIKM1'=2&'$GET(DIKPUSH(2))
                   SET DIKPUSH(2)=1
                   SET DA(2)=DA(1)
                   SET DA(1)=DA
                   SET DA=0
               GOTO @DIKM1
A          SET DA(1)=$ORDER(^DGCR(399,DA(2),"CP",DA(1)))
           IF DA(1)'>0
               SET DA(1)=0
               GOTO END
1         ;
B          SET DA=$ORDER(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA))
           IF DA'>0
               SET DA=0
               if DIKM1=1
                   QUIT 
               GOTO A
2         ;
 +1        SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 +2        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +3        IF X'=""
               SET ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","B",$EXTRACT(X,1,30),DA)=""
 +4        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +5        IF X'=""
               Begin DoDot:1
 +6                NEW DIK,DIV,DIU,DIN
 +7                KILL DIV
                   SET DIV=X
                   SET D0=DA(2)
                   SET DIV(0)=D0
                   SET D1=DA(1)
                   SET DIV(1)=D1
                   SET D2=DA
                   SET DIV(2)=D2
                   SET Y(0)=X
                   SET X=Y(0)
                   SET X=X
                   SET X=X'=1
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,4)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       SET X=""
                       XECUTE ^DD(399.0404,.01,1,2,1.4)
               End DoDot:1
 +8        SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 +9        SET X=$PIECE($GET(DIKZ(0)),U,2)
 +10       IF X'=""
               Begin DoDot:1
 +11               NEW DIK,DIV,DIU,DIN
 +12               XECUTE ^DD(399.0404,.02,1,1,1.3)
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,5)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       SET X=""
                       XECUTE ^DD(399.0404,.02,1,1,1.4)
               End DoDot:1
 +13       SET X=$PIECE($GET(DIKZ(0)),U,2)
 +14       IF X'=""
               Begin DoDot:1
 +15               NEW DIK,DIV,DIU,DIN
 +16               XECUTE ^DD(399.0404,.02,1,2,1.3)
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,3)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       SET X=DIV
                       SET X=$$EXTCR^IBCEU5(X)
                       XECUTE ^DD(399.0404,.02,1,2,1.4)
               End DoDot:1
 +17       SET X=$PIECE($GET(DIKZ(0)),U,2)
 +18       IF X'=""
               Begin DoDot:1
 +19               NEW DIK,DIV,DIU,DIN
 +20               XECUTE ^DD(399.0404,.02,1,3,1.3)
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,8)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       XECUTE ^DD(399.0404,.02,1,3,1.1)
                       XECUTE ^DD(399.0404,.02,1,3,1.4)
               End DoDot:1
 +21       SET X=$PIECE($GET(DIKZ(0)),U,2)
 +22       IF X'=""
               Begin DoDot:1
 +23               NEW DIK,DIV,DIU,DIN
 +24               KILL DIV
                   SET DIV=X
                   SET D0=DA(2)
                   SET DIV(0)=D0
                   SET D1=DA(1)
                   SET DIV(1)=D1
                   SET D2=DA
                   SET DIV(2)=D2
                   SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                   SET X=$PIECE(Y(1),U,15)
                   SET X=X
                   SET DIU=X
                   KILL Y
                   XECUTE ^DD(399.0404,.02,1,7,1.1)
                   XECUTE ^DD(399.0404,.02,1,7,1.4)
               End DoDot:1
 +25       SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 +26       SET X=$PIECE($GET(DIKZ(0)),U,5)
 +27       IF X'=""
               Begin DoDot:1
 +28               NEW DIK,DIV,DIU,DIN
 +29               KILL DIV
                   SET DIV=X
                   SET D0=DA(2)
                   SET DIV(0)=D0
                   SET D1=DA(1)
                   SET DIV(1)=D1
                   SET D2=DA
                   SET DIV(2)=D2
                   SET Y(0)=X
                   SET X=Y(0)="SLF000"
                   IF X
                       SET X=DIV
                       SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
                       SET X=$PIECE(Y(1),U,2)
                       SET X=X
                       SET DIU=X
                       KILL Y
                       SET X=""
                       XECUTE ^DD(399.0404,.05,1,1,1.4)
               End DoDot:1
CR1        SET DIXR=178
 +1        KILL X
 +2        SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
 +3        SET X(1)=$PIECE(DIKZ(0),U,1)
 +4        SET X=$$EXTERNAL^DILFD(399.0404,.01,,X(1))
 +5        if $DATA(X)#2
               SET X(2)=X
 +6        SET X=$GET(X(1))
 +7        IF $GET(X(2))]""
               Begin DoDot:1
 +8                KILL X1,X2
                   MERGE X1=X,X2=X
 +9                SET ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C",$EXTRACT(X(2),1,30),DA)=""
               End DoDot:1
CR2        KILL X
 +1        if '$DATA(DIKLM)
               GOTO B
           if $DATA(DISET)
               QUIT 
END        GOTO ^IBXX36