[613] | 1 | SPNLR1 ;ISC-SF/GB-SCD SETUP FOR REPORTS ;6/23/95 11:52
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
| 3 | ; This subroutine asks the user questions concerning the report.
|
---|
| 4 | ; It should be called using the ENTRY entry point. RPTID and ABORT
|
---|
| 5 | ; must be supplied by the calling program. All parms except RPTID
|
---|
| 6 | ; should be "call by reference".
|
---|
| 7 | ; ABORT must be tested by calling program upon return.
|
---|
| 8 | ASK(RPTID,FDATE,TDATE,QLIST,HIUSERS,ABORT) ;
|
---|
| 9 | I "ABCDEF"[RPTID D
|
---|
| 10 | . D ASK1
|
---|
| 11 | E D ASK2
|
---|
| 12 | K SPNLTRAM,SPNLTRM1,SPNTD,SPNCAUSE,SPND1,SPNETIOL
|
---|
| 13 | Q
|
---|
| 14 | ASK1 ;
|
---|
| 15 | D @("ASK^SPNLR"_RPTID_"(.QLIST,.ABORT)") Q:ABORT
|
---|
| 16 | I RPTID'="F" D EN^SPNLRU1 Q:ABORT
|
---|
| 17 | I $G(QLIST("WINDOW"))=1 D Q:ABORT
|
---|
| 18 | . D GETWIN
|
---|
| 19 | E S (FDATE,TDATE)=""
|
---|
| 20 | S HIUSERS=0
|
---|
| 21 | Q
|
---|
| 22 | ASK2 ;
|
---|
| 23 | ; FDATE,TDATE: Get report period (window)
|
---|
| 24 | D GETWIN Q:ABORT
|
---|
| 25 | ;
|
---|
| 26 | ; Call the report routine to let it ask its specific questions
|
---|
| 27 | D @("ASK^SPNLR"_RPTID_"(.QLIST,.ABORT)") Q:ABORT
|
---|
| 28 | ;
|
---|
| 29 | D EN^SPNLRU1 Q:ABORT
|
---|
| 30 | I "QRS"[RPTID D
|
---|
| 31 | . D SEEUSE ; HIUSERS: Do you want to see the users?
|
---|
| 32 | E D HIUSE Q:ABORT ; HIUSERS: How many highest users do you want identified?
|
---|
| 33 | Q
|
---|
| 34 | GETWIN ; Ask the user for the period (window)
|
---|
| 35 | N DIR,DIRUT,Y
|
---|
| 36 | ; Enter a Date; Optional; no minimum; today is maximum; Exact date
|
---|
| 37 | S DIR(0)="DO^:DT:EX"
|
---|
| 38 | S DIR("A")="Start date for period"
|
---|
| 39 | S DIR("?")="^D HELP^%DTC"
|
---|
| 40 | D ^DIR I $D(DIRUT) S ABORT=1 Q
|
---|
| 41 | S FDATE=Y
|
---|
| 42 | S DIR(0)="DO^"_FDATE_":DT:EX"
|
---|
| 43 | S DIR("B")="TODAY"
|
---|
| 44 | S DIR("A")=" End date for period"
|
---|
| 45 | S DIR("?")="^D HELP^%DTC"
|
---|
| 46 | D ^DIR I $D(DIRUT) S ABORT=1 Q
|
---|
| 47 | S TDATE=Y
|
---|
| 48 | Q
|
---|
| 49 | HIUSE ;
|
---|
| 50 | N DIR,DIRUT,Y
|
---|
| 51 | S DIR(0)="NO^0:100" ; Optional number from 0 to 100
|
---|
| 52 | S DIR("B")=0 ; Default answer
|
---|
| 53 | I $D(^XUSEC("SPNL SCD PTS",DUZ)) D
|
---|
| 54 | . S DIR("A")="Number of highest users to identify"
|
---|
| 55 | . S DIR("?")="Enter the number of patients you want identified who have used the most resources"
|
---|
| 56 | E D
|
---|
| 57 | . S DIR("A")="Number of highest users (data only) to identify"
|
---|
| 58 | . S DIR("?")="Only patient resource utilization data is displayed, as you are not authorized to see patient names and SSNs"
|
---|
| 59 | D ^DIR I $D(DIRUT) S ABORT=1 Q
|
---|
| 60 | S HIUSERS=Y
|
---|
| 61 | Q
|
---|
| 62 | SEEUSE ; For the "specific" reports, should we show the patients or not?
|
---|
| 63 | N DIR,DIRUT,Y
|
---|
| 64 | I $D(^XUSEC("SPNL SCD PTS",DUZ)) D
|
---|
| 65 | . S DIR(0)="YAO" ; Answer yes or no
|
---|
| 66 | . S DIR("B")="YES" ; Default answer
|
---|
| 67 | . S DIR("A")="Do you want to see patient usage data? "
|
---|
| 68 | . S DIR("?")="Answer YES to list resource utilization data broken out by patient. Answer NO to list only the totals for each selection."
|
---|
| 69 | . D ^DIR I $D(DIRUT) S ABORT=1 Q
|
---|
| 70 | . S HIUSERS=Y
|
---|
| 71 | E S HIUSERS=0 ; don't show patients
|
---|
| 72 | Q
|
---|