| 1 | RMPRPIY9 ;HINCIO/ODJ - AE - Add/Edit Locations and Items ;3/8/01
 | 
|---|
| 2 |  ;;3.0;PROSTHETICS;**61,108**;Feb 09, 1996
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;***** AE - Add Inventory LOCATIONS and ITEMS
 | 
|---|
| 6 |  ;           option RMPR INV ADD
 | 
|---|
| 7 |  ;           Replaces AE option in old PIP (cf ^RMPR5NAE)
 | 
|---|
| 8 |  ;           no inputs required
 | 
|---|
| 9 |  ;           other than standard VISTA vars. (DUZ, etc)
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | AE N RMPRERR,RMPRSTN,RMPREXC,RMPR5,RMPR1,RMPR11,RMPRVEND,RMPRTVAL,RMPRDUP
 | 
|---|
| 12 |  N RMPRQTY,RMPRREO,RMPR61,RMPRUCST,RMPROVAL,RMPRI,RMPRUPDF
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  ;***** STN - call prompt for Site/Station
 | 
|---|
| 15 | STN S RMPROVAL=$G(RMPRSTN("IEN"))
 | 
|---|
| 16 |  W @IOF S RMPRERR=$$STN^RMPRPIY1(.RMPRSTN,.RMPREXC)
 | 
|---|
| 17 |  I RMPRERR G AEX
 | 
|---|
| 18 |  I RMPREXC'="" G AEX
 | 
|---|
| 19 |  I RMPROVAL'=RMPRSTN("IEN") K RMPR5
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  ;***** LOCN - call prompt for Location
 | 
|---|
| 22 | LOCN W !!,"Adding Item to a Location.",!
 | 
|---|
| 23 |  S RMPROVAL=$G(RMPR5("IEN"))
 | 
|---|
| 24 |  S RMPRERR=$$LOCNM^RMPRPIY2(RMPRSTN("IEN"),.RMPR5,.RMPREXC)
 | 
|---|
| 25 |  I RMPREXC="T"!(RMPREXC="^") G AEX
 | 
|---|
| 26 |  I RMPREXC="P" G STN
 | 
|---|
| 27 |  I RMPROVAL'=RMPR5("IEN") K RMPR1
 | 
|---|
| 28 |  I $P($G(^RMPR(661.5,RMPR5("IEN"),0)),U,4)="I" W !!,"LOCATION IS INACTIVE AND CANNOT BE EDITED, OR ASSOCIATED ITEMS!!" K RMPR5 G LOCN
 | 
|---|
| 29 | LOCN2 S RMPR5("STATION")=RMPRSTN("IEN")
 | 
|---|
| 30 |  S RMPR5("STATION IEN")=RMPRSTN("IEN")
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  ;***** HCPCS - call prompt for HCPCS code
 | 
|---|
| 33 | HCPCS S RMPROVAL=$G(RMPR1("HCPCS"))
 | 
|---|
| 34 |  S RMPR1("HCPCS")=""
 | 
|---|
| 35 |  W ! S RMPRERR=$$HCPCS^RMPRPIY3(.RMPR5,.RMPR1,.RMPREXC)
 | 
|---|
| 36 |  I RMPREXC="T"!(RMPREXC="^") G AEX
 | 
|---|
| 37 |  I RMPREXC="P" G LOCN
 | 
|---|
| 38 |  I RMPROVAL'=RMPR1("HCPCS") D
 | 
|---|
| 39 |  . K RMPR11,RMPR61
 | 
|---|
| 40 |  . S RMPR11("HCPCS")=RMPR1("HCPCS")
 | 
|---|
| 41 |  . Q
 | 
|---|
| 42 |  S RMPR11("STATION")=RMPRSTN("IEN")
 | 
|---|
| 43 |  S RMPR11("STATION IEN")=RMPRSTN("IEN")
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ;***** MASIT - call prompt for master item (in 661->441)
 | 
|---|
| 46 | MASIT S RMPROVAL=$G(RMPR61("IEN"))
 | 
|---|
| 47 |  D MASIT^RMPRPIY1(.RMPR61,.RMPREXC)
 | 
|---|
| 48 |  I RMPREXC="T" G AEX
 | 
|---|
| 49 |  I RMPREXC="P" G HCPCS
 | 
|---|
| 50 |  I RMPREXC="^" G AEX
 | 
|---|
| 51 |  I RMPROVAL'=RMPR61("IEN") D
 | 
|---|
| 52 |  . S RMPRERR=$$GET^RMPRPIXD(.RMPR61)
 | 
|---|
| 53 |  . K RMPRSRC,RMPRREO,RMPR4
 | 
|---|
| 54 |  . S RMPR11("ITEM MASTER IEN")=RMPR61("IEN")
 | 
|---|
| 55 |  . S RMPR11("DESCRIPTION")=RMPR61("ITEM MASTER")
 | 
|---|
| 56 |  . S RMPR11("ITEM MASTER")=RMPR61("ITEM MASTER")
 | 
|---|
| 57 |  . Q
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 |  ;***** IDESC - call prompt for Item Description edit
 | 
|---|
| 60 | IDESC S RMPROVAL=$G(RMPR11("DESCRIPTION"))
 | 
|---|
| 61 |  D ITED^RMPRPIY4(.RMPR11,.RMPREXC)
 | 
|---|
| 62 |  I RMPREXC="T" G AEX
 | 
|---|
| 63 |  I RMPREXC="P" G MASIT
 | 
|---|
| 64 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 65 |  I $G(RMPR11("DESCRIPTION"))="" D
 | 
|---|
| 66 |  . S RMPR11("DESCRIPTION")=RMPR61("ITEM MASTER")
 | 
|---|
| 67 |  . S RMPR11("ITEM MASTER")=RMPR61("ITEM MASTER")
 | 
|---|
| 68 |  . Q
 | 
|---|
| 69 |  I RMPROVAL'=RMPR11("DESCRIPTION") D
 | 
|---|
| 70 |  . K RMPRSRC,RMPRREO
 | 
|---|
| 71 |  . Q
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 |  ;***** SRC - call prompt for Source (Commercial or VA)
 | 
|---|
| 74 | SRC S RMPROVAL=$G(RMPRSRC)
 | 
|---|
| 75 |  D SRC^RMPRPIY5(.RMPRSRC,.RMPREXC)
 | 
|---|
| 76 |  I RMPREXC="P" G IDESC
 | 
|---|
| 77 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 78 |  I RMPREXC="T" G AEX
 | 
|---|
| 79 |  I RMPROVAL'=RMPRSRC K RMPRREO
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 |  ; Update the inventory file (661.11)
 | 
|---|
| 82 |  S RMPR11("SOURCE")=RMPRSRC
 | 
|---|
| 83 |  S RMPR11("UNIT")=""
 | 
|---|
| 84 |  S RMPRERR=0
 | 
|---|
| 85 |  S RMPRUPDF=1 ;update flag
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 |  ; Only create new record if one doesn't already exist
 | 
|---|
| 88 |  I $D(^RMPR(661.11,"ASHMDI",RMPRSTN("IEN"),RMPR11("HCPCS"),RMPR61("IEN"),RMPR11("DESCRIPTION"))) D
 | 
|---|
| 89 |  . S RMPRI=""
 | 
|---|
| 90 |  . F  S RMPRI=$O(^RMPR(661.11,"ASHMDI",RMPRSTN("IEN"),RMPR11("HCPCS"),RMPR61("IEN"),RMPR11("DESCRIPTION"),RMPRI)) Q:RMPRI=""  D  Q:'RMPRUPDF
 | 
|---|
| 91 |  .. S RMPR11("ITEM")=RMPRI
 | 
|---|
| 92 |  .. S RMPR11("IEN")=""
 | 
|---|
| 93 |  .. S RMPRERR=$$DUP^RMPRPIX1(.RMPR11,.RMPRDUP)
 | 
|---|
| 94 |  .. I RMPRERR S RMPRUPDF=0 Q
 | 
|---|
| 95 |  .. I 'RMPRDUP S RMPRUPDF=0 Q
 | 
|---|
| 96 |  .. Q
 | 
|---|
| 97 |  . Q
 | 
|---|
| 98 |  I RMPRUPDF D
 | 
|---|
| 99 |  . S RMPR11("ITEM")=""
 | 
|---|
| 100 |  . K RMPR11("IEN")
 | 
|---|
| 101 |  . S RMPRERR=$$CRE^RMPRPIX1(.RMPR11)
 | 
|---|
| 102 |  . S RMPR4("RE-ORDER QTY")=0
 | 
|---|
| 103 |  . S RMPRERR=$$CRE^RMPRPIX4(.RMPR4,.RMPR11,.RMPR5)
 | 
|---|
| 104 |  . Q
 | 
|---|
| 105 |  I RMPRERR D  G AEX
 | 
|---|
| 106 |  . W !,"Problem updating inventory item file, please contact support."
 | 
|---|
| 107 |  . H 3
 | 
|---|
| 108 |  . Q
 | 
|---|
| 109 |  ;
 | 
|---|
| 110 |  ;***** REO - call prompt for Re-Order Quantity
 | 
|---|
| 111 | REO S RMPROVAL=$G(RMPRREO)
 | 
|---|
| 112 |  D REO^RMPRPIY5(.RMPRREO,.RMPREXC)
 | 
|---|
| 113 |  I RMPREXC="P" G SRC
 | 
|---|
| 114 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 115 |  I RMPREXC="T" G AEX
 | 
|---|
| 116 |  ;
 | 
|---|
| 117 |  ; Update the reorder file (661.4)
 | 
|---|
| 118 |  I RMPROVAL=RMPRREO G QTY
 | 
|---|
| 119 |  S RMPR4("RE-ORDER QTY")=RMPRREO
 | 
|---|
| 120 |  S RMPRERR=$$UPD^RMPRPIX4(.RMPR4,,)
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 |  ; At this point the item has been added to inventory (661.11) and
 | 
|---|
| 123 |  ; the re-order file (661.4)
 | 
|---|
| 124 |  ; The following prompts are for receipting in a quantity of the item
 | 
|---|
| 125 |  ;
 | 
|---|
| 126 |  ;***** QTY - call prompt for Quantity
 | 
|---|
| 127 | QTY D QTY^RMPRPIY5(.RMPRQTY,.RMPREXC)
 | 
|---|
| 128 |  I RMPREXC="P" G REO
 | 
|---|
| 129 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 130 |  I RMPREXC="T" G AEX
 | 
|---|
| 131 |  S RMPRQTY=+$G(RMPRQTY)
 | 
|---|
| 132 |  I 'RMPRQTY G QTY
 | 
|---|
| 133 |  ;
 | 
|---|
| 134 |  ;***** UCST - call prompt for Unit Cost
 | 
|---|
| 135 | UCST D UCST^RMPRPIY5(.RMPRUCST,.RMPREXC)
 | 
|---|
| 136 |  I RMPREXC="P" G QTY
 | 
|---|
| 137 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 138 |  I RMPREXC="T" G AEX
 | 
|---|
| 139 |  S RMPRUCST=+$G(RMPRUCST)
 | 
|---|
| 140 |  ;
 | 
|---|
| 141 |  ;***** TVAL - Total Value - use if Unit Cost not used
 | 
|---|
| 142 | TVAL I RMPRUCST D  G VEND
 | 
|---|
| 143 |  . S RMPRTVAL=$J(RMPRQTY*RMPRUCST,0,2)
 | 
|---|
| 144 |  . W !,"TOTAL COST OF QUANTITY: "_RMPRTVAL
 | 
|---|
| 145 |  . Q
 | 
|---|
| 146 |  D TVAL^RMPRPIY5(.RMPRTVAL,.RMPREXC)
 | 
|---|
| 147 |  I RMPREXC="P" G UCST
 | 
|---|
| 148 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 149 |  I RMPREXC="T" G AEX
 | 
|---|
| 150 |  ;
 | 
|---|
| 151 |  ;***** VEND - call prompt for Vendor
 | 
|---|
| 152 | VEND D VEND^RMPRPIY5(.RMPRVEND,.RMPREXC)
 | 
|---|
| 153 |  I RMPREXC="P" G UCST
 | 
|---|
| 154 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 155 |  I RMPREXC="T" G AEX
 | 
|---|
| 156 |  ;
 | 
|---|
| 157 |  ;
 | 
|---|
| 158 |  ;***** UNIT - call prompt for UNIT OF ISSUE
 | 
|---|
| 159 | UNIT D UNIT^RMPRPIY5(.RMPRUNI,.RMPREXC)
 | 
|---|
| 160 |  I RMPREXC="P" G UCST
 | 
|---|
| 161 |  I RMPREXC="^" G HCPCS
 | 
|---|
| 162 |  I RMPREXC="T" G AEX
 | 
|---|
| 163 |  ;
 | 
|---|
| 164 |  ;***** TRANS - Create receipt record for adding an item
 | 
|---|
| 165 | TRANS S RMPR11("STATION")=RMPRSTN("IEN")
 | 
|---|
| 166 |  S RMPR11("STATION IEN")=RMPRSTN("IEN")
 | 
|---|
| 167 |  S RMPR6("QUANTITY")=RMPRQTY
 | 
|---|
| 168 |  S RMPR6("VALUE")=RMPRTVAL
 | 
|---|
| 169 |  S RMPR6("VENDOR")=RMPRVEND("IEN")
 | 
|---|
| 170 |  S RMPR6("UNIT")=RMPRUNI("IEN")
 | 
|---|
| 171 |  S RMPRERR=$$REC^RMPRPIU8(.RMPR6,.RMPR11,.RMPR5,1) ;receipt API
 | 
|---|
| 172 | TRANSX I RMPRERR D
 | 
|---|
| 173 |  . W !!,"** Inventory could not be updated, please contact support",!
 | 
|---|
| 174 |  . Q
 | 
|---|
| 175 |  E  D
 | 
|---|
| 176 |  . W !!,"** Inventory updated.",!
 | 
|---|
| 177 |  .;ask for number of labels and print barcode.
 | 
|---|
| 178 |  . S RMPR11("HCPCS-ITEM")=RMPR11("HCPCS")_"-"_RMPR11("ITEM")
 | 
|---|
| 179 |  . D NLAB^RMPRPIYY
 | 
|---|
| 180 |  . Q
 | 
|---|
| 181 |  K RMPR6,RMPRTVAL,RMPRQTY,RMPRUCST
 | 
|---|
| 182 |  G HCPCS
 | 
|---|
| 183 |  ;
 | 
|---|
| 184 |  ;***** exit
 | 
|---|
| 185 | AEX D KILL^XUSCLEAN
 | 
|---|
| 186 |  Q
 | 
|---|