PSOXZA10 ; COMPILED XREF FOR FILE #52 ; 09/03/24
;
S DIKZK=1
S DIKZ(0)=$G(^PSRX(DA,0))
S X=$P($G(DIKZ(0)),U,1)
I X'="" S ^PSRX("B",$E(X,1,30),DA)=""
S X=$P($G(DIKZ(0)),U,13)
I X'="" S ^PSRX("AC",$E(X,1,30),DA)=""
S X=$P($G(DIKZ(0)),U,2)
I X'="" S:$P($G(^PSRX(DA,0)),"^",11)="W"&($P($G(^(2)),"^",2))&('$P($G(^(2)),"^",13))&('$P($G(^(2)),"^",15))&(+$G(^("IB"))) ^PSRX("ACP",X,$P(^PSRX(DA,2),"^",2),0,DA)=""
S X=$P($G(DIKZ(0)),U,2)
I X'="" X ^DD(52,2,1,2,1)
S X=$P($G(DIKZ(0)),U,2)
I X'="" S:$G(PSODEATH) ^PSRX("APSOD",X,DA)=""
S DIKZ(0)=$G(^PSRX(DA,0))
S X=$P($G(DIKZ(0)),U,6)
I X'="" I X,$P(^PSRX(DA,2),"^",2) S ^PSRX("ADL",$P(^PSRX(DA,2),"^",2),X,DA)=""
S X=$P($G(DIKZ(0)),U,6)
I X'="" S:'$D(PSOPAR) PSOPAR=$S($D(^PS(59,$O(^PS(59,0)),1)):^(1),1:"") S P(7)=$P(^PSRX(DA,0),U,8),P(5)=$P(^PSRX(DA,0),U,6),P(2)=$P(^(0),U,3) D MAX^PSOHELP K P(2),P(7),P(5) S:$P(^PSRX(DA,0),U,9)="" $P(^(0),U,9)=MAX K MIN,MAX,REF
S X=$P($G(DIKZ(0)),U,11)
I X'="" S:X="W"&($P(^PSRX(DA,0),"^",2))&($P($G(^(2)),"^",2))&('$P($G(^(2)),"^",13))&('$P($G(^(2)),"^",15))&(+$G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA,0),"^",2),$P(^(2),"^",2),0,DA)=""
S DIKZ(2)=$G(^PSRX(DA,2))
S X=$P($G(DIKZ(2)),U,9)
I X'="" D SAS^PSOSUTL
S X=$P($G(DIKZ(2)),U,2)
I X'="" S ^PSRX("AD",X,DA,0)=""
S X=$P($G(DIKZ(2)),U,2)
I X'="" I '$O(^PSRX(DA,1,0)) S $P(^PSRX(DA,3),"^")=X
S X=$P($G(DIKZ(2)),U,2)
I X'="" S:$P($G(^PSRX(DA,0)),"^",2)&($P($G(^(0)),"^",11)="W")&('$P($G(^(2)),"^",13))&('$P($G(^(2)),"^",15))&(+$G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA,0),"^",2),X,0,DA)=""
S X=$P($G(DIKZ(2)),U,2)
I X'="" D SUSFDS^PSOUTLA
S X=$P($G(DIKZ(2)),U,2)
I X'="" I X,$P(^PSRX(DA,0),"^",6) S ^PSRX("ADL",X,$P(^PSRX(DA,0),"^",6),DA)=""
S X=$P($G(DIKZ(2)),U,6)
I X'="" S ^PSRX("AG",$E(X,1,30),DA)=""
S X=$P($G(DIKZ(2)),U,6)
I X'="" S:$P($G(^PSRX(DA,"STA")),"^")'=12 ^PS(55,$P($G(^PSRX(DA,0)),"^",2),"P","A",X,DA)=""
S DIKZ(3)=$G(^PSRX(DA,3))
S X=$P($G(DIKZ(3)),U,5)
I X'="" I $P($G(^PSRX(DA,"STA")),"^")=12 S ^PS(55,+$P(^PSRX(DA,0),"^",2),"P","A",X,DA)="" K ^PS(55,+$P(^PSRX(DA,0),"^",2),"P","A",$P($G(^PSRX(DA,2)),"^",6),DA)
S X=$P($G(DIKZ(2)),U,13)
I X'="" S ^PSRX("AL",X,DA,0)=""
S X=$P($G(DIKZ(2)),U,13)
I X'="" K:$P(^PSRX(DA,0),"^",2)&($P($G(^(2)),"^",2))&('$P($G(^(2)),"^",15))&($G(^("IB"))) ^PSRX("ACP",$P(^PSRX(DA,0),"^",2),$P(^(2),"^",2),0,DA)
S X=$P($G(DIKZ(2)),U,15)
I X'="" S ^PSRX("AJ",X,DA,0)=""
S DIKZ("OR1")=$G(^PSRX(DA,"OR1"))
S X=$P($G(DIKZ("OR1")),U,8)
I X'="" S ^PSRX("AFDT",$E(X,1,30),DA)=""
S X=$P($G(DIKZ("OR1")),U,2)
I X'="" S ^PSRX("APL",$E(X,1,30),DA)=""
S X=$P($G(DIKZ("OR1")),U,3)
I X'="" S ^PSRX("AO",$E(X,1,30),DA)=""
S X=$P($G(DIKZ("OR1")),U,4)
I X'="" S ^PSRX("AQ",$E(X,1,30),DA)=""
S DIKZ("H")=$G(^PSRX(DA,"H"))
S X=$P($G(DIKZ("H")),U,1)
I X'="" S ^PSRX("AH",$E(X,1,30),DA)=""
S X=$P($G(DIKZ(3)),U,3)
I X'="" K ^PSRX("ANCO",DA)
S DIKZ("PARK")=$G(^PSRX(DA,"PARK"))
S X=$P($G(DIKZ("PARK")),U,1)
I X'="" S ^PSRX("APARK",$E(X,1,30),DA)=""
CR1 S DIXR=175
K X
S DIKZ("EXT")=$G(^PSRX(DA,"EXT"))
S X(1)=$P(DIKZ("EXT"),U,1)
S X(2)=$P(DIKZ("EXT"),U,2)
S X=$G(X(1))
I $G(X(1))]"",$G(X(2))]"" D
. K X1,X2 M X1=X,X2=X
. S ^PSRX("D",$E(X(1),1,30),$E(X(2),1,60),DA)=""
CR2 S DIXR=250
K X
S DIKZ(0)=$G(^PSRX(DA,0))
S X(1)=$P(DIKZ(0),U,13)
S X=$G(X(1))
I $G(X(1))]"" D
. K X1,X2 M X1=X,X2=X
. I +$P($G(^PSRX(DA,"PKI")),"^")=1 S ^PSRX("APKI",$E(X,1,30),DA)=""
CR3 S DIXR=461
K X
S DIKZ(0)=$G(^PSRX(DA,0))
S X(1)=$P(DIKZ(0),U,8)
S DIKZ(2)=$G(^PSRX(DA,2))
S X(2)=$P(DIKZ(2),U,13)
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,"O","S")
CR4 K X
END G ^PSOXZA11
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOXZA10 3719 printed Nov 22, 2024@17:46:30 Page 2
PSOXZA10 ; COMPILED XREF FOR FILE #52 ; 09/03/24
+1 ;
+2 SET DIKZK=1
+3 SET DIKZ(0)=$GET(^PSRX(DA,0))
+4 SET X=$PIECE($GET(DIKZ(0)),U,1)
+5 IF X'=""
SET ^PSRX("B",$EXTRACT(X,1,30),DA)=""
+6 SET X=$PIECE($GET(DIKZ(0)),U,13)
+7 IF X'=""
SET ^PSRX("AC",$EXTRACT(X,1,30),DA)=""
+8 SET X=$PIECE($GET(DIKZ(0)),U,2)
+9 IF X'=""
if $PIECE($GET(^PSRX(DA,0)),"^",11)="W"&($PIECE($GET(^(2)),"^",2))&('$PIECE($GET(^(2)),"^",13))&('$PIECE($GET(^(2)),"^",15))&(+$GET(^("IB")))
SET ^PSRX("ACP",X,$PIECE(^PSRX(DA,2),"^",2),0,DA)=""
+10 SET X=$PIECE($GET(DIKZ(0)),U,2)
+11 IF X'=""
XECUTE ^DD(52,2,1,2,1)
+12 SET X=$PIECE($GET(DIKZ(0)),U,2)
+13 IF X'=""
if $GET(PSODEATH)
SET ^PSRX("APSOD",X,DA)=""
+14 SET DIKZ(0)=$GET(^PSRX(DA,0))
+15 SET X=$PIECE($GET(DIKZ(0)),U,6)
+16 IF X'=""
IF X
IF $PIECE(^PSRX(DA,2),"^",2)
SET ^PSRX("ADL",$PIECE(^PSRX(DA,2),"^",2),X,DA)=""
+17 SET X=$PIECE($GET(DIKZ(0)),U,6)
+18 IF X'=""
if '$DATA(PSOPAR)
SET PSOPAR=$SELECT($DATA(^PS(59,$ORDER(^PS(59,0)),1)):^(1),1:"")
SET P(7)=$PIECE(^PSRX(DA,0),U,8)
SET P(5)=$PIECE(^PSRX(DA,0),U,6)
SET P(2)=$PIECE(^(0),U,3)
DO MAX^PSOHELP
KILL P(2),P(7),P(5)
if $PIECE(^PSRX(DA,0),U,9)=""
SET $PIECE(^(0),U,9)=MAX
KILL MIN,MAX,REF
+19 SET X=$PIECE($GET(DIKZ(0)),U,11)
+20 IF X'=""
if X="W"&($PIECE(^PSRX(DA,0),"^",2))&($PIECE($GET(^(2)),"^",2))&('$PIECE($GET(^(2)),"^",13))&('$PIECE($GET(^(2)),"^",15))&(+$GET(^("IB")))
SET ^PSRX("ACP",$PIECE(^PSRX(DA,0),"^",2),$PIECE(^(2),"^",2),0,DA)=""
+21 SET DIKZ(2)=$GET(^PSRX(DA,2))
+22 SET X=$PIECE($GET(DIKZ(2)),U,9)
+23 IF X'=""
DO SAS^PSOSUTL
+24 SET X=$PIECE($GET(DIKZ(2)),U,2)
+25 IF X'=""
SET ^PSRX("AD",X,DA,0)=""
+26 SET X=$PIECE($GET(DIKZ(2)),U,2)
+27 IF X'=""
IF '$ORDER(^PSRX(DA,1,0))
SET $PIECE(^PSRX(DA,3),"^")=X
+28 SET X=$PIECE($GET(DIKZ(2)),U,2)
+29 IF X'=""
if $PIECE($GET(^PSRX(DA,0)),"^",2)&($PIECE($GET(^(0)),"^",11)="W")&('$PIECE($GET(^(2)),"^",13))&('$PIECE($GET(^(2)),"^",15))&(+$GET(^("IB")))
SET ^PSRX("ACP",$PIECE(^PSRX(DA,0),"^",2),X,0,DA)=""
+30 SET X=$PIECE($GET(DIKZ(2)),U,2)
+31 IF X'=""
DO SUSFDS^PSOUTLA
+32 SET X=$PIECE($GET(DIKZ(2)),U,2)
+33 IF X'=""
IF X
IF $PIECE(^PSRX(DA,0),"^",6)
SET ^PSRX("ADL",X,$PIECE(^PSRX(DA,0),"^",6),DA)=""
+34 SET X=$PIECE($GET(DIKZ(2)),U,6)
+35 IF X'=""
SET ^PSRX("AG",$EXTRACT(X,1,30),DA)=""
+36 SET X=$PIECE($GET(DIKZ(2)),U,6)
+37 IF X'=""
if $PIECE($GET(^PSRX(DA,"STA")),"^")'=12
SET ^PS(55,$PIECE($GET(^PSRX(DA,0)),"^",2),"P","A",X,DA)=""
+38 SET DIKZ(3)=$GET(^PSRX(DA,3))
+39 SET X=$PIECE($GET(DIKZ(3)),U,5)
+40 IF X'=""
IF $PIECE($GET(^PSRX(DA,"STA")),"^")=12
SET ^PS(55,+$PIECE(^PSRX(DA,0),"^",2),"P","A",X,DA)=""
KILL ^PS(55,+$PIECE(^PSRX(DA,0),"^",2),"P","A",$PIECE($GET(^PSRX(DA,2)),"^",6),DA)
+41 SET X=$PIECE($GET(DIKZ(2)),U,13)
+42 IF X'=""
SET ^PSRX("AL",X,DA,0)=""
+43 SET X=$PIECE($GET(DIKZ(2)),U,13)
+44 IF X'=""
if $PIECE(^PSRX(DA,0),"^",2)&($PIECE($GET(^(2)),"^",2))&('$PIECE($GET(^(2)),"^",15))&($GET(^("IB")))
KILL ^PSRX("ACP",$PIECE(^PSRX(DA,0),"^",2),$PIECE(^(2),"^",2),0,DA)
+45 SET X=$PIECE($GET(DIKZ(2)),U,15)
+46 IF X'=""
SET ^PSRX("AJ",X,DA,0)=""
+47 SET DIKZ("OR1")=$GET(^PSRX(DA,"OR1"))
+48 SET X=$PIECE($GET(DIKZ("OR1")),U,8)
+49 IF X'=""
SET ^PSRX("AFDT",$EXTRACT(X,1,30),DA)=""
+50 SET X=$PIECE($GET(DIKZ("OR1")),U,2)
+51 IF X'=""
SET ^PSRX("APL",$EXTRACT(X,1,30),DA)=""
+52 SET X=$PIECE($GET(DIKZ("OR1")),U,3)
+53 IF X'=""
SET ^PSRX("AO",$EXTRACT(X,1,30),DA)=""
+54 SET X=$PIECE($GET(DIKZ("OR1")),U,4)
+55 IF X'=""
SET ^PSRX("AQ",$EXTRACT(X,1,30),DA)=""
+56 SET DIKZ("H")=$GET(^PSRX(DA,"H"))
+57 SET X=$PIECE($GET(DIKZ("H")),U,1)
+58 IF X'=""
SET ^PSRX("AH",$EXTRACT(X,1,30),DA)=""
+59 SET X=$PIECE($GET(DIKZ(3)),U,3)
+60 IF X'=""
KILL ^PSRX("ANCO",DA)
+61 SET DIKZ("PARK")=$GET(^PSRX(DA,"PARK"))
+62 SET X=$PIECE($GET(DIKZ("PARK")),U,1)
+63 IF X'=""
SET ^PSRX("APARK",$EXTRACT(X,1,30),DA)=""
CR1 SET DIXR=175
+1 KILL X
+2 SET DIKZ("EXT")=$GET(^PSRX(DA,"EXT"))
+3 SET X(1)=$PIECE(DIKZ("EXT"),U,1)
+4 SET X(2)=$PIECE(DIKZ("EXT"),U,2)
+5 SET X=$GET(X(1))
+6 IF $GET(X(1))]""
IF $GET(X(2))]""
Begin DoDot:1
+7 KILL X1,X2
MERGE X1=X,X2=X
+8 SET ^PSRX("D",$EXTRACT(X(1),1,30),$EXTRACT(X(2),1,60),DA)=""
End DoDot:1
CR2 SET DIXR=250
+1 KILL X
+2 SET DIKZ(0)=$GET(^PSRX(DA,0))
+3 SET X(1)=$PIECE(DIKZ(0),U,13)
+4 SET X=$GET(X(1))
+5 IF $GET(X(1))]""
Begin DoDot:1
+6 KILL X1,X2
MERGE X1=X,X2=X
+7 IF +$PIECE($GET(^PSRX(DA,"PKI")),"^")=1
SET ^PSRX("APKI",$EXTRACT(X,1,30),DA)=""
End DoDot:1
CR3 SET DIXR=461
+1 KILL X
+2 SET DIKZ(0)=$GET(^PSRX(DA,0))
+3 SET X(1)=$PIECE(DIKZ(0),U,8)
+4 SET DIKZ(2)=$GET(^PSRX(DA,2))
+5 SET X(2)=$PIECE(DIKZ(2),U,13)
+6 SET X=$GET(X(1))
+7 IF $GET(X(1))]""
IF $GET(X(2))]""
Begin DoDot:1
+8 KILL X1,X2
MERGE X1=X,X2=X
+9 DO SKIDX^PSOPXRMU(.X,.DA,"O","S")
End DoDot:1
CR4 KILL X
END GOTO ^PSOXZA11