1 | RMPRPIYI ;HINCIO/RVD-ISSUE FROM STOCK ;6/16/04 08:18
|
---|
2 | ;;3.0;PROSTHETICS;**61,128**;Feb 09, 1996
|
---|
3 | ; RVD #61 - phase IIIa of PIP
|
---|
4 | ;
|
---|
5 | S RMPR699("AMIS GROUPER")=""
|
---|
6 | S (RMPRG,RMPRF)="" D HOME^%ZIS W @IOF
|
---|
7 | I '$D(RMPR) D DIV4^RMPRSIT G:$D(X) EXIT^RMPRPIYJ
|
---|
8 | I $D(RMPRDFN),$D(^TMP($J,"RMPRPCE")) D LINK^RMPRS
|
---|
9 | I $D(RMPRDFN),'$D(^TMP($J,"RMPRPCE")) G EXIT^RMPRPIYJ
|
---|
10 | K ^TMP($J,"RMPRPCE")
|
---|
11 | D GETPAT^RMPRUTIL G:'$D(RMPRDFN) EXIT^RMPRPIYJ
|
---|
12 | VIEW ;
|
---|
13 | N RMPRBAC1,RMDES,RMITQTY
|
---|
14 | S (RSTCK,RMPRBAC1)=1 D ^RMPRPAT K RMPRBAC1
|
---|
15 | I $D(RMPRKILL)!($D(DTOUT)) W $C(7),!,"Deleted..." G EXIT^RMPRPIYJ
|
---|
16 | S CK="W:$D(DUOUT) @IOF,!!!?28,$C(7),""Deleted..."" G EXIT^RMPRPIYJ"
|
---|
17 | S CK2="W @IOF,!!!?28,$C(7),""Deleted..."" H 2"
|
---|
18 | S CK1="W $C(7),!,""Timed-Out, Deleted..."" G EXIT^RMPRPIYJ"
|
---|
19 | S R3("D")=""
|
---|
20 | ;
|
---|
21 | RES ;ENTRY POINT TO ADD ADDITIONAL ITEMS FOR ISSUE FROM STOCK
|
---|
22 | Q:$G(RMPRDFN)<1
|
---|
23 | K DA,DD,DIC,PRC,X,Y,RMSO,RMQTY,RMDAHC,RMLACO,RMITDA,RMHCOLD,RMPRVEN
|
---|
24 | K RMPR11IS,RMPR5SA,RMPR6SA
|
---|
25 | S (R1(1),R1(0),R3("D"),R4("D"),R1("AM"),RMPRI("AMS"),R1("D"),RMLOC)=""
|
---|
26 | S RMLODES=""
|
---|
27 | S (RMLOCOLD,R1,RMIT,RMHCNEW,RMHCOLD,RMITDESC,RMITIEN,R1(2))="",REDIT=0
|
---|
28 | S R1(0)=DT_U_RMPRDFN_U_DT,$P(R1(0),U,10)=RMPR("STA"),$P(R1(0),U,27)=DUZ
|
---|
29 | ;
|
---|
30 | 1 ;ENTRY POINT TO EDIT ITEM ON ISSUE FROM STOCK
|
---|
31 | S (RMHCNEW,RMHCOLD)=$P(R1(1),U,4),RMLOCOLD=RMLOC,RMITOLD=RMIT
|
---|
32 | K RQUIT S RMHCFLG=0
|
---|
33 | W @IOF,!?30,RMPRNAM,!
|
---|
34 | W:$G(REDIT) !!,"Editing a Stock Item!!!"
|
---|
35 | W:'$G(REDIT) !!,"Entering a Stock Item!!!"
|
---|
36 | ;
|
---|
37 | TRAN ;TYPE OF TRANSACTION
|
---|
38 | W !
|
---|
39 | ;S DIR(0)="660,2"
|
---|
40 | K DIR
|
---|
41 | S:$P(R1(0),U,4)?.E&($P(R3("D"),U,4)'="") DIR("B")=$P(R3("D"),U,4)
|
---|
42 | S DIR(0)="SO^I:INITIAL ISSUE;X:REPAIR;R:REPLACE;S:SPARE"
|
---|
43 | S DIR("A")="TYPE OF TRANSACTION"
|
---|
44 | D ^DIR
|
---|
45 | I (Y=""),($P(R3("D"),U,4)="") G ^RMPRPIYI
|
---|
46 | I $P(R3("D"),U,4)'=""&($D(DUOUT)) G LIST^RMPRPIYJ
|
---|
47 | I $D(DTOUT) X CK1 Q
|
---|
48 | I $D(DUOUT) G ^RMPRPIYI
|
---|
49 | S $P(R1(0),U,4)=Y K DIR
|
---|
50 | S $P(R3("D"),U,4)=$S(Y="I":"INITIAL ISSUE",Y="X":"REPAIR",Y="R":"REPLACE",Y="S":"SPARE",1:"")
|
---|
51 | ;
|
---|
52 | PCAT ;
|
---|
53 | S DIR(0)="660,62" S:$P(R1("AM"),U,3)?1N.N DIR("B")=$P(R4("D"),U,3)
|
---|
54 | D ^DIR I $P(R1("AM"),U,3)'=""&($D(DUOUT)) G LIST^RMPRPIYJ
|
---|
55 | I $D(DTOUT) X CK1 Q
|
---|
56 | I $D(DUOUT) X CK2 G ^RMPRPIYI
|
---|
57 | S $P(R1("AM"),U,3)=Y,$P(R4("D"),U,3)=$S(Y=1:"SC/OP",Y=2:"SC/IP",Y=3:"NSC/IP",Y=4:"NSC/OP",1:"") K DIR
|
---|
58 | I Y<4 S $P(R1("AM"),U,4)="",$P(R4("D"),U,4)="" G 2
|
---|
59 | ;
|
---|
60 | SPE I Y=4 S DIR(0)="660,63" S:$P(R1("AM"),U,4)?1N.N DIR("B")=$P(R4("D"),U,4) D ^DIR I $D(DTOUT) X CK1 Q
|
---|
61 | I $G(REDIT)&($D(DUOUT)) G LIST^RMPRPIYJ
|
---|
62 | I $D(DUOUT) X CK2 G ^RMPRPIYI
|
---|
63 | I $P(R1("AM"),U,3)=4 S $P(R1("AM"),U,4)=Y,$P(R4("D"),U,4)=$S(Y=1:"SPECIAL LEGISLATION",Y=2:"A&A",Y=3:"PHC",Y=4:"ELIGIBILITY REFORM",1:"")
|
---|
64 | ;
|
---|
65 | ; prompt for and scan barcode label
|
---|
66 | ; if scan is successful then all vars will be set and go to Edit prompt
|
---|
67 | 2 I $G(REDIT),$D(RMPR11I) M RMPR11IS=RMPR11I,RMPR5SA=RMPR5,RMPR6SA=RMPR6
|
---|
68 | W ! D SCAN^RMPRPIYS
|
---|
69 | I $P(R3("D"),U,6)&((RMPREXC="^")!(RMPREXC="P")) G LIST^RMPRPIYJ
|
---|
70 | I (RMPREXC="^"),$G(REDIT) G LIST^RMPRPIYJ
|
---|
71 | I RMPREXC="^" X CK2 G ^RMPRPIYI
|
---|
72 | I RMPREXC="P" G PCAT
|
---|
73 | I RMPREXC="T" X CK1 Q
|
---|
74 | I RMPRBARC="",$G(REDIT) M RMPR11I=RMPR11IS,RMPR5=RMPR5SA,RMPR6=RMPR6SA G ^RMPRPIYJ
|
---|
75 | I RMPRBARC="" G 2
|
---|
76 | D HCPCS3^RMPRPIY1
|
---|
77 | G ^RMPRPIYJ
|
---|
78 | HCPCS ;HCPCS code
|
---|
79 | S (RMITFLG,RMHCFLG,RMHCDA,RMITDA,RMAV,RMAVA,RMCO,RMBAL)=0
|
---|
80 | S RMPRHCPC="" I $D(RMHCPC) S RMPRHCPC=RMHCPC
|
---|
81 | D HCPCS^RMPRPIY1(RMPR("STA"),RMPRHCPC,.RMPR1,.RMPR11,.RMPREXC)
|
---|
82 | I RMPREXC="T" X CK1 Q
|
---|
83 | I RMPREXC="P" G 2
|
---|
84 | I $G(REDIT),(RMPREXC="^") G LIST^RMPRPIYJ
|
---|
85 | I RMPREXC="^" X CK2 G ^RMPRPIYI
|
---|
86 | W !
|
---|
87 | S RMITNO=RMPR11("ITEM")
|
---|
88 | S RMHCPC=RMPR1("HCPCS")
|
---|
89 | S (RMHCNEW,RMDAHC,RMHCDA)=RMPR1("IEN")
|
---|
90 | S RDESC=RMPR1("SHORT DESC")
|
---|
91 | K RMPR11I
|
---|
92 | S RMPRERR=$$ETOI^RMPRPIX1(.RMPR11,.RMPR11I)
|
---|
93 | I RMPR11I("ITEM MASTER IEN")="" D G 2
|
---|
94 | . W !,"This item is not associated with an IFCAP Item.",!
|
---|
95 | . W "Please use the Edit Inventory option before trying to issue this item."
|
---|
96 | . W !
|
---|
97 | . Q
|
---|
98 | I '$D(^RMPR(661.7,"XSHIDS",RMPR("STA"),RMHCPC,RMITNO)) D G 2
|
---|
99 | . W !,"This HCPCS-ITEM is not associated with any Location."
|
---|
100 | . W !,"Please update your inventory!!.",!
|
---|
101 | . W !
|
---|
102 | . Q
|
---|
103 | S $P(R1(0),U,6)=RMPR11I("ITEM MASTER IEN")
|
---|
104 | S $P(R1(0),U,8)=$G(RMPR11("UNIT"))
|
---|
105 | S $P(R3("D"),U,6)=RMPR11("ITEM MASTER")
|
---|
106 | ;check for location if multiple then ask for LOCATION
|
---|
107 | S RMLCNT=0
|
---|
108 | F I=0:0 S I=$O(^RMPR(661.7,"XSLHIDS",RMPR("STA"),I)) Q:I'>0 I $D(^(I,RMHCPC)) S RMLCNT=RMLCNT+1,(RMPR5("IEN"),RMLOC)=I
|
---|
109 | I RMLCNT<2 G ITEM
|
---|
110 | ;
|
---|
111 | ASKLOC ;ask for location
|
---|
112 | K DIC,Y,X,RQUIT,RMPR5
|
---|
113 | S DZ="??",D="B"
|
---|
114 | S DIC("S")="I ($P(^RMPR(661.5,+Y,0),U,2)=RMPR(""STA"")),($P(^(0),U,4)=""A""),($D(^RMPR(661.7,""XSLHIDS"",RMPR(""STA""),+Y,RMHCPC,RMITNO)))"
|
---|
115 | S:RMLOCOLD'="" DIC("B")=RMLOCOLD
|
---|
116 | S DIC="^RMPR(661.5,",DIC(0)="AEQMN"
|
---|
117 | S DIC("A")="Enter Pros Location: " D MIX^DIC1
|
---|
118 | I $G(REDIT)&$D(DUOUT) G LIST^RMPRPIYJ
|
---|
119 | I $D(DUOUT) G 2^RMPRPIYI
|
---|
120 | I $D(DTOUT) X CK1 Q
|
---|
121 | I X="" W !,"This is a mandatory field!!!",! G ASKLOC
|
---|
122 | S RMLOC=+Y
|
---|
123 | S RMPR5("IEN")=RMLOC
|
---|
124 | G:'$D(^RMPR(661.5,RMLOC,0)) ASKLOC
|
---|
125 | ;
|
---|
126 | ITEM ;PSAS Item details.
|
---|
127 | K RMPR11I
|
---|
128 | S RMCHCK=$$ETOI^RMPRPIX1(.RMPR11,.RMPR11I)
|
---|
129 | I RMCHCK W !,"*** ERROR IN API RMPRPIX1 !!!!",! X CK1 Q
|
---|
130 | S RMIT=RMPR11("HCPCS-ITEM")
|
---|
131 | S $P(R1(2),U,1)=RMIT S $P(R1(2),U,2)=RMPR11("DESCRIPTION")
|
---|
132 | I RMDAHC=RMHCOLD S DIR("B")=$G(RMIT)
|
---|
133 | ;
|
---|
134 | ;call stock record in 661.7
|
---|
135 | S RMR("STATION IEN")=RMPR("STA")
|
---|
136 | S RMR("LOCATION IEN")=RMLOC
|
---|
137 | S RMR("HCPCS")=RMHCPC
|
---|
138 | S RMR("ITEM")=RMPR11("ITEM")
|
---|
139 | S RMR("VENDOR IEN")=$P(R1(0),U,9)
|
---|
140 | S RMCHCK=$$STOCK^RMPRPIUE(.RMR)
|
---|
141 | I RMCHCK W !,"*** ERROR IN API RMPRPIUE !!!!",! X CK1 Q
|
---|
142 | S (RMITDES,RMDES)=RMIT K DIC("B"),DIC("S")
|
---|
143 | S RMUBA=RMR("QOH")
|
---|
144 | I RMUBA<1 D LOWBA G 2
|
---|
145 | ;
|
---|
146 | I $D(RMLOC),$D(RMHCDA) S RMSO=RMPR11I("SOURCE")
|
---|
147 | I $D(RMSO),RMSO="" D MESSO G 2
|
---|
148 | S:$D(RMSO) $P(R1(0),U,14)=RMSO
|
---|
149 | S $P(R3("D"),U,14)=$S(RMSO="C":"COMMERCIAL",RMSO="V":"VA",1:"")
|
---|
150 | I $P(R1(1),U,4)'="",$D(DUOUT) G LIST^RMPRPIYJ
|
---|
151 | ;I $G(RMLOC),'($G(RMHCDA)&$G(RMITDA)) W !,"PSAS Item was not selected!!" G 2
|
---|
152 | I $G(RMLOC),$G(RMHCDA) S RMPRUCST=RMR("UNIT COST")
|
---|
153 | I '$G(RMPRUCST) D MESSI G 2
|
---|
154 | S:$G(REDIT) $P(R1(0),U,16)=RMPRUCST*$P(R1(0),U,7),$P(R3("D"),U,16)=RMPRUCST*$P(R1(0),U,7)
|
---|
155 | K DIC
|
---|
156 | ;
|
---|
157 | CPT ;ask for CPT Modifier
|
---|
158 | D CPT^RMPRPIYS(RMDAHC_"^"_$P(R1(0),U,4)_"^"_$P(R1(0),U,14)_"^"_660)
|
---|
159 | I RMPREXC="T" X CK1 Q
|
---|
160 | I RMPREXC="^" G 2
|
---|
161 | I RMPREXC="P" G 2
|
---|
162 | ;
|
---|
163 | VEN ;vendor
|
---|
164 | ;call routine RMPRPIYV for vendor from file 661.6.
|
---|
165 | S $P(R1(1),U,4)=RMDAHC,$P(R1(0),U,22)=$P(^RMPR(661.1,RMDAHC,0),U,4)
|
---|
166 | ;If there is only one vendor use it as a default.
|
---|
167 | K RMPRVEN
|
---|
168 | S RMERR=$$STOCK^RMPRPIUV(.RMR,.RMPRVEN)
|
---|
169 | I RMERR W !,"*** ERROR IN API RMPRPIUV !!!!",! X CK1 Q
|
---|
170 | I RMPRVEN=1 S DIC("B")=$O(RMPRVEN(0))
|
---|
171 | I $G(REDIT) S DIC("B")=$P(R1(0),U,9)
|
---|
172 | S DIC(0)="AEQM"
|
---|
173 | S DIC("A")="VENDOR: ",DIC=440,DIC("S")="I $D(RMPRVEN(+Y))"
|
---|
174 | D ^DIC I $P(R3("D"),U,9)'=""&$D(DUOUT) G LIST^RMPRPIYJ
|
---|
175 | I $D(DTOUT) X CK1 Q
|
---|
176 | I $D(DUOUT) G 2
|
---|
177 | I +Y'>0 W !!,?5,$C(7),"This is a required response. Enter '^' to exit",! G VEN
|
---|
178 | S $P(R1(0),U,9)=+Y,$P(R3("D"),U,9)=$P(Y,U,2) K DIC,Y,X
|
---|
179 | G ^RMPRPIYJ
|
---|
180 | ;
|
---|
181 | ;
|
---|
182 | MESSI ;print message if COST is not defined in the inventory (661.5)
|
---|
183 | S:'$D(RMIT) RMIT=""
|
---|
184 | W !!,"***ITEM COST is not define @:"
|
---|
185 | W !," PSAS Item = ",RMIT
|
---|
186 | W !," Location = ",$P($G(^RMPR(661.5,RMLOC,0)),U,1)
|
---|
187 | W !,"***Fix your inventory or use a different PSAS ITEM!!",!!
|
---|
188 | Q
|
---|
189 | ;
|
---|
190 | MESSO ;print message if SOURCE is not defined in the inventory (661.11)
|
---|
191 | W !!,"***PSAS ITEM has no SOURCE at this location..."
|
---|
192 | W !,"***Fix your inventory or use a different PSAS ITEM!!",!!
|
---|
193 | Q
|
---|
194 | ;
|
---|
195 | INACT ;print message if HCPCS is inactive.
|
---|
196 | W !!,"*** You have selected an INACTIVE HCPCS..."
|
---|
197 | W !,"*** Please REMOVE this HCPCS from inventory..."
|
---|
198 | W !,"*** And use a different HCPCS!!!",!
|
---|
199 | Q
|
---|
200 | ;
|
---|
201 | LOWBA ;print message if inventory balance is low.
|
---|
202 | S:'$D(RMUBA) RMUBA="" S:'$D(RMIT) RMIT=""
|
---|
203 | W !!,"*** PSAS Item ",RMIT," balance is = ",RMUBA
|
---|
204 | W !,"*** You are unable to use this PSAS ITEM..."
|
---|
205 | W !,"*** Please use a different HCPCS or PSAS Item !!!!",!
|
---|
206 | Q
|
---|
207 | ;
|
---|
208 | LKP ;print a message if PSAS HCPCS not in PIP or invalid HCPCS.
|
---|
209 | Q:'$G(RMF)!(X=" ")
|
---|
210 | S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
211 | K RX
|
---|
212 | I $D(RSTCK),$D(^RMPR(661.7,"XSHIDS",RMPR("STA"),X)) S RX=1
|
---|
213 | I '$D(RSTCK),$D(^RMPR(661.11,"ASHD",RMPR("STA"),X)) S RX=1
|
---|
214 | I '$G(RX),$D(^RMPR(661.1,"B",X)) D EN^DDIOL("*** Only PSAS HCPCS in PIP can be accessed. Please verify your Location and PSAS HCPCS!!","","!!")
|
---|
215 | K RX
|
---|
216 | Q
|
---|