PSOXWRN ; GENERATED FROM 'PSO DRUG WARNINGS' PRINT TEMPLATE (#1506) ; 10/05/22 ; (FILE 52, MARGIN=255)
G BEGIN
N W !
T W:$X ! I '$D(DIOT(2)),DN,$D(IOSL),$S('$D(DIWF):1,$P(DIWF,"B",2):$P(DIWF,"B",2),1:1)+$Y'<IOSL,$D(^UTILITY($J,1))#2,^(1)?1U1P1E.E X ^(1)
S DISTP=DISTP+1,DILCT=DILCT+1 D:'(DISTP#100) CSTP^DIO2
Q
DT I $G(DUZ("LANG"))>1,Y W $$OUT^DIALOGU(Y,"DD") Q
X ^DD("DD")
W Y Q
M D @DIXX
Q
BEGIN ;
S:'$D(DN) DN=1 S DISTP=$G(DISTP),DILCT=$G(DILCT)
I $D(DXS)<9 M DXS=^DIPT(1506,"DXS")
S I(0)="^PSRX(",J(0)=52
W "\\"
W "^"
S X=$G(^PSRX(D0,0)) S Y=$P(X,U,2) S Y=$S(Y="":Y,$D(^DPT(Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,30)
W "^"
X DXS(1,9) K DIP K:DN Y W X
W "^"
S I(100)="^DPT(",J(100)=2 S I(0,0)=D0 S DIP(1)=$S($D(^PSRX(D0,0)):^(0),1:"") S X=$P(DIP(1),U,2),X=X S D(0)=+X S D0=D(0) I D0>0 D A1
G A1R
A1 ;
S X=$G(^DPT(D0,.11)) W ?0,$E($P(X,U,1),1,35)
W "^"
W ?0,$E($P(X,U,2),1,30)
W "^"
W ?0,$E($P(X,U,3),1,30)
W "^"
W ?0,$E($P(X,U,4),1,15)
W "^"
S Y=$P(X,U,5) S Y=$S(Y="":Y,$D(^DIC(5,Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,30)
W "^"
W ?0,$E($P(X,U,6),1,5)
W "^"
S X=$G(^DPT(D0,.13)) W ?0,$E($P(X,U,1),1,20)
W "^"
W ?0,$E($P(X,U,2),1,20)
W "^"
W ?0,$E($P(X,U,4),1,20)
W "^"
X DXS(2,9.2) S X=$S(DIP(102):DIP(103),DIP(104):X) K DIP K:DN Y W X
W "^"
Q
A1R ;
K J(100),I(100) S:$D(I(0,0)) D0=I(0,0)
S X=$G(^PSRX(D0,0)) W ?0,$E($P(X,U,1),1,11)
W "^"
S Y=$P(X,U,6) S Y=$S(Y="":Y,$D(^PSDRUG(Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,30)
W "^"
S DIP(1)=$S($D(^PSRX(D0,"OR1")):^("OR1"),1:"") S X=$P(DIP(1),U,8) S:X X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) K DIP K:DN Y W X
W "^"
X DXS(3,9) K DIP K:DN Y W X
W "^"
W ?0 X DXS(4,9.4) S X=$P($P(DIP(9),$C(59)_$P(DIP(1),U,1)_":",2),$C(59)),X=$S(DIP(6):DIP(7),DIP(8):X) K DIP K:DN Y W X
W "^"
S DIP(1)=$S($D(^PSRX(D0,0)):^(0),1:"") S X=$P(DIP(1),U,9),DIP(2)=$G(X),DIP(3)=$G(X),DIP(4)="" X DXS(5,9.4) S X=+DIP(4),Y=X,X=DIP(2),X=X-Y K DIP K:DN Y W X
W "^"
S X=$G(^PSRX(D0,0)) S Y=$P(X,U,4) S Y=$S(Y="":Y,$D(^VA(200,Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,35)
W "^"
S DIP(1)=$S($D(^PSRX(D0,3)):^(3),1:"") S X=$P(DIP(1),U,1) S:X X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) K DIP K:DN Y W X
W "^"
S DIP(1)=$S($D(^PSRX(D0,2)):^(2),1:"") S X=$P(DIP(1),U,15) S:X X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) K DIP K:DN Y W X
K Y
Q
HEAD ;
W !,?0,"$S((STATUS=""ACTIVE"")&(PARK=""YES""):""ACTIVE/PARK"",1:STATUS)"
W !,"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",!!
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOXWRN 2677 printed Dec 13, 2024@02:36:29 Page 2
PSOXWRN ; GENERATED FROM 'PSO DRUG WARNINGS' PRINT TEMPLATE (#1506) ; 10/05/22 ; (FILE 52, MARGIN=255)
+1 GOTO BEGIN
N WRITE !
T if $X
WRITE !
IF '$DATA(DIOT(2))
IF DN
IF $DATA(IOSL)
IF $SELECT('$DATA(DIWF):1,$PIECE(DIWF,"B",2):$PIECE(DIWF,"B",2),1:1)+$Y'<IOSL
IF $DATA(^UTILITY($JOB,1))#2
IF ^(1)?1U1P1E.E
XECUTE ^(1)
+1 SET DISTP=DISTP+1
SET DILCT=DILCT+1
if '(DISTP#100)
DO CSTP^DIO2
+2 QUIT
DT IF $GET(DUZ("LANG"))>1
IF Y
WRITE $$OUT^DIALOGU(Y,"DD")
QUIT
+1 XECUTE ^DD("DD")
+2 WRITE Y
QUIT
M DO @DIXX
+1 QUIT
BEGIN ;
+1 if '$DATA(DN)
SET DN=1
SET DISTP=$GET(DISTP)
SET DILCT=$GET(DILCT)
+2 IF $DATA(DXS)<9
MERGE DXS=^DIPT(1506,"DXS")
+3 SET I(0)="^PSRX("
SET J(0)=52
+4 WRITE "\\"
+5 WRITE "^"
+6 SET X=$GET(^PSRX(D0,0))
SET Y=$PIECE(X,U,2)
SET Y=$SELECT(Y="":Y,$DATA(^DPT(Y,0))#2:$PIECE(^(0),U),1:Y)
WRITE $EXTRACT(Y,1,30)
+7 WRITE "^"
+8 XECUTE DXS(1,9)
KILL DIP
if DN
KILL Y
WRITE X
+9 WRITE "^"
+10 SET I(100)="^DPT("
SET J(100)=2
SET I(0,0)=D0
SET DIP(1)=$SELECT($DATA(^PSRX(D0,0)):^(0),1:"")
SET X=$PIECE(DIP(1),U,2)
SET X=X
SET D(0)=+X
SET D0=D(0)
IF D0>0
DO A1
+11 GOTO A1R
A1 ;
+1 SET X=$GET(^DPT(D0,.11))
WRITE ?0,$EXTRACT($PIECE(X,U,1),1,35)
+2 WRITE "^"
+3 WRITE ?0,$EXTRACT($PIECE(X,U,2),1,30)
+4 WRITE "^"
+5 WRITE ?0,$EXTRACT($PIECE(X,U,3),1,30)
+6 WRITE "^"
+7 WRITE ?0,$EXTRACT($PIECE(X,U,4),1,15)
+8 WRITE "^"
+9 SET Y=$PIECE(X,U,5)
SET Y=$SELECT(Y="":Y,$DATA(^DIC(5,Y,0))#2:$PIECE(^(0),U),1:Y)
WRITE $EXTRACT(Y,1,30)
+10 WRITE "^"
+11 WRITE ?0,$EXTRACT($PIECE(X,U,6),1,5)
+12 WRITE "^"
+13 SET X=$GET(^DPT(D0,.13))
WRITE ?0,$EXTRACT($PIECE(X,U,1),1,20)
+14 WRITE "^"
+15 WRITE ?0,$EXTRACT($PIECE(X,U,2),1,20)
+16 WRITE "^"
+17 WRITE ?0,$EXTRACT($PIECE(X,U,4),1,20)
+18 WRITE "^"
+19 XECUTE DXS(2,9.2)
SET X=$SELECT(DIP(102):DIP(103),DIP(104):X)
KILL DIP
if DN
KILL Y
WRITE X
+20 WRITE "^"
+21 QUIT
A1R ;
+1 KILL J(100),I(100)
if $DATA(I(0,0))
SET D0=I(0,0)
+2 SET X=$GET(^PSRX(D0,0))
WRITE ?0,$EXTRACT($PIECE(X,U,1),1,11)
+3 WRITE "^"
+4 SET Y=$PIECE(X,U,6)
SET Y=$SELECT(Y="":Y,$DATA(^PSDRUG(Y,0))#2:$PIECE(^(0),U),1:Y)
WRITE $EXTRACT(Y,1,30)
+5 WRITE "^"
+6 SET DIP(1)=$SELECT($DATA(^PSRX(D0,"OR1")):^("OR1"),1:"")
SET X=$PIECE(DIP(1),U,8)
if X
SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
KILL DIP
if DN
KILL Y
WRITE X
+7 WRITE "^"
+8 XECUTE DXS(3,9)
KILL DIP
if DN
KILL Y
WRITE X
+9 WRITE "^"
+10 WRITE ?0
XECUTE DXS(4,9.4)
SET X=$PIECE($PIECE(DIP(9),$CHAR(59)_$PIECE(DIP(1),U,1)_":",2),$CHAR(59))
SET X=$SELECT(DIP(6):DIP(7),DIP(8):X)
KILL DIP
if DN
KILL Y
WRITE X
+11 WRITE "^"
+12 SET DIP(1)=$SELECT($DATA(^PSRX(D0,0)):^(0),1:"")
SET X=$PIECE(DIP(1),U,9)
SET DIP(2)=$GET(X)
SET DIP(3)=$GET(X)
SET DIP(4)=""
XECUTE DXS(5,9.4)
SET X=+DIP(4)
SET Y=X
SET X=DIP(2)
SET X=X-Y
KILL DIP
if DN
KILL Y
WRITE X
+13 WRITE "^"
+14 SET X=$GET(^PSRX(D0,0))
SET Y=$PIECE(X,U,4)
SET Y=$SELECT(Y="":Y,$DATA(^VA(200,Y,0))#2:$PIECE(^(0),U),1:Y)
WRITE $EXTRACT(Y,1,35)
+15 WRITE "^"
+16 SET DIP(1)=$SELECT($DATA(^PSRX(D0,3)):^(3),1:"")
SET X=$PIECE(DIP(1),U,1)
if X
SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
KILL DIP
if DN
KILL Y
WRITE X
+17 WRITE "^"
+18 SET DIP(1)=$SELECT($DATA(^PSRX(D0,2)):^(2),1:"")
SET X=$PIECE(DIP(1),U,15)
if X
SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
KILL DIP
if DN
KILL Y
WRITE X
+19 KILL Y
+20 QUIT
HEAD ;
+1 WRITE !,?0,"$S((STATUS=""ACTIVE"")&(PARK=""YES""):""ACTIVE/PARK"",1:STATUS)"
+2 WRITE !,"-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----",!!