| 1 | BPSOSU3 ;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 SET and YESNO Functions
 | 
|---|
| 6 |  ;----------------------------------------------------------------------
 | 
|---|
| 7 |  ;Standard SET PROMPT:
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ;Parameters:
 | 
|---|
| 10 |  ;    PROMPT  = Text to be displayed before read
 | 
|---|
| 11 |  ;    DFLT    = DEFAULT choice (external format)
 | 
|---|
| 12 |  ;    OPT     = 1 - Answer optional       0 - Answer required
 | 
|---|
| 13 |  ;    DISPLAY = V - Vertical display      H - Horizontal display
 | 
|---|
| 14 |  ;              N - No display
 | 
|---|
| 15 |  ;    CHOICES = <code>:<choice>;<code>:<choice>.....
 | 
|---|
| 16 |  ;    TIMEOUT = Number of seconds
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  ;Returns:
 | 
|---|
| 19 |  ;    <null>     = No response             <^> - Up-arrow entered
 | 
|---|
| 20 |  ;    <-1>       = Timeout occurred       <^^> - Two up-arrows entered
 | 
|---|
| 21 |  ;    <Choice>   = Response choice (internal format)
 | 
|---|
| 22 |  ;---------------------------------------------------------------------
 | 
|---|
| 23 | SET(PROMPT,DFLT,OPT,DISPLAY,CHOICES,TIMEOUT) ;EP
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  Q:$G(PROMPT)="" ""
 | 
|---|
| 28 |  Q:$G(DISPLAY)="" ""
 | 
|---|
| 29 |  Q:$G(CHOICES)="" ""
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  S $P(DIR(0),"^",1)="S"_$S(DISPLAY="H":"B",DISPLAY="N":"A",1:"")_$S(OPT=1:"O",1:"")
 | 
|---|
| 32 |  S $P(DIR(0),"^",2)=CHOICES
 | 
|---|
| 33 |  S DIR("A")=PROMPT
 | 
|---|
| 34 |  S:$G(DFLT)'="" DIR("B")=DFLT
 | 
|---|
| 35 |  S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT
 | 
|---|
| 36 |  D ^DIR
 | 
|---|
| 37 |  Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y)
 | 
|---|
| 38 |  ;---------------------------------------------------------------------
 | 
|---|
| 39 |  ;Standard Yes/No PROMPT:
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  ;Parameters:
 | 
|---|
| 42 |  ;    PROMPT  = Text to be displayed before read
 | 
|---|
| 43 |  ;    DFLT    = YES, NO or <Null>
 | 
|---|
| 44 |  ;    OPT     = 1 - Answer optional       0 - Answer required
 | 
|---|
| 45 |  ;    TIMEOUT = Number of seconds
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  ;Returns:
 | 
|---|
| 48 |  ;    <null>     = No response             <^> - Up-arrow entered
 | 
|---|
| 49 |  ;    <-1>       = Timeout occurred       <^^> - Two up-arrows entered
 | 
|---|
| 50 |  ;    <0>        = No                      <1> - Yes
 | 
|---|
| 51 |  ;---------------------------------------------------------------------
 | 
|---|
| 52 | YESNO(PROMPT,DFLT,OPT,TIMEOUT) ;EP
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  Q:$G(PROMPT)="" ""
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 |  S $P(DIR(0),"^",1)="Y"_$S(OPT=1:"O",1:"")
 | 
|---|
| 59 |  S DIR("A")=PROMPT
 | 
|---|
| 60 |  S:$G(DFLT)'="" DIR("B")=DFLT
 | 
|---|
| 61 |  S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT
 | 
|---|
| 62 |  D ^DIR
 | 
|---|
| 63 |  Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y)
 | 
|---|