| 1 | ORXTABS5 ;SLC/PKS - Edit calls, tab parameters preferences. [11/22/00 11:16am] | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**9,47,84**;Dec 17, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ; NOTES: The routines herein are called by those of the same tag | 
|---|
| 5 | ;        name in ORXTABS2.  Most variables are NEW'd and assigned | 
|---|
| 6 | ;        by one or more routines in the preceding call chains. | 
|---|
| 7 | ;        Refer to comments and notes there for additional infor- | 
|---|
| 8 | ;        mation. | 
|---|
| 9 | ; | 
|---|
| 10 | ;   Each tag in this routine must return one of the following: | 
|---|
| 11 | ; | 
|---|
| 12 | ;      1 - A new value entered or selected by the user, | 
|---|
| 13 | ;      2 - A null string, | 
|---|
| 14 | ;      3 - The string "*Invalid*" - to repeat due to invalid entry, | 
|---|
| 15 | ;      4 - The "^" character, indicating user's cancel action. | 
|---|
| 16 | ; | 
|---|
| 17 | ;   Some tags in this routine are functions or calls used by | 
|---|
| 18 | ;      other tags herein. | 
|---|
| 19 | ; | 
|---|
| 20 | Q | 
|---|
| 21 | ; | 
|---|
| 22 | TYPE ; Type, for labs. | 
|---|
| 23 | ; | 
|---|
| 24 | ; Assign DIR variables: | 
|---|
| 25 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 26 | S DIR("A")="   Enter "_ORXPDIS_":  " | 
|---|
| 27 | S DIR("A",1)="      L     List Format" | 
|---|
| 28 | S DIR("A",2)="      C     Cumulative Format" | 
|---|
| 29 | S DIR(0)="SAO^L:List Format;C:Cumulative Format" ; Optional, Set of Codes. | 
|---|
| 30 | ; | 
|---|
| 31 | ; Translate one value to match past practice: | 
|---|
| 32 | I ORXNOW="R" S ORXNOW="L" | 
|---|
| 33 | ; | 
|---|
| 34 | ; Call tag to get/assign input: | 
|---|
| 35 | D INPUT^ORXTABS2 | 
|---|
| 36 | ; | 
|---|
| 37 | ; Re-translate one value to match past practice: | 
|---|
| 38 | I ORXNOW="L" S ORXNOW="R" | 
|---|
| 39 | ; | 
|---|
| 40 | ; Present applicability message to user: | 
|---|
| 41 | W !!,"(NOTE: This setting applies only to the LM version of CPRS.)",! | 
|---|
| 42 | ; | 
|---|
| 43 | Q | 
|---|
| 44 | ; | 
|---|
| 45 | DISPGRP ; Display Group (service/section), for orders. | 
|---|
| 46 | ; | 
|---|
| 47 | ; Internal variables used: | 
|---|
| 48 | ; | 
|---|
| 49 | ;    DIC,X,Y,DTOUT,DUOUT = Variables for FM calls. | 
|---|
| 50 | ;    ORXDONE             = Flag for loop exit. | 
|---|
| 51 | ;    ORXTMP              = Temporary variable for value holding. | 
|---|
| 52 | ; | 
|---|
| 53 | N DIR,X,Y,DTOUT,DUOUT,ORXDONE,ORXTMP | 
|---|
| 54 | ; | 
|---|
| 55 | ; Set/translate current setting into a display value: | 
|---|
| 56 | I (('$D(ORXNOW))!(ORXNOW="")) S ORXNOW="ALL" | 
|---|
| 57 | S ORXTMP=0 | 
|---|
| 58 | I ORXNOW'="" D | 
|---|
| 59 | .S ORXTMP=$O(^ORD(100.98,"B",ORXNOW,ORXTMP)) | 
|---|
| 60 | .I ORXTMP>0 S ORXTMP=$P(^ORD(100.98,ORXTMP,0),U) | 
|---|
| 61 | ; | 
|---|
| 62 | ; Establish loop for input control: | 
|---|
| 63 | S ORXDONE=0 | 
|---|
| 64 | F  D  Q:ORXDONE | 
|---|
| 65 | .W !!,"   Enter "_ORXPDIS_" for display of orders." | 
|---|
| 66 | .W !!,"   Select Service/Section: "_ORXTMP_"//" | 
|---|
| 67 | .R X:DTIME S:'$T X="^" I X["^" S ORXDONE=1 Q | 
|---|
| 68 | .I X="" S ORXDONE=1 Q                       ; No change. | 
|---|
| 69 | .I X="@" S ORXDONE=1 Q                      ; Results in default. | 
|---|
| 70 | .I X["?" W !!,"   Choose from:",! D DG^ORCHANG1(1,"DISP") Q | 
|---|
| 71 | .S DIC=100.98,DIC(0)="NEQZ" | 
|---|
| 72 | .D ^DIC | 
|---|
| 73 | .S:Y>0 ORXNOW=$P(Y(0),U,3),ORXDONE=1 | 
|---|
| 74 | I X="@" S ORXNOW=X | 
|---|
| 75 | I (ORXNOW="@") S ORXNOW="ALL"               ; Bottom line default. | 
|---|
| 76 | ; | 
|---|
| 77 | Q | 
|---|
| 78 | ; | 
|---|
| 79 | OUTPT ; Outpatient (0) or Inpatient (1) meds display. | 
|---|
| 80 | ; | 
|---|
| 81 | ; Assign DIR variables: | 
|---|
| 82 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 83 | S DIR("A")="   Enter "_ORXPDIS_":  " | 
|---|
| 84 | S DIR("A",1)="      0     Outpatient" | 
|---|
| 85 | S DIR("A",2)="      1     Inpatient" | 
|---|
| 86 | S DIR(0)="SAO^0:Outpatient;1:Inpatient"     ; Optional, Set of Codes. | 
|---|
| 87 | ; | 
|---|
| 88 | ; Call tag to get/assign input: | 
|---|
| 89 | D INPUT^ORXTABS2 | 
|---|
| 90 | ; | 
|---|
| 91 | Q | 
|---|
| 92 | ; | 
|---|
| 93 | SUBJECT ; Subject, for notes. | 
|---|
| 94 | ; | 
|---|
| 95 | ; Assign DIR variables: | 
|---|
| 96 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 97 | S DIR("A")="   Enter "_ORXPDIS_" setting:  " | 
|---|
| 98 | S DIR("A",1)="      0     Off/Hide Subjects" | 
|---|
| 99 | S DIR("A",2)="      1     On/Show Subjects" | 
|---|
| 100 | S DIR(0)="SAO^0:Off/Hide Subjects;1:On/Show Subjects" | 
|---|
| 101 | ; | 
|---|
| 102 | ; Call tag to get/assign input: | 
|---|
| 103 | D INPUT^ORXTABS2 | 
|---|
| 104 | ; | 
|---|
| 105 | Q | 
|---|
| 106 | ; | 
|---|
| 107 | FORMAT ; Format, for orders. | 
|---|
| 108 | ; | 
|---|
| 109 | ; Assign DIR variables: | 
|---|
| 110 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 111 | S DIR("A")="   Enter "_ORXPDIS_" setting for Orders:  " | 
|---|
| 112 | S DIR("A",1)="      L     Long" | 
|---|
| 113 | S DIR("A",2)="      S     Short" | 
|---|
| 114 | S DIR(0)="SAO^L:Long;S:Short" | 
|---|
| 115 | ; | 
|---|
| 116 | ; Call tag to get/assign input: | 
|---|
| 117 | D INPUT^ORXTABS2 | 
|---|
| 118 | ; | 
|---|
| 119 | Q | 
|---|
| 120 | ; | 
|---|
| 121 | COMMENTS ; Comments, for problems. | 
|---|
| 122 | ; | 
|---|
| 123 | ; Assign DIR variables: | 
|---|
| 124 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 125 | S DIR("A")="   Enter "_ORXPDIS_" setting for Problems:  " | 
|---|
| 126 | S DIR("A",1)="      0     Off/Hide Comments" | 
|---|
| 127 | S DIR("A",2)="      1     On/Show Comments" | 
|---|
| 128 | S DIR(0)="SAO^0:Off/Hide Comments;1:On/Show Comments" | 
|---|
| 129 | ; | 
|---|
| 130 | ; Call tag to get/assign input: | 
|---|
| 131 | D INPUT^ORXTABS2 | 
|---|
| 132 | ; | 
|---|
| 133 | Q | 
|---|
| 134 | ; | 
|---|
| 135 | SERVICE ; Service, for consults. | 
|---|
| 136 | ; | 
|---|
| 137 | ; Internal variables used: | 
|---|
| 138 | ; | 
|---|
| 139 | ;    DIC,X,Y,DTOUT,DUOUT = Variables for call to DIC. | 
|---|
| 140 | ; | 
|---|
| 141 | N DIC,X,Y,DTOUT,DUOUT | 
|---|
| 142 | ; | 
|---|
| 143 | ; Assign DIC variables and call DIC: | 
|---|
| 144 | S DIC=123.5 | 
|---|
| 145 | S DIC(0)="AEFMQ" | 
|---|
| 146 | S DIC("A")="   Select service for Consults:  " | 
|---|
| 147 | S DIC("B")="ALL" | 
|---|
| 148 | S:$L($G(ORXNOW)) DIC("B")=ORXNOW | 
|---|
| 149 | S DTIME=120 | 
|---|
| 150 | W !!                                        ; Screen formatting. | 
|---|
| 151 | D ^DIC | 
|---|
| 152 | ; | 
|---|
| 153 | I $D(DUOUT) S ORXNOW="^" | 
|---|
| 154 | I $D(DTOUT) S ORXNOW="^" | 
|---|
| 155 | ; | 
|---|
| 156 | ; Examine user entry, treat if needed, and assign it for return: | 
|---|
| 157 | I ORXNOW'="^" S:+Y'>0 Y="" | 
|---|
| 158 | I ORXNOW'="^" S ORXNOW=+Y | 
|---|
| 159 | ; | 
|---|
| 160 | K DIC,X,Y,DTOUT,DUOUT                       ; Clean up before exit. | 
|---|
| 161 | ; | 
|---|
| 162 | Q | 
|---|
| 163 | ; | 
|---|
| 164 | OCCLIM ; Occurrence Limit, for notes. | 
|---|
| 165 | ; | 
|---|
| 166 | ; Assign DIR variables: | 
|---|
| 167 | S DIR("T")=120 ; Two minute maximum timeout for response. | 
|---|
| 168 | S DIR("A")="   Enter "_ORXPDIS_" setting for Notes:  " | 
|---|
| 169 | S DIR("?")="   Entry must be between 1 and 9,999,999" | 
|---|
| 170 | S DIR(0)="NA^1:9999999"                     ; Numerical, required. | 
|---|
| 171 | ; | 
|---|
| 172 | ; Call tag to get/assign input: | 
|---|
| 173 | D INPUT^ORXTABS2 | 
|---|
| 174 | ; | 
|---|
| 175 | I ORXNOW'="^" D | 
|---|
| 176 | .W !!,"(NOTE: Setting may be overridden by your TIU Personal Preferences.)",! | 
|---|
| 177 | .H 2 | 
|---|
| 178 | ; | 
|---|
| 179 | Q | 
|---|
| 180 | ; | 
|---|