PSOXZA15 ; COMPILED XREF FOR FILE #52.1 ; 09/03/25
 ; 
 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  Sep 23, 2025@20:13:03                                                                                                                                                                                                    Page 2
PSOXZA15  ; COMPILED XREF FOR FILE #52.1 ; 09/03/25
 +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