PSOXZA4 ; COMPILED XREF FOR FILE #52.1 ; 05/20/15
;
S DA=0
A1 ;
I $D(DIKILL) K DIKLM S:DIKM1=1 DIKLM=1 G @DIKM1
0 ;
A S DA=$O(^PSRX(DA(1),1,DA)) I DA'>0 S DA=0 G END
1 ;
S DIKZ(0)=$G(^PSRX(DA(1),1,DA,0))
S X=$P($G(DIKZ(0)),U,2)
I X'="" I X="W",+$G(^PSRX(DA(1),"IB")) K:$P($G(^PSRX(DA(1),0)),"^",2)&('$P($G(^PSRX(DA(1),1,DA,0)),"^",16))&('$P($G(^(0)),"^",18))&('$G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA(1),0),"^",2),+$P($G(^PSRX(DA(1),1,DA,0)),"^"),DA,DA(1))
S X=$P($G(DIKZ(0)),U,9)
I X'="" D KAS1^PSOSUTL
S X=$P($G(DIKZ(0)),U,16)
I X'="" K ^PSRX("AJ",$E(X,1,30),DA(1),DA)
S X=$P($G(DIKZ(0)),U,18)
I X'="" K ^PSRX("AL",$E(X,1,30),DA(1),DA)
S X=$P($G(DIKZ(0)),U,18)
I X'="" I $P($G(^PSRX(DA(1),0)),"^",2),+$G(^("IB")) S:$P($G(^PSRX(DA(1),1,DA,0)),"^")&($P($G(^(0)),"^",2)="W")&('$P($G(^(0)),"^",16))&('$G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA(1),0),"^",2),$P(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))=""
S X=$P($G(DIKZ(0)),U,18)
I X'="" K ^PSRX("ZAL",X,DA(1),DA,"R")
S DIKZ(999999911)=$G(^PSRX(DA(1),1,DA,999999911))
S X=$P($G(DIKZ(999999911)),U,1)
I X'="" K ^PSRX("APCC",$E(X,1,30),DA(1),DA) I '$D(PSOSUSPA) N APSRX,APSRM S APSRX=DA(1),APSRM=X D ^APSPCCD
S X=$P($G(DIKZ(0)),U,1)
I X'="" K ^PSRX(DA(1),1,"B",$E(X,1,30),DA)
S X=$P($G(DIKZ(0)),U,1)
I X'="" K ^PSRX("AD",$E(X,1,30),DA(1),DA)
S X=$P($G(DIKZ(0)),U,1)
I X'="" X ^DD(52.1,.01,1,3,2)
S X=$P($G(DIKZ(0)),U,1)
I X'="" D K52^PSOUTL
S X=$P($G(DIKZ(0)),U,1)
I X'="" D KPR^PSOUTL
S X=$P($G(DIKZ(0)),U,1)
I X'="" I +$G(^PSRX(DA(1),"IB")) K:$P($G(^PSRX(DA(1),0)),"^",2)&($P($G(^PSRX(DA(1),1,DA,0)),"^",2)="W")&('$P($G(^(0)),"^",16))&('$P($G(^(0)),"^",18))&('$G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA(1),0),"^",2),X,DA,DA(1))
CR1 S DIXR=428
K X
S DIKZ(0)=$G(^PSRX(DA(1),1,DA,0))
S X(1)=$P(DIKZ(0),U,10)
S X(2)=$P(DIKZ(0),U,18)
S X=$G(X(1))
I $G(X(1))]"",$G(X(2))]"" D
. K X1,X2 M X1=X,X2=X
. S:$D(DIKIL) (X2,X2(1),X2(2))=""
. D SKIDX^PSOPXRMU(.X,.DA,"R","K")
CR2 K X
G:'$D(DIKLM) A Q:$D(DIKILL)
END G ^PSOXZA5
PSOXZA4 ; COMPILED XREF FOR FILE #52.1 ; 05/20/15
+1 ;
+2 SET DA=0
A1 ;
+1 IF $DATA(DIKILL)
KILL DIKLM
IF DIKM1=1
SET DIKLM=1
GOTO @DIKM1
0 ;
A SET DA=$ORDER(^PSRX(DA(1),1,DA))
IF DA'>0
SET DA=0
GOTO END
1 ;
+1 SET DIKZ(0)=$GET(^PSRX(DA(1),1,DA,0))
+2 SET X=$PIECE($GET(DIKZ(0)),U,2)
+3 IF X'=""
IF X="W"
IF +$GET(^PSRX(DA(1),"IB"))
IF $PIECE($GET(^PSRX(DA(1),0)),"^",2)&('$PIECE($GET(^PSRX(DA(1),1,DA,0)),"^",16))&('$PIECE($GET(^(0)),"^",18))&('$GET(^("IB")))
KILL ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),+$PIECE($GET(^PSRX(DA(1),1,DA,0)),"^"),DA,DA(1))
+4 SET X=$PIECE($GET(DIKZ(0)),U,9)
+5 IF X'=""
DO KAS1^PSOSUTL
+6 SET X=$PIECE($GET(DIKZ(0)),U,16)
+7 IF X'=""
KILL ^PSRX("AJ",$EXTRACT(X,1,30),DA(1),DA)
+8 SET X=$PIECE($GET(DIKZ(0)),U,18)
+9 IF X'=""
KILL ^PSRX("AL",$EXTRACT(X,1,30),DA(1),DA)
+10 SET X=$PIECE($GET(DIKZ(0)),U,18)
+11 IF X'=""
IF $PIECE($GET(^PSRX(DA(1),0)),"^",2)
IF +$GET(^("IB"))
IF $PIECE($GET(^PSRX(DA(1),1,DA,0)),"^")&($PIECE($GET(^(0)),"^",2)="W")&('$PIECE($GET(^(0)),"^",16))&('$GET(^("IB")))
SET ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),$PIECE(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))=""
+12 SET X=$PIECE($GET(DIKZ(0)),U,18)
+13 IF X'=""
KILL ^PSRX("ZAL",X,DA(1),DA,"R")
+14 SET DIKZ(999999911)=$GET(^PSRX(DA(1),1,DA,999999911))
+15 SET X=$PIECE($GET(DIKZ(999999911)),U,1)
+16 IF X'=""
KILL ^PSRX("APCC",$EXTRACT(X,1,30),DA(1),DA)
IF '$DATA(PSOSUSPA)
NEW APSRX,APSRM
SET APSRX=DA(1)
SET APSRM=X
DO ^APSPCCD
+17 SET X=$PIECE($GET(DIKZ(0)),U,1)
+18 IF X'=""
KILL ^PSRX(DA(1),1,"B",$EXTRACT(X,1,30),DA)
+19 SET X=$PIECE($GET(DIKZ(0)),U,1)
+20 IF X'=""
KILL ^PSRX("AD",$EXTRACT(X,1,30),DA(1),DA)
+21 SET X=$PIECE($GET(DIKZ(0)),U,1)
+22 IF X'=""
XECUTE ^DD(52.1,.01,1,3,2)
+23 SET X=$PIECE($GET(DIKZ(0)),U,1)
+24 IF X'=""
DO K52^PSOUTL
+25 SET X=$PIECE($GET(DIKZ(0)),U,1)
+26 IF X'=""
DO KPR^PSOUTL
+27 SET X=$PIECE($GET(DIKZ(0)),U,1)
+28 IF X'=""
IF +$GET(^PSRX(DA(1),"IB"))
IF $PIECE($GET(^PSRX(DA(1),0)),"^",2)&($PIECE($GET(^PSRX(DA(1),1,DA,0)),"^",2)="W")&('$PIECE($GET(^(0)),"^",16))&('$PIECE($GET(^(0)),"^",18))&('$GET(^("IB")))
KILL ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),X,DA,DA(1))
CR1 SET DIXR=428
+1 KILL X
+2 SET DIKZ(0)=$GET(^PSRX(DA(1),1,DA,0))
+3 SET X(1)=$PIECE(DIKZ(0),U,10)
+4 SET X(2)=$PIECE(DIKZ(0),U,18)
+5 SET X=$GET(X(1))
+6 IF $GET(X(1))]""
IF $GET(X(2))]""
Begin DoDot:1
+7 KILL X1,X2
MERGE X1=X,X2=X
+8 IF $DATA(DIKIL)
SET (X2,X2(1),X2(2))=""
+9 DO SKIDX^PSOPXRMU(.X,.DA,"R","K")
End DoDot:1
CR2 KILL X
+1 IF '$DATA(DIKLM)
GOTO A
IF $DATA(DIKILL)
QUIT
END GOTO ^PSOXZA5