- 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 Mar 13, 2025@21:41:22 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 !,"-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- -----",!!