- 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 Feb 19, 2025@00:03:02 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