1 | IBRXUTL ;ALB/MAF - PHARMACY API CALLS ; MAY 25, 2005
|
---|
2 | ;;2.0;INTEGRATED BILLING;**309,347**;21-MAR-94;Build 24
|
---|
3 | ;
|
---|
4 | ZERO(IBDRV) ;
|
---|
5 | N X
|
---|
6 | K ^TMP($J,"IBDRUG")
|
---|
7 | S X="IBDRUG" D ZERO^PSS50(IBDRV,,,,,X)
|
---|
8 | Q
|
---|
9 | DATA(IBDRV) ;
|
---|
10 | N X
|
---|
11 | K ^TMP($J,"IBDRUG")
|
---|
12 | S X="IBDRUG" D DATA^PSS50(IBDRV,,,,,X)
|
---|
13 | Q
|
---|
14 | FILE(DA,DR,INTEXT) ;Returns single field from file 52
|
---|
15 | N RETURN,PSOFILE
|
---|
16 | I '$G(DA) S RETURN="" Q RETURN
|
---|
17 | I '$G(DR) S RETURN="" Q RETURN
|
---|
18 | S PSOFILE=52
|
---|
19 | S DA=+DA
|
---|
20 | I $G(INTEXT)="" S INTEXT="I"
|
---|
21 | S RETURN=$$GET1^PSODI(PSOFILE,DA,DR,INTEXT)
|
---|
22 | I $P($G(RETURN),"^",1)=0 S RETURN="" Q RETURN
|
---|
23 | Q $P(RETURN,"^",2)
|
---|
24 | SUBFILE(DA,DASUB,DR,DRSUB,INTEXT) ;Returns single field from subfile 52.1
|
---|
25 | ;The DR variable isn't being used because Pharmacy API changed after IB*2.0*347 went
|
---|
26 | ;to test site. Rather than changing all the routines that call this API this
|
---|
27 | ;input variable is now not used.
|
---|
28 | N RETSUB,PSOFILE,IENS
|
---|
29 | I '$G(DA) S RETSUB="" Q RETSUB
|
---|
30 | I '$G(DASUB) S RETSUB="" Q RETSUB
|
---|
31 | I '$G(DRSUB) S RETSUB="" Q RETSUB
|
---|
32 | S PSOFILE=52.1
|
---|
33 | S IENS=+DASUB_","_+DA
|
---|
34 | I $G(INTEXT)="" S INTEXT="I"
|
---|
35 | S RETSUB=$$GET1^PSODI(PSOFILE,IENS,DRSUB,INTEXT)
|
---|
36 | I $P($G(RETSUB),"^",1)=0 S RETSUB="" Q RETSUB
|
---|
37 | Q $P(RETSUB,"^",2)
|
---|
38 | RXZERO(PDFN,RXIEN) ;Returns zero node of file 52
|
---|
39 | N ZEROOUT,LIST,IBTMPARR,NODE
|
---|
40 | I '$G(PDFN) S ZEROOUT="" Q ZEROOUT
|
---|
41 | I '$G(RXIEN) S ZEROOUT="" Q ZEROOUT
|
---|
42 | S NODE=0
|
---|
43 | S LIST="IBZEROARR"
|
---|
44 | S IBTMPARR="IBTMPZERO"
|
---|
45 | D RX^PSO52API(PDFN,LIST,RXIEN,,NODE,,)
|
---|
46 | I $P(^TMP($J,LIST,PDFN,0),"^",1)>0 D
|
---|
47 | .S $P(^TMP($J,IBTMPARR),"^",1)=$G(^TMP($J,LIST,PDFN,RXIEN,.01))
|
---|
48 | .S $P(^TMP($J,IBTMPARR),"^",2)=$P($G(^TMP($J,LIST,PDFN,RXIEN,2)),"^",1)
|
---|
49 | .S $P(^TMP($J,IBTMPARR),"^",3)=$P($G(^TMP($J,LIST,PDFN,RXIEN,3)),"^",1)
|
---|
50 | .S $P(^TMP($J,IBTMPARR),"^",4)=$P($G(^TMP($J,LIST,PDFN,RXIEN,4)),"^",1)
|
---|
51 | .S $P(^TMP($J,IBTMPARR),"^",5)=$P($G(^TMP($J,LIST,PDFN,RXIEN,5)),"^",1)
|
---|
52 | .S $P(^TMP($J,IBTMPARR),"^",6)=$P($G(^TMP($J,LIST,PDFN,RXIEN,6)),"^",1)
|
---|
53 | .S $P(^TMP($J,IBTMPARR),"^",7)=$G(^TMP($J,LIST,PDFN,RXIEN,7))
|
---|
54 | .S $P(^TMP($J,IBTMPARR),"^",8)=$G(^TMP($J,LIST,PDFN,RXIEN,8))
|
---|
55 | .S $P(^TMP($J,IBTMPARR),"^",9)=$G(^TMP($J,LIST,PDFN,RXIEN,9))
|
---|
56 | .S $P(^TMP($J,IBTMPARR),"^",10)=""
|
---|
57 | .S $P(^TMP($J,IBTMPARR),"^",11)=$P($G(^TMP($J,LIST,PDFN,RXIEN,11)),"^",1)
|
---|
58 | .S $P(^TMP($J,IBTMPARR),"^",12)=""
|
---|
59 | .S $P(^TMP($J,IBTMPARR),"^",13)=$P($G(^TMP($J,LIST,PDFN,RXIEN,1)),"^",1)
|
---|
60 | .S $P(^TMP($J,IBTMPARR),"^",14)=""
|
---|
61 | .S $P(^TMP($J,IBTMPARR),"^",15)=""
|
---|
62 | .S $P(^TMP($J,IBTMPARR),"^",16)=$P($G(^TMP($J,LIST,PDFN,RXIEN,16)),"^",1)
|
---|
63 | .S $P(^TMP($J,IBTMPARR),"^",17)=$G(^TMP($J,LIST,PDFN,RXIEN,17))
|
---|
64 | .S $P(^TMP($J,IBTMPARR),"^",18)=$G(^TMP($J,LIST,PDFN,RXIEN,10.6))
|
---|
65 | .S $P(^TMP($J,IBTMPARR),"^",19)=$P($G(^TMP($J,LIST,PDFN,RXIEN,10.3)),"^",1)
|
---|
66 | .S ZEROOUT=^TMP($J,IBTMPARR)
|
---|
67 | .K ^TMP($J,IBTMPARR)
|
---|
68 | E S ZEROOUT=""
|
---|
69 | K ^TMP($J,LIST)
|
---|
70 | Q ZEROOUT
|
---|
71 | RXSEC(PDFN,RXIEN) ;Returns second node of file 52
|
---|
72 | N SECOUT,LIST,IBTMPARR,NODE
|
---|
73 | I '$G(PDFN) S SECOUT="" Q SECOUT
|
---|
74 | I '$G(RXIEN) S SECOUT="" Q SECOUT
|
---|
75 | S NODE=2
|
---|
76 | S LIST="IBSECARR"
|
---|
77 | S IBTMPARR="IBTMPSEC"
|
---|
78 | D RX^PSO52API(PDFN,LIST,RXIEN,,NODE,,)
|
---|
79 | I $P(^TMP($J,LIST,PDFN,0),"^",1)>0 D
|
---|
80 | .S $P(^TMP($J,IBTMPARR),"^",1)=$P($G(^TMP($J,LIST,PDFN,RXIEN,21)),"^",1)
|
---|
81 | .S $P(^TMP($J,IBTMPARR),"^",2)=$P($G(^TMP($J,LIST,PDFN,RXIEN,22)),"^",1)
|
---|
82 | .S $P(^TMP($J,IBTMPARR),"^",3)=$P($G(^TMP($J,LIST,PDFN,RXIEN,23)),"^",1)
|
---|
83 | .S $P(^TMP($J,IBTMPARR),"^",4)=$G(^TMP($J,LIST,PDFN,RXIEN,24))
|
---|
84 | .S $P(^TMP($J,IBTMPARR),"^",5)=$P($G(^TMP($J,LIST,PDFN,RXIEN,25)),"^",1)
|
---|
85 | .S $P(^TMP($J,IBTMPARR),"^",6)=$P($G(^TMP($J,LIST,PDFN,RXIEN,26)),"^",1)
|
---|
86 | .S $P(^TMP($J,IBTMPARR),"^",7)=$G(^TMP($J,LIST,PDFN,RXIEN,27))
|
---|
87 | .S $P(^TMP($J,IBTMPARR),"^",8)=$G(^TMP($J,LIST,PDFN,RXIEN,28))
|
---|
88 | .S $P(^TMP($J,IBTMPARR),"^",9)=$P($G(^TMP($J,LIST,PDFN,RXIEN,20)),"^",1)
|
---|
89 | .S $P(^TMP($J,IBTMPARR),"^",10)=$P($G(^TMP($J,LIST,PDFN,RXIEN,104)),"^",1)
|
---|
90 | .S $P(^TMP($J,IBTMPARR),"^",11)=$P($G(^TMP($J,LIST,PDFN,RXIEN,29)),"^",1)
|
---|
91 | .S $P(^TMP($J,IBTMPARR),"^",12)=$G(^TMP($J,LIST,PDFN,RXIEN,30))
|
---|
92 | .S $P(^TMP($J,IBTMPARR),"^",13)=$P($G(^TMP($J,LIST,PDFN,RXIEN,31)),"^",1)
|
---|
93 | .S $P(^TMP($J,IBTMPARR),"^",14)=$P($G(^TMP($J,LIST,PDFN,RXIEN,32.2)),"^",1)
|
---|
94 | .S $P(^TMP($J,IBTMPARR),"^",15)=$P($G(^TMP($J,LIST,PDFN,RXIEN,32.1)),"^",1)
|
---|
95 | .S $P(^TMP($J,IBTMPARR),"^",16)=$G(^TMP($J,LIST,PDFN,RXIEN,32.3))
|
---|
96 | .S SECOUT=^TMP($J,IBTMPARR)
|
---|
97 | .K ^TMP($J,IBTMPARR)
|
---|
98 | E S SECOUT=""
|
---|
99 | K ^TMP($J,LIST)
|
---|
100 | Q SECOUT
|
---|
101 | RX3(PDFN,RXIEN) ;Returns third node of file 52
|
---|
102 | N THRDOUT,LIST,IBTMPARR,NODE
|
---|
103 | I '$G(PDFN) S THRDOUT="" Q THRDOUT
|
---|
104 | I '$G(RXIEN) S THRDOUT="" Q THRDOUT
|
---|
105 | S NODE=3
|
---|
106 | S LIST="IBARRTHRD"
|
---|
107 | S IBTMPARR="IBTMP3"
|
---|
108 | D RX^PSO52API(PDFN,LIST,RXIEN,,NODE,,)
|
---|
109 | I $P(^TMP($J,LIST,PDFN,0),"^",1)>0 D
|
---|
110 | .S $P(^TMP($J,IBTMPARR),"^",1)=$P($G(^TMP($J,LIST,PDFN,RXIEN,101)),"^",1)
|
---|
111 | .S $P(^TMP($J,IBTMPARR),"^",2)=$P($G(^TMP($J,LIST,PDFN,RXIEN,102)),"^",1)
|
---|
112 | .S $P(^TMP($J,IBTMPARR),"^",3)=$P($G(^TMP($J,LIST,PDFN,RXIEN,109)),"^",1)
|
---|
113 | .S $P(^TMP($J,IBTMPARR),"^",4)=$P($G(^TMP($J,LIST,PDFN,RXIEN,102.1)),"^",1)
|
---|
114 | .S $P(^TMP($J,IBTMPARR),"^",5)=$P($G(^TMP($J,LIST,PDFN,RXIEN,26.1)),"^",1)
|
---|
115 | .S $P(^TMP($J,IBTMPARR),"^",6)=$P($G(^TMP($J,LIST,PDFN,RXIEN,34.1)),"^",1)
|
---|
116 | .S $P(^TMP($J,IBTMPARR),"^",7)=$G(^TMP($J,LIST,PDFN,RXIEN,12))
|
---|
117 | .S $P(^TMP($J,IBTMPARR),"^",8)=$G(^TMP($J,LIST,PDFN,RXIEN,102.2))
|
---|
118 | .S $P(^TMP($J,IBTMPARR),"^",9)=$G(^TMP($J,LIST,PDFN,RXIEN,112))
|
---|
119 | .S THRDOUT=^TMP($J,IBTMPARR)
|
---|
120 | .K ^TMP($J,IBTMPARR)
|
---|
121 | E S THRDOUT=""
|
---|
122 | K ^TMP($J,LIST)
|
---|
123 | Q THRDOUT
|
---|
124 | ZEROSUB(PDFN,RXIEN,RXSUB) ;Returns zero node of subfile 52.1
|
---|
125 | N ZSUBOUT,LIST,IBTMPARR,NODE
|
---|
126 | I '$G(PDFN) S ZSUBOUT="" Q ZSUBOUT
|
---|
127 | I '$G(RXIEN) S ZSUBOUT="" Q ZSUBOUT
|
---|
128 | I '$G(RXSUB) S ZSUBOUT="" Q ZSUBOUT
|
---|
129 | S NODE="R^^"_RXSUB
|
---|
130 | S LIST="IBSUBARR"
|
---|
131 | S IBTMPARR="IBTMPSUB"
|
---|
132 | D RX^PSO52API(PDFN,LIST,RXIEN,,NODE,,)
|
---|
133 | I $P(^TMP($J,LIST,PDFN,RXIEN,"RF",0),"^",1)>0 D
|
---|
134 | .S $P(^TMP($J,IBTMPARR),"^",1)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,.01)),"^",1)
|
---|
135 | .S $P(^TMP($J,IBTMPARR),"^",2)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,2)),"^",1)
|
---|
136 | .S $P(^TMP($J,IBTMPARR),"^",3)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,3))
|
---|
137 | .S $P(^TMP($J,IBTMPARR),"^",4)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,1))
|
---|
138 | .S $P(^TMP($J,IBTMPARR),"^",5)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,4)),"^",1)
|
---|
139 | .S $P(^TMP($J,IBTMPARR),"^",6)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,5))
|
---|
140 | .S $P(^TMP($J,IBTMPARR),"^",7)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,6)),"^",1)
|
---|
141 | .S $P(^TMP($J,IBTMPARR),"^",8)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,7)),"^",1)
|
---|
142 | .S $P(^TMP($J,IBTMPARR),"^",9)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,8)),"^",1)
|
---|
143 | .S $P(^TMP($J,IBTMPARR),"^",10)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,1.1))
|
---|
144 | .S $P(^TMP($J,IBTMPARR),"^",11)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,1.2))
|
---|
145 | .S $P(^TMP($J,IBTMPARR),"^",12)=""
|
---|
146 | .S $P(^TMP($J,IBTMPARR),"^",13)=""
|
---|
147 | .S $P(^TMP($J,IBTMPARR),"^",14)=$G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,12))
|
---|
148 | .S $P(^TMP($J,IBTMPARR),"^",15)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,13)),"^",1)
|
---|
149 | .S $P(^TMP($J,IBTMPARR),"^",16)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,14)),"^",1)
|
---|
150 | .S $P(^TMP($J,IBTMPARR),"^",17)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,15)),"^",1)
|
---|
151 | .S $P(^TMP($J,IBTMPARR),"^",18)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,17)),"^",1)
|
---|
152 | .S $P(^TMP($J,IBTMPARR),"^",19)=$P($G(^TMP($J,LIST,PDFN,RXIEN,"RF",RXSUB,10.1)),"^",1)
|
---|
153 | .S ZSUBOUT=^TMP($J,IBTMPARR)
|
---|
154 | .K ^TMP($J,IBTMPARR)
|
---|
155 | E S ZSUBOUT=""
|
---|
156 | K ^TMP($J,LIST)
|
---|
157 | Q ZSUBOUT
|
---|
158 | RFNUM(RXIEN) ;
|
---|
159 | N PDFN,RXSUB,LIST,IBTMPARR,NODE
|
---|
160 | I '$G(RXIEN) S RXSUB="" Q RXSUB
|
---|
161 | S PDFN=$$FILE^IBRXUTL(RXIEN,2)
|
---|
162 | S LIST="IBRFNARR"
|
---|
163 | S IBTMPARR="IBTMPRFN"
|
---|
164 | S NODE="R"
|
---|
165 | D RX^PSO52API(PDFN,LIST,RXIEN,,NODE,,)
|
---|
166 | I $P(^TMP($J,LIST,PDFN,RXIEN,"RF",0),"^",1)>0 D
|
---|
167 | .S RXSUB=^TMP($J,LIST,PDFN,RXIEN,"RF",0)
|
---|
168 | E S RXSUB=""
|
---|
169 | K ^TMP($J,LIST)
|
---|
170 | Q RXSUB
|
---|
171 | IBND(DFN,RXIEN) ;Returns IB node
|
---|
172 | N IBNDOUT,LIST,NODE,IBTMPARR
|
---|
173 | I '$G(DFN) S IBNDOUT="" Q IBNDOUT
|
---|
174 | I '$G(RXIEN) S IBNDOUT="" Q IBNDOUT
|
---|
175 | S LIST="IBIBNDARR"
|
---|
176 | S NODE="I^O"
|
---|
177 | S IBTMPARR="IBTMPIBND"
|
---|
178 | D RX^PSO52API(DFN,LIST,RXIEN,,NODE,,)
|
---|
179 | I $P(^TMP($J,LIST,DFN,0),"^",1)>0 D
|
---|
180 | .S $P(^TMP($J,IBTMPARR),"^",1)=$P($G(^TMP($J,LIST,DFN,RXIEN,105)),"^",1)
|
---|
181 | .S $P(^TMP($J,IBTMPARR),"^",2)=$P($G(^TMP($J,LIST,DFN,RXIEN,106)),"^",1)
|
---|
182 | .S $P(^TMP($J,IBTMPARR),"^",3)=$G(^TMP($J,LIST,DFN,RXIEN,106.5))
|
---|
183 | .S $P(^TMP($J,IBTMPARR),"^",4)=$G(^TMP($J,LIST,DFN,RXIEN,106.6))
|
---|
184 | .S IBNDOUT=^TMP($J,IBTMPARR)
|
---|
185 | .S:IBNDOUT="^^^" IBNDOUT=""
|
---|
186 | .K ^TMP($J,IBTMPARR)
|
---|
187 | E S IBNDOUT=""
|
---|
188 | K ^TMP($J,LIST)
|
---|
189 | Q IBNDOUT
|
---|
190 | IBNDFL(DFN,RXIEN,RXRFL) ;
|
---|
191 | N IBNDFL,LIST,NODE,IBTMPARR
|
---|
192 | I '$G(DFN) S IBNDFL="" Q IBNDFL
|
---|
193 | I '$G(RXIEN) S IBNDFL="" Q IBNDFL
|
---|
194 | I '$G(RXRFL) S IBNDFL="" Q IBNDFL
|
---|
195 | S LIST="IBIBNDFLARR"
|
---|
196 | S NODE="I^R^"_RXRFL
|
---|
197 | S IBTMPARR="IBTMPIBNDFL"
|
---|
198 | D RX^PSO52API(DFN,LIST,RXIEN,,NODE,,)
|
---|
199 | I ^TMP($J,LIST,DFN,RXIEN,"IB",0)>0 D
|
---|
200 | .S $P(^TMP($J,IBTMPARR),"^",1)=$G(^TMP($J,LIST,DFN,RXIEN,"IB",RXRFL,9))
|
---|
201 | .S $P(^TMP($J,IBTMPARR),"^",2)=$G(^TMP($J,LIST,DFN,RXIEN,"IB",RXRFL,9.1))
|
---|
202 | .S IBNDFL=^TMP($J,IBTMPARR)
|
---|
203 | .K ^TMP($J,IBTMPARR)
|
---|
204 | E S IBNDFL=""
|
---|
205 | K ^TMP($J,LIST)
|
---|
206 | Q IBNDFL
|
---|
207 | RFLNUM(IBRXN,FLDT,IBFLG) ;
|
---|
208 | N NUMOUT,NUM,DFN,LIST,NODE
|
---|
209 | I '$G(IBRXN) S NUMOUT="" Q NUMOUT
|
---|
210 | I '$G(FLDT) S NUMOUT="" Q NUMOUT
|
---|
211 | K ^TMP($J),NUM
|
---|
212 | S NUM=0
|
---|
213 | S DFN=$$FILE^IBRXUTL(IBRXN,2)
|
---|
214 | S LIST="IBRTMP"
|
---|
215 | S NODE="R^^"
|
---|
216 | D RX^PSO52API(DFN,LIST,IBRXN,,NODE,,)
|
---|
217 | F S NUM=$O(^TMP($J,LIST,DFN,IBRXN,"RF",NUM)) Q:'NUM D
|
---|
218 | .I $P(^TMP($J,LIST,DFN,IBRXN,"RF",NUM,.01),"^",1)=FLDT S NUMOUT=NUM
|
---|
219 | K ^TMP($J,LIST)
|
---|
220 | S:'$G(NUMOUT) NUMOUT=""
|
---|
221 | Q NUMOUT
|
---|