PSSJXR31 ; COMPILED XREF FOR FILE #55.02 ; 10/05/22
 ; 
 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(^PS(55,DA(2),"IV",DA(1))) I DA(1)'>0 S DA(1)=0 G END
1 ;
B S DA=$O(^PS(55,DA(2),"IV",DA(1),"AD",DA)) I DA'>0 S DA=0 Q:DIKM1=1  G A
2 ;
 S DIKZ(0)=$G(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 S X=$P($G(DIKZ(0)),U,1)
 I X'="" X ^DD(55.02,.01,1,1,1)
 S DIKZ(0)=$G(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 S X=$P($G(DIKZ(0)),U,2)
 I X'="" X ^DD(55.02,.02,1,1,1)
 S DIKZ(0)=$G(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 S X=$P($G(DIKZ(0)),U,3)
 I X'="" X ^DD(55.02,.03,1,1,1)
 G:'$D(DIKLM) B Q:$D(DISET)
END G ^PSSJXR32
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSSJXR31   740     printed  Sep 23, 2025@20:08:18                                                                                                                                                                                                     Page 2
PSSJXR31  ; COMPILED XREF FOR FILE #55.02 ; 10/05/22
 +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(^PS(55,DA(2),"IV",DA(1)))
           IF DA(1)'>0
               SET DA(1)=0
               GOTO END
1         ;
B          SET DA=$ORDER(^PS(55,DA(2),"IV",DA(1),"AD",DA))
           IF DA'>0
               SET DA=0
               if DIKM1=1
                   QUIT 
               GOTO A
2         ;
 +1        SET DIKZ(0)=$GET(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 +2        SET X=$PIECE($GET(DIKZ(0)),U,1)
 +3        IF X'=""
               XECUTE ^DD(55.02,.01,1,1,1)
 +4        SET DIKZ(0)=$GET(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 +5        SET X=$PIECE($GET(DIKZ(0)),U,2)
 +6        IF X'=""
               XECUTE ^DD(55.02,.02,1,1,1)
 +7        SET DIKZ(0)=$GET(^PS(55,DA(2),"IV",DA(1),"AD",DA,0))
 +8        SET X=$PIECE($GET(DIKZ(0)),U,3)
 +9        IF X'=""
               XECUTE ^DD(55.02,.03,1,1,1)
 +10       if '$DATA(DIKLM)
               GOTO B
           if $DATA(DISET)
               QUIT 
END        GOTO ^PSSJXR32