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
|
---|