1 | ONCOSINP ;WASH ISC/SRR,MLH-INPUT SUBROUTINES FOR ONCOS ;11/1/93 12:16
|
---|
2 | ;;2.11;ONCOLOGY;;Mar 07, 1995
|
---|
3 | ;These entry points perform miscellaneous input functions:
|
---|
4 | ;GETFILE get a FileMan file
|
---|
5 | ;GETYES get a yes/no response
|
---|
6 | ;GETTEMPL get a search template
|
---|
7 | ;
|
---|
8 | GETFILE ;lookup file, get file number & global reference
|
---|
9 | ;in: ONCOS("F")=file name
|
---|
10 | ;out: ONCOS("FI")=file number^file name^global reference OR Y=-1
|
---|
11 | N DIC
|
---|
12 | S X=$S($D(ONCOS("F")):ONCOS("F"),1:""),DIC="^DIC(",DIC(0)=$S(X="":"AEQ",1:"EQ") D ^DIC Q:Y<0 S GBL=^DIC(+Y,0,"GL"),FNUM=+Y,ONCOS("FI")=Y_GBL W !,"FILE: ",X Q
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | GETTEMPL ;get a search template
|
---|
16 | ;in: FNUM,ONCOS,^DIBT
|
---|
17 | ;out: Y
|
---|
18 | N D,DIC,DIR
|
---|
19 | I $D(ONCOS("T")) S Y=ONCOS("T") Q:Y="ALL" I $D(^DIBT("F"_FNUM,Y)) S X=$O(^(Y,"")) I X]"" W !,"SEARCH TEMPLATE: ",Y S Y=X_U_Y Q
|
---|
20 | ;S Y="Use a SEARCH TEMPLATE? Yes// ",Z="Use a SEARCH TEMPLATE to restrict cases"
|
---|
21 | ASK W ! S DIR("A")=" Restrict cases with a SEARCH TEMPLATE",DIR("B")="Yes",DIR(0)="Y",DIR("??")="^D HP1^ONCOSINP" D ^DIR G GT2:$G(Y)=0 S Y=$S(Y["^":-1,Y="":0,1:1) Q:Y'>0 G GT2:Y=2
|
---|
22 | Z S D="F"_FNUM,DIC="^DIBT(",DIC(0)="AEQ",DIC("A")=" Select SEARCH TEMPLATE: " D ^DIC S Y=$S(Y="^":0,Y="":0,Y=-1:0,1:Y) Q:'Y S N=+Y
|
---|
23 | X ;D GETYES E Q:Y=-1 G GT2
|
---|
24 | I '$D(^DIBT(N,"DIS")) W !,"Sorry, ",$P(Y,U,2)," must be a SEARCH template" G GT1
|
---|
25 | I '$D(^DIBT(N,1)) W !!,?10,$P(Y,U,2)_" does not have stored entries",!?10,"you must run FM Search Option for this template.",!! G GT1
|
---|
26 | W !!?10,"REMINDER: Run Define Search Criteria Option"
|
---|
27 | W !,?10,"to be sure selected entries are up-to-date!!",!
|
---|
28 | ;S DIR("A")="Continue",DIR(0)="Y",DIR("B")="Yes" D ^DIR W ! S Y=$S(Y=1:1,1:0)
|
---|
29 | ;Line above caused program to quit with NO DEATHS
|
---|
30 | Q
|
---|
31 | Q
|
---|
32 | GT2 W ! S Y="Really use ALL cases (this may take some time)? No// ",Z=""
|
---|
33 | D GETYES I S Y="ALL"
|
---|
34 | E G:Y'=-1 ASK
|
---|
35 | Q
|
---|
36 | HP1 W !!?10,"Using a Search Template will restrict cases.",!
|
---|
37 | W ?10,"It will act as a filter using only those cases",!
|
---|
38 | W ?10,"that fit the criteria you have selected."
|
---|
39 | W W !!,?10,"YOU MUST have FIRST GENERATED the Search Template using the",!?10,"DS Option to create the necessary 'TRUE' entries!",!!
|
---|
40 | Q
|
---|
41 | GT1 S D="F"_FNUM D IX^DIC G GT2:$P(Y,U,2)="ALL" Q:Y=-1 Q:$O(^DIBT(+Y,1,""))]""
|
---|
42 | Q
|
---|
43 | ;
|
---|
44 | GETYES ;get a yes/no response
|
---|
45 | ;in: Y = prompt (including default e.g. Yes//)
|
---|
46 | ; Z = undefined if specific help handled by calling module
|
---|
47 | ; '="" for single line help
|
---|
48 | ;out: X = actual entry
|
---|
49 | ; $T = true if yes
|
---|
50 | ; Y = -1 for ^
|
---|
51 | W !,Y R X:DTIME E S X="^"
|
---|
52 | I X'[U
|
---|
53 | E S Y=-1 Q
|
---|
54 | I X="" S X=$F(Y,"//"),X=$S(X>3:$E(Y,X-5,X-3),1:"?")
|
---|
55 | I '(X["Y"!(X["y")!(X["N")!(X["n")) W *7 S X="?"
|
---|
56 | I X["?" W !,"Enter 'y' or 'n' or '^' to abort." Q:'$D(Z) W:Z'="" !,Z G GETYES
|
---|
57 | I X["Y"!(X["y") W " (Yes)"
|
---|
58 | E W " (No)"
|
---|
59 | Q
|
---|