1 | PXRMXSC ; SLC/PJH - Reminder reports service category selection ;12/18/2006
|
---|
2 | ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
|
---|
3 | ;
|
---|
4 | SCAT ;Get the list of service categories.
|
---|
5 | N DIR,DIEA,IC,JC,NSC,PCESVC,SCA,VALID,X,Y
|
---|
6 | K DIRUT,DTOUT,DUOUT
|
---|
7 | ;Build a list of allowed service categories. PCE uses a subset of the
|
---|
8 | ;categories in the file. These are stored in PCESVC.
|
---|
9 | S PCESVC=""
|
---|
10 | D HELP^DIE(9000010,"",.07,"S","SCA")
|
---|
11 | S NSC=SCA("DIHELP")
|
---|
12 | S DIR("?")=U_"D SCATHELP^PXRMXSC"
|
---|
13 | S DIR("??")=U_"D SCATHELP^PXRMXSC"
|
---|
14 | SCATP ;
|
---|
15 | S DIR(0)="FU"_U_"1:"_NSC
|
---|
16 | S DIR("A")="Select SERVICE CATEGORIES"
|
---|
17 | S DIR("B")="A,I"
|
---|
18 | W !
|
---|
19 | D ^DIR K DIR
|
---|
20 | I $D(DIROUT) S DTOUT=1
|
---|
21 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
22 | ;Make sure we have a valid list.
|
---|
23 | S VALID=$$VSCLIST(Y,PCESVC)
|
---|
24 | I 'VALID G SCATP
|
---|
25 | S PXRMSCAT=$$UP^XLFSTR(Y)
|
---|
26 | F IC=1:1:$L(PXRMSCAT,",") S X=$P(PXRMSCAT,",",IC),PXRMSCAT(X)=""
|
---|
27 | Q
|
---|
28 | ;
|
---|
29 | ;======================================================
|
---|
30 | SCATHELP ;? help for service categories.
|
---|
31 | N ARRAY,IC,JC,NSC,PCESVC
|
---|
32 | S PCESVC=""
|
---|
33 | D HELP^DIE(9000010,"",.07,"S","SCA")
|
---|
34 | S NSC=SCA("DIHELP")
|
---|
35 | S JC=0
|
---|
36 | F IC=2:1:NSC D
|
---|
37 | . S X=$P(SCA("DIHELP",IC)," ",1)
|
---|
38 | . I PCESVC="" S PCESVC=X
|
---|
39 | . E S PCESVC=PCESVC_","_X
|
---|
40 | . S JC=JC+1
|
---|
41 | . S ARRAY(JC)=SCA("DIHELP",IC)
|
---|
42 | S NSC=JC
|
---|
43 | W !!,"Enter the letter(s), separated by commas, corresponding to the desired service"
|
---|
44 | W !,"category or categories. For example A,H,T,E would allow only encounters with"
|
---|
45 | W !,"service categories of ambulatory, hospitalization, telecommunications, and"
|
---|
46 | W !,"event (historical) to be included."
|
---|
47 | W !!,"The possible service categories for the report are:",!
|
---|
48 | F IC=1:1:NSC W !,ARRAY(IC)
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | ;======================================================
|
---|
52 | VSCLIST(LIST,SLIST) ;LIST is a comma separated list of service categories. SLIST
|
---|
53 | ;is the standard list of service categories. Make sure all the
|
---|
54 | ;elements of LIST are in the standard list SLIST. If they are, then
|
---|
55 | ;LIST is valid. Used for selection in reminder reports and as input
|
---|
56 | ;transform SERVICE CATEGORY LIST in the REMINDER REPORT TEMPLATE
|
---|
57 | ;file #810.1.
|
---|
58 | I LIST="" Q 1
|
---|
59 | I $G(SLIST)="" D
|
---|
60 | . N IC,SCA,TEMP
|
---|
61 | . D HELP^DIE(9000010,"",.07,"S","SCA")
|
---|
62 | . S SLIST=""
|
---|
63 | . F IC=2:1:SCA("DIHELP") D
|
---|
64 | .. S TEMP=$P(SCA("DIHELP",IC)," ",1)
|
---|
65 | .. I SLIST="" S SLIST=TEMP
|
---|
66 | .. E S SLIST=SLIST_","_TEMP
|
---|
67 | N IC,LE,LEN,VALID
|
---|
68 | S LIST=$$UP^XLFSTR(LIST)
|
---|
69 | S VALID=1
|
---|
70 | S LEN=$L(LIST,",")
|
---|
71 | F IC=1:1:LEN D
|
---|
72 | . S LE=$P(LIST,",",IC)
|
---|
73 | . I LE="" D Q
|
---|
74 | .. D EN^DDIOL("Null is not a valid service category!")
|
---|
75 | .. S VALID=0
|
---|
76 | . I SLIST'[LE D
|
---|
77 | .. D EN^DDIOL(LE_" is an invalid service category!")
|
---|
78 | .. S VALID=0
|
---|
79 | Q VALID
|
---|
80 | ;
|
---|