PSOXZA15 ; COMPILED XREF FOR FILE #52.1 ; 09/03/24
;
S DA=0
A1 ;
I $D(DISET) 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,1)
I X'="" S ^PSRX(DA(1),1,"B",$E(X,1,30),DA)=""
S X=$P($G(DIKZ(0)),U,1)
I X'="" S ^PSRX("AD",$E(X,1,30),DA(1),DA)=""
S X=$P($G(DIKZ(0)),U,1)
I X'="" I '$O(^PSRX(DA(1),1,0)) S $P(^PSRX(DA(1),3),"^")=X
S X=$P($G(DIKZ(0)),U,1)
I X'="" D S52^PSOUTL
S X=$P($G(DIKZ(0)),U,1)
I X'="" D SPR^PSOUTL
S X=$P($G(DIKZ(0)),U,1)
I X'="" I +$G(^PSRX(DA(1),"IB")) S:$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))=""
S X=$P($G(DIKZ(0)),U,2)
I X'="" I X="W",+$G(^PSRX(DA(1),"IB")) S:$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(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))=""
S X=$P($G(DIKZ(0)),U,9)
I X'="" D SAS1^PSOSUTL
S X=$P($G(DIKZ(0)),U,16)
I X'="" S ^PSRX("AJ",$E(X,1,30),DA(1),DA)=""
S X=$P($G(DIKZ(0)),U,18)
I X'="" S ^PSRX("AL",$E(X,1,30),DA(1),DA)=""
S X=$P($G(DIKZ(0)),U,18)
I X'="" I +$G(^PSRX(DA(1),"IB")) K:$P($G(^PSRX(DA(1),1,DA,0)),"^")&($P($G(^(0)),"^",18)) ^PSRX("ACP",$P(^PSRX(DA(1),0),"^",2),$P(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))
S DIKZ("RF")=$G(^PSRX(DA(1),1,DA,"RF"))
S X=$P($G(DIKZ("RF")),U,1)
I X'="" S ^PSRX("RFIL",$E(X,1,30),DA(1),DA)=""
CR1 S DIXR=462
K X
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
. D SKIDX^PSOPXRMU(.X,.DA,"R","S")
CR2 K X
G:'$D(DIKLM) A Q:$D(DISET)
END G ^PSOXZA16
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOXZA15 1794 printed Oct 16, 2024@18:37:14 Page 2
PSOXZA15 ; COMPILED XREF FOR FILE #52.1 ; 09/03/24
+1 ;
+2 SET DA=0
A1 ;
+1 IF $DATA(DISET)
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,1)
+3 IF X'=""
SET ^PSRX(DA(1),1,"B",$EXTRACT(X,1,30),DA)=""
+4 SET X=$PIECE($GET(DIKZ(0)),U,1)
+5 IF X'=""
SET ^PSRX("AD",$EXTRACT(X,1,30),DA(1),DA)=""
+6 SET X=$PIECE($GET(DIKZ(0)),U,1)
+7 IF X'=""
IF '$ORDER(^PSRX(DA(1),1,0))
SET $PIECE(^PSRX(DA(1),3),"^")=X
+8 SET X=$PIECE($GET(DIKZ(0)),U,1)
+9 IF X'=""
DO S52^PSOUTL
+10 SET X=$PIECE($GET(DIKZ(0)),U,1)
+11 IF X'=""
DO SPR^PSOUTL
+12 SET X=$PIECE($GET(DIKZ(0)),U,1)
+13 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")))
SET ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),X,DA,DA(1))=""
+14 SET X=$PIECE($GET(DIKZ(0)),U,2)
+15 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")))
SET ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),$PIECE(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))=""
+16 SET X=$PIECE($GET(DIKZ(0)),U,9)
+17 IF X'=""
DO SAS1^PSOSUTL
+18 SET X=$PIECE($GET(DIKZ(0)),U,16)
+19 IF X'=""
SET ^PSRX("AJ",$EXTRACT(X,1,30),DA(1),DA)=""
+20 SET X=$PIECE($GET(DIKZ(0)),U,18)
+21 IF X'=""
SET ^PSRX("AL",$EXTRACT(X,1,30),DA(1),DA)=""
+22 SET X=$PIECE($GET(DIKZ(0)),U,18)
+23 IF X'=""
IF +$GET(^PSRX(DA(1),"IB"))
if $PIECE($GET(^PSRX(DA(1),1,DA,0)),"^")&($PIECE($GET(^(0)),"^",18))
KILL ^PSRX("ACP",$PIECE(^PSRX(DA(1),0),"^",2),$PIECE(^PSRX(DA(1),1,DA,0),"^"),DA,DA(1))
+24 SET DIKZ("RF")=$GET(^PSRX(DA(1),1,DA,"RF"))
+25 SET X=$PIECE($GET(DIKZ("RF")),U,1)
+26 IF X'=""
SET ^PSRX("RFIL",$EXTRACT(X,1,30),DA(1),DA)=""
CR1 SET DIXR=462
+1 KILL X
+2 SET X(1)=$PIECE(DIKZ(0),U,10)
+3 SET X(2)=$PIECE(DIKZ(0),U,18)
+4 SET X=$GET(X(1))
+5 IF $GET(X(1))]""
IF $GET(X(2))]""
Begin DoDot:1
+6 KILL X1,X2
MERGE X1=X,X2=X
+7 DO SKIDX^PSOPXRMU(.X,.DA,"R","S")
End DoDot:1
CR2 KILL X
+1 if '$DATA(DIKLM)
GOTO A
if $DATA(DISET)
QUIT
END GOTO ^PSOXZA16