1 | WVBRPCD2 ;HCIOFO/FT,JR IHS/ANMC/MWR - BROWSE PROCEDURES;
|
---|
2 | ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
|
---|
3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
---|
4 | ;; PROMPTS FOR SELECTION CRITERIA IN BROWSING PROCEDURES.
|
---|
5 | ;; CALLED BY WVBRPCD.
|
---|
6 | ;
|
---|
7 | D TITLE^WVUTL5("BROWSE PROCEDURES")
|
---|
8 | D ONEALL Q:WVPOP
|
---|
9 | D SELECT Q:WVPOP
|
---|
10 | D DATES Q:WVPOP
|
---|
11 | D STATUS Q:WVPOP
|
---|
12 | D RESULT Q:WVPOP
|
---|
13 | D CMGR Q:WVPOP
|
---|
14 | D ORDER Q:WVPOP
|
---|
15 | D DEVICE Q:WVPOP
|
---|
16 | Q
|
---|
17 | ;
|
---|
18 | ONEALL ;EP
|
---|
19 | ;---> SELECT ONE PATIENT OR ALL PATIENTS.
|
---|
20 | N DIR,DIRUT,Y
|
---|
21 | W !!?3,"Browse Procedures for ONE individual patient,"
|
---|
22 | W !?3,"or browse Procedures for ALL patients?"
|
---|
23 | S DIR("A")=" Select ONE or ALL: ",DIR("B")="ALL"
|
---|
24 | S DIR(0)="SAM^o:ONE;a:ALL" D HELP2^WVBRPCD3
|
---|
25 | D ^DIR
|
---|
26 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
27 | ;---> IF ALL PATIENTS, S WVA=1 AND QUIT.
|
---|
28 | I Y="a" S WVA=1 Q
|
---|
29 | ;
|
---|
30 | W !!," Select the patient whose Procedures you wish to browse."
|
---|
31 | D PATLKUP^WVUTL8(.Y)
|
---|
32 | I Y<0 S WVPOP=1 Q
|
---|
33 | ;---> FOR ONE PATIENT, SET WVA=0 AND WVDFN=PATIENT DFN, QUIT.
|
---|
34 | S WVDFN=+Y,WVA=0,WVCMGR=$P(^WV(790,WVDFN,0),U,10)
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | SELECT ;EP
|
---|
38 | ;---> SELECT THE PROCEDURES TO BROWSE.
|
---|
39 | D SELECT^WVSELECT("Procedure Type",790.2,"WVARR","","PAP",.WVPOP)
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | DATES ;EP
|
---|
43 | ;---> ASK DATE RANGE. RETURN DATES IN WVBEGDT AND WVENDDT.
|
---|
44 | ;---> IF LOOKING AT ONLY ONE PATIENT, SET DEFAULT BEGIN DATE=T-365.
|
---|
45 | S WVBEGDF=$S(WVA:"T-30",1:"T-365")
|
---|
46 | D ASKDATES^WVUTL3(.WVBEGDT,.WVENDDT,.WVPOP,WVBEGDF,"T")
|
---|
47 | Q
|
---|
48 | ;
|
---|
49 | STATUS ;EP
|
---|
50 | ;---> GET XREF: OPEN OR ALL
|
---|
51 | N DIR,DIRUT,Y W !!?3
|
---|
52 | W "Do you wish to browse DELINQUENT, OPEN, or ALL Procedures?"
|
---|
53 | S DIR("A")=" Select DELINQUENT, OPEN or ALL: ",DIR("B")="OPEN"
|
---|
54 | S DIR(0)="SAM^d:DELINQUENT;o:OPEN;a:ALL" D HELP4^WVBRPCD3
|
---|
55 | D ^DIR
|
---|
56 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
57 | S WVB=Y
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | RESULT ;EP
|
---|
61 | ;---> GET XREF: ABNORMAL OR ALL
|
---|
62 | N DIR,DIRUT,Y
|
---|
63 | W !!?3,"Do you wish to browse only Procedures with ABNORMAL results, "
|
---|
64 | W !?3,"or both ABNORMAL and NORMAL?"
|
---|
65 | S DIR("A")=" Select ABNORMAL or BOTH: "
|
---|
66 | S DIR("B")="ABNORMAL ONLY" D HELP1^WVBRPCD3
|
---|
67 | S DIR(0)="SAM^a:ABNORMAL ONLY;b:BOTH ABNORMAL AND NORMAL"
|
---|
68 | D ^DIR
|
---|
69 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
70 | S WVD=$S(Y="a":0,1:1)
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | CMGR ;EP
|
---|
74 | ;---> SELECT CASES FOR ONE CASE MANAGER OR ALL.
|
---|
75 | ;---> DO NOT PROMPT FOR CASE MANAGER IF SITE PARAMETERS SAY NOT TO,
|
---|
76 | ;---> OR IF LOOKING AT PROCEDURES FOR ONLY ONE PATIENT.
|
---|
77 | N DIR,DIRUT,Y
|
---|
78 | I '$D(^WV(790.02,DUZ(2),0)) S WVE=1 Q
|
---|
79 | I '$P(^WV(790.02,DUZ(2),0),U,5)!('WVA) S WVE=1 Q
|
---|
80 | W !!?3,"Browse Procedures for ONE particular Case Manager,"
|
---|
81 | W !?3,"or browse Procedures for ALL Case Managers?"
|
---|
82 | S DIR("A")=" Select ONE or ALL: ",DIR("B")="ALL"
|
---|
83 | S DIR(0)="SAM^o:ONE;a:ALL" D HELP5^WVBRPCD3
|
---|
84 | D ^DIR
|
---|
85 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
86 | ;---> IF ALL CASE MANAGERS, S WVE=1 AND QUIT.
|
---|
87 | I Y="a" S WVE=1 Q
|
---|
88 | N DIC
|
---|
89 | W !!," Select the Case Manager whose patients you wish to browse."
|
---|
90 | D DIC^WVFMAN(790.01,"QEMA",.Y," Select CASE MANAGER: ")
|
---|
91 | I Y<0 S WVPOP=1 Q
|
---|
92 | ;---> FOR ONE CASE MANAGER, SET WVE=0 AND WVCMGR=^VA(200 DFN, QUIT.
|
---|
93 | S WVCMGR=+Y,WVE=0
|
---|
94 | Q
|
---|
95 | ;
|
---|
96 | ORDER ;EP
|
---|
97 | ;---> ASK ORDER BY DATE OR BY PATIENT OR BY PRIORITY.
|
---|
98 | ;---> IF LOOKING AT ONLY ONE PATIENT, ORDER BY DATE AND QUIT.
|
---|
99 | I 'WVA S WVC=1 D TITLE Q
|
---|
100 | ;
|
---|
101 | ;---> SORT SEQUENCE IN WVC: 1=DATE, PATIENT, PRIORITY
|
---|
102 | ;---> 2=PATIENT, DATE, PRIORITY
|
---|
103 | ;---> 3=PRIORITY, DATE, PATIENT
|
---|
104 | ;
|
---|
105 | N DIR,DIRUT,Y
|
---|
106 | W !!?3,"Display Procedures in order of:"
|
---|
107 | W ?37,"1) DATE OF PROCEDURE (earliest first)"
|
---|
108 | W !?37,"2) NAME OF PATIENT (alphabetically)"
|
---|
109 | W !?37,"3) PRIORITY (most urgent being highest)"
|
---|
110 | S DIR("A")=" Select 1, 2, or 3: ",DIR("B")=1
|
---|
111 | S DIR(0)="SAM^1:DATE;2:NAME;3:PRIORITY" D HELP3^WVBRPCD3
|
---|
112 | D ^DIR
|
---|
113 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
114 | S WVC=Y D TITLE
|
---|
115 | Q
|
---|
116 | ;
|
---|
117 | TITLE ;EP
|
---|
118 | ;---> SET TITLE OF REPORT BASED ON ORDER SELECTED ABOVE.
|
---|
119 | N Y S Y=$S(WVC=1:"DATE",WVC=2:"PATIENT",WVC=3:"DIAGNOSIS",1:"?")
|
---|
120 | S WVTITLE="* * * PROCEDURES LISTED BY "_Y_" * * *"
|
---|
121 | S WVCODE="D EDIT^WVBRPCD1,SORT^WVBRPCD,COPYGBL^WVBRPCD"
|
---|
122 | S WVHEADER="HEADER1"
|
---|
123 | Q
|
---|
124 | ;
|
---|
125 | DEVICE ;EP
|
---|
126 | ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
|
---|
127 | S ZTRTN="DEQUEUE^WVBRPCD"
|
---|
128 | F WVSV="A","B","C","CODE","D","E","CMGR" D
|
---|
129 | .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
|
---|
130 | F WVSV="DFN","BEGDT","ENDDT","HEADER","TITLE" D
|
---|
131 | .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
|
---|
132 | ;---> SAVE THE SELECTED PROCEDURES ARRAY.
|
---|
133 | I $D(WVARR) N N S N=0 F S N=$O(WVARR(N)) Q:N="" D
|
---|
134 | .S ZTSAVE("WVARR("""_N_""")")=""
|
---|
135 | D ZIS^WVUTL2(.WVPOP,1,"HOME")
|
---|
136 | Q
|
---|