Released PSJ*5*439 SEQ #380
Extracted from mail message
**KIDS**:PSJ*5.0*439^
**INSTALL NAME**
PSJ*5.0*439
"BLD",13040,0)
PSJ*5.0*439^INPATIENT MEDICATIONS^0^3230208^y
"BLD",13040,1,0)
^^9^9^3230208^
"BLD",13040,1,1,0)
INC25661636 - Certain IV orders not displaying correctly in CPRS and VistA
"BLD",13040,1,2,0)
--------------------------------------------------------------------------
"BLD",13040,1,3,0)
When a continuous IV order is entered in CPRS with a free text infusion
"BLD",13040,1,4,0)
rate that has a decimal with or without a preceding 0, the system thinks
"BLD",13040,1,5,0)
that this is a numeric infusion rate for some reason and adds the "ml/hr"
"BLD",13040,1,6,0)
suffix. This causes issues when we're also trying to designate the number
"BLD",13040,1,7,0)
of labels to print with the "@" sign because it does not recognize this in
"BLD",13040,1,8,0)
pharmacy finishing and removes the "@" along with the number that follows.
"BLD",13040,1,9,0)
See the Patch Description on FORUM for more details.
"BLD",13040,4,0)
^9.64PA^^
"BLD",13040,6)
1
"BLD",13040,6.3)
1
"BLD",13040,"ABPKG")
n
"BLD",13040,"KRN",0)
^9.67PA^1.5^25
"BLD",13040,"KRN",.4,0)
.4
"BLD",13040,"KRN",.401,0)
.401
"BLD",13040,"KRN",.402,0)
.402
"BLD",13040,"KRN",.403,0)
.403
"BLD",13040,"KRN",.5,0)
.5
"BLD",13040,"KRN",.84,0)
.84
"BLD",13040,"KRN",1.5,0)
1.5
"BLD",13040,"KRN",1.6,0)
1.6
"BLD",13040,"KRN",1.61,0)
1.61
"BLD",13040,"KRN",1.62,0)
1.62
"BLD",13040,"KRN",3.6,0)
3.6
"BLD",13040,"KRN",3.8,0)
3.8
"BLD",13040,"KRN",9.2,0)
9.2
"BLD",13040,"KRN",9.8,0)
9.8
"BLD",13040,"KRN",9.8,"NM",0)
^9.68A^1^1
"BLD",13040,"KRN",9.8,"NM",1,0)
PSIVSP^^0^B48519708
"BLD",13040,"KRN",9.8,"NM","B","PSIVSP",1)
"BLD",13040,"KRN",19,0)
19
"BLD",13040,"KRN",19.1,0)
19.1
"BLD",13040,"KRN",101,0)
101
"BLD",13040,"KRN",409.61,0)
409.61
"BLD",13040,"KRN",771,0)
771
"BLD",13040,"KRN",779.2,0)
779.2
"BLD",13040,"KRN",870,0)
870
"BLD",13040,"KRN",8989.51,0)
8989.51
"BLD",13040,"KRN",8989.52,0)
8989.52
"BLD",13040,"KRN",8993,0)
8993
"BLD",13040,"KRN",8994,0)
8994
"BLD",13040,"KRN","B",.4,.4)
"BLD",13040,"KRN","B",.401,.401)
"BLD",13040,"KRN","B",.402,.402)
"BLD",13040,"KRN","B",.403,.403)
"BLD",13040,"KRN","B",.5,.5)
"BLD",13040,"KRN","B",.84,.84)
"BLD",13040,"KRN","B",1.5,1.5)
"BLD",13040,"KRN","B",1.6,1.6)
"BLD",13040,"KRN","B",1.61,1.61)
"BLD",13040,"KRN","B",1.62,1.62)
"BLD",13040,"KRN","B",3.6,3.6)
"BLD",13040,"KRN","B",3.8,3.8)
"BLD",13040,"KRN","B",9.2,9.2)
"BLD",13040,"KRN","B",9.8,9.8)
"BLD",13040,"KRN","B",19,19)
"BLD",13040,"KRN","B",19.1,19.1)
"BLD",13040,"KRN","B",101,101)
"BLD",13040,"KRN","B",409.61,409.61)
"BLD",13040,"KRN","B",771,771)
"BLD",13040,"KRN","B",779.2,779.2)
"BLD",13040,"KRN","B",870,870)
"BLD",13040,"KRN","B",8989.51,8989.51)
"BLD",13040,"KRN","B",8989.52,8989.52)
"BLD",13040,"KRN","B",8993,8993)
"BLD",13040,"KRN","B",8994,8994)
"BLD",13040,"QDEF")
^^^^NO^^^^NO^^NO
"BLD",13040,"QUES",0)
^9.62^^
"BLD",13040,"REQB",0)
^9.611^1^1
"BLD",13040,"REQB",1,0)
PSJ*5.0*358^1
"BLD",13040,"REQB","B","PSJ*5.0*358",1)
"MBREQ")
0
"PKG",471,-1)
1^1
"PKG",471,0)
INPATIENT MEDICATIONS^PSJ^UNIT DOSE AND IVS
"PKG",471,22,0)
^9.49I^1^1
"PKG",471,22,1,0)
5.0^2971215^2990325^66481
"PKG",471,22,1,"PAH",1,0)
439^3230208
"PKG",471,22,1,"PAH",1,1,0)
^^9^9^3230208
"PKG",471,22,1,"PAH",1,1,1,0)
INC25661636 - Certain IV orders not displaying correctly in CPRS and VistA
"PKG",471,22,1,"PAH",1,1,2,0)
--------------------------------------------------------------------------
"PKG",471,22,1,"PAH",1,1,3,0)
When a continuous IV order is entered in CPRS with a free text infusion
"PKG",471,22,1,"PAH",1,1,4,0)
rate that has a decimal with or without a preceding 0, the system thinks
"PKG",471,22,1,"PAH",1,1,5,0)
that this is a numeric infusion rate for some reason and adds the "ml/hr"
"PKG",471,22,1,"PAH",1,1,6,0)
suffix. This causes issues when we're also trying to designate the number
"PKG",471,22,1,"PAH",1,1,7,0)
of labels to print with the "@" sign because it does not recognize this in
"PKG",471,22,1,"PAH",1,1,8,0)
pharmacy finishing and removes the "@" along with the number that follows.
"PKG",471,22,1,"PAH",1,1,9,0)
See the Patch Description on FORUM for more details.
"QUES","XPF1",0)
Y
"QUES","XPF1","??")
^D REP^XPDH
"QUES","XPF1","A")
Shall I write over your |FLAG| File
"QUES","XPF1","B")
YES
"QUES","XPF1","M")
D XPF1^XPDIQ
"QUES","XPF2",0)
Y
"QUES","XPF2","??")
^D DTA^XPDH
"QUES","XPF2","A")
Want my data |FLAG| yours
"QUES","XPF2","B")
YES
"QUES","XPF2","M")
D XPF2^XPDIQ
"QUES","XPI1",0)
YO
"QUES","XPI1","??")
^D INHIBIT^XPDH
"QUES","XPI1","A")
Want KIDS to INHIBIT LOGONs during the install
"QUES","XPI1","B")
NO
"QUES","XPI1","M")
D XPI1^XPDIQ
"QUES","XPM1",0)
PO^VA(200,:EM
"QUES","XPM1","??")
^D MG^XPDH
"QUES","XPM1","A")
Enter the Coordinator for Mail Group '|FLAG|'
"QUES","XPM1","B")
"QUES","XPM1","M")
D XPM1^XPDIQ
"QUES","XPO1",0)
Y
"QUES","XPO1","??")
^D MENU^XPDH
"QUES","XPO1","A")
Want KIDS to Rebuild Menu Trees Upon Completion of Install
"QUES","XPO1","B")
NO
"QUES","XPO1","M")
D XPO1^XPDIQ
"QUES","XPZ1",0)
Y
"QUES","XPZ1","??")
^D OPT^XPDH
"QUES","XPZ1","A")
Want to DISABLE Scheduled Options, Menu Options, and Protocols
"QUES","XPZ1","B")
NO
"QUES","XPZ1","M")
D XPZ1^XPDIQ
"QUES","XPZ2",0)
Y
"QUES","XPZ2","??")
^D RTN^XPDH
"QUES","XPZ2","A")
Want to MOVE routines to other CPUs
"QUES","XPZ2","B")
NO
"QUES","XPZ2","M")
D XPZ2^XPDIQ
"RTN")
1
"RTN","PSIVSP")
0^1^B48519708^B46308315
"RTN","PSIVSP",1,0)
PSIVSP ;BIR/RGY,PR,CML - DOSE PROCESSOR ;1/3/12 3:36pm
"RTN","PSIVSP",2,0)
;;5.0;INPATIENT MEDICATIONS;**30,37,41,50,56,74,83,111,133,138,134,213,229,279,305,331,256,347,358,439**;16 DEC 97;Build 1
"RTN","PSIVSP",3,0)
;
"RTN","PSIVSP",4,0)
; Reference to ^PS(51.1 is supported by DBIA #2177
"RTN","PSIVSP",5,0)
;
"RTN","PSIVSP",6,0)
; PSJ*439 - Removed the 3 from dev initials in line 1 which now causes an
"RTN","PSIVSP",7,0)
; XINDEX error. Added outer parentheses to the string check in the
"RTN","PSIVSP",8,0)
; ORINF tag to more accurately process the string and not add the
"RTN","PSIVSP",9,0)
; "ml/hr" suffix unnecessarily.
"RTN","PSIVSP",10,0)
;
"RTN","PSIVSP",11,0)
EN ;
"RTN","PSIVSP",12,0)
NEW PSJORGX
"RTN","PSIVSP",13,0)
Q:'$D(X)
"RTN","PSIVSP",14,0)
S ATZERO=0 I X["@",$P(X,"@",2)=0 S ATZERO=1,X=$P(X,"@")
"RTN","PSIVSP",15,0)
;D EN^PSGS0 S (P(9),PSIVSC1)=$S($G(X)]"":X,1:$G(P(9))),P(11)=$S($G(PSGS0Y):PSGS0Y,1:$G(P(11))),(XT,P(15))=$S(($G(PSGS0XT)!($G(PSGS0XT)="O")!($G(PSGS0XT)="D")):$G(PSGS0XT),1:$G(P(15)))
"RTN","PSIVSP",16,0)
;PSJ*5*256 - not set P(9) when FN order so the Old schedule name is not auto replaced with .01 value
"RTN","PSIVSP",17,0)
S PSJORGX=X
"RTN","PSIVSP",18,0)
;PSJ*5*358
"RTN","PSIVSP",19,0)
D EN^PSGS0
"RTN","PSIVSP",20,0)
I ($G(PSJOCFG)="FN IV"),(($G(P(9))="")&($G(X)]"")) S P(9)=$G(X)
"RTN","PSIVSP",21,0)
I ($G(PSJOCFG)'="FN IV"),$S((($G(X)]"")&($G(X)'=PSJORGX)):1,$G(PSJOCFG)="":0,1:1) S P(9)=$S($G(X)]"":X,1:$G(P(9)))
"RTN","PSIVSP",22,0)
S P(11)=$S($G(PSGS0Y):PSGS0Y,1:$G(P(11))),(XT,P(15))=$S(($G(PSGS0XT)!($G(PSGS0XT)="O")!($G(PSGS0XT)="D")):$G(PSGS0XT),1:$G(P(15)))
"RTN","PSIVSP",23,0)
I $G(ATZERO) S P(7)=1
"RTN","PSIVSP",24,0)
K ATZERO Q
"RTN","PSIVSP",25,0)
EN1 ;
"RTN","PSIVSP",26,0)
S (PSIVAT,PSIVWAT,Y)="",XT=-1,X0=X,X=$S(X="ON CALL":X,X="ONCALL":X,X="ON-CALL":X,X="ONETIME":X,X="ONE-TIME":X,X="ONE TIME":X,X="1TIME":X,X="1 TIME":X,X="1-TIME":X,$L(X," ")<3:$P(X," "),1:$P(X," ",1,2))
"RTN","PSIVSP",27,0)
S:$E(X)="^" X=$E(X,2,999) G:X="" Q S:(X["@0")&($$SCHREQ^PSJLIVFD(.P)) ATZERO=1 S X=$S(X["@0":$P(X,"@"),1:X),P(7)=$S($G(ATZERO):1,1:"") K ATZERO
"RTN","PSIVSP",28,0)
I $S($D(^PS(51.1,"AC","PSJ",X)):1,1:$E($O(^(X)),1,$L(X))=X) D DIC I Y'<0 G SH
"RTN","PSIVSP",29,0)
NS0 S Y=""
"RTN","PSIVSP",30,0)
I $E(X,1,2)="AD" S XT=-1 Q
"RTN","PSIVSP",31,0)
I $E(X,1,3)="BID"!($E(X,1,3)="TID")!($E(X,1,3)="QID") S XT=1440\$F("BTQ",$E(X))
"RTN","PSIVSP",32,0)
E S:$E(X)="Q" X=$E(X,2,99) S:'X X=$E(X)["O"+1_X S I=+X,X=$P(X,I,2),XT=I*$S(X["'":1,(X["D"&(X'["AD"))!(X["AM")!(X["PM")!(X["HS"&(X'["THS")):1440,X["H"&(X'["TH"):60,X["AC"!(X["PC"):480,X["W":10080,X["M":40320,1:0),X=X0 D
"RTN","PSIVSP",33,0)
. I 'XT,X'="NOW",X'="STAT",X'="ONCE",X'="ONE-TIME",X'="ONE TIME",X'="ONETIME",X'="1-TIME",X'="1 TIME",X'="1TIME",Y="" S XT=-1
"RTN","PSIVSP",34,0)
SH ;
"RTN","PSIVSP",35,0)
I +Y<1,$E(X0)'="^" W:$G(ON)'["P" " ",$S(XT=0&($S("^NOW^STAT^ONCE^ONE-TIME^ONETIME^1TIME^1-TIME^"[(U_$P(X," ")_U):1,X["1 TIME":1,1:X["ONE TIME")):"(ONCE ONLY)",XT>0:"Nonstandard schedule",XT<0:"",1:"(??)") W:XT>0 " (",XT," MINUTES)"
"RTN","PSIVSP",36,0)
Q Q:X="ONE TIME"
"RTN","PSIVSP",37,0)
N I S X0=$P(X," ")_$S($L(X0," ")-1:" ",1:"")_$P(X0," ",2,99) K:XT<0!($L(X0)>22) X S:$D(X) X=X0 K X0 S:$G(P(7)) XT="" Q
"RTN","PSIVSP",38,0)
NEWQ ;N I S X0=$P(X," ")_$S($L(X0," ")-1:" ",1:"")_$P(X0," ",2,99) K:XT<0!($L(X0)>22) X S:$D(X) X=X0 S:P(7) X=X0 K X0 K:XT>0&('P(7)) X Q
"RTN","PSIVSP",39,0)
Q
"RTN","PSIVSP",40,0)
;
"RTN","PSIVSP",41,0)
;*229 Add Temp val for dose limit in IOE
"RTN","PSIVSP",42,0)
ENDL N PSIVLIMT W " Dose limit .... " S PSIVLIMT="a"_X,PSIVMIN=P(15)*X,PSIVSD=+P(2)
"RTN","PSIVSP",43,0)
I PSIVMIN<0 W !!," --- There is something wrong with this order !!",!," Call inpatient supervisor ....." S Y=-1 K PSIVMIN Q
"RTN","PSIVSP",44,0)
I P(15)'["D",P(4)="P"!(P(5))!(P(23)="P"),PSIVMIN=0,"^NOW^STAT^ONCE^ONE-TIME^ONE TIME^ON CALL^ONETIME^1TIME^1 TIME^1-TIME^"'[(U_P(9)_U) D DLP G QDL
"RTN","PSIVSP",45,0)
;*229 DOW Calc and dose lim should match CPRS, if it's vol limit, we leave old functionality
"RTN","PSIVSP",46,0)
I $G(P(9))]"",$G(P(11))]"" D ENSTOP^PSIVCAL S Y=X I 1 ;*229 ENSTOP^PSIVCAL returns X, we wanted Y.
"RTN","PSIVSP",47,0)
E D ENT^PSIVWL
"RTN","PSIVSP",48,0)
QDL I $D(X) S X=Y X ^DD("DD") W $P(Y,"@")," ",$P(Y,"@",2) S Y=X
"RTN","PSIVSP",49,0)
Q
"RTN","PSIVSP",50,0)
DLP ;
"RTN","PSIVSP",51,0)
S X=X+1,$P(PSIVSD,".",2)=$P(PSIVSD,".",2)_$E("0000",1,4-$L($P(PSIVSD,".",2))) D CHK S X2=0,Y=1 I X<2 S Y=+PSIVSD G QDLP
"RTN","PSIVSP",52,0)
I $P(PSIVSD,".",2)>$P(P(11),"-",$L(P(11),"-")) S X2=1 G OV
"RTN","PSIVSP",53,0)
G:$P(P(11),"-")>$P(PSIVSD,".",2) OV
"RTN","PSIVSP",54,0)
F Y=1:1 S X1=$P(P(11),"-",Y) I X1=$P(PSIVSD,".",2)!($P(PSIVSD,".",2)0 S X1=PSIVSD D C^%DTC S X=$P(X,".") ; install with version 17.3 of fileman
"RTN","PSIVSP",58,0)
S Y=+(X_"."_$P(P(11),"-",Y))
"RTN","PSIVSP",59,0)
QDLP K X1,X2 Q
"RTN","PSIVSP",60,0)
;
"RTN","PSIVSP",61,0)
ENI ;
"RTN","PSIVSP",62,0)
N PSIZEROX S PSIZEROX=0_+X
"RTN","PSIVSP",63,0)
K:$L(X)<1!($L(X)>30)!(X["""")!($A(X)=45) X I '$D(X)!'$D(P(4)) Q
"RTN","PSIVSP",64,0)
;*229 Reset ATZERO flag.
"RTN","PSIVSP",65,0)
I $P(X,"@",2)'=0!'$$SCHREQ^PSJLIVFD(.P) S P(7)=""
"RTN","PSIVSP",66,0)
I P(4)="P"!(P(5))!(P(23)="P") Q:'X S X="INFUSE OVER "_X_" MINUTE"_$S(X>1:"S",1:"") W " ",X Q
"RTN","PSIVSP",67,0)
I $E(X)="." K X Q ;Enforce leading zero.
"RTN","PSIVSP",68,0)
I X'=+X!(X'=0_+X),X["@",($P(X,"@",2,999)'=+$P(X,"@",2,999)!(+$P(X,"@",2,999)<0)) K X Q
"RTN","PSIVSP",69,0)
S SPSOL=$O(DRG("SOL",0)) I 'SPSOL K SPSOL,X W " You must define at least one solution !!" Q
"RTN","PSIVSP",70,0)
I (X=+X)!(X=PSIZEROX) I X'["@" S X=X_" ml/hr" W " ml/hr" D SPSOL S P(15)=$S('X:0,1:SPSOL\X*60+(SPSOL#X/X*60+.5)\1) K SPSOL Q
"RTN","PSIVSP",71,0)
S SPSOL=$S(($P(X,"@",2)?1.N):$P(X,"@",2),1:$G(P("NUMLBL"))) I SPSOL S P("NUMLBL")=+SPSOL
"RTN","PSIVSP",72,0)
S:$P(X,"@")=+X!($P(X,"@")=PSIZEROX) $P(X,"@")=$P(X,"@")_" ml/hr" W " ",+SPSOL," Label",$S(SPSOL'=1:"s",1:"")," per day",!?15,"at an infusion rate of: ",$P(X,"@") S P(15)=$S('SPSOL:0,1:1440/SPSOL\1) K SPSOL
"RTN","PSIVSP",73,0)
I X["@",$P(X,"@",2)=0,$$SCHREQ^PSJLIVFD(.P) S P(7)=1 ; Set ATZERO flag
"RTN","PSIVSP",74,0)
;*305
"RTN","PSIVSP",75,0)
I '$G(PSJEXMSG) D EXPINF^PSIVEDT1(.X)
"RTN","PSIVSP",76,0)
Q
"RTN","PSIVSP",77,0)
SPSOL S SPSOL=0 F XXX=0:0 S XXX=$O(DRG("SOL",XXX)) Q:'XXX S SPSOL=SPSOL+$P(DRG("SOL",XXX),U,3)
"RTN","PSIVSP",78,0)
K XXX Q
"RTN","PSIVSP",79,0)
CHK F Y=1:1 Q:$L(P(11))>240!($P(P(11),"-",Y)="") S $P(P(11),"-",Y)=$P(P(11),"-",Y)_$E("0000",1,4-$L($P(P(11),"-",Y)))
"RTN","PSIVSP",80,0)
Q
"RTN","PSIVSP",81,0)
;
"RTN","PSIVSP",82,0)
DIC ; 51.1 look-up
"RTN","PSIVSP",83,0)
N PSJSCH S PSJSCH=X I '$D(WSCHADM) N VAIP D IN5^VADPT S WSCHADM=VAIP(5),X=PSJSCH
"RTN","PSIVSP",84,0)
K DIC S DIC="^PS(51.1,",DIC(0)=$E("E",'$D(NOECH))_"ISZ"
"RTN","PSIVSP",85,0)
; The naked reference below refers to the full reference inside indirection to ^PS(51.1
"RTN","PSIVSP",86,0)
S DIC("W")="W "" "","_$S('$D(WSCHADM):"$P(^(0),""^"",2)",'+WSCHADM:"$P(^(0),""^"",2)",1:"$S($D(^PS(51.1,+Y,1,+WSCHADM,0)):$P(^(0),""^"",2),1:$P(^PS(51.1,+Y,0),""^"",2))"),D="APPSJ" S:$D(PSIVSPQF) DIC(0)=DIC(0)_"O"
"RTN","PSIVSP",87,0)
D IX^DIC K DIC
"RTN","PSIVSP",88,0)
S:$D(DIE)#2 DIC=DIE Q:Y<0
"RTN","PSIVSP",89,0)
S X=Y(0,0),ZZY=Y,(XT,Y)="" I $D(WSCHADM),$D(^PS(51.1,+ZZY,1,+WSCHADM,0)),$P(^(0),"^",2)]"" S (PSIVWAT,Y)=$P(^(0),"^",2)
"RTN","PSIVSP",90,0)
K ZZY,WSCHADM S:Y="" (X,PSIVSC1)=$P(Y(0),U),(PSIVAT,Y)=$P(Y(0),"^",2) S XT=$P(Y(0),"^",3) Q
"RTN","PSIVSP",91,0)
;
"RTN","PSIVSP",92,0)
ORINF ; OERR input transform for Infusion Rate
"RTN","PSIVSP",93,0)
; X=data
"RTN","PSIVSP",94,0)
N INFUSE
"RTN","PSIVSP",95,0)
K:$L(X)<1!($L(X)>30)!(X["""")!($A(X)=45) X I '$D(X) Q
"RTN","PSIVSP",96,0)
I X?.E1L.E S INFUSE=$$ENLU^PSGMI(X) Q:(INFUSE="TITRATE")!(INFUSE="BOLUS")!($P(INFUSE," ")="INFUSE")!($P(INFUSE," ")="Infuse")
"RTN","PSIVSP",97,0)
Q:(X="TITRATE")!(X="BOLUS")!($P(X," ")="INFUSE")!($P(X," ")="Infuse")
"RTN","PSIVSP",98,0)
I X["=" D Q ; NOIS LOU-0501-42191
"RTN","PSIVSP",99,0)
.N X2,X1 S X1=$P(X,"="),X2=$P(X,"=",2)
"RTN","PSIVSP",100,0)
.I X1["ML/HR",(+X1=$P(X1,"ML/HR"))!(+X1=$P(X1," ML/HR")) D
"RTN","PSIVSP",101,0)
..S X1=$TR(X1,"ML/HR","ml/hr")
"RTN","PSIVSP",102,0)
.I X2["ML/HR",(+X2=$P(X2,"ML/HR"))!(+X2=$P(X2," ML/HR")) D
"RTN","PSIVSP",103,0)
..S X2=$TR(X2,"ML/HR","ml/hr")
"RTN","PSIVSP",104,0)
.I X1[" ml/hr",(+X1=$P(X1," ml/hr")) D
"RTN","PSIVSP",105,0)
..S X1=$P(X1," ml/hr")_$P(X1," ml/hr",2,9999)
"RTN","PSIVSP",106,0)
.I X2[" ml/hr",(+X2=$P(X2," ml/hr")) D
"RTN","PSIVSP",107,0)
..S X2=$P(X2," ml/hr")_$P(X2," ml/hr",2,9999)
"RTN","PSIVSP",108,0)
.I X1["ml/hr",(+X1=$P(X1,"ml/hr")) D
"RTN","PSIVSP",109,0)
..S X1=$P(X1,"ml/hr")_$P(X1,"ml/hr",2,9999)
"RTN","PSIVSP",110,0)
.I X2["ml/hr",(+X2=$P(X2,"ml/hr")) D
"RTN","PSIVSP",111,0)
..S X2=$P(X2,"ml/hr")_$P(X2,"ml/hr",2,9999)
"RTN","PSIVSP",112,0)
.I X2'=+X2 D
"RTN","PSIVSP",113,0)
..I X2>0&(X2<1) Q
"RTN","PSIVSP",114,0)
..I ($P(X2,"@",2,999)'=+$P(X2,"@",2,999)!(+$P(X2,"@",2,999)<0)) K X Q
"RTN","PSIVSP",115,0)
.I X1>0&(X1<1) I +X1=("."_$P(X1,".",2)) S X1=X1_" ml/hr" ; PSJ*439
"RTN","PSIVSP",116,0)
.I X2>0&(X2<1) I +X2=("."_$P(X2,".",2)) S X2=X2_" ml/hr" ; PSJ*439
"RTN","PSIVSP",117,0)
.I X1=+X1 S X1=X1_" ml/hr"
"RTN","PSIVSP",118,0)
.I X2=+X2 S X2=X2_" ml/hr"
"RTN","PSIVSP",119,0)
.S:$P(X2,"@")=+X2 $P(X2,"@")=$P(X2,"@")_" ml/hr"
"RTN","PSIVSP",120,0)
.S X=X1_"="_X2
"RTN","PSIVSP",121,0)
I X["ML/HR",(+X=$P(X,"ML/HR"))!(+X=$P(X," ML/HR")) S X=$TR(X,"ML/HR","ml/hr")
"RTN","PSIVSP",122,0)
I X[" ml/hr",+X=$P(X," ml/hr") S X=$P(X," ml/hr")_$P(X," ml/hr",2,9999)
"RTN","PSIVSP",123,0)
I X["ml/hr",+X=$P(X,"ml/hr") S X=$P(X,"ml/hr")_$P(X,"ml/hr",2,9999)
"RTN","PSIVSP",124,0)
I X>0,X<1 D Q
"RTN","PSIVSP",125,0)
.I X["ML/HR",(+X=$P($P(X,"ML/HR"),".",2))!(+X=$P($P(X," ML/HR"),".",2)) S X=$TR(X,"ML/HR","ml/hr")
"RTN","PSIVSP",126,0)
.I X[" ml/hr",(+X=$P($P(X," ml/hr"),".",2)) S X=$P(X," ml/hr")_$P(X," ml/hr",2,9999)
"RTN","PSIVSP",127,0)
.I X["ml/hr",+X=$P(X,"ml/hr") S X=$P(X,"ml/hr")_$P(X,"ml/hr",2,9999)
"RTN","PSIVSP",128,0)
.I +X=X S X=X_" ml/hr"
"RTN","PSIVSP",129,0)
.I $P(X,0,2)=+X S X=X_" ml/hr"
"RTN","PSIVSP",130,0)
.S X=0_+X_$P(X,+X,2)
"RTN","PSIVSP",131,0)
I '(X>0&X<1) I X'=+X,($P(X,"@",2,999)'=+$P(X,"@",2,999)!(+$P(X,"@",2,999)<0)) K X Q
"RTN","PSIVSP",132,0)
I X=+X S X=X_" ml/hr" Q
"RTN","PSIVSP",133,0)
S:$P(X,"@")=+X $P(X,"@")=$P(X,"@")_" ml/hr"
"RTN","PSIVSP",134,0)
Q
"VER")
8.0^22.2
"BLD",13040,6)
^380
**END**
**END**