VistA-WorldVistAEHR/r/LAB_SERVICE-LR-LS/LREXECU.m

44 lines
1.9 KiB
Mathematica

LREXECU ;SLC/RWF - EXECUTE CODE UTILITY ;8/11/97
;;5.2;LAB SERVICE;**121,200,362**;Sep 27, 1994;Build 11
TDM ;DRUG MONITORING
N DIR,DTOUT,DUOUT,DIRUT
;Set the DIR array for sample to be drawn question
S DIR(0)="SO^P:Peak;T:Trough;M:Mid;U:Unknown"
S DIR("A")="Please select"
S DIR("L",1)="Will (is) the sample to be drawn at"
S DIR("L")=" Peak, Trough, Mid, or Unknown"
S DIR("T")=60
S DIR("?",1)="Enter a 'P', 'T', 'M', 'U', or hit the Enter Key."
S DIR("?",2)="Hitting the Enter key will default to Unknown "
S DIR("?")="Entering ""^"" or a timeout will cancel the order."
D ^DIR K DIR ;Prompt for user selection
;Process user selection
I $D(DUOUT)!($D(DTOUT)) W !!!,$C(7),"ORDER CANCELED" S LRKIL=1 Q
I Y="" S Y(0)="Unknown" W !!!,$C(7),"Defaulted to Unknown"
E W !!!,$C(7),Y(0)_" has been selected."
S LRCCOM="~Dose is expected to be at "_Y(0)_" level."
I $$VER^LR7OU1>2.5 D TCOM^LRORD2(+LRTEST(LRTSTN),LRCCOM)
I $$VER^LR7OU1<3 D RCS^LRXO9 I '$D(ORACTION) D TCOM^LRORD2(+LRTEST(LRTSTN),LRCCOM) ;OE/RR 2.5
;Set DIR array for additional comment question
S DIR(0)="FO^1:250"
S DIR("A")="ADDITIONAL COMMENT"
S DIR("T")=60
S DIR("?")="This is a free text field, up to 250 characters in length."
D ^DIR K DIR
I $D(DUOUT)!($D(DTOUT)) S Y=""
S LRCCOM=Y
Q
DOSE ;DOSE/DRAW TIMES
EN ;
S %DT("A")="Enter the last dose time: ",%DT="AT" D ^%DT S LRDOSE=Y
I Y<1 W !,"Time unknown" S %=2 D YN^DICN S:%=1 LRDOSE="UNKNOWN" G:%'=1 EN
I Y>1,Y'["." W !,"You must enter a time, e.g. T@6AM" G EN
I LRDOSE["." S Y=LRDOSE D DD^LRX S LRDOSE=Y
DRAW W ! S %DT("A")="Enter draw time: ",%DT="AT" D ^%DT S LRDRAW=Y
I Y<1 W !,"Time unknown" S %=2 D YN^DICN S:%=1 LRDRAW="UNKNOWN" G:%'=1 DRAW
I Y>1,Y'["." W !,"You must enter a time, e.g. T@6AM" G DRAW
I LRDRAW["." S Y=LRDRAW D DD^LRX S LRDRAW=Y
S LRCCOM="~Last dose: "_LRDOSE_" draw time: "_LRDRAW W !,LRCCOM
W !,"OK" S %=1 D YN^DICN G EN:%'=1
K LRDOSE,LRDRAW,%DT Q