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

APSKAMN2.m

Go to the documentation of this file.
  1. APSKAMN2 ;IHS/ANMC/SFB/MRS - TIME CONVERSION [ 09/28/94 10:50 AM ]
  1. ;;1.0;Aminoglycoside Kinetics;;OCT 31,1994
  1. S IOP=ION S %ZIS("B")=""
  1. D ^%ZIS
  1. CVTIME ;EP - CONVERTS ALL TIME INPUTS INTO DECIMAL HOURS
  1. S APSKS(1)=2 S APSKX1=13 D TIME^APSKAMN6
  1. S APSKX1=14 D TIME^APSKAMN6 S APSKX1=2 D TIME^APSKAMN6
  1. S APSKT(15)=(APSKT(13)-APSKT(14))
  1. I APSKT(15)'>0 S APSKT(15)=(APSKT(15)+24)
  1. S APSKT(16)=(APSKT(15)+APSKT(2))
  1. I APSKT(16)>24 S APSKT(16)=(APSKT(16)-24)
  1. S APSKZ1=$P(APSKT(16),".",1)
  1. S APSKZ2=(((APSKT(16)-APSKZ1)*60)/100)+APSKZ1
  1. S APSKZ3=$P(100*(APSKZ2)+0.5,".",1)
  1. S APSKZ4=APSKZ3/100
  1. S APSKZ5=$P(APSKZ4,".",1)
  1. I APSKZ4-APSKZ5'<0.595 S APSKZ4=($P(APSKZ5,".",1)+1)
  1. S APSKZ4A=$P(APSKZ4,".",1),APSKZ4B=$P(APSKZ4,".",2)
  1. I APSKZ4A=$L(APSKZ4A)=1 S APSKZ4A="0"_APSKZ4A
  1. I APSKZ4B="" S APSKZ4B="00"_APSKZ4B
  1. S APSKZ4=APSKZ4A_":"_APSKZ4B
  1. S APSKZ(4)=APSKZ4
  1. S APSKC(4)=APSKC(13)
  1. ;
  1. CALC ;ENTRY POINT
  1. F APSKX1=1:1:APSKS(1)+2 D TIME^APSKAMN6
  1. F APSKX1=3:1:APSKS(1)+2 D LOOP1
  1. G CALCKO
  1. ;
  1. LOOP1 S APSKH(APSKX1)=(APSKT(APSKX1)-APSKT(2))
  1. I APSKH(APSKX1)<0 S APSKH(APSKX1)=(APSKH(APSKX1)+24)
  1. Q
  1. ;
  1. CALCKO S APSKX1=13 D TIME^APSKAMN6
  1. S APSKH(13)=(APSKT(1)-APSKT(13))
  1. I APSKH(13)<0 S APSKH(13)=(APSKH(13)+24)
  1. I APSKPL="0" S APSKH(13)=0
  1. S APSKT0=(APSKT(2)-APSKT(1))
  1. I APSKT0<0 S APSKT0=(APSKT0+24)
  1. S APSKK0=(APSKD/APSKT0) S APSKT0=$J(APSKT0,2,2)
  1. S APSKK0=($P(100*APSKK0+.5,".",1))/100
  1. F APSKX1=3:1:(APSKS(1)+2) D LOOP2
  1. F APSKX1=3:1:(APSKS(1)+2) S APSKS(3)=APSKS(3)+APSKH(APSKX1)
  1. F APSKX1=3:1:(APSKS(1)+2) D LOOP3
  1. F APSKX1=3:1:(APSKS(1)+2) D LOOP4
  1. F APSKX1=3:1:(APSKS(1)+2) D LOOP5
  1. G R2
  1. ;
  1. LOOP2 S APSKXX=APSKC(APSKX1)
  1. D LN^APSKAMN6
  1. S APSKS(2)=APSKS(2)+(APSKH(APSKX1)*APSKLNN)
  1. Q
  1. LOOP3 S APSKXX=APSKC(APSKX1) D LN^APSKAMN6
  1. S APSKS(4)=APSKS(4)+APSKLNN
  1. Q
  1. LOOP4 S APSKXX=APSKH(APSKX1),APSKYY=2 D PWR^APSKAMN6
  1. S APSKS(5)=APSKS(5)+APSKPP
  1. Q
  1. LOOP5 S APSKXX=APSKC(APSKX1) D LN^APSKAMN6
  1. S APSKXX=APSKLNN,APSKYY=2 D PWR^APSKAMN6
  1. S APSKS(6)=(APSKS(6)+APSKPP)
  1. Q
  1. ;
  1. R2 ;===>CALC COEFFICIENT OF DETERMINATION
  1. S APSKXX=(APSKS(2)-(((1/APSKS(1)))*APSKS(3)*APSKS(4))),APSKYY=2
  1. D PWR^APSKAMN6
  1. S APSKR2A=APSKPP
  1. S APSKXX=APSKS(3),APSKY=2
  1. D PWR^APSKAMN6
  1. S APSKRS3=((APSKPP/APSKS(1))-APSKS(5))
  1. S APSKXX=APSKS(4),APSKSY=2 D PWR^APSKAMN6
  1. S APSKRS4=(APSKPP/APSKS(1)-APSKS(6))
  1. S APSKR2B=APSKRS3*APSKRS4
  1. S APSKR2=$E(APSKR2A/APSKR2B,1,4)
  1. ;
  1. K1 ;===>CALC ELIMINATION RATE
  1. S APSKK1A=(APSKS(2)-((1/APSKS(1))*APSKS(3)*APSKS(4)))
  1. S APSKXX=APSKS(3),APSKYY=2 D PWR^APSKAMN6
  1. S APSKK1B=-(APSKS(5)-((1/APSKS(1)*APSKPP)))
  1. S APSKK1=(APSKK1A/APSKK1B)
  1. ;
  1. CO ;===>PART OF VOL OF DISTR. CALC
  1. S APSKCO1=(-APSKK1*APSKH(13))
  1. S APSKXX=APSKCO1 D EXP^APSKAMN6
  1. S APSKCO=(APSKC(13)*APSKEE)
  1. ;
  1. ;===>CALC EXTRAPOLATED PEAK SERUM
  1. S APSKXX=(APSKS(3)*APSKK1+APSKS(4))/(APSKS(1)) D EXP^APSKAMN6 S APSKC1=$E(APSKEE,1,6)
  1. ;
  1. V1 ;===>CALC VOL OF DISTRIBUTION
  1. S APSKXX=(-APSKK1*APSKT0) D EXP^APSKAMN6
  1. S APSKV1A=(APSKK0*(1-APSKEE))
  1. I APSKV1A=0 G ERROR
  1. S APSKXX=(-APSKK1*APSKT0) D EXP^APSKAMN6
  1. S APSKV1B=(APSKC1-(APSKCO*APSKEE))*APSKK1
  1. I APSKV1B=0 G ERROR
  1. S APSKV1=(APSKV1A/APSKV1B)
  1. S APSKV2=(APSKV1/APSKWT) ;===>VOL OF DISTRIB. PER KG
  1. S APSKT1=(0.693/APSKK1) ;===>HALF-LIFE
  1. G OUTPUT^APSKAMN3
  1. SAMTIME ;EP
  1. K DIR S DIR(0)="Y",DIR("B")="YES"
  1. S DIR("A",1)="The time you entered is the same as the end of infusion."
  1. S DIR("A",2)="Press return if you wish to enter a different time or"
  1. S DIR("A")="enter '^' to quit. "
  1. D ^DIR G END:$D(DIRUT),END:$D(DUOUT),SAMTIME:Y=""
  1. Q
  1. ERROR ;EP
  1. W !!,"AN ERROR HAS OCCURED IN YOUR DATA COLLECTION. PLEASE REVIEW"
  1. W !,"YOUR DATA CAREFULLY!"
  1. K DIR S DIR(0)="S^1:ENTER NEW DATA;2:QUIT"
  1. S DIR("A")="CHOICE" D ^DIR
  1. G END:$D(DIRUT),END:$D(DUOUT),END:Y=2
  1. W @IOF
  1. G START1^APSKAMN1
  1. END Q