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

APSKAMN0.m

Go to the documentation of this file.
  1. APSKAMN0 ;IHS/ANMC/SFB/MRS - GET VITAL STATS & CALC LBW;[ 09/28/94 10:23 AM ]
  1. ;;1.0;Aminoglycoside Kinetics;;AUG 1,1993
  1. ;===>INITIALIZE VARIABLES TO 0
  1. START ;EP
  1. F APSKX1=1:1:16 S (APSKT(APSKX1),APSKH(APSKX1),APSKC(APSKX1),APSKZ(APSKX1),APSKS(APSKX1))=0
  1. S (APSKWT,APSKHT,APSKSE,APSKLBWC,APSKC,APSKD,APSKE,APSKM,APSKQ)=0
  1. S (APSKPL,APSKQQ,APSKXX,APSKPTIN,APSKSS,APSKCC,APSKFIN,APSKN0,APSKNP)=0
  1. S (APSKZ1T,APSKZ2T,APSKZ3T,APSKZ4T,APSKZ5T,APSKZ6T,APSKZ7T,APSKZ8T)=0
  1. S (APSKZ9T,APSKZ10T,APSKZ11T,APSKZ12T,APSKZ13T)=0
  1. ;
  1. INPUT ;===>USES PATIENT LOOKUP ROUTINE
  1. ;===>OBTAINS THE PATIENT FULL NAME,CHART NUMBER,SSN,AND SEX
  1. W @IOF
  1. K DIC S DIC="^DPT(",DIC(0)="AEQMN"
  1. S DIC("A")="Select Patient Name: "
  1. D ^DIC
  1. G END:$D(DTOUT),END:$D(DUOUT),INPUT:Y=-1
  1. S APSKDFN=+Y
  1. S APSKCHRT=$P($G(^AUPNPAT(+$G(APSKDFN),41,+$G(DUZ(2)),0)),"^",2)
  1. S APSKSEX=AUPNSEX
  1. S APSKNAME=$P(Y,"^",2)
  1. S APSKPTIN=1,APSKNP=1
  1. ;
  1. DATE ;===>USES VA FILEMAN'S DATE AND TIME CONVERSION ROUTINE
  1. ;===>VALIDATES IN INPUT AS BEING A CORRECT DATE
  1. W !!
  1. S %DT="AEX" S %DT("A")="Enter date of analysis: "
  1. D ^%DT G END:$D(DTOUT),END:X="^" X ^DD("DD")
  1. I (Y=-1)!(X="") D RR G DATE
  1. S APSKDATE=Y
  1. ;
  1. WEIGHT K DIR S DIR(0)="N^1:500" W !
  1. S DIR("A")="Enter ACTUAL weight in KILOGRAMS "
  1. S DIR("?")="Enter a number from 1 to 500. Enter '^' to exit. "
  1. D ^DIR G END:$D(DTOUT),END:$D(DUOUT) G WEIGHT:Y="" K DIR
  1. S APSKWT=Y
  1. W !!!," Lean Body Weight formula will now be calculated. However,"
  1. W !,"the formula is undefined for patients under 60 inches (152 centimeters)."
  1. W !,"Recommend you skip Lean Body Weight calculation if your patient"
  1. W !,"does not meet the criteron."
  1. ;
  1. ;===>USERS HAVE THE OPTION FOR LEAN BODY WEIGHT TO BE CALCULATED
  1. K DIR S DIR(0)="Y" W !!
  1. S DIR("A")="Do you wish to procede with Lean Body Weight Calculation "
  1. D ^DIR G END:$D(DIRUT) K DIR
  1. S APSKLBWC=Y
  1. I APSKLBWC="0" G CHOICE2^APSKAMN1
  1. ;
  1. ;===>ASKS IF USERS HAS HEIGHT IN INCHES OR CENTIMETERS
  1. ;===>IF USERS HAS HEIGHT IN CENTIMETERS, GOTO HEIGHT2
  1. HEIGHT K DIR S DIR(0)="S^1:INCHES;2:CENTIMETERS" W !
  1. S DIR("A")="ENTER '1'or '2' "
  1. D ^DIR G END:$D(DIRUT) K DIR
  1. S APSKHT=Y I APSKHT=2 G HEIGHT2
  1. ;
  1. HEIGHT1 K DIR S DIR(0)="N^60:150"
  1. S DIR("A")="Enter height in INCHES "
  1. D ^DIR G END:$D(DIRUT) K DIR S APSKHT=Y
  1. G GENDER
  1. ;
  1. HEIGHT2 ;===>CONVERTS CENTIMETERS TO INCHES
  1. K DIR S DIR(0)="N^152:350"
  1. S DIR("A")="Enter height in CENTIMETERS "
  1. D ^DIR G END:$D(DIRUT) K DIR S APSKHT=Y
  1. S APSKHT=$P((10*(APSKHT/2.54))+0.5,".",1)/10
  1. ;
  1. GENDER ;===>CALCULATES MALE LBW
  1. ;===>IF PATIENT IS FEMALE, GOTO GENDER1
  1. I AUPNSEX="F" G GENDER1
  1. S APSKL=50+(2.3*(APSKHT-60)) S APSKLBW=$P((10*APSKL+0.50),".",1)/10
  1. G DWT1
  1. ;
  1. GENDER1 ;===>CALCULATES FEMALE LBW
  1. S APSKL=45+(2.3*(APSKHT-60))
  1. S APSKLBW=$P((10*APSKL+0.50),".",1)/10
  1. ;
  1. DWT1 ;===>DETERMINES IF LBW IS 10% GREATER THAN ACTUAL WEIGHT
  1. ;===>IF NOT DOSING WEIGHT EQUAL ACTUAL WEIGHT
  1. S APSKDWT=APSKWT-APSKLBW
  1. I APSKDWT>(0.10*APSKLBW) G DWT2
  1. W @IOF
  1. W !,"The Total Body weight - Lean Body weight was LESS than 10% "
  1. W !,"Lean Body weight. Therefore, the DOSING WEIGHT IS: ",APSKWT," KG, "
  1. W !,"which is the same as the Total Body weight"
  1. ;===>APSKAMN1 ROUTINE GAINS CONTROL
  1. G CHOICE2^APSKAMN1
  1. ;
  1. DWT2 ;===>CALCULATES THE DOSING WEIGHT
  1. S APSKDWTT=APSKLBW+(0.4*(APSKWT-APSKLBW))
  1. S APSKWT=$J(APSKDWTT,3,1)
  1. W @IOF
  1. W !,"The Total Body weight - the Lean Body weight was GREATER than 10%"
  1. W !,"Lean Body weight. Therefore, the calculated DOSING WEIGHT IS: ",APSKWT," KG"
  1. W !,"weight. Therefore, the DOSING WEIGHT IS: ",APSKWT
  1. ;===>APSKAMN1 ROUTINE GAINS CONTROL
  1. G CHOICE2^APSKAMN1
  1. ;
  1. RR ;EP
  1. W $C(7),!!,"THIS IS A REQUIRED RESPONSE. ENTER '^' TO EXIT"
  1. Q
  1. END ;===>CONTROL IS PASSED TO APSKEND
  1. ;===>IF PROGRAM TIMES OUT,USER ENTERS "^", OR USER ENTERS ""
  1. Q