VistA-FOIAVistA/r/ORDER_ENTRY_RESULTS_REPORTI.../ORXTABS2.m

207 lines
6.4 KiB
Mathematica

ORXTABS2 ; SLC/PKS - Edit calls, tab parameters preferences. [10/2/00 3:53pm]
;;3.0;ORDER ENTRY/RESULTS REPORTING;**9,47,84**;Dec 17, 1997
;
; Individual preferences edit/input code; called from ORXTABS1.
;
; NOTES: Most ORX* variables used herein are NEW'd in calling
; routines. Tags herein (except "INPUT") must match the
; name of a piece entry in the TABS tag of the ORXTABS
; routine and return:
;
; 1 - A new value entered or selected by the user,
; 2 - A null string,
; 3 - The string "*Invalid*" - to repeat due to invalid entry,
; 4 - The "^" character, indicating user's cancel action.
;
; If there are dissimilar types of values - to be obtained from
; the user - which utilize the same tag name, such differences
; must be handled within the individual tags herein by, for
; instance, examining the ORXPDIR variable which will reveal
; the current TABS line being processed.
;
; New variable used herein:
;
; ORXPASS = Holds ORXNOW original passed value.
;
; Important variables used or assigned by calling routines:
;
; ORXPDIR = Current tab's "prompt" or display string.
; ORXPDIS = Current value's "prompt" or display string.
; ORXNOW = Current value of setting, passed in each call.
;
; Actual code for these tags generally resides in a subsequent
; ORXTABSx routine, to keep this routine as a driver and with
; size limits. The tags in the subsequent routines use the
; same names for convenience.
;
Q
;
INPUT ; Call DIR, return user input - used by various tags called herein.
;
W !! ; Spacing for screen display.
;
; Assign default promtp, if any:
S:($D(ORXNOW)&(ORXNOW'="")) DIR("B")=ORXNOW
D ^DIR ; FM call for user input.
S ORXNOW=Y ; Assign input to ORXNOW.
K DIR,X,Y ; Clean up each time.
;
Q
;
BEG(ORXNOW) ; Beginning date of date range.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D BEG^ORXTABS3 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
END(ORXNOW) ; Ending date of date range.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D END^ORXTABS3 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
MAX(ORXNOW) ; Maximum number of items to display.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D MAX^ORXTABS3 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
AUTHOR(ORXNOW) ; Select note author.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D AUTHOR^ORXTABS3 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
STATUS(ORXNOW) ; Status.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D STATUS^ORXTABS4(ORXPDIR) ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
TYPE(ORXNOW) ; Type.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D TYPE^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
DISPGRP(ORXNOW) ; Display Group..
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D DISPGRP^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
OUTPT(ORXNOW) ; Outpatient or Inpatient Meds.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D OUTPT^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
SUBJECT(ORXNOW) ; Subject.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D SUBJECT^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
FORMAT(ORXNOW) ; Format.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D FORMAT^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
COMMENTS(ORXNOW) ; Comments On/Off.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D COMMENTS^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
SERVICE(ORXNOW) ; Service.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D SERVICE^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;
OCCLIM(ORXNOW) ; Occlim.
;
N ORXPASS
S ORXPASS=ORXNOW
;
; Use loop to account for invalid entries:
F D Q:ORXNOW'="*Invalid*"
.S ORXNOW=ORXPASS ; Reset each time.
.D OCCLIM^ORXTABS5 ; Call input dialogue.
;
Q ORXNOW ; Return resulting value.
;