| 1 | BPSOSU2 ;BHAM ISC/FCS/DRS/FLS - copied for ECME ;06/01/2004 | 
|---|
| 2 | ;;1.0;E CLAIMS MGMT ENGINE;**1**;JUN 2004 | 
|---|
| 3 | ;---------------------------------------------------------------------- | 
|---|
| 4 | ;---------------------------------------------------------------------- | 
|---|
| 5 | ;Standard FREETEXT and Numeric Functions | 
|---|
| 6 | ;---------------------------------------------------------------------- | 
|---|
| 7 | ;Standard FREETEXT PROMPT: | 
|---|
| 8 | ; | 
|---|
| 9 | ;Parameters: | 
|---|
| 10 | ;    PROMPT  = Text to be displayed before read | 
|---|
| 11 | ;    DFLT    = DEFAULT text | 
|---|
| 12 | ;    OPT     = 1 - Answer optional       0 - Answer required | 
|---|
| 13 | ;    MINLEN  = Minimum length of response text | 
|---|
| 14 | ;    MAXLEN  = Maximum length of response text | 
|---|
| 15 | ;    TIMEOUT = Number of seconds | 
|---|
| 16 | ; | 
|---|
| 17 | ;Returns: | 
|---|
| 18 | ;    <null>  = No response             <^> - Up-arrow entered | 
|---|
| 19 | ;    <-1>    = Timeout occurred       <^^> - Two up-arrows entered | 
|---|
| 20 | ;    <text>  = Response text | 
|---|
| 21 | ;--------------------------------------------------------------------- | 
|---|
| 22 | FREETEXT(PROMPT,DFLT,OPT,MINLEN,MAXLEN,TIMEOUT) ;EP | 
|---|
| 23 | ; | 
|---|
| 24 | N XDATA,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT | 
|---|
| 25 | ; | 
|---|
| 26 | Q:$G(PROMPT)="" "" | 
|---|
| 27 | S:$G(MINLEN)="" MINLEN=0 | 
|---|
| 28 | S:$G(MAXLEN)="" MAXLEN=245 | 
|---|
| 29 | ; | 
|---|
| 30 | S $P(DIR(0),"^",1)="FA"_$S(OPT=1:"O",1:"") | 
|---|
| 31 | S $P(XDATA,":",1)=MINLEN | 
|---|
| 32 | S $P(XDATA,":",2)=MAXLEN | 
|---|
| 33 | S $P(DIR(0),"^",2)=XDATA | 
|---|
| 34 | S DIR("A")=PROMPT | 
|---|
| 35 | S:$G(DFLT)'="" DIR("B")=DFLT | 
|---|
| 36 | S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT | 
|---|
| 37 | D ^DIR | 
|---|
| 38 | Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y) | 
|---|
| 39 | ;--------------------------------------------------------------------- | 
|---|
| 40 | ;Standard Numeric PROMPT: | 
|---|
| 41 | ; | 
|---|
| 42 | ;Parameters: | 
|---|
| 43 | ;    PROMPT  = Text to be displayed before read | 
|---|
| 44 | ;    DFLT    = DEFAULT Numeric | 
|---|
| 45 | ;    OPT     = 1 - Answer optional       0 - Answer required | 
|---|
| 46 | ;    MINNUM  = Minimum numeric value | 
|---|
| 47 | ;    MAXNUM  = Maximum numeric value | 
|---|
| 48 | ;    MAXDEC  = Maximum number of decimal places allowed | 
|---|
| 49 | ;    TIMEOUT = Number of seconds | 
|---|
| 50 | ; | 
|---|
| 51 | ;Returns: | 
|---|
| 52 | ;    <null>     = No response             <^> - Up-arrow entered | 
|---|
| 53 | ;    <-1>       = Timeout occurred       <^^> - Two up-arrows entered | 
|---|
| 54 | ;    <Numeric>  = Response Numeric | 
|---|
| 55 | ;--------------------------------------------------------------------- | 
|---|
| 56 | NUMERIC(PROMPT,DFLT,OPT,MINNUM,MAXNUM,MAXDEC,TIMEOUT) ;EP | 
|---|
| 57 | ; | 
|---|
| 58 | N XDATA,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT | 
|---|
| 59 | ; | 
|---|
| 60 | Q:$G(PROMPT)="" "" | 
|---|
| 61 | ; | 
|---|
| 62 | S $P(DIR(0),"^",1)="NA"_$S(OPT=1:"O",1:"") | 
|---|
| 63 | S $P(XDATA,":",1)=$G(MINNUM) | 
|---|
| 64 | S $P(XDATA,":",2)=$G(MAXNUM) | 
|---|
| 65 | S $P(XDATA,":",3)=$G(MAXDEC) | 
|---|
| 66 | S $P(DIR(0),"^",2)=XDATA | 
|---|
| 67 | S DIR("A")=PROMPT | 
|---|
| 68 | S:$G(DFLT)'="" DIR("B")=DFLT | 
|---|
| 69 | S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT | 
|---|
| 70 | D ^DIR | 
|---|
| 71 | Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y) | 
|---|