Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PSIVEDT1

PSIVEDT1.m

Go to the documentation of this file.
  1. PSIVEDT1 ;BIR/MLM - EDIT IV ORDER (CONT) ;Nov 2, 2021@12:47:00
  1. ;;5.0;INPATIENT MEDICATIONS;**3,7,41,47,50,64,58,116,110,111,113,267,279,305,194,373,411,416,399**;16 DEC 97;Build 64
  1. ;
  1. ; Reference to ^PS(55 is supported by DBIA# 2191.
  1. ; Reference to ^PS(51.1 is supported by DBIA# 2177.
  1. ;
  1. 10 ; Start Date
  1. I $G(P("APPT")) S P(2)=P("APPT") ;p411 - set Start Date to Visit Date
  1. D:'P(2)&P("IVRM")!($G(PSJREN)) ENT^PSIVCAL
  1. A10 I $G(P("RES"))="R" I $G(ON)["P",$P($G(^PS(53.1,+ON,0)),"^",24)="R" D Q
  1. . Q:'$G(PSIVRENW) W !!?5,"This is a Renewal Order. Start Date may not be edited at this point." D PAUSE^VALM1
  1. I $G(ON)["V"!($G(ON)["U") I $$COMPLEX^PSJOE(DFN,ON) D Q
  1. .Q:$G(PSJBKDR) W !!?5,"This is a Complex Order. Start Date may not be edited at this point." D PAUSE^VALM1
  1. S Y=P(2) X ^DD("DD") W !,"START DATE/TIME: "_$S(Y]"":Y_"// ",1:"") R X:DTIME S:'$T X=U S:X=U DONE=1 I $E(X)=U!(P(2)&X="") Q
  1. I X["???",($E(P("OT"))="I"),(PSIVAC["C") D ORFLDS G 10
  1. I X="@"!(X?1."?") W:X="@" $C(7)," (Required)" S F1=53.1,F2=10 S:X="@" X="?" D ENHLP^PSIVORC1 G A10
  1. K %DT S:X="" X=P(2) S %DT="ERTX" D ^%DT K %DT G:Y'>0 A10
  1. I $G(P("RES"))="R",(+Y<+$P($G(^PS(55,DFN,"IV",+$G(P("OLDON")),0)),U,2)) D G 10
  1. .; naked ref below refers to line above
  1. .S Y=$P(^(0),U,2) X ^DD("DD") W $C(7),!!,"Start date of order being renewed is ",Y,".",!,"Start date of renewal order must be AFTER start date of order being renewed.",!
  1. S X1=$G(P("LOG")),X2=-7 D C^%DTC I +Y<X W $C(7),!!,"Start date/time may not be entered prior to 7 days from the order's LOGIN DATE.",! G A10
  1. ; RBD PSJ*5*373 Soft stop when Start Date more than 7 days after Order's LOGIN DATE
  1. S X1=$G(P("LOG")),X2=+7 D C^%DTC
  1. I +Y>X W !!,$C(7),"Start date/time should not be entered for more than 7 days after the",!,"order's LOGIN DATE.",! K DIR D WAIT^VALM1
  1. S P(2)=+Y,PSGSDX=1
  1. Q
  1. ;
  1. 25 ; Stop Date
  1. G:$D(PSGFDX) A25
  1. I P("IVRM")]"",$S(P(3)<P(2):1,$G(PSIVAC)["E":0,1:1) S PSIVSITE=$G(^PS(59.5,+P("IVRM"),1)),$P(PSIVSITE,"^",20,21)=$G(^PS(59.5,+P("IVRM"),5)) D ENSTOP^PSIVCAL
  1. A25 I $G(ON)["V"!($G(ON)["U") I $$COMPLEX^PSJOE(DFN,ON) D Q
  1. .Q:$G(PSJBKDR) W !!?5,"This is a Complex Order. Stop Date may not be edited at this point." D PAUSE^VALM1
  1. S Y=P(3) X ^DD("DD") W !,"STOP DATE/TIME: "_$S(Y]"":Y_"// ",1:"") R X:DTIME S:'$T X=U S:X=U DONE=1 Q:X=""&P(2) I $E(X)=U!(X=""&P(2)) Q
  1. I X["???",($E(P("OT"))="I"),(PSIVAC["C") D ORFLDS G 25
  1. I X="@"!(X["?") W $C(7)," (Required)" S F1=53.1,F2=25,X="?" D ENHLP^PSIVORC1 G A25
  1. K %DT S:X="" X=$G(Y) S:X="" X=P(3) S %DT="ERTX" D:X'=+X ^%DT
  1. I X=+X,X>0,X'>2000000 G A25:'$$ENDL^PSGDL(P(9),X) D ENDL^PSIVSP
  1. D DOSE
  1. I $G(X)="" S X=Y
  1. I $G(X)="" S X=P(3)
  1. I $G(Z)]"",Z>X D G A25
  1. . W !,"There is no administration time that falls between the Start Date/Time"
  1. . W !,"and Stop Date/Time.",!
  1. S X=Y S:Y<1!Y'["." X="" G:Y'>0 A25
  1. ; RBD PSJ*5*373 Hard stop when Stop Date more than 367 days after Start Date
  1. S X1=+Y,X2=P(2) D ^%DTC
  1. I X>367 W $C(7),!!?13,"*** STOP DATE cannot be more than 367 days from START DATE ***",! G A25
  1. S P(3)=+Y,PSGFDX=1
  1. Q
  1. ;
  1. 26 ; Schedule
  1. I $G(P("RES"))="R" I $G(ON)["P",$P($G(^PS(53.1,+ON,0)),"^",24)="R" D Q
  1. . Q:'$G(PSIVRENW) W !!?5,"This is a Renewal Order. Schedule may not be edited at this point." D PAUSE^VALM1
  1. I $G(ON)["V"!($G(ON)["U") I $$COMPLEX^PSJOE(DFN,ON) D Q
  1. .Q:$G(PSJBKDR) W !!?5,"This is a Complex Order. Schedule may not be edited at this point." D PAUSE^VALM1
  1. W !,"SCHEDULE: ",$S(P(9)]"":P(9)_"// ",1:"") R X:DTIME S:'$T X=U S:X=U DONE=1 I $E(X)=U!(X="") Q
  1. I X="@" D DEL^PSIVEDRG S:%=1 P(9)="" G 26
  1. I '$$SCHREQ^PSJLIVFD(.P) S P(7)="" I $P(X,"@",2)=0 D G 26
  1. .W $C(7),!!?2,"'@0' is not permitted for Continuous IV's",!
  1. I X["???",($E(P("OT"))="I"),(PSIVAC["C") D ORFLDS G 26
  1. ;*194 Allow multi-word schedules
  1. I X?1."?"!($L(X)>22)!($L(X," ")>$S(X["PRN":4,1:3)) S F1=55.01,F2=.09 D ENHLP^PSIVORC1 G 26
  1. S CHG=0 I P(9)]"",X'=P(9) S CHG=1
  1. S P(7)="" K PSGOES D EN^PSIVSP S:XT<0 X="" I $G(X)="" W $C(7),"??" G 26
  1. I CHG D
  1. . S P(9)=X,P(11)=Y,P(15)=XT
  1. . I $$ODD^PSGS0(P(15)) S P(11)=""
  1. . W !!?5,"This change in schedule also changes the Administration Times and Schedule Type of this order."
  1. . S DIR("A")="Enter RETURN to continue or '^' to exit:"
  1. . D PAUSE^VALM1
  1. K CHG
  1. Q
  1. ;
  1. 39 ; Admin Times
  1. S ORIG=$G(P(11))
  1. A39 I $G(P("RES"))="R" I $G(ON)["P",($P($G(^PS(53.1,+ON,0)),"^",24)="R") D Q
  1. . Q:'$G(PSIVRENW) W !!?5,"This is a Renewal Order. Administration times may not be edited at this point." D PAUSE^VALM1
  1. I $G(ON)["V"!($G(ON)["U") I $$COMPLEX^PSJOE(DFN,ON) D Q
  1. .Q:$G(PSJBKDR) W !!?5,"This is a Complex Order. Admin Times may not be edited at this point." D PAUSE^VALM1
  1. I $G(P(9))=""!($G(P(9))[" PRN")!($G(P(9))="PRN") Q ;No schedule or PRN schedule
  1. I $$ODD^PSGS0(P(15)) S P(11)="" Q
  1. W !,"ADMINISTRATION TIMES: ",$S(P(11)]"":P(11)_"//",1:"") R X:DTIME S:'$T X=U S:X=U DONE=1 I '($G(P(15))="D"&'DONE) I $E(X)=U S (X,P(11))=ORIG Q
  1. I X="",P(11)]"" S X=P(11)
  1. I ($G(P(15))="D"!($G(P(9))["@"))&('$G(X)!(X["@")) W $C(7)," ??" S X="?" W:(P(15)="D"!(X["@")) !,"This is a 'DAY OF THE WEEK' schedule and MUST have admin times." G A39
  1. I X="@" D DEL^PSIVEDRG S:%=1 P(11)="" G A39
  1. I X?1."?" D ENHLP^PSGOEM(53.1,39) G A39
  1. I X["???",($E(P("OT"))="I"),(PSIVAC["C") D ORFLDS G A39
  1. I $G(P(15))'="D",$G(P(15))'="P",'$$ONCALL(P(9)) D TIMES I '$D(X) G A39
  1. K:X[""""!($A(X)=45) X W:$G(X)="^"!('$D(X)) $C(7)," ??" G:$G(X)="^"!('$D(X)) A39 S P(11)=X D:$G(PSIVCAL) ENT^PSIVCAL,ENSTOP^PSIVCAL K PSIVCAL
  1. Q
  1. ;
  1. 59 ; Infusion Rate
  1. ;*305
  1. N P8BADDEF S P8BADDEF=0 K PSJEXMSG
  1. I $G(P("RES"))="R" I $G(ON)["P",$P($G(^PS(53.1,+ON,0)),"^",24)="R" D Q
  1. . Q:'$G(PSIVRENW) W !!?5,"This is a Renewal Order. Infusion Rate may not be edited at this point." D PAUSE^VALM1
  1. W !,"INFUSION RATE: ",$S(P(8)]"":$P(P(8),"@")_"//",1:"") R X:DTIME S:'$T X=U S:X=U DONE=1 I $S($E(X)=U:1,X]"":0,1:P(8)]"") D:'$G(DONE) EXPINF(.X) D:'$G(DONE) NUMLAB(.P) G:$G(P8BADDEF) 59 Q
  1. S X=$TR(X,$C(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127)) ; Strip out control characters
  1. I ((P(4)="P")!((P(4)="C")&(P(23)="P"))!(("C^S"[P(4))&(P(5)=1)))&(X["@") D G 59
  1. .W $C(7),!!?2,"'@' is not permitted for Intermittent IV's",!
  1. I (X["^") D G 59
  1. .W $C(7),!!?2,"'^' is not permitted",!
  1. I X=""&((P(4)="P")!((P(4)="C")&(P(23)="P"))!(("C^S"[P(4))&(P(5)=1))) Q
  1. I X="@" D DEL^PSIVEDRG S:%=1 P(8)="" G 59
  1. I X["???",($E(P("OT"))="I"),(PSIVAC["C") D ORFLDS G 59
  1. I X["?" S F1=53.1,F2=59 D ENHLP^PSIVORC1 G 59
  1. D EXPINF(.X)
  1. I ($L(X)>30!($L(X)=1)),(X'?1N) D G 59
  1. .W $C(7),!!?3,"Free text entries must contain a minimum of 2 characters",!?3,"and a maximum of 30 characters",!
  1. I X]"" D ENI^PSIVSP W:'$D(X) $C(7)," ??" G:'$D(X) 59 S P(8)=X
  1. I P(8)="" W $C(7),!!,"An infusion rate must be entered!" G 59
  1. D NUMLAB(.P)
  1. Q
  1. ;
  1. NUMLAB(P) ; Prompt for Number of Labels
  1. N PSJILBS
  1. NUMLAB2 ; Loop ;*305
  1. ; Quit if no Infusion Rate
  1. Q:($G(P(8))="")
  1. I ((P(4)="P")!((P(4)="C")&(P(23)="P"))!(("C^S"[P(4))&(P(5)=1))) D Q
  1. .I $G(X)="",$G(P(8))["@" S P(8)=$P(P(8),"@")
  1. K DIR S PSJILBS=$P($G(P(8)),"@",2) S:'(PSJILBS?1.N) PSJILBS=$G(P("NUMLBL")) I $G(PSJILBS)?1.N S DIR("B")=PSJILBS
  1. D NLBHLP(1)
  1. S DIR(0)="FAO",DIR("A")="NUMBER OF LABELS PER DAY: " D ^DIR Q:X="^"
  1. I X="@" D DEL^PSIVEDRG S:%=1 P("NUMLBL")="",P(8)=$P(P(8),"@") G NUMLAB2
  1. I X?1."?" D NLBHLP G NUMLAB2
  1. I X?1.2N S P("NUMLBL")=+X,P(8)=$P(P(8),"@")_"@"_P("NUMLBL") Q
  1. I X="",(P(8)'?1N.N.1".".1N1" ml/hr") D G NUMLAB2
  1. .W $C(7),!!,"Number of Labels is required for continuous IV's with free text Infusion Rate.",!
  1. Q:X=""
  1. I X'?1.2N D G NUMLAB2
  1. .W $C(7),!!,"Type a number between 0 and 99, 0 decimal digits",!
  1. Q
  1. ;
  1. 63 ; Remarks
  1. N DIR S X="",DIR(0)="53.1,63" S:P("REM")]"" DIR("B")=P("REM") D ^DIR I X="^"!$D(DTOUT) S DONE=1 Q
  1. I X="@" D DEL^PSIVEDRG S:%=1 P("REM")="" G 63
  1. I X]"",$E(X)'="^" S P("REM")=X
  1. Q
  1. ;
  1. 64 ; Other Print Info
  1. N OPIMSG,PSJOPILN,PSJOPIT,PSJTMPTX,TMPLIN,PSJOVRMX
  1. S PSJOPILN=$$EDITOPI^PSJBCMA5(DFN) S OPIMSG="Instructions too long. See Order View or BCMA for full text."
  1. S PSJTMPTX="",PSJOVRMX=0
  1. S TMPLIN=0 F S TMPLIN=$O(^PS(53.45,$G(PSJSYSP),6,TMPLIN)) Q:'TMPLIN!PSJOVRMX D
  1. .S:($L(PSJTMPTX)+$L($G(^PS(53.45,$G(DUZ),6,TMPLIN,0))))>60 PSJOVRMX=1 Q:$G(PSJOVRMX) D
  1. ..S PSJTMPTX=$G(PSJTMPTX)_$S($L($G(PSJTMPTX)):" ",1:"")_$G(^PS(53.45,$G(DUZ),6,TMPLIN,0))
  1. S PSJTMPTX=$S($G(PSJOVRMX):OPIMSG,1:$G(PSJTMPTX))
  1. S P("OPI")=PSJTMPTX I (PSJOPILN>0) S P("OPI")=$$ENBCMA^PSJUTL("V")
  1. I PSJTMPTX="",PSJOPILN="" S P("OPI")=$$ENBCMA^PSJUTL("V") ;P416
  1. Q
  1. ;
  1. IND ;*399-IND
  1. N INDLST,DIR,SEL,I,J,K,L,M,N,O,INDI,CHK,CNT K DUOUT,DTOUT,DIROUT,DIRUT
  1. S (CHK,CNT,J)=0
  1. S O=0 S:'$D(DRG("AD")) O=1
  1. F I="AD","SOL" S J=0 F S J=$O(DRG(I,J)) Q:'J S K=$P(DRG(I,J),U,6) D:K
  1. . K ^TMP($J,"PSJDIND")
  1. . D INDCATN^PSS50P7(K,"PSJDIND")
  1. . Q:'$O(^TMP($J,"PSJDIND",0))
  1. . S L=0 F S L=$O(^TMP($J,"PSJDIND",L)) Q:'L D
  1. . . S N=$P($G(^TMP($J,"PSJDIND",L)),"^") S:N]"" M(N)=""
  1. K ^TMP($J,"PSJDIND")
  1. I '$D(M) S Y=99 G CIND
  1. S INDI="" F S INDI=$O(M(INDI)) Q:INDI="" D
  1. . I $G(P("IND"))]"",INDI=P("IND") S CHK=1
  1. . S CNT=CNT+1,DIR("L",CNT)=" "_CNT_$S(CNT<10:" ",1:" ")_INDI S:CNT=1 SEL=CNT_":"_INDI S:CNT>1 SEL=SEL_";"_CNT_":"_INDI
  1. W !,"INDICATION:"
  1. S DIR(0)="SO^"_SEL_";99:Free Text entry",DIR("A")="Select INDICATION from the list"
  1. S DIR("L")=" 99 Free Text entry"
  1. S:CHK DIR("B")=P("IND") S:'CHK&(P("IND")]"") DIR("B")=99
  1. S DIR("?")="This field contains the Indication For Use and must be 3-40 characters in length"
  1. D ^DIR
  1. I X="^"!($G(DTOUT))!($G(DIROUT)) S DONE=1 Q
  1. I Y=99 S:CHK P("IND")="" G CIND
  1. I X="@",$G(P("IND"))]"" D DEL^PSIVEDRG G:%'=1 IND S P("IND")="" Q
  1. I X="@" S P("IND")="" G IND
  1. S:Y>0 P("IND")=Y(0)
  1. Q
  1. ;
  1. CIND ;
  1. I Y=99 N I,J,IND,DA D G:$G(Y)=99 CIND
  1. . K X,Y,DIRUT,DTOUT,DUOUT,DIROUT,DIR
  1. . S:$G(P("IND"))]"" DIR("B")=P("IND")
  1. . S DIR(0)="53.1,132",DIR("A")="INDICATION" D ^DIR
  1. . I X="^"!($G(DTOUT))!($G(DIROUT)) S DONE=1 Q
  1. . I X="@",$G(P("IND"))]"" D DEL^PSIVEDRG G:%'=1 IND S P("IND")="" Q
  1. . I X="@" S P("IND")="" G IND
  1. . I $L(X," ")=1,$L(X)>32 W $C(7),!?5,"MAX OF 32 CHARACTERS ALLOWED WITHOUT SPACES.",! S Y=99 Q
  1. . S IND="" F I=1:1:$L(X," ") Q:I="" S J=$P(X," ",I) D I '$D(X) S Y=99 Q
  1. . .I $L(J)>32 W $C(7),!?5,"MAX OF 32 CHARACTERS ALLOWED BETWEEN SPACES.",! K X Q
  1. . .S:J]"" IND=$S($G(IND)]"":IND_" ",1:"")_J
  1. . Q:$G(Y)=99
  1. . S P("IND")=$$ENLU^PSGMI(IND)
  1. Q
  1. ;
  1. ORFLDS ; Display OE/RR fields during edit.
  1. D FULL^VALM1
  1. W !!,"Orderable Item: ",$P(P("PD"),U,2),!,"Give: ",$P(P("MR"),U,2)," ",P(9),!!
  1. Q
  1. ;
  1. TIMES ;At least one admin time, not more than interval allows.
  1. I $G(P(15)) Q:$$ODD^PSGS0(P(15))
  1. I $G(P(15))="C"!$$CONTIN($G(P(9))) I '$$ONCALL($G(P(9))),X="" W !,"This order requires at least one administration time." K X Q ;No times
  1. N H,I,MAX
  1. I $G(P(15))="O"!$$ONETIME($G(P(9))) I $L(X,"-")>1 W !," This is a One Time Order - only one administration time is permitted." K X Q
  1. I $G(P(15))="O"!$$ONETIME($G(P(9))) Q ;Done validating One Time
  1. I $G(P(9))]"" S H=+$O(^PS(51.1,"B",P(9),0)) S I=$P($G(^PS(51.1,H,0)),"^",3)
  1. I +I=0 Q ;No frequency - can not check frequency related items
  1. S MAX=1440/I
  1. I MAX<1,$L(X,"-")>1 W !,"This order requires one administration time." K X Q
  1. I MAX'<1,$L(X,"-")>MAX W !,"The number of admin times entered is greater than indicated by the schedule." K X Q ;Too many times
  1. I MAX'<1,$L(X,"-")<MAX D ;Too few times
  1. . W !,"The number of admin times entered is fewer than indicated by the schedule."
  1. . N X,DIR
  1. . D PAUSE^VALM1
  1. Q
  1. ;
  1. DOSE ;Make certain at least one dose is given.
  1. N INFO,Y,PNINE
  1. S PNINE=P(9)
  1. S INFO=$G(P(2))_U_$G(P(3))_U_$G(P(9))_U_$P($G(PSGZZND),"^",5)_U_$P($G(P("PD")),"^")_U_$G(P(11))
  1. I '$L($G(PSGP)) N PSGP S PSGP=""
  1. S Z=$$ENQ^PSJORP2(PSGP,INFO) ;Expected first dose.
  1. S P(9)=PNINE
  1. Q
  1. ;
  1. ONCALL(SCHD) ; Check if a schedule is type On Call (all schedules with a given name must have the same schedule type)
  1. N NXT,SCHARR
  1. S OCCHK=0
  1. Q:$G(SCHD)="" OCCHK
  1. Q:'$D(^PS(51.1,"APPSJ",SCHD)) OCCHK
  1. S NXT=0 F S NXT=$O(^PS(51.1,"APPSJ",SCHD,NXT)) Q:'NXT S TYP=$P($G(^PS(51.1,+NXT,0)),"^",5) S:TYP]"" SCHARR(TYP)=""
  1. I '$D(SCHARR("OC")) S OCCHK=0 Q OCCHK
  1. I $O(SCHARR("OC"))]""!($O(SCHARR("OC"),-1)]"") S OCCHK=0 Q OCCHK
  1. I $D(SCHARR("OC")) S OCCHK=1
  1. Q OCCHK
  1. ;
  1. ONETIME(SCHD) ; Check if a schedule is type On Call (all schedules with a given name must have the same schedule type)
  1. N NXT,SCHARR
  1. S OCCHK=0
  1. Q:$G(SCHD)="" OCCHK
  1. Q:'$D(^PS(51.1,"APPSJ",SCHD)) OCCHK
  1. S NXT=0 F S NXT=$O(^PS(51.1,"APPSJ",SCHD,NXT)) Q:'NXT S TYP=$P($G(^PS(51.1,+NXT,0)),"^",5) S:TYP]"" SCHARR(TYP)=""
  1. I '$D(SCHARR("O")) S OCCHK=0 Q OCCHK
  1. I $O(SCHARR("O"))]""!($O(SCHARR("O"),-1)]"") S OCCHK=0 Q OCCHK
  1. I $D(SCHARR("O")) S OCCHK=1
  1. Q OCCHK
  1. ;
  1. CONTIN(SCHD) ; Check if a schedule is type On Call (all schedules with a given name must have the same schedule type)
  1. N NXT,SCHARR
  1. S OCCHK=0
  1. Q:$G(SCHD)="" OCCHK
  1. Q:'$D(^PS(51.1,"APPSJ",SCHD)) OCCHK
  1. S NXT=0 F S NXT=$O(^PS(51.1,"APPSJ",SCHD,NXT)) Q:'NXT S TYP=$P($G(^PS(51.1,+NXT,0)),"^",5) S:TYP]"" SCHARR(TYP)=""
  1. I '$D(SCHARR("C")) S OCCHK=0 Q OCCHK
  1. I $O(SCHARR("C"))]""!($O(SCHARR("C"),-1)]"") S OCCHK=0 Q OCCHK
  1. I $D(SCHARR("C")) S OCCHK=1
  1. Q OCCHK
  1. ;
  1. NLBHLP(OUT) ; Help text for Number of Labels per day
  1. I OUT=1 D Q
  1. .S DIR("?",1)="Enter the # of labels per day that will be needed."
  1. .S DIR("?",2)=""
  1. .S DIR("?",3)="Example: 0 = 0 labels per day."
  1. .S DIR("?",4)=" 2 = 2 labels per day."
  1. .S DIR("?",5)="Note: Number of Labels per day is required for continuous IV orders"
  1. .S DIR("?",6)=" with free text Infusion Rate. Number of labels per day is not"
  1. .S DIR("?",7)=" permitted for Intermittent (IVPB) type orders; for Intermittent"
  1. .S DIR("?",8)=" orders, the schedule and administration time(s) will be used to"
  1. .S DIR("?")=" determine the number of labels needed."
  1. ;
  1. W !,"Enter the # of labels per day that will be needed."
  1. W !,"Example: 0 = 0 labels per day."
  1. W !," 2 = 2 labels per day."
  1. W !!,"Note: Number of Labels per day is required for continuous IV orders"
  1. W !," with free text Infusion Rate. Number of labels per day is not"
  1. W !," permitted for Intermittent (IVPB) type orders; for Intermittent"
  1. W !," orders, the schedule and administration time(s) will be used to"
  1. W !," determine the number of labels needed."
  1. Q
  1. ;
  1. EXPINF(P8,SILENT) ; Expand Infusion Rate
  1. ;*305
  1. Q:$G(P8)!($G(PSJEXMSG)) N P8TMP S P8TMP=$$UP^XLFSTR($P(P8,"@"))
  1. N EXPANDED S EXPANDED="" D INFCHK^PSJLIVFD(P8TMP,.EXPANDED)
  1. I (EXPANDED=$P(P8,"@"))!(EXPANDED=P8TMP) Q
  1. S PSJEXMSG=1 I '$G(SILENT) W " Now expanding text"
  1. I P8["@" S $P(P8,"@")=EXPANDED
  1. I P8'["@" S P8=EXPANDED
  1. I '$G(SILENT) W:$G(PSJEXMSG) !," Input expanded to ",EXPANDED
  1. Q
  1. ;