| [613] | 1 | PSIVLABR ;BIR/PR-REPRINT LABELS ;30 May 2001  12:36 PM
 | 
|---|
 | 2 |  ;;5.0; INPATIENT MEDICATIONS ;**58,82,178**;16 DEC 97;Build 9
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ; Reference to ^%ZIS(2 is supported by DBIA 3435.
 | 
|---|
 | 5 |  ; Reference to ^PS(52.6 is supported by DBIA 1231.
 | 
|---|
 | 6 |  ; Reference to ^PS(52.7 is supported by DBIA 2173.
 | 
|---|
 | 7 |  ; Reference to ^PS(55 is supported by DBIA 2191.
 | 
|---|
 | 8 |  ; Reference to ^PS(51.2 is supported by DBIA 2178. 
 | 
|---|
 | 9 |  ;
 | 
|---|
 | 10 |  ;Needs DFN,ON, and PSIVNOL NOTE: If PSIVCT is defined then we do
 | 
|---|
 | 11 |  ;not count labels in the STATs file or increment cummulative doses or
 | 
|---|
 | 12 |  ;the last fill field.
 | 
|---|
 | 13 |  ;PSIVCT will be defined if reprinting scheduled labels, the suspense
 | 
|---|
 | 14 |  ;list, or if printing individual labels and they do not count.
 | 
|---|
 | 15 |  ;
 | 
|---|
 | 16 | DEM ;Get demographics and see if label is example only
 | 
|---|
 | 17 |  N X0,PSJIO,I
 | 
|---|
 | 18 |  S I=0 F  S I=$O(^%ZIS(2,IOST(0),55,I)) Q:'I  S X0=$G(^(I,0)) I X0]"" S PSJIO($P(X0,"^"))=^(1)
 | 
|---|
 | 19 |  S PSJIO=$S('$D(PSJIO):0,1:1)
 | 
|---|
 | 20 |  D ENIV^PSJAC,NOW^%DTC S PSIVNOW=$$ENDTC^PSGMI(%),VADM(2)=$E(VADM(2),6,9),PSIVWD=$S(+VAIN(4):$P(VAIN(4),U,2),1:"Opt. IV") I $D(PSIVEXAM) G ENX
 | 
|---|
 | 21 |  ;
 | 
|---|
 | 22 |  ;;NEW PSIVNOL,PSIV1 S (PSIVNOL,PSIV1)=1
 | 
|---|
 | 23 |  NEW PSIV1 S PSIV1=1
 | 
|---|
 | 24 |  G:PSIVNOL<1 Q D SETP S PSIVRM=$P(PSIVSITE,U,13),P16=$P($G(^PS(55,DFN,"IV",+ON,9)),U,3) S:PSIVRM<1 PSIVRM=30 I $D(PSIVCT),PSIVCT'=1 K PSIVCT
 | 
|---|
 | 25 |  I PSJIO,$G(PSJIO("FI"))]"" X PSJIO("FI")
 | 
|---|
 | 26 |  ;PSJRPHD is defined in REPRT^PSIVLBRP so header only print once.
 | 
|---|
 | 27 |  I $P(PSIVSITE,U,7),'$D(PSJRPHD) D
 | 
|---|
 | 28 |  . S PSIVFLAG=1,(LINE,PSIV1)=0,PSIV2=PSIVNOL,PSIVNOL=0 D RE
 | 
|---|
 | 29 |  . S PSIVRP="",PSIVRT=""
 | 
|---|
 | 30 |  . I $D(^PS(55,DFN,"IV",+ON,.2)) S PSIVRP=$P(^PS(55,DFN,"IV",+ON,.2),U,3) D
 | 
|---|
 | 31 |  .. I PSIV1'>0!'$P(PSIVSITE,U,3)!($P(PSIVSITE,U,3)=1&(P(4)'="P"))!($P(PSIVSITE,U,3)=2&("AH"'[P(4))) Q   ;QUIT IF "DOSE DUE AT" IS SET TO NOT PRINT
 | 
|---|
 | 32 |  .. S PSIVRT=$P(^PS(51.2,PSIVRP,0),U,1)
 | 
|---|
 | 33 |  .. S X="ROUTE: "_PSIVRT D:X]"" PMR
 | 
|---|
 | 34 |  . S X="Solution: _______________" D P S X="Additive: _______________" D P
 | 
|---|
 | 35 |  . S PSIVNOL=PSIV2
 | 
|---|
 | 36 |  . I 'PSJIO F LINE=LINE+1:1:(PSIVSITE+$P(PSIVSITE,U,16)) W !
 | 
|---|
 | 37 |  . I PSJIO,$G(PSJIO("EL"))]"" X PSJIO("EL")
 | 
|---|
 | 38 |  ;;I '$D(PSIVCT) D NOW^%DTC S Y=%,$P(^PS(55,DFN,"IV",+ON,9),U,1,2)=Y_"^"_PSIVNOL,$P(^(9),U,3)=$P(^(9),U,3)+PSIVNOL
 | 
|---|
 | 39 |  I '$D(PSIVCT) D NOW^%DTC S Y=%,$P(^PS(55,DFN,"IV",+ON,9),U,1,2)=Y_"^"_PSIVNOL,$P(^(9),U,3)=$P(^(9),U,3)+1
 | 
|---|
 | 40 |  K PSIVFLAG,PSIVSH G START
 | 
|---|
 | 41 | SETP S Y=^PS(55,DFN,"IV",+ON,0) F X=1:1:23 S P(X)=$P(Y,U,X)
 | 
|---|
 | 42 |  Q
 | 
|---|
 | 43 | ENX ;Print example label
 | 
|---|
 | 44 |  D SETP S PSIVFLAG=1,PSIVRM=$P(PSIVSITE,U,13) S:PSIVRM<1 PSIVRM=30
 | 
|---|
 | 45 | START S PSIV1=1,LINE=0 D RE D
 | 
|---|
 | 46 |  . Q:$D(PSIVFLAG) 
 | 
|---|
 | 47 |  . I 'PSJIO F LINE=LINE+1:1:(PSIVSITE+$P(PSIVSITE,U,16)) W !
 | 
|---|
 | 48 |  . I PSJIO,$G(PSJIO("EL"))]"" X PSJIO("EL")
 | 
|---|
 | 49 |  I PSJIO,$G(PSJIO("FE"))]"" X PSJIO("FE")
 | 
|---|
 | 50 |  D:'$D(PSIVCT) ^PSIVSTAT
 | 
|---|
 | 51 | Q K PSIV,PSIVDOSE,PSIVCT,PSIVWD,P16,LINE,MESS,PSIV2,PSIVFLAG,PSIVRM,PSIV1,PDOSE,PDATE,XX1,XX2,BAG,CX Q
 | 
|---|
 | 52 | RE ;
 | 
|---|
 | 53 |  ;NEED THE CODE BELOW?
 | 
|---|
 | 54 |  ;;I PSIV1,P(4)="A"!(P(5)=0) S:P(15)>2880!('P(15)) P(15)=2880 S P(16)=P16+PSIV1#(1440/P(15)+.5\1) S:'P(16) P(16)=PSIV1
 | 
|---|
 | 55 |  I PSJIO,$G(PSJIO("SL"))]"" X PSJIO("SL")
 | 
|---|
 | 56 |  I PSIV1 D BARCODE
 | 
|---|
 | 57 |  S X="["_$P(^PS(55,DFN,"IV",+ON,0),U)_"]"_" "_VADM(2)_"  "_PSIVWD_"  "_$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3) D P
 | 
|---|
 | 58 |  S X=VADM(1) S:$P(PSIVSITE,U,9) X=X_"  "_$S(VAIN(5)]"":VAIN(5),1:"NF") D P S X=" " D P
 | 
|---|
 | 59 |  I $D(PSIVFLAG) F PSIV=0:0 S PSIV=$O(^PS(55,DFN,"IV",+ON,"AD",PSIV)) Q:'PSIV  S Y=^(PSIV,0),X=$S($D(^PS(52.6,+Y,0)):$P(^(0),"^"),1:"*********")_" "_$P(Y,U,2)_" " S:$P(Y,U,3)]"" X=X_" ("_$P(Y,U,3)_")" D
 | 
|---|
 | 60 |  . D P,MESS
 | 
|---|
 | 61 |  G:$D(PSIVFLAG) SOL
 | 
|---|
 | 62 |  F PSIV=0:0 S PSIV=$O(^PS(55,DFN,"IVBCMA",PSJIDNO,"AD",PSIV)) Q:'PSIV  S Y=^(PSIV,0),X=$S($D(^PS(52.6,+Y,0)):$P(^(0),U),1:"********")_" "_$P(Y,U,2) D
 | 
|---|
 | 63 |  . D P,MESS
 | 
|---|
 | 64 | SOL F PSIV=0:0 S PSIV=$O(^PS(55,DFN,"IVBCMA",PSJIDNO,"SOL",PSIV)) Q:'PSIV  S PSIV=PSIV_"^"_+^(PSIV,0),YY=^(0) D
 | 
|---|
 | 65 |  . D SOL1,P
 | 
|---|
 | 66 |  . S X=$P(^PS(52.7,$P(PSIV,U,2),0),U,4) I X]"" S X="   "_X D P
 | 
|---|
 | 67 |  I P(23)'=""!(P(4)="S") S X="In Syringe: "_$E($P(^PS(55,DFN,"IV",+ON,2),U,4),1,25) D:P(4)="S"!(P(23)="S") P S X="*CAUTION* - CHEMOTHERAPY" D:P(23)'="" P
 | 
|---|
 | 68 |  S X=" " D P I PSIV1'>0!'$P(PSIVSITE,U,3)!($P(PSIVSITE,U,3)=1&(P(4)'="P"))!($P(PSIVSITE,U,3)=2&("AH"'[P(4))) G MEDRT
 | 
|---|
 | 69 |  S:'$D(PSIVDOSE) PSIVDOSE="" S X=$P(PSIVDOSE," ",PSIV1) D:$E(X)="." CONVER S X="Dose due at: "_$S(X="":"________",1:$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3)_" "_$E(X#1_"000",2,5)) D P
 | 
|---|
 | 70 |  ;
 | 
|---|
 | 71 | MEDRT ;Find Medication Route   
 | 
|---|
 | 72 |  S PSIVRP="",PSIVRT=""
 | 
|---|
 | 73 |  I $D(^PS(55,DFN,"IV",+ON,.2)) S PSIVRP=$P(^PS(55,DFN,"IV",+ON,.2),U,3) D
 | 
|---|
 | 74 |  .S PSIVRT=$P(^PS(51.2,PSIVRP,0),U,1)
 | 
|---|
 | 75 |  .S X="ROUTE: "_PSIVRT D:X]"" PMR
 | 
|---|
 | 76 |  ;
 | 
|---|
 | 77 | INF S X=$P(P(8),"@") D:X]"" P
 | 
|---|
 | 78 |  I $D(^PS(55,DFN,"IV",+ON,3)) S X=$P(^(3),"^") D:X]"" P
 | 
|---|
 | 79 |  S X=P(9) D:X]"" P
 | 
|---|
 | 80 |  S X=P(11) D:X]"" P
 | 
|---|
 | 81 |  I $D(MESS) S X=MESS D P
 | 
|---|
 | 82 |  I $D(^PS(59.5,PSIVSN,4)) S Y=^(4) F PSIV=1:1 S X=$P(Y,U,PSIV) Q:X=""  D P
 | 
|---|
 | 83 |  ;S X=PSIV1_"["_$S(PSIV1:PSIVNOL,1:PSIV2)_"]"_"  "_$S('PSIV1:PSIVNOW,1:"") D P
 | 
|---|
 | 84 |  S X=PSIVBAG D P
 | 
|---|
 | 85 |  Q
 | 
|---|
 | 86 | P F LINE=LINE+1:1 D  Q:$L(X)<1
 | 
|---|
 | 87 |  . I LINE>PSIVSITE D
 | 
|---|
 | 88 |  .. S LINE=1
 | 
|---|
 | 89 |  .. I 'PSJIO D  Q
 | 
|---|
 | 90 |  ... F ZZ=1:1 Q:ZZ>$P(PSIVSITE,"^",16)  W !
 | 
|---|
 | 91 |  .. F I="EL","SL" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 92 |  . K ZZ
 | 
|---|
 | 93 |  . F I="ST","STF" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 94 |  . W $E(X,1,PSIVRM)
 | 
|---|
 | 95 |  . F I="ETF","ET" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 96 |  . I 'PSJIO W !
 | 
|---|
 | 97 |  . S X=$E(X,PSIVRM+1,999)
 | 
|---|
 | 98 |  Q
 | 
|---|
 | 99 | PMR ; Print Med Route on label
 | 
|---|
 | 100 |  ;
 | 
|---|
 | 101 |  F LINE=LINE+1:1 D  Q:$L(X)<1
 | 
|---|
 | 102 |  . I LINE>PSIVSITE D
 | 
|---|
 | 103 |  .. S LINE=1
 | 
|---|
 | 104 |  .. I 'PSJIO D  Q
 | 
|---|
 | 105 |  ... F ZZ=1:1 Q:ZZ>$P(PSIVSITE,"^",16)  W !
 | 
|---|
 | 106 |  .. F I="EL","SL" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 107 |  . K ZZ
 | 
|---|
 | 108 |  . ;
 | 
|---|
 | 109 |  . F I="ST","STF","SM","SMF" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 110 |  . W $E(X,1,PSIVRM)
 | 
|---|
 | 111 |  . F I="ETF","ET","EMF","EM" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 112 |  . I 'PSJIO W !
 | 
|---|
 | 113 |  . S X=$E(X,PSIVRM+1,999)
 | 
|---|
 | 114 |  Q
 | 
|---|
 | 115 | SOL1 S X=$S($D(^PS(52.7,$P(PSIV,U,2),0)):$P(^(0),"^")_" "_$P(^PS(55,DFN,"IVBCMA",PSJIDNO,"SOL",+PSIV,0),U,2),1:"**********") Q
 | 
|---|
 | 116 | MESS I '$D(MESS) I $P(^PS(52.6,+Y,0),U,9)]"" S MESS=$P(^(0),U,9)
 | 
|---|
 | 117 |  Q
 | 
|---|
 | 118 | CONVER ;Expand dose to date.dose and set in X
 | 
|---|
 | 119 |  I P(15)>1440 S X=$$CONVER1^PSIVORE2($P(PSIVDOSE," "),P(15),(PSIV1-1)) Q
 | 
|---|
 | 120 |  S PDOSE=X S:PSIV1=2 PDATE=$E($P(PSIVDOSE," "),1,7)
 | 
|---|
 | 121 |  I $P(PSIVDOSE," ",PSIV1-1)#1'<PDOSE!(P(15)>1440) S:$D(X1) XX1=X1 S:$D(X2) XX2=X2 S X1=PDATE,X2=1 D C^%DTC S PDATE=X,X=X_PDOSE S:$D(XX1) X1=XX1 S:$D(XX2) X2=XX2 Q
 | 
|---|
 | 122 |  S X=PDATE_PDOSE
 | 
|---|
 | 123 |  Q
 | 
|---|
 | 124 | BARCODE D PSET^%ZISP
 | 
|---|
 | 125 |  I 'PSJIO D
 | 
|---|
 | 126 |  . I IOBARON]"" W @IOBARON
 | 
|---|
 | 127 |  . W PSJBCID
 | 
|---|
 | 128 |  . I IOBAROFF]"" W @IOBAROFF
 | 
|---|
 | 129 |  . W !
 | 
|---|
 | 130 |  I PSJIO D
 | 
|---|
 | 131 |  . F I="SB","SBF" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 132 |  . W PSJBCID
 | 
|---|
 | 133 |  . F I="EBF","EB" I $G(PSJIO(I))]"" X PSJIO(I)
 | 
|---|
 | 134 |  Q
 | 
|---|