- PSOXZA7 ; COMPILED XREF FOR FILE #52.2 ; 09/03/24
- ;
- S DA=0
- A1 ;
- I $D(DIKILL) 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,9)
- I X'="" D KAS2^PSOSUTL
- S X=$P($G(DIKZ(0)),U,16)
- I X'="" K ^PSRX("AN",$E(X,1,30),DA(1),DA)
- S X=$P($G(DIKZ(0)),U,19)
- I X'="" K ^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'="" K ^PSRX("PFIL",$E(X,1,30),DA(1),DA)
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" K ^PSRX("ADP",$E(X,1,7),DA(1),DA)
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" D:'$G(PSOSUSPA) PARKILL^PSOUTLA
- 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
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . D SKIDX^PSOPXRMU(.X,.DA,"P","K")
- CR2 K X
- G:'$D(DIKLM) A Q:$D(DIKILL)
- END G ^PSOXZA8
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOXZA7 943 printed Jan 18, 2025@03:37:53 Page 2
- PSOXZA7 ; COMPILED XREF FOR FILE #52.2 ; 09/03/24
- +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),"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,9)
- +3 IF X'=""
- DO KAS2^PSOSUTL
- +4 SET X=$PIECE($GET(DIKZ(0)),U,16)
- +5 IF X'=""
- KILL ^PSRX("AN",$EXTRACT(X,1,30),DA(1),DA)
- +6 SET X=$PIECE($GET(DIKZ(0)),U,19)
- +7 IF X'=""
- KILL ^PSRX("AM",$EXTRACT(X,1,30),DA(1),DA)
- +8 SET DIKZ("PF")=$GET(^PSRX(DA(1),"P",DA,"PF"))
- +9 SET X=$PIECE($GET(DIKZ("PF")),U,1)
- +10 IF X'=""
- KILL ^PSRX("PFIL",$EXTRACT(X,1,30),DA(1),DA)
- +11 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +12 IF X'=""
- KILL ^PSRX("ADP",$EXTRACT(X,1,7),DA(1),DA)
- +13 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +14 IF X'=""
- if '$GET(PSOSUSPA)
- DO PARKILL^PSOUTLA
- 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 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +8 DO SKIDX^PSOPXRMU(.X,.DA,"P","K")
- End DoDot:1
- CR2 KILL X
- +1 if '$DATA(DIKLM)
- GOTO A
- if $DATA(DIKILL)
- QUIT
- END GOTO ^PSOXZA8