1 | IBDF15A ;ALB/CJM - AICS FORM USE BY DIVISION/CLINIC ; JUL 20,1993
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | ;
|
---|
4 | ; -- prints for each encounter form the clinics using it
|
---|
5 | ;
|
---|
6 | PRINT ; -- Main print driver
|
---|
7 | W:$E(IOST,1,2)="C-" @IOF
|
---|
8 | S FORMNAM="" F S FORMNAM=$O(^IBE(357,"B",FORMNAM)) Q:FORMNAM="" S FORM=$O(^IBE(357,"B",FORMNAM,0)) Q:'FORM D Q:IBQUIT
|
---|
9 | .Q:$P($G(^IBE(357,FORM,0)),"^",7) ;exclude toolkit forms
|
---|
10 | .D CLINIC(FORM,FORMNAM)
|
---|
11 | D LIST
|
---|
12 | I $E(IOST,1,2)="C-",'IBQUIT D PAUSE
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | CLINIC(FORM,FORMNAM) ;
|
---|
16 | ; -- finds the list of clinics using FORM
|
---|
17 | ; ^TMP($J,"IBDCS",0) is number of clinics found
|
---|
18 | ; ^TMP($J,"IBDCS",divname, div pointer, form name, form pointer,
|
---|
19 | ; clinic name)=clinic pointer := is list of clinics
|
---|
20 | ;
|
---|
21 | N CLINIC,SETUP,IDX,CLNAME,DIVIS,DIVNAM,CNT
|
---|
22 | F IDX="C","D","E","F","G","H","I","J" D
|
---|
23 | .S SETUP="" F S SETUP=$O(^SD(409.95,IDX,FORM,SETUP)) Q:'SETUP D
|
---|
24 | ..S CLINIC=$P($G(^SD(409.95,SETUP,0)),"^",1)
|
---|
25 | ..Q:'CLINIC
|
---|
26 | ..S CLNAME=$P($G(^SC(CLINIC,0)),"^",1)
|
---|
27 | ..Q:CLNAME=""
|
---|
28 | ..S DIVIS=$P($G(^SC(CLINIC,0)),"^",15)
|
---|
29 | ..I DIVIS="" S DIVIS=$S(MULTI=0:$$PRIM^VASITE,1:"Unknown")
|
---|
30 | ..S DIVNAM=$P($G(^DG(40.8,+DIVIS,0)),"^")
|
---|
31 | ..S:DIVNAM="" DIVNAM="Unknown"
|
---|
32 | ..S CNT=$G(CNT)+1
|
---|
33 | ..S ^TMP($J,"IBDCS",DIVNAM,+$G(DIVIS),FORMNAM,FORM,CLNAME)=CLINIC_"^"_IDX
|
---|
34 | ..S ^TMP($J,"IBDCS",DIVNAM,+$G(DIVIS))=$G(^TMP($J,"IBDCS",DIVNAM,+$G(DIVIS)))+1
|
---|
35 | S:$G(CNT)<1 ^TMP($J,"IBDCN",FORMNAM,FORM)="" ;forms not in use
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | LIST ; -- lists the clinics using FORM
|
---|
39 | N DIVNAM,DIVIS,FORMNAM,FORM,CLNAME,CLINIC,NEWDIV,IBDONE,IDX
|
---|
40 | ;
|
---|
41 | ; -- list forms not in use
|
---|
42 | S DIVNAM="",NEWDIV=0
|
---|
43 | F S DIVNAM=$O(^TMP($J,"IBDCS",DIVNAM)) Q:DIVNAM=""!(IBQUIT) S DIVIS=+$O(^TMP($J,"IBDCS",DIVNAM,"")) I VAUTD=1!($D(VAUTD(DIVIS))) D
|
---|
44 | .;
|
---|
45 | .S NEWDIV=1
|
---|
46 | .K IBDONE
|
---|
47 | .S FORMNAM=""
|
---|
48 | .F S FORMNAM=$O(^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM)) Q:FORMNAM=""!(IBQUIT) S FORM=$O(^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM,0)) D
|
---|
49 | ..;
|
---|
50 | ..S CLNAME=""
|
---|
51 | ..F S CLNAME=$O(^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM,FORM,CLNAME)) Q:CLNAME=""!(IBQUIT) S CLINIC=+^(CLNAME),IDX=$P(^(CLNAME),"^",2) I '$D(IBDONE(FORM)) W ! D LINEONE,ALL(FORMNAM,CLNAME,DIVNAM)
|
---|
52 | ;
|
---|
53 | ; -- list forms not in use
|
---|
54 | S FORMNAM="",NEWDIV=1,DIVNAM="FORMS NOT IN USE"
|
---|
55 | F S FORMNAM=$O(^TMP($J,"IBDCN",FORMNAM)) Q:FORMNAM=""!(IBQUIT) S FORM=$O(^TMP($J,"IBDCN",FORMNAM,0)) D LINETWO
|
---|
56 | Q
|
---|
57 | ;
|
---|
58 | LINEONE ; -- print on report header, lines, etc.
|
---|
59 | ;
|
---|
60 | I NEWDIV D HEADER Q:IBQUIT W !,?10,"Division: ",DIVNAM S NEWDIV=0
|
---|
61 | I $Y>(IOSL-3) D HEADER Q:IBQUIT
|
---|
62 | W !,FORMNAM,?32,$E(CLNAME,1,25),?59,$E(DIVNAM,1,20),?81,$$TYPE(IDX)
|
---|
63 | I '$$ACLN^IBDFCNOF(CLINIC) W ?100," (Clinic Currently Inactive)"
|
---|
64 | S IBDONE(FORM)=""
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | LINETWO ; -- print lines for forms not in use
|
---|
68 | I NEWDIV D HEADER Q:IBQUIT S NEWDIV=0
|
---|
69 | I $Y>(IOSL-3) D HEADER Q:IBQUIT
|
---|
70 | W !,FORMNAM,?32,"** NOT IN USE **"
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | LINETHR ; -- print lines for clinics in other divisions
|
---|
74 | I $Y>(IOSL-3) D HEADER Q:IBQUIT
|
---|
75 | W !,?32,CLNAME,?59,$E(DIVNAM,1,20),?81,$$TYPE(IDX)
|
---|
76 | I '$$ACLN^IBDFCNOF(CLINIC) W ?100," (Clinic Currently Inactive)"
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | ALL(FORMNAM,CL1,DV1) ;
|
---|
80 | ; -- find all clinics using for irregardless of division
|
---|
81 | ; stored in ^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM,FORM,CLNAME)
|
---|
82 | ;
|
---|
83 | N FORM,CLNAME,DIVNAM,DIVIS
|
---|
84 | S DIVNAM=""
|
---|
85 | F S DIVNAM=$O(^TMP($J,"IBDCS",DIVNAM)) Q:DIVNAM=""!(IBQUIT) S DIVIS=+$O(^TMP($J,"IBDCS",DIVNAM,"")) I VAUTD=1!($D(VAUTD(DIVIS))) D
|
---|
86 | .S FORM=+$O(^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM,0))
|
---|
87 | .S CLNAME="" F S CLNAME=$O(^TMP($J,"IBDCS",DIVNAM,DIVIS,FORMNAM,FORM,CLNAME)) Q:CLNAME=""!(IBQUIT) S CLINIC=+^(CLNAME) D
|
---|
88 | ..Q:CL1=CLNAME&(DV1=DIVNAM)
|
---|
89 | ..D LINETHR
|
---|
90 | Q
|
---|
91 | ;
|
---|
92 | ;S FORM=$O(^TMP($J,"IBDCL",FORMNAM,0))
|
---|
93 | ;S CLNAME="" F S CLNAME=$O(^TMP($J,"IBDCL",FORMNAM,FORM,CLNAME)) Q:CLNAME=""!(IBQUIT) D
|
---|
94 | ;.S DIVNAM="" F S DIVNAM=$O(^TMP($J,"IBDCL",FORMNAM,FORM,CLNAME,DIVNAM)) Q:DIVNAM=""!(IBQUIT) D
|
---|
95 | ;..Q:CL1=CLNAME&(DV1=DIVNAM)
|
---|
96 | ;..D LINETHR
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | HEADER ; -- writes the report header
|
---|
100 | I $E(IOST,1,2)="C-",$Y>1,PAGE>1 D PAUSE Q:IBQUIT
|
---|
101 | I PAGE>1 W @IOF
|
---|
102 | W !,"List of Encounter Forms and their Use by Clinics",?IOM-30,IBHDT," PAGE ",PAGE
|
---|
103 | W !,"For Division: ",$G(DIVNAM)
|
---|
104 | W !,"FORM NAME",?32,"CLINIC",?59,"DIVISION",?81,"FORM USAGE"
|
---|
105 | W !,$TR($J(" ",IOM)," ","-")
|
---|
106 | S PAGE=PAGE+1
|
---|
107 | Q
|
---|
108 | ;
|
---|
109 | PAUSE ; -- hold screen
|
---|
110 | N DIR,X,Y
|
---|
111 | F Q:$Y>(IOSL-2) W !
|
---|
112 | S DIR(0)="E" D ^DIR S IBQUIT=$S(+Y:0,1:1)
|
---|
113 | Q
|
---|
114 | ;
|
---|
115 | TYPE(IDX) ;
|
---|
116 | ; -- type of form
|
---|
117 | ; input cross reference from print Manager Clinic Setups (409.95)
|
---|
118 | ; output name of type of form
|
---|
119 | ; IDX="C","D","E","F","G","H","I","J"
|
---|
120 | ;
|
---|
121 | N X
|
---|
122 | S IDX=$E(IDX,1)
|
---|
123 | S X="" I IDX="" G TYPEQ
|
---|
124 | S X=$S(IDX="C":"Basic Form",IDX="D":"Supplmntl form - Establshed Pt.",IDX="E":"Supplmntl Form - First Visit",IDX="F":"Form w/o Patient Data",IDX="G":"Supplmntl Form #1",1:"")
|
---|
125 | I X="" S X=$S(IDX="H":"Reserved",IDX="I":"Supplmntl Form #2",IDX="J":"Supplmntl Form #3",1:"")
|
---|
126 | TYPEQ Q X
|
---|