181 lines
5.1 KiB
Mathematica
181 lines
5.1 KiB
Mathematica
|
ORXTABS5 ;SLC/PKS - Edit calls, tab parameters preferences. [11/22/00 11:16am]
|
||
|
;;3.0;ORDER ENTRY/RESULTS REPORTING;**9,47,84**;Dec 17, 1997
|
||
|
;
|
||
|
; NOTES: The routines herein are called by those of the same tag
|
||
|
; name in ORXTABS2. Most variables are NEW'd and assigned
|
||
|
; by one or more routines in the preceding call chains.
|
||
|
; Refer to comments and notes there for additional infor-
|
||
|
; mation.
|
||
|
;
|
||
|
; Each tag in this routine must return one of the following:
|
||
|
;
|
||
|
; 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.
|
||
|
;
|
||
|
; Some tags in this routine are functions or calls used by
|
||
|
; other tags herein.
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
TYPE ; Type, for labs.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_": "
|
||
|
S DIR("A",1)=" L List Format"
|
||
|
S DIR("A",2)=" C Cumulative Format"
|
||
|
S DIR(0)="SAO^L:List Format;C:Cumulative Format" ; Optional, Set of Codes.
|
||
|
;
|
||
|
; Translate one value to match past practice:
|
||
|
I ORXNOW="R" S ORXNOW="L"
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
; Re-translate one value to match past practice:
|
||
|
I ORXNOW="L" S ORXNOW="R"
|
||
|
;
|
||
|
; Present applicability message to user:
|
||
|
W !!,"(NOTE: This setting applies only to the LM version of CPRS.)",!
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
DISPGRP ; Display Group (service/section), for orders.
|
||
|
;
|
||
|
; Internal variables used:
|
||
|
;
|
||
|
; DIC,X,Y,DTOUT,DUOUT = Variables for FM calls.
|
||
|
; ORXDONE = Flag for loop exit.
|
||
|
; ORXTMP = Temporary variable for value holding.
|
||
|
;
|
||
|
N DIR,X,Y,DTOUT,DUOUT,ORXDONE,ORXTMP
|
||
|
;
|
||
|
; Set/translate current setting into a display value:
|
||
|
I (('$D(ORXNOW))!(ORXNOW="")) S ORXNOW="ALL"
|
||
|
S ORXTMP=0
|
||
|
I ORXNOW'="" D
|
||
|
.S ORXTMP=$O(^ORD(100.98,"B",ORXNOW,ORXTMP))
|
||
|
.I ORXTMP>0 S ORXTMP=$P(^ORD(100.98,ORXTMP,0),U)
|
||
|
;
|
||
|
; Establish loop for input control:
|
||
|
S ORXDONE=0
|
||
|
F D Q:ORXDONE
|
||
|
.W !!," Enter "_ORXPDIS_" for display of orders."
|
||
|
.W !!," Select Service/Section: "_ORXTMP_"//"
|
||
|
.R X:DTIME S:'$T X="^" I X["^" S ORXDONE=1 Q
|
||
|
.I X="" S ORXDONE=1 Q ; No change.
|
||
|
.I X="@" S ORXDONE=1 Q ; Results in default.
|
||
|
.I X["?" W !!," Choose from:",! D DG^ORCHANG1(1,"DISP") Q
|
||
|
.S DIC=100.98,DIC(0)="NEQZ"
|
||
|
.D ^DIC
|
||
|
.S:Y>0 ORXNOW=$P(Y(0),U,3),ORXDONE=1
|
||
|
I X="@" S ORXNOW=X
|
||
|
I (ORXNOW="@") S ORXNOW="ALL" ; Bottom line default.
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
OUTPT ; Outpatient (0) or Inpatient (1) meds display.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_": "
|
||
|
S DIR("A",1)=" 0 Outpatient"
|
||
|
S DIR("A",2)=" 1 Inpatient"
|
||
|
S DIR(0)="SAO^0:Outpatient;1:Inpatient" ; Optional, Set of Codes.
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
SUBJECT ; Subject, for notes.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_" setting: "
|
||
|
S DIR("A",1)=" 0 Off/Hide Subjects"
|
||
|
S DIR("A",2)=" 1 On/Show Subjects"
|
||
|
S DIR(0)="SAO^0:Off/Hide Subjects;1:On/Show Subjects"
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
FORMAT ; Format, for orders.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_" setting for Orders: "
|
||
|
S DIR("A",1)=" L Long"
|
||
|
S DIR("A",2)=" S Short"
|
||
|
S DIR(0)="SAO^L:Long;S:Short"
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
COMMENTS ; Comments, for problems.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_" setting for Problems: "
|
||
|
S DIR("A",1)=" 0 Off/Hide Comments"
|
||
|
S DIR("A",2)=" 1 On/Show Comments"
|
||
|
S DIR(0)="SAO^0:Off/Hide Comments;1:On/Show Comments"
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
SERVICE ; Service, for consults.
|
||
|
;
|
||
|
; Internal variables used:
|
||
|
;
|
||
|
; DIC,X,Y,DTOUT,DUOUT = Variables for call to DIC.
|
||
|
;
|
||
|
N DIC,X,Y,DTOUT,DUOUT
|
||
|
;
|
||
|
; Assign DIC variables and call DIC:
|
||
|
S DIC=123.5
|
||
|
S DIC(0)="AEFMQ"
|
||
|
S DIC("A")=" Select service for Consults: "
|
||
|
S DIC("B")="ALL"
|
||
|
S:$L($G(ORXNOW)) DIC("B")=ORXNOW
|
||
|
S DTIME=120
|
||
|
W !! ; Screen formatting.
|
||
|
D ^DIC
|
||
|
;
|
||
|
I $D(DUOUT) S ORXNOW="^"
|
||
|
I $D(DTOUT) S ORXNOW="^"
|
||
|
;
|
||
|
; Examine user entry, treat if needed, and assign it for return:
|
||
|
I ORXNOW'="^" S:+Y'>0 Y=""
|
||
|
I ORXNOW'="^" S ORXNOW=+Y
|
||
|
;
|
||
|
K DIC,X,Y,DTOUT,DUOUT ; Clean up before exit.
|
||
|
;
|
||
|
Q
|
||
|
;
|
||
|
OCCLIM ; Occurrence Limit, for notes.
|
||
|
;
|
||
|
; Assign DIR variables:
|
||
|
S DIR("T")=120 ; Two minute maximum timeout for response.
|
||
|
S DIR("A")=" Enter "_ORXPDIS_" setting for Notes: "
|
||
|
S DIR("?")=" Entry must be between 1 and 9,999,999"
|
||
|
S DIR(0)="NA^1:9999999" ; Numerical, required.
|
||
|
;
|
||
|
; Call tag to get/assign input:
|
||
|
D INPUT^ORXTABS2
|
||
|
;
|
||
|
I ORXNOW'="^" D
|
||
|
.W !!,"(NOTE: Setting may be overridden by your TIU Personal Preferences.)",!
|
||
|
.H 2
|
||
|
;
|
||
|
Q
|
||
|
;
|