1 | SCRPU2 ;ALB/CMM - GENERIC PROMPTS FOR PCMM REPORTS ; 12 Jan 99 1:23 PM
|
---|
2 | ;;5.3;Scheduling;**41,174,297,526,520**;AUG 13, 1993;Build 26
|
---|
3 | ;
|
---|
4 | DTRANG(FIRST,SECOND) ;Date Range - begin date ^ end date => fileman format
|
---|
5 | ;FIRST - first prompt (not required)
|
---|
6 | ;SECOND - second prompt (not required)
|
---|
7 | N BDATE,EDATE,DIROUT,DUOUT,DTOUT
|
---|
8 | S EDATE=-1
|
---|
9 | S DIR(0)="D^::E",DIR("B")="Today"
|
---|
10 | I '$D(FIRST) S DIR("A")="Begin Date"
|
---|
11 | I $D(FIRST) S DIR("A")=FIRST
|
---|
12 | D ^DIR
|
---|
13 | I $D(DTOUT)!(X="Today") S BDATE=$P(DT,".")
|
---|
14 | I $D(DUOUT)!($D(DIROUT)) Q -1
|
---|
15 | S BDATE=+Y
|
---|
16 | DEN I '$D(SECOND) S DIR("A")="End Date"
|
---|
17 | I $D(SECOND) S DIR("A")=SECOND
|
---|
18 | K DTOUT,X,Y
|
---|
19 | D ^DIR
|
---|
20 | I $D(DTOUT)!(X="Today") S EDATE=$P(DT,".")
|
---|
21 | I $D(DUOUT)!($D(DIROUT)) Q -1
|
---|
22 | S EDATE=+Y
|
---|
23 | I EDATE<BDATE W !,"End date can't occur before Begin Date",! G DEN
|
---|
24 | K X,Y,DIR
|
---|
25 | Q BDATE_"^"_EDATE
|
---|
26 | ;
|
---|
27 | GTEAM(CLN,DFN) ;
|
---|
28 | ;given clinic and patient, find related team
|
---|
29 | N TPEN,FOUND,TEAM
|
---|
30 | S TPEN="",FOUND=0
|
---|
31 | F S TPEN=$O(^SCTM(404.57,"E",CLN,TPEN)) Q:TPEN=""!(FOUND) D
|
---|
32 | .S TEAM=$P(^SCTM(404.57,TPEN,0),"^",2)
|
---|
33 | .I $D(^SCPT(404.42,"APTTM",DFN,TEAM)) S FOUND=1
|
---|
34 | I FOUND=1 Q TEAM
|
---|
35 | Q FOUND
|
---|
36 | ;
|
---|
37 | ASSUN ;
|
---|
38 | ;prompt for assigned or unassigned to Primary Care Team
|
---|
39 | N VAUTVB
|
---|
40 | S VAUTVB="VAUTA"
|
---|
41 | W !,"(A)ssigned or (U)nassigned Patients to Primary Care Team: "
|
---|
42 | R X:DTIME
|
---|
43 | I (X="^")!'$T G ERR
|
---|
44 | I (X'="A")&(X'="U") D HLP G ASSUN
|
---|
45 | I (X="")!(X["?") D HLP G ASSUN
|
---|
46 | I X="A" S @VAUTVB=1
|
---|
47 | I X="U" S @VAUTVB=0
|
---|
48 | K X
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | PCLNHR() ;Prompt to Print Clinic Hours
|
---|
52 | S DIR("A")="Print Clinic Hours",DIR("B")="Y"
|
---|
53 | Q $$YESNO()
|
---|
54 | ;
|
---|
55 | PCLNIN() ;Prompt to Print Clinic Information
|
---|
56 | S DIR("A")="Print Clinic Information",DIR("B")="Y"
|
---|
57 | Q $$YESNO()
|
---|
58 | ;
|
---|
59 | SUMM() ;Prompt to Print Summary Only (y/n)
|
---|
60 | S DIR("A")="Print Summary Only",DIR("B")="N"
|
---|
61 | S DIR("?")="Enter 'Y' to have patient names excluded, 'N' to include patient names"
|
---|
62 | Q $$YESNO()
|
---|
63 | ;
|
---|
64 | YESNO() ;Yes/No prompt
|
---|
65 | N X,DTOUT,DUOUT,DIROUT,Y
|
---|
66 | S DIR(0)="Y"
|
---|
67 | D ^DIR
|
---|
68 | I $D(DTOUT)!(X="") S Y=$S(DIR("B")="Y":1,1:0)
|
---|
69 | I $D(DUOUT)!($D(DIROUT)) S Y=-1
|
---|
70 | K DIR
|
---|
71 | Q +Y
|
---|
72 | ;
|
---|
73 | PTSTAT ;Prompt for Patient Status (All, OPT, AC)
|
---|
74 | ;Modified by patch 172
|
---|
75 | S VAUTPS=1 Q
|
---|
76 | ;
|
---|
77 | N X,STAT,VAUTVB
|
---|
78 | S VAUTVB="VAUTPS"
|
---|
79 | W !,"Patient Status: ALL//"
|
---|
80 | R X:DTIME
|
---|
81 | I '$T!(X="")!(X="ALL") S @VAUTVB=1
|
---|
82 | I X="^" G ERR
|
---|
83 | I (X["?") D HLP2 G PTSTAT
|
---|
84 | I X="A"!(X="AC") S @VAUTVB="AC"
|
---|
85 | I X="O"!(X="OPT") S @VAUTVB="OPT"
|
---|
86 | I '$D(@VAUTVB) D HLP2 G PTSTAT
|
---|
87 | Q
|
---|
88 | ;
|
---|
89 | HLP2 ;help prompt for Patient Status
|
---|
90 | W !,"Enter: ",!?10,"- A or AC for patients whose status is AC"
|
---|
91 | W !?10,"- O or OPT for patient whose status is OPT"
|
---|
92 | W !?10,"- Enter or ALL for both AC and OPT patients"
|
---|
93 | Q
|
---|
94 | HLP ;
|
---|
95 | ;help prompt
|
---|
96 | W !,"Enter: ",!?5,"- A for patients assigned to the team as Primary Care"
|
---|
97 | W !?10,"- U for patients not assigned to the team as Primary Care"
|
---|
98 | Q
|
---|
99 | ;
|
---|
100 | ERR S Y=-1 I $O(@VAUTVB@(0))="" K @VAUTVB
|
---|
101 | QUIT S:'$D(Y) Y=1 K DIC,J,VAERR,VAI,VAJ,VAJ1,VAX,VAUTNI,VAUTSTR,VAUTVB,X
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | SORT() ;
|
---|
105 | ;Prompt for sorting by Division, Team, Practitioner or Division, Practitioner, Team
|
---|
106 | ;
|
---|
107 | EN1 N X
|
---|
108 | W !,"Sort By:",!?10,"[1] Division, Team, Practitioner",!?10,"[2] Division, Practitioner, Team"
|
---|
109 | W !?10,"[3] Practitioner,Associated Clinic"
|
---|
110 | W !!,"Select 1 or 2 or 3: "
|
---|
111 | R X:DTIME
|
---|
112 | I (X="^")!'$T Q 0
|
---|
113 | I (X'="1")&(X'="2")&(X'=3) D HLP3 G EN1
|
---|
114 | I (X["?")!(X="") D HLP3 G EN1
|
---|
115 | Q X
|
---|
116 | HLP3 ;
|
---|
117 | ;help prompt
|
---|
118 | W !,"Enter: ",!?5,"- 1 to sort by Division, Team, Practitioner "
|
---|
119 | W !?10,"- 2 to sort by Division, Practitioner, Team"
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | SORT2() ;Prompt for sorting by:
|
---|
123 | ; [1] Division, Team, Patient Name
|
---|
124 | ;or [2] Division, Team, SSN
|
---|
125 | ;or [3] Division, Team, Practitioner, Patient Name
|
---|
126 | ;or [4] Division, Team, Practitioner, SSN
|
---|
127 | ;
|
---|
128 | EN4 ;
|
---|
129 | N X
|
---|
130 | W !,"Sort By:",!?10,"[1] Division, Team, Patient Name"
|
---|
131 | W !?10,"[2] Division, Team, SSN"
|
---|
132 | W !?10,"[3] Division, Team, Practitioner, Patient Name"
|
---|
133 | W !?10,"[4] Division, Team, Practitioner, SSN"
|
---|
134 | W !!,"Select 1, 2, 3, or 4: "
|
---|
135 | R X:DTIME
|
---|
136 | I X=""!(X="^")!'$T Q 0
|
---|
137 | I (X'="1")&(X'="2")&(X'="3")&(X'="4") D HLP4 G EN4
|
---|
138 | I (X["?") D HLP4 G EN4
|
---|
139 | Q X
|
---|
140 | HLP4 ;
|
---|
141 | ;help prompt
|
---|
142 | W !,"Enter: ",!?5,"- 1 to sort by Division, Team, Patient Name"
|
---|
143 | W !?10,"- 2 to sort by Division, Team, SSN"
|
---|
144 | W !?10,"- 3 to sort by Division, Team, Practitioner, Patient Name"
|
---|
145 | W !?10,"- 4 to sort by Division, Team, Practitioner, SSN"
|
---|
146 | Q
|
---|