[613] | 1 | RMPRPIYG ;HINCIO/ODJ - RC - PIP Receive Stock ;3/8/01
|
---|
| 2 | ;;3.0;PROSTHETICS;**61,132**;Feb 09, 1996;Build 13
|
---|
| 3 | Q
|
---|
| 4 | ;
|
---|
| 5 | ;***** RC - Replaces RC option in old PIP
|
---|
| 6 | ; RMPR INV RECEIVE
|
---|
| 7 | ; cf. REC^RMPR5NOR
|
---|
| 8 | ; Callable from VISTA menu, no vars required other than
|
---|
| 9 | ; global VISTA vars (DUZ, etc)
|
---|
| 10 | ;
|
---|
| 11 | RC N RMPRERR,RMPRSTN,RMPRLCN,RMPREXC,RMPR5,RMPR1,RMPR11,RMPROVAL
|
---|
| 12 | N RMPRVEND,RMPRQTY,RMPRTVAL,RMPR4,RMPRUCST,RMPRQ,RMPRIOP,RMPRNLAB
|
---|
| 13 | N RMPRBARC,RMPRITXT,RMPRBCP,RMPR41,RMPR41N,RMPRYN
|
---|
| 14 | ;
|
---|
| 15 | ;***** STN - prompt for Site/Station
|
---|
| 16 | STN S RMPROVAL=$G(RMPRSTN("IEN"))
|
---|
| 17 | W @IOF S RMPRERR=$$STN^RMPRPIY1(.RMPRSTN,.RMPREXC)
|
---|
| 18 | I RMPRERR G RCX
|
---|
| 19 | I RMPREXC'="" G RCX
|
---|
| 20 | I RMPROVAL'=RMPRSTN("IEN") K RMPR1,RMPR11
|
---|
| 21 | S RMPR("NAME")=RMPRSTN("SITE NAME")
|
---|
| 22 | ;
|
---|
| 23 | ;***** HCPCS - prompt for HCPCS
|
---|
| 24 | HCPCS W !!,"Receive an Item from Supply, Vendor or Veteran.",!
|
---|
| 25 | K RMPR6,RMPRTVAL,RMPRQTY,RMPRUCST,RMPRBCP,RMPRQ,RMPRIOP,RMPRNLAB
|
---|
| 26 | K RMPRBARC,RMPRITXT,RMPR41N,RMPR41,RMPRVEND,RMPR1,RMPR11,RMPRUNI
|
---|
| 27 | HCPCS2 D HCPCS^RMPRPIY7(RMPRSTN("IEN"),$G(RMPR1("HCPCS")),.RMPR1,.RMPR11,.RMPREXC)
|
---|
| 28 | I RMPREXC="T" G RCX
|
---|
| 29 | I RMPREXC="P"!(RMPREXC="^") D G RCX
|
---|
| 30 | . W !,"** No HCPCS selected." H 1
|
---|
| 31 | . Q
|
---|
| 32 | I $G(RMPR11("IEN"))'="" G HCPCS4
|
---|
| 33 | HCPCS3 D ITEM^RMPRPIYP(RMPRSTN("IEN"),RMPR1("HCPCS"),.RMPR11,.RMPREXC)
|
---|
| 34 | I RMPREXC="T" G RCX
|
---|
| 35 | I RMPREXC="P"!(RMPREXC="^") G HCPCS
|
---|
| 36 | S RMPR11("STATION")=RMPRSTN("IEN")
|
---|
| 37 | S RMPR11("STATION IEN")=RMPRSTN("IEN")
|
---|
| 38 | ;
|
---|
| 39 | ; display selected HCPCS and item and continue
|
---|
| 40 | HCPCS4 W !!,"HCPCS: "_$G(RMPR1("HCPCS"))_" "_$G(RMPR1("SHORT DESC"))
|
---|
| 41 | W !!,"IFCAP Item: ",$G(RMPR11("ITEM MASTER"))
|
---|
| 42 | W !!,"PIP Item desc.: ",$G(RMPR11("DESCRIPTION"))
|
---|
| 43 | ;
|
---|
| 44 | ; call module to display and select orders
|
---|
| 45 | PORD D PORD^RMPRPIYY(RMPRSTN("IEN"),RMPR1("HCPCS"),RMPR11("ITEM"),.RMPR41,.RMPREXC)
|
---|
| 46 | I RMPREXC="P" G HCPCS
|
---|
| 47 | I RMPREXC="T" G RCX
|
---|
| 48 | I RMPREXC="",+$G(RMPR41("IEN")) D
|
---|
| 49 | . S RMPRQTY=RMPR41("BALANCE QTY")
|
---|
| 50 | . K RMPRVEND
|
---|
| 51 | . S RMPRVEND("IEN")=RMPR41("VENDOR IEN")
|
---|
| 52 | . Q
|
---|
| 53 | ;
|
---|
| 54 | ;***** QTY - call prompt for Quantity
|
---|
| 55 | QTY K RMPR41N("ORDER QTY")
|
---|
| 56 | W ! D QTY^RMPRPIY5(.RMPRQTY,.RMPREXC)
|
---|
| 57 | I RMPREXC="T" G RCX
|
---|
| 58 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 59 | I RMPREXC="P" G HCPCS
|
---|
| 60 | S RMPRQTY=+$G(RMPRQTY)
|
---|
| 61 | I 'RMPRQTY D G HCPCS
|
---|
| 62 | . W !,"No quantity entered!"
|
---|
| 63 | . H 3
|
---|
| 64 | . Q
|
---|
| 65 | I +$G(RMPR41("IEN")),RMPRQTY>RMPR41("BALANCE QTY") G QTYA
|
---|
| 66 | G UCST
|
---|
| 67 | ;
|
---|
| 68 | ; If receive quantity is greater than o/s order balance ask if
|
---|
| 69 | ; changing the order qty
|
---|
| 70 | QTYA D YNQTY(.RMPRYN,.RMPREXC)
|
---|
| 71 | I RMPREXC="T" G RCX
|
---|
| 72 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 73 | I RMPREXC="P" G QTY
|
---|
| 74 | I RMPRYN="N" G QTY
|
---|
| 75 | S RMPR41N("ORDER QTY")=RMPR41("ORDER QTY")+(RMPRQTY-RMPR41("BALANCE QTY"))
|
---|
| 76 | ;
|
---|
| 77 | ;***** UCST - call prompt for Unit Cost
|
---|
| 78 | UCST D UCST^RMPRPIY5(.RMPRUCST,.RMPREXC)
|
---|
| 79 | I RMPREXC="P" G QTY
|
---|
| 80 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 81 | I RMPREXC="T" G RCX
|
---|
| 82 | S RMPRUCST=+$G(RMPRUCST)
|
---|
| 83 | ;
|
---|
| 84 | ;***** TVAL - Total Value - use if Unit Cost not used
|
---|
| 85 | TVAL I RMPRUCST D G VEND
|
---|
| 86 | . S RMPRTVAL=$J(RMPRQTY*RMPRUCST,0,2)
|
---|
| 87 | . W !,"TOTAL COST OF QUANTITY: "_RMPRTVAL
|
---|
| 88 | . Q
|
---|
| 89 | D TVAL^RMPRPIY5(.RMPRTVAL,.RMPREXC)
|
---|
| 90 | I RMPREXC="P" G UCST
|
---|
| 91 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 92 | I RMPREXC="T" G RCX
|
---|
| 93 | ;
|
---|
| 94 | ;***** VEND - prompt for Vendor
|
---|
| 95 | VEND K RMPR41N("VENDOR IEN")
|
---|
| 96 | D VEND^RMPRPIY5(.RMPRVEND,.RMPREXC)
|
---|
| 97 | I RMPREXC="T" G RCX
|
---|
| 98 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 99 | I RMPREXC="P" G UCST
|
---|
| 100 | I RMPRVEND("IEN")=$G(RMPR41("VENDOR IEN")) G UNIT
|
---|
| 101 | ;
|
---|
| 102 | ;***** VENDA - vendor not same as order vendor so asK if changing
|
---|
| 103 | D YNVND(.RMPRYN,.RMPREXC)
|
---|
| 104 | I RMPREXC="T" G RCX
|
---|
| 105 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 106 | I RMPREXC="P" G VEND
|
---|
| 107 | I RMPRYN="N" G UNIT
|
---|
| 108 | S RMPR41N("VENDOR IEN")=RMPRVEND("IEN")
|
---|
| 109 | ;
|
---|
| 110 | ;***** UNIT - call prompt for UNIT OF ISSUE
|
---|
| 111 | UNIT D UNIT^RMPRPIY5(.RMPRUNI,.RMPREXC)
|
---|
| 112 | I RMPREXC="P" G UCST
|
---|
| 113 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 114 | I RMPREXC="T" G RCX
|
---|
| 115 | S RMPRUNI("UNIT")=RMPRUNI("IEN")
|
---|
| 116 | ;
|
---|
| 117 | ;***** LOCN - prompt for location (if more than 1)
|
---|
| 118 | LOCN S RMPRLCN=$$LOC1^RMPRPIYB(RMPRSTN("IEN"))
|
---|
| 119 | I RMPRLCN D G TRANS
|
---|
| 120 | . K RMPR5
|
---|
| 121 | . S RMPR5("IEN")=RMPRLCN
|
---|
| 122 | . S RMPRERR=$$GET^RMPRPIX5(.RMPR5)
|
---|
| 123 | . W !,"Location: "_RMPR5("NAME")
|
---|
| 124 | . Q
|
---|
| 125 | D LOCNM^RMPRPIY7(RMPRSTN("IEN"),.RMPR5,.RMPREXC)
|
---|
| 126 | I RMPREXC="T" G RCX
|
---|
| 127 | I RMPREXC="^" D MESS G HCPCS
|
---|
| 128 | I RMPREXC="P" G UCST
|
---|
| 129 | ;
|
---|
| 130 | ;***** TRANS - Now create receipt transaction
|
---|
| 131 | TRANS S RMPR11("STATION")=RMPRSTN("IEN")
|
---|
| 132 | S RMPR11("STATION IEN")=RMPRSTN("IEN")
|
---|
| 133 | I '$D(^RMPR(661.4,"ASLHI",RMPRSTN("IEN"),RMPR5("IEN"),RMPR11("HCPCS"),RMPR11("ITEM"))) D
|
---|
| 134 | . S RMPR4("RE-ORDER QTY")=0
|
---|
| 135 | . S RMPRERR=$$CRE^RMPRPIX4(.RMPR4,.RMPR11,.RMPR5)
|
---|
| 136 | . Q
|
---|
| 137 | S RMPR11("STATION")=RMPRSTN("IEN")
|
---|
| 138 | S RMPR11("STATION IEN")=RMPRSTN("IEN")
|
---|
| 139 | S RMPR6("QUANTITY")=RMPRQTY
|
---|
| 140 | S RMPR6("VALUE")=RMPRTVAL
|
---|
| 141 | S RMPR6("VENDOR")=RMPRVEND("IEN")
|
---|
| 142 | S RMPR6("UNIT")=RMPRUNI("UNIT")
|
---|
| 143 | I $D(RMPR41N("ORDER QTY")) S RMPR41("ORDER QTY")=RMPR41N("ORDER QTY")
|
---|
| 144 | I $D(RMPR41N("VENDOR IEN")) S RMPR41("VENDOR IEN")=RMPR41N("VENDOR IEN")
|
---|
| 145 | S RMPRERR=$$REC^RMPRPIU8(.RMPR6,.RMPR11,.RMPR5,1,.RMPR41) ;receipt API
|
---|
| 146 | I RMPRERR D G RCX
|
---|
| 147 | . W !!,"** Item could not be received, please contact support."
|
---|
| 148 | . H 3
|
---|
| 149 | . Q
|
---|
| 150 | E D
|
---|
| 151 | . W !!,"** Item has been received and inventory updated."
|
---|
| 152 | . W !," If you are using barcoding you should now print labels"
|
---|
| 153 | . W !," for the items received.",!
|
---|
| 154 | . Q
|
---|
| 155 | ;
|
---|
| 156 | ;***** NLAB - call prompt for number of labels to print
|
---|
| 157 | NLAB S RMPRNLAB=RMPR6("QUANTITY")
|
---|
| 158 | W ! D NLABP^RMPRPIYS(.RMPRNLAB,RMPR6("QUANTITY"),.RMPREXC)
|
---|
| 159 | I RMPREXC="T" G RCX
|
---|
| 160 | I RMPREXC="P" G RCNX
|
---|
| 161 | I RMPREXC="^" G RCNX
|
---|
| 162 | I RMPRNLAB=0 G RCNX
|
---|
| 163 | ;
|
---|
| 164 | ;***** SELP - call prompt for barcode print device
|
---|
| 165 | SELP ;W ! D SELP^RMPRPI11(.RMPRBCP,.RMPREXC,.RMPRQ,.RMPRIOP)
|
---|
| 166 | ;I RMPREXC'="" G NLAB
|
---|
| 167 | S RMPRBARC=RMPR11("HCPCS")_"-"_$P(RMPR6("DATE&TIME"),".",1)_$P(RMPR6("DATE&TIME"),".",2)
|
---|
| 168 | S RMPRITXT("DATE")=$E(RMPR6("DATE&TIME"),4,5)_"/"_$E(RMPR6("DATE&TIME"),6,7)_"/"_(1700+$E(RMPR6("DATE&TIME"),1,3))
|
---|
| 169 | S RMPRITXT("ITEM")=RMPR11("HCPCS-ITEM")
|
---|
| 170 | S RMPRITXT("ITEM DESC")=RMPR11("DESCRIPTION")
|
---|
| 171 | S RMPRITXT("MASTER DESC")=RMPR11("ITEM MASTER")
|
---|
| 172 | S RMPRITXT("UNIT PRICE")=RMPRUCST
|
---|
| 173 | S RMPRITXT("VENDOR")=RMPRVEND("NAME")
|
---|
| 174 | S RMPRITXT("LOCATION")=RMPR5("NAME")
|
---|
| 175 | D PRINT^RMPRPIYS
|
---|
| 176 | RCNX K RMPR6,RMPRTVAL,RMPRQTY,RMPRUCST,RMPRBCP,RMPRQ,RMPRIOP,RMPRNLAB
|
---|
| 177 | K RMPRBARC,RMPRITXT,RMPR41N,RMPR41,RMPRVEND
|
---|
| 178 | G HCPCS
|
---|
| 179 | RCX D KILL^XUSCLEAN
|
---|
| 180 | Q
|
---|
| 181 | ;
|
---|
| 182 | MESS W !!,"*** NOTHING RECEIVE !!!",!
|
---|
| 183 | Q
|
---|
| 184 | ;
|
---|
| 185 | ; Y/N Prompt to confirm change of order qty
|
---|
| 186 | YNQTY(RMPRYN,RMPREXC) ;
|
---|
| 187 | N DIR,X,Y,DA,DUOUT,DTOUT,DIROUT,DIRUT
|
---|
| 188 | S RMPRYN="N"
|
---|
| 189 | S RMPREXC=""
|
---|
| 190 | S DIR(0)="Y"
|
---|
| 191 | S DIR("A",1)="The entered quantity is greater than the outstanding balance ("_RMPR41("BALANCE QTY")_")"
|
---|
| 192 | S DIR("A",2)="still on order."
|
---|
| 193 | S DIR("A")="Do you want to increase the original order quantity"
|
---|
| 194 | D ^DIR
|
---|
| 195 | I $D(DTOUT) S RMPREXC="T" G YNQTYX
|
---|
| 196 | I $D(DIROUT) S RMPREXC="P" G YNQTYX
|
---|
| 197 | I X=""!(X["^")!($D(DUOUT)) S RMPREXC="^" G YNQTYX
|
---|
| 198 | S:Y RMPRYN="Y"
|
---|
| 199 | YNQTYX Q
|
---|
| 200 | ;
|
---|
| 201 | ; Y/N Prompt to confirm change of order Vendor
|
---|
| 202 | YNVND(RMPRYN,RMPREXC) ;
|
---|
| 203 | N DIR,X,Y,DA,DUOUT,DTOUT,DIROUT,DIRUT
|
---|
| 204 | S RMPRYN="N"
|
---|
| 205 | S RMPREXC=""
|
---|
| 206 | S DIR(0)="Y"
|
---|
| 207 | S DIR("A",1)="The entered Vendor is not the same as on the original order"
|
---|
| 208 | S DIR("A")="Do you want to change the Vendor on the order"
|
---|
| 209 | D ^DIR
|
---|
| 210 | I $D(DTOUT) S RMPREXC="T" G YNVNDX
|
---|
| 211 | I $D(DIROUT) S RMPREXC="P" G YNVNDX
|
---|
| 212 | I X=""!(X["^")!($D(DUOUT)) S RMPREXC="^" G YNVNDX
|
---|
| 213 | S:Y RMPRYN="Y"
|
---|
| 214 | YNVNDX Q
|
---|