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

APSKAMN5.m

Go to the documentation of this file.
  1. APSKAMN5 ;IHS/ANMC/SFB/MRS - CALC MIN & MAX SERUM CONC.,DOSING INTERVALS & RATE; [ 09/28/94 1:03 PM ]
  1. ;;1.0;Aminoglycoside Kinetics;;OCT 31,1994
  1. ;
  1. LOOP ;EP
  1. ;===>DETERMINS THE MAXIMUM AND MINIMUM SERUM CONCENTRATIONS BASED ON
  1. ;===>THE USERS INPUTS OF ACCEPTABLE INFUSION RATE AND DOSING INTERVAL.
  1. ;===>THE USER HAS THE OPPORTUNITY REPEAT THE MAX AND MIN SERUM
  1. ;===>CONCENTRATIONS.
  1. I APSKPTIN=0 D NOINFO^APSKAMN Q
  1. S APSKXX=-APSKK1*APSKT0 D EXP^APSKAMN6
  1. S APSKC4A=APSKK3*(1-APSKEE)
  1. S APSKXX=(-APSKK1*APSKT3) D EXP^APSKAMN6
  1. S APSKC4B=(APSKK1*APSKV1*(1-APSKEE))
  1. S APSKC4=(APSKC4A/APSKC4B)
  1. S APSKXX=(-APSKK1*(APSKT3-APSKT0)) D EXP^APSKAMN6
  1. S APSKC5=APSKC4*APSKEE
  1. S APSKC4=$P(100*APSKC4+.5,".",1)/100
  1. S APSKC4=$E(APSKC4,1,6)
  1. S APSKC5=$P(100*APSKC5+.5,".",1)/100
  1. I APSKFIN=1 D SB,FINALR Q
  1. W !,APSKK3," mg/hr given over ",APSKT0," hour every ",APSKT3," hours will produce:"
  1. W !," ",$J(APSKC4,3,2)," mcg per ml MAXIMUM serum concentrations"
  1. W !," ",$J(APSKC5,3,2)," mcg per ml MINIMUM serum concentrations"
  1. W !!
  1. K DIR S DIR(0)="Y",DIR("B")="YES"
  1. S DIR("A")="Do you want this option printed on the final worksheet "
  1. D ^DIR G END:$D(DIRUT)
  1. I Y=1 D SB
  1. SKIP2 K DIR S DIR(0)="Y",DIR("B")="YES"
  1. S DIR("A")="Do you wish to change the dose or the dosing interval"
  1. D ^DIR G END:$D(DIRUT) S APSKQ=Y
  1. ;===>IF USER WISHES TO CHANGE DOSE AND INTERVAL GO TO REPEAT
  1. I APSKQ=1 G REPEAT
  1. K DIR S DIR(0)="Y" W !!
  1. S DIR("A")="Is the current choice your FINAL recommendation"
  1. D ^DIR G END:$D(DIRUT) S APSKCC=Y
  1. ;===>IF IT IS THE FINAL RECOMMENDATION QUIT. OTHEWISE,
  1. ;===>GO TO REPEAT2 AND ENTER THE RECOMMENDED DOSE AND INTERVAL
  1. I APSKCC=1 G FINALR
  1. REPEAT2 ;===>USER ENTERS RECOMMENDED DOSE AND INTERVAL
  1. ;===>THE MAXIMUM AND MINIMUM SERUM CONCENTRATIONS ARE CALCULATED
  1. ;===>AND PRINTED IN THE FINAL PRINTOUT
  1. W !! K DIR S DIR(0)="N"
  1. S DIR("A")="Enter the Recommended DOSE"
  1. D ^DIR G END:$D(DIRUT) S APSKK3=Y W !
  1. K DIR S DIR(0)="N"
  1. S DIR("A")="Enter the Recommended INTERVAL"
  1. D ^DIR G END:$D(DIRUT) S APSKT3=Y
  1. S APSKFIN=1
  1. G LOOP
  1. REPEAT ;EP
  1. I APSKPTIN=0 D NOINFO^APSKAMN Q
  1. K DIR S DIR(0)="N"
  1. S DIR("A")="Enter the new DOSE"
  1. D ^DIR G END:$D(DIRUT) S APSKK3=Y W !
  1. K DIR S DIR(0)="N"
  1. S DIR("A")="Enter the new INTERVAL"
  1. D ^DIR G END:$D(DIRUT) S APSKT3=Y
  1. ;===>CALCULATES NEW MAX AND MIN SERUM CONCENTRATIONS BASED ON USER'S
  1. ;===> NEW DOSE AND INTERVAL VALUES.
  1. G LOOP
  1. ;
  1. FINALR S %ZIS="PQ" D ^%ZIS G END:POP,QUE2:$D(IO("Q"))
  1. D EN2
  1. D ^%ZISC
  1. Q
  1. QUE2 K IO("Q"),ZTSAVE
  1. F %="APSK*" S ZTSAVE(%)=""
  1. S ZTRTN="EN2^APSKAMN5",ZTDESC="POSSIBLE OPTIONS"
  1. D ^%ZTLOAD K ZTSK
  1. D ^%ZISC
  1. Q
  1. EN2 S (APSKN0,APSKCNT,APSKPAGE)=0
  1. U IO D @("HDR"_(2-($E(IOST,1,2)="C-")))
  1. F S APSKN0=$O(APSK(APSKN0)) Q:'APSKN0 D
  1. .S APSKND=APSK(APSKN0)
  1. .S APSKK3=$P(APSKND,"^",1),APSKT0=$P(APSKND,"^",2)
  1. .S APSKT3=$P(APSKND,"^",3),APSKC4=$P(APSKND,"^",4)
  1. .S APSKC5=$P(APSKND,"^",5)
  1. .D HDR1:$Y+5>IOSL
  1. .W !,APSKK3," mg/hr given over ",APSKT0," hour every ",APSKT3," hours will produce:"
  1. .W !," ",$J(APSKC4,3,2)," mcg per ml MAXIMUM serum concentrations"
  1. .W !," ",$J(APSKC5,3,2)," mcg per ml MINIMUM serum concentrations"
  1. .W !!
  1. .S APSKCNT=APSKCNT+1
  1. .I APSKNP=1 D APSKREM
  1. .D HDR:($Y+5>IOSL)&(APSKCNT>0) Q
  1. D ^%ZISC
  1. Q
  1. HDR I $E(IOST,1,2)="C-" K DIR S DIR(0)="EO" D ^DIR G END:$D(DIRUT)
  1. Q:APSKCNT=APSKSS
  1. HDR1 W @IOF
  1. HDR2 S APSKPAGE=APSKPAGE+1
  1. I $D(IOST),$E(IOST,1,2)="C-",$Y+5>IOSL D HDR
  1. W ! F APSK=1:1:22 W "*"
  1. W " CONFIDENTIAL PATIENT INFORMATION "
  1. F APSK=1:1:22 W "*"
  1. W !,"Printed by: ",$P(^VA(200,DUZ,0),U),?(IOM-10),"PAGE: ",$J(APSKPAGE,3)
  1. W !!!,"THIS IS INTENDED TO BE ONLY A WORKSHEET. IT SHOULD BE SHREDDED WHEN YOU ARE"
  1. W !,"FINISHED."
  1. W !!!,"NAME:",?6,APSKNAME,?34,"DOSING WT:",APSKWT," KG"
  1. W !,"DATE OF ANALYSIS: ",APSKDATE,?34,"CHART NUMBER: ",APSKCHRT
  1. W !!?15,"AMINOGLYCOSIDE KINETICS WORKSHEET"
  1. W !?15,"---------------------------------"
  1. W !!,"POSSIBLE OPTIONS"
  1. W !,"----------------",!
  1. Q
  1. SB S APSKSS=APSKSS+1
  1. S APSK(APSKSS)=APSKK3_"^"_APSKT0_"^"_APSKT3_"^"_APSKC4_"^"_APSKC5
  1. Q
  1. APSKREM F APSKCLR=1:1:APSKCNT K APSK(APSKCLR)
  1. END Q