source: WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORWGAPIP.m@ 619

Last change on this file since 619 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 8.3 KB
Line 
1ORWGAPIP ; SLC/STAFF - Graph Parameters ;11/20/06 08:59
2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215,260,243**;Dec 17, 1997;Build 242
3 ;
4ALLVIEWS(DATA,VTYPE,USER) ; from ORWGAPI
5 N CNT,ENT,NUM,NUM1,PARAM,PROF,RESULT,TEST,TG,TGNUM,TGNAME,TMP,VIEW,VNUM K PROF,VIEW
6 D RETURN^ORWGAPIW(.TMP,.DATA)
7 S CNT=0
8 I VTYPE=-2 D
9 . S ENT="SYS"
10 . S USER=0
11 I VTYPE=-1 D
12 . S ENT="USR"
13 . I USER S ENT="USR.`"_USER
14 I VTYPE=-3 D Q
15 . ;LAB GROUPS
16 . I 'USER S USER=DUZ
17 . D TG^ORWLRR(.PROF,USER)
18 . S NUM=0
19 . F S NUM=$O(PROF(NUM)) Q:NUM<1 D
20 .. S TG=PROF(NUM)
21 .. S TGNUM=+TG
22 .. S TGNAME=$P(TG,U,2)
23 .. ;I TGNAME[") " S TGNAME=$P(TGNAME,") ",2,99)
24 .. S VNUM=CNT+1
25 .. S RESULT="-3^V^"_VNUM_U_TGNAME_"^^^"_USER
26 .. D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
27 .. K VIEW
28 .. D ATG^ORWLRR(.VIEW,TGNUM,USER)
29 .. S NUM1=0
30 .. F S NUM1=$O(VIEW(NUM1)) Q:NUM1<1 D
31 ... S TEST=VIEW(NUM1)
32 ... S RESULT="-3^C^"_VNUM_U_$P(TEST,U,2)_"^63^"_+TEST_U
33 ... D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
34 D XGETLST^ORWGAPIX(.PROF,ENT,"ORWG GRAPH VIEW")
35 S NUM=0
36 F S NUM=$O(PROF(NUM)) Q:NUM<1 D
37 . S PARAM=$P(PROF(NUM),U)
38 . S VNUM=CNT+1
39 . S RESULT=VTYPE_"^V^"_VNUM_U_PARAM_"^^^"_USER
40 . D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
41 . K VIEW
42 . D XGETWP^ORWGAPIX(.VIEW,ENT,"ORWG GRAPH VIEW",PARAM)
43 . D DEFVIEWS(.DATA,.VIEW,VTYPE,VNUM,TMP,.CNT)
44 Q
45 ;
46DATES(DAT,REPORTID) ; from ORWGAPI
47 N BEGIN,END,INFO,NEXT,PARAM1,PARAM2,RPT,START,STOP
48 S RPT=+$O(^ORD(101.24,"AC",+$G(REPORTID),0))
49 I 'RPT Q ; RPT=1150 is exported graph report
50 S PARAM1=$P($G(^ORD(101.24,RPT,2)),U)
51 S PARAM2=$P($G(^ORD(101.24,RPT,2)),U,2)
52 S INFO=$$XGET^ORWGAPIX("ALL","ORWRP TIME/OCC LIMITS INDV",RPT,"I")
53 S BEGIN=$P(INFO,";"),START=$$DATE^ORWGAPIX(BEGIN)
54 S END=$P(INFO,";",2),STOP=$$DATE^ORWGAPIX(END)
55 I START<1 Q
56 I STOP<1 Q
57 S NEXT=1+$O(DAT(""),-1)
58 S DAT(NEXT)=U_BEGIN_" to "_END_"^^^"_INFO_U_START_U_STOP_U_PARAM1_U_PARAM2
59 Q
60 ;
61DEFVIEWS(DATA,VIEW,VTYPE,VNUM,TMP,CNT) ;
62 N FIRST,NUM,PIECE,RESULT,RESULT1,SECOND,VALUE
63 S NUM=""
64 F S NUM=$O(VIEW(NUM)) Q:NUM="" D
65 . S RESULT=$G(VIEW(NUM,0))
66 . S PIECE=0
67 . F S PIECE=PIECE+1 S VALUE=$P(RESULT,"|",PIECE) D:$L(VALUE) Q:'$L($P(RESULT,"|",PIECE+1,999))
68 .. S FIRST=$P(VALUE,"~"),SECOND=$P(VALUE,"~",2)
69 .. I FIRST=0 D
70 ... I $E(SECOND,1,5)="63AP;" S RESULT1=VTYPE_"^C^"_VNUM_U_"Anatomic Path: "_$$ITEMPRFX^ORWGAPIU($E(SECOND,3,6))_" <any>"_U_SECOND_"^0^" Q
71 ... I $E(SECOND,1,5)="63MI;" S RESULT1=VTYPE_"^C^"_VNUM_U_"Microbiology: "_$$ITEMPRFX^ORWGAPIU($E(SECOND,3,6))_" <any>"_U_SECOND_"^0^" Q
72 ... S RESULT1=VTYPE_"^C^"_VNUM_U_$$FILENAME^ORWGAPIT(SECOND)_" <any>"_U_SECOND_"^0^"
73 .. I FIRST'=0 S RESULT1=VTYPE_"^C^"_VNUM_U_$$EVALUE^ORWGAPIU(SECOND,FIRST)_U_FIRST_U_SECOND_U
74 .. D SETUP^ORWGAPIW(.DATA,RESULT1,TMP,.CNT)
75 Q
76 ;
77DELVIEWS(DATA,NAME,PUBLIC) ; from ORWGAPI
78 N ERR,TMP
79 D RETURN^ORWGAPIW(.TMP,.DATA)
80 S ERR=0
81 I '$L(NAME) S ERR=1
82 I 'ERR D
83 . S NAME=$$UP^ORWGAPIX(NAME)
84 . I PUBLIC D XDEL^ORWGAPIX("SYS","ORWG GRAPH VIEW",NAME,.ERR)
85 . I 'PUBLIC D XDEL^ORWGAPIX("USR","ORWG GRAPH VIEW",NAME,.ERR)
86 I TMP S ^TMP(DATA,$J)=ERR,^TMP(DATA,$J,1)=ERR
87 I 'TMP S DATA=ERR,DATA(1)=ERR
88 Q
89 ;
90GETPREF(DATA) ; from ORWGAPI
91 N CNT,NUM,PROF,RESULT,TMP,VAL K PROF
92 I '$O(^PXRMINDX(63,"PI","")) Q ; graphing is not used if no indexes
93 S VAL=$$XGET^ORWGAPIX("PKG","ORWG GRAPH SETTING",1,"I")
94 I '$L(VAL) Q ; graphing not used if no pkg param on settings
95 D RETURN^ORWGAPIW(.TMP,.DATA)
96 S PROF(2)=1
97 I '$L($G(^XTMP("ORGRAPH",0))) S PROF(2)=-1
98 S VAL=$$XGET^ORWGAPIX("DIV^SYS^PKG","ORWG GRAPH SETTING",1,"I")
99 S PROF(1)=VAL
100 S VAL=$$XGET^ORWGAPIX("ALL","ORWG GRAPH SETTING",1,"I")
101 S PROF(0)=VAL
102 S CNT=0
103 S NUM=""
104 F S NUM=$O(PROF(NUM)) Q:NUM="" D
105 . S RESULT=$G(PROF(NUM))
106 . D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
107 Q
108 ;
109GETSIZE(DATA) ; from ORWGAPI
110 N CNT,NUM,PROF,RESULT,TMP K PROF
111 D RETURN^ORWGAPIW(.TMP,.DATA)
112 D XGETLST^ORWGAPIX(.PROF,"USR","ORWG GRAPH SIZING")
113 S CNT=0
114 S NUM=""
115 F S NUM=$O(PROF(NUM)) Q:NUM="" D
116 . S RESULT=$G(PROF(NUM))
117 . D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
118 Q
119 ;
120 ;GETVIEWS(DATA,ALL,PUBLIC,EXT,USER) ; from ORWGAPI
121 ;N CNT,NUM,PROF,RESULT,TMP,USERPRM K PROF
122 ;D RETURN^ORWGAPIW(.TMP,.DATA)
123 ;I PUBLIC D
124 ;. I ALL=1 D XGETLST^ORWGAPIX(.PROF,"SYS","ORWG GRAPH VIEW") ; get list of public views
125 ;. I ALL'=1 D XGETWP^ORWGAPIX(.PROF,"SYS","ORWG GRAPH VIEW",ALL) ; get a public view definition
126 ;I 'PUBLIC D
127 ;. S USERPRM="USR"
128 ;. I USER S USERPRM="USR.`"_USER
129 ;. I ALL=1 D XGETLST^ORWGAPIX(.PROF,USERPRM,"ORWG GRAPH VIEW") ; get list of personal views
130 ;. I ALL'=1 D XGETWP^ORWGAPIX(.PROF,USERPRM,"ORWG GRAPH VIEW",ALL) ; get a personal view definition
131 ;S CNT=0
132 ;I 'EXT D Q
133 ;. S NUM=""
134 ;. F S NUM=$O(PROF(NUM)) Q:NUM="" D
135 ;.. I ALL=1 S RESULT=$P($G(PROF(NUM)),U)
136 ;.. I ALL'=1 S RESULT=$G(PROF(NUM,0))
137 ;.. D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
138 ;D DEFVIEWS(.DATA,.PROF,"",TMP,.CNT)
139 ;Q
140 ;
141GETVIEWS(DATA,ALL,PUBLIC,EXT,USER) ; from ORWGAPI
142 N CNT,FIRST,NUM,PIECE,PROF,RESULT,RESULT1,SECOND,TMP,VALUE K PROF
143 D RETURN^ORWGAPIW(.TMP,.DATA)
144 I PUBLIC D
145 . I ALL=1 D XGETLST^ORWGAPIX(.PROF,"SYS","ORWG GRAPH VIEW") ; get list of public views
146 . I ALL'=1 D XGETWP^ORWGAPIX(.PROF,"SYS","ORWG GRAPH VIEW",ALL) ; get a public view definition
147 I 'PUBLIC D
148 . S USERPRM="USR"
149 . I USER S USERPRM="USR.`"_USER
150 . I ALL=1 D XGETLST^ORWGAPIX(.PROF,USERPRM,"ORWG GRAPH VIEW") ; get list of personal views
151 . I ALL'=1 D XGETWP^ORWGAPIX(.PROF,USERPRM,"ORWG GRAPH VIEW",ALL) ; get a personal view definition
152 S CNT=0
153 I 'EXT D Q
154 . S NUM=""
155 . F S NUM=$O(PROF(NUM)) Q:NUM="" D
156 .. I ALL=1 S RESULT=$P($G(PROF(NUM)),U)
157 .. I ALL'=1 S RESULT=$G(PROF(NUM,0))
158 .. D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
159 S NUM=""
160 F S NUM=$O(PROF(NUM)) Q:NUM="" D
161 . S RESULT=$G(PROF(NUM,0))
162 . S PIECE=0
163 . F S PIECE=PIECE+1 S VALUE=$P(RESULT,"|",PIECE) D:$L(VALUE) Q:'$L($P(RESULT,"|",PIECE+1,999))
164 .. S FIRST=$P(VALUE,"~"),SECOND=$P(VALUE,"~",2)
165 .. I FIRST=0 S CNT=CNT+1,RESULT1="0^"_SECOND_U_$$FILENAME^ORWGAPIT(SECOND)_" <any>"
166 .. I FIRST'=0 S CNT=CNT+1,RESULT1=FIRST_U_SECOND_U_$$EVALUE^ORWGAPIU(SECOND,FIRST)
167 .. D SETUP^ORWGAPIW(.DATA,RESULT1,TMP,.CNT)
168 Q
169 ;
170INISET ; from ORWGAPIU initial setup of package parameters
171 N ERR,RPTNUM
172 S RPTNUM=1150
173 D SETPREF(.ERR,"63;53.79;55;55NVA;52;70;120.5|BCEFGHIKN|1|4|90|1|100||",9) ; default public settings
174 I '$D(^ORD(101.24,RPTNUM,0)) D ; make sure report has been added
175 . L +^ORD(101.24,0):20 I '$T Q
176 . S $P(^ORD(101.24,0),U,3)=RPTNUM,$P(^(0),U,4)=$P(^(0),U,4)+1
177 . S ^ORD(101.24,RPTNUM,0)="ORWG GRAPHING^OR_GRAPHS^^2^^^1^R^^^^G^^T"
178 . S ^ORD(101.24,RPTNUM,2)="^^Graphing (local only)^Graphing"
179 . L -^ORD(101.24,0)
180 . D INDEX^ORWGAPIX("^ORD(101.24,",RPTNUM)
181 D XEN^ORWGAPIX("PKG","ORWRP REPORT LIST",12,RPTNUM)
182 Q
183 ;
184PUBLIC(USER) ; from ORWGAPI
185 N ERR,IDX,ORSRV,USRCLASS,VAL K USRCLASS
186 S VAL=0
187 I '$G(USER) Q VAL
188 S ORSRV=$$GET1^DIQ(200,DUZ,29,"I")
189 D XGETLST1^ORWGAPIX(.USRCLASS,"SYS","ORWG GRAPH PUBLIC EDITOR CLASS","Q",.ERR)
190 I ERR Q VAL
191 S IDX=0
192 F S IDX=$O(USRCLASS(IDX)) Q:'IDX D Q:VAL
193 . I $$ISA^ORWGAPIA(USER,$P(USRCLASS(IDX),U,2),.ERR) S VAL=1
194 Q VAL
195 ;
196RPTPARAM(IEN) ; from ORWGAPI
197 N DATES,NODE,VAL
198 S IEN=+$G(IEN)
199 S VAL=""
200 S NODE=$$UP^XLFSTR($P($G(^ORD(101.24,IEN,2)),U,1,2))
201 I $L(NODE)<2 Q VAL
202 Q NODE
203 ;
204SETPREF(DATA,VAL,PUBLIC) ; from ORWGAPI
205 N ERR,TMP
206 D RETURN^ORWGAPIW(.TMP,.DATA)
207 S ERR=0
208 I '$L(VAL) S ERR=1
209 I 'ERR D
210 . S VAL=$$UP^ORWGAPIX(VAL)
211 . I PUBLIC=9 D XEN^ORWGAPIX("PKG","ORWG GRAPH SETTING",1,VAL,.ERR) ; only on postinit
212 . I PUBLIC D XEN^ORWGAPIX("SYS","ORWG GRAPH SETTING",1,VAL,.ERR)
213 . I 'PUBLIC D XEN^ORWGAPIX("USR","ORWG GRAPH SETTING",1,VAL,.ERR)
214 I TMP S ^TMP(DATA,$J)=ERR,^TMP(DATA,$J,1)=ERR
215 I 'TMP S DATA=ERR,DATA(1)=ERR
216 Q
217 ;
218SETSIZE(DATA,VAL) ; from ORWGAPI
219 N ERR,NAME,NUM,VALUE,VALUES,TMP
220 D RETURN^ORWGAPIW(.TMP,.DATA)
221 S ERR=0
222 I '$L($O(VAL(0))) S ERR=1
223 I 'ERR D
224 . S NUM=0
225 . F S NUM=$O(VAL(NUM)) Q:NUM<1 D Q:ERR
226 .. S VALUES=VAL(NUM)
227 .. S VALUES=$$UP^ORWGAPIX(VALUES)
228 .. S NAME=$P(VALUES,U)
229 .. S VALUE=$P(VALUES,U,2)
230 .. D XEN^ORWGAPIX("USR","ORWG GRAPH SIZING",NAME,VALUE,.ERR)
231 I TMP S ^TMP(DATA,$J)=ERR,^TMP(DATA,$J,1)=ERR
232 I 'TMP S DATA=ERR,DATA(1)=ERR
233 Q
234 ;
235SETVIEWS(DATA,NAME,PUBLIC,VAL) ; from ORWGAPI
236 N ERR,TMP
237 D RETURN^ORWGAPIW(.TMP,.DATA)
238 S ERR=0
239 I '$L(NAME) S ERR=1
240 I '$L($O(VAL(""))) S ERR=1
241 I 'ERR D
242 . S NAME=$$UP^ORWGAPIX(NAME)
243 . S VAL=NAME
244 . I PUBLIC D XEN^ORWGAPIX("SYS","ORWG GRAPH VIEW",NAME,.VAL,.ERR)
245 . I 'PUBLIC D XEN^ORWGAPIX("USR","ORWG GRAPH VIEW",NAME,.VAL,.ERR)
246 I TMP S ^TMP(DATA,$J)=ERR,^TMP(DATA,$J,1)=ERR
247 I 'TMP S DATA=ERR,DATA(1)=ERR
248 Q
249 ;
Note: See TracBrowser for help on using the repository browser.