1 | PXRRECSC ;ISL/PKR - PCE reports encounter selection criteria routines. ;7/7/97
|
---|
2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**12,18,20**;Aug 12, 1996
|
---|
3 | ;
|
---|
4 | ;=======================================================================
|
---|
5 | ECAT ;Get a list of attributes for screening encounters.
|
---|
6 | N C2S,INDENT,VALID,X,Y
|
---|
7 | K DIRUT,DTOUT,DUOUT
|
---|
8 | S DIR(0)="YA"
|
---|
9 | S DIR("A",1)="This report will include all VA clinic encounters for all patients"
|
---|
10 | S DIR("A",2)="unless you modify the criteria. Do you want to modify the criteria?"
|
---|
11 | S DIR("A")="Enter Y (YES) or N (NO) "
|
---|
12 | S DIR("B")="N"
|
---|
13 | W !
|
---|
14 | D ^DIR K DIR
|
---|
15 | I $D(DIROUT) S DTOUT=1
|
---|
16 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
17 | I 'Y S PXRRECAT="" Q
|
---|
18 | ;
|
---|
19 | S INDENT=2
|
---|
20 | S C2S=INDENT+5
|
---|
21 | K DIRUT,DUOUT
|
---|
22 | ECATP W !!,"Encounters may be selected by any combination of the following attributes:"
|
---|
23 | W !,?INDENT,"1",?C2S,"Service Category"
|
---|
24 | ;W !,?INDENT,"2",?C2S,"Encounter Type"
|
---|
25 | W !,?INDENT,"2",?C2S,"Location"
|
---|
26 | W !,?INDENT,"3",?C2S,"Provider"
|
---|
27 | W !,?INDENT,"4",?C2S,"Age of Patient"
|
---|
28 | W !,?INDENT,"5",?C2S,"Race of Patient"
|
---|
29 | W !,?INDENT,"6",?C2S,"Sex of Patient"
|
---|
30 | S DIR(0)="LAO"_U_"1:6"
|
---|
31 | S DIR("A")="Enter encounter selection attribute number(s) "
|
---|
32 | S DIR("?",1)="This response may be a single number, a list, or a range, e.g. 2 or 1,3 or 2-5."
|
---|
33 | S DIR("?")="The valid numbers are 1 through 6."
|
---|
34 | S DIR("??")=U_"D ECATHELP^PXRRECSC"
|
---|
35 | D ^DIR K DIR
|
---|
36 | I $D(DIROUT) S DTOUT=1
|
---|
37 | I $D(DTOUT) Q
|
---|
38 | I $D(DUOUT) G ECAT
|
---|
39 | S PXRRECAT=Y
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | ECATHELP ;
|
---|
43 | W !!,"Enter the number(s) corresponding to the desired selection attribute(s)."
|
---|
44 | W !,"For example 1,2,4 would cause selection attributes for service category,"
|
---|
45 | W !,"location, and patient sex to be established."
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | ;
|
---|
49 | ;=======================================================================
|
---|
50 | ENTYPE ;Get the list of encounter types.
|
---|
51 | N DIEA,ENTYPE,IC,JC,NENTY,PCEENTY,VALID,X,Y
|
---|
52 | K DIRUT,DTOUT,DUOUT
|
---|
53 | ;Build a list of allowed encounter types.
|
---|
54 | D HELP^DIE(9000010,"",15003,"S","ENTYPE")
|
---|
55 | S NENTY=ENTYPE("DIHELP")
|
---|
56 | S DIR("?")=" "
|
---|
57 | S DIR("?",1)="The possible encounter types for the report are:"
|
---|
58 | S JC=0
|
---|
59 | S PCEENTY=""
|
---|
60 | F IC=2:1:NENTY D
|
---|
61 | . S X=$P(ENTYPE("DIHELP",IC)," ",1)
|
---|
62 | . S PCEENTY=PCEENTY_X
|
---|
63 | . S JC=JC+1
|
---|
64 | . S DIR("?",JC)=ENTYPE("DIHELP",IC)
|
---|
65 | S NENTY=JC
|
---|
66 | S DIR("??")=U_"D ENTYHELP^PXRRECSC"
|
---|
67 | ENTTP ;
|
---|
68 | S DIR(0)="FU"_U_"1:"_NENTY
|
---|
69 | S DIR("A")="Select ENCOUNTER TYPES"
|
---|
70 | S DIR("B")="P"
|
---|
71 | W !
|
---|
72 | D ^DIR K DIR
|
---|
73 | I $D(DIROUT) S DTOUT=1
|
---|
74 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
75 | ;Make sure we have a valid list.
|
---|
76 | S VALID=$$VLIST^PXRRGUT(PCEENTY,Y," is an invalid encounter type!")
|
---|
77 | I 'VALID G ENTTP
|
---|
78 | S PXRRENTY=$$UP^XLFSTR(Y)
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | ENTYHELP ;?? help for encounter types.
|
---|
82 | W !!,"Enter the letter(s) corresponding to the desired encounter type or types."
|
---|
83 | W !,"For example POS would allow only encounters with encounter types of"
|
---|
84 | W !,"primary, occasion of service, and stop code to be included."
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | ;=======================================================================
|
---|
88 | SCAT ;Get the list of service categories.
|
---|
89 | N DIEA,IC,JC,NSC,PCESVC,SCA,VALID,X,Y
|
---|
90 | K DIRUT,DTOUT,DUOUT
|
---|
91 | ;Build a list of allowed service categories. PCE uses a subset of the
|
---|
92 | ;categories in the file. These are stored in PCESVC.
|
---|
93 | S PCESVC="AHITSEDX"
|
---|
94 | D HELP^DIE(9000010,"",.07,"S","SCA")
|
---|
95 | S NSC=SCA("DIHELP")
|
---|
96 | S DIR("?")=" "
|
---|
97 | S DIR("?",1)="The possible service categories for the report are:"
|
---|
98 | S JC=0
|
---|
99 | F IC=2:1:NSC D
|
---|
100 | . S X=$P(SCA("DIHELP",IC)," ",1)
|
---|
101 | . I PCESVC[X D
|
---|
102 | .. S JC=JC+1
|
---|
103 | .. S DIR("?",JC)=SCA("DIHELP",IC)
|
---|
104 | S NSC=JC
|
---|
105 | S DIR("??")=U_"D SCATHELP^PXRRECSC"
|
---|
106 | SCATP ;
|
---|
107 | S DIR(0)="FU"_U_"1:"_NSC
|
---|
108 | S DIR("A")="Select SERVICE CATEGORIES"
|
---|
109 | S DIR("B")="AI"
|
---|
110 | W !
|
---|
111 | D ^DIR K DIR
|
---|
112 | I $D(DIROUT) S DTOUT=1
|
---|
113 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
114 | ;Make sure we have a valid list.
|
---|
115 | S VALID=$$VLIST^PXRRGUT(PCESVC,Y," is an invalid service category!")
|
---|
116 | I 'VALID G SCATP
|
---|
117 | S PXRRSCAT=$$UP^XLFSTR(Y)
|
---|
118 | Q
|
---|
119 | ;
|
---|
120 | SCATHELP ;?? help for service categories.
|
---|
121 | W !!,"Enter the letter(s) corresponding to the desired service category or categories."
|
---|
122 | W !,"For example AHTE would allow only encounters with service categories of"
|
---|
123 | W !,"ambulatory, hospitalization, telecommunications, and event (historical) to be included."
|
---|
124 | Q
|
---|
125 | ;
|
---|