PSOXZA16 ; COMPILED XREF FOR FILE #52.2 ; 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),"P",DA)) I DA'>0 S DA=0 G END
1 ;
 S DIKZ(0)=$G(^PSRX(DA(1),"P",DA,0))
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" S ^PSRX("ADP",$E(X,1,7),DA(1),DA)=""
 S X=$P($G(DIKZ(0)),U,9)
 I X'="" D SAS2^PSOSUTL
 S X=$P($G(DIKZ(0)),U,16)
 I X'="" S ^PSRX("AN",$E(X,1,30),DA(1),DA)=""
 S X=$P($G(DIKZ(0)),U,19)
 I X'="" S ^PSRX("AM",$E(X,1,30),DA(1),DA)=""
 S DIKZ("PF")=$G(^PSRX(DA(1),"P",DA,"PF"))
 S X=$P($G(DIKZ("PF")),U,1)
 I X'="" S ^PSRX("PFIL",$E(X,1,30),DA(1),DA)=""
CR1 S DIXR=463
 K X
 S X(1)=$P(DIKZ(0),U,10)
 S X(2)=$P(DIKZ(0),U,19)
 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,"P","S")
CR2 K X
 G:'$D(DIKLM) A Q:$D(DISET)
END G ^PSOXZA17
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOXZA16   851     printed  Sep 23, 2025@20:13:04                                                                                                                                                                                                     Page 2
PSOXZA16  ; COMPILED XREF FOR FILE #52.2 ; 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),"P",DA))
           IF DA'>0
               SET DA=0
               GOTO END
1         ;
 +1        SET DIKZ(0)=$GET(^PSRX(DA(1),"P",DA,0))
 +2        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +3        IF X'=""
               SET ^PSRX("ADP",$EXTRACT(X,1,7),DA(1),DA)=""
 +4        SET X=$PIECE($GET(DIKZ(0)),U,9)
 +5        IF X'=""
               DO SAS2^PSOSUTL
 +6        SET X=$PIECE($GET(DIKZ(0)),U,16)
 +7        IF X'=""
               SET ^PSRX("AN",$EXTRACT(X,1,30),DA(1),DA)=""
 +8        SET X=$PIECE($GET(DIKZ(0)),U,19)
 +9        IF X'=""
               SET ^PSRX("AM",$EXTRACT(X,1,30),DA(1),DA)=""
 +10       SET DIKZ("PF")=$GET(^PSRX(DA(1),"P",DA,"PF"))
 +11       SET X=$PIECE($GET(DIKZ("PF")),U,1)
 +12       IF X'=""
               SET ^PSRX("PFIL",$EXTRACT(X,1,30),DA(1),DA)=""
CR1        SET DIXR=463
 +1        KILL X
 +2        SET X(1)=$PIECE(DIKZ(0),U,10)
 +3        SET X(2)=$PIECE(DIKZ(0),U,19)
 +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,"P","S")
                   End DoDot:1
CR2        KILL X
 +1        if '$DATA(DIKLM)
               GOTO A
           if $DATA(DISET)
               QUIT 
END        GOTO ^PSOXZA17