Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RMPRPIY6

RMPRPIY6.m

Go to the documentation of this file.
  1. RMPRPIY6 ;HINES OIFO/ODJ - EI - Edit Locations and Items ;10/7/02 14:46
  1. ;;3.0;PROSTHETICS;**61,145**;Feb 09, 1996;Build 6
  1. Q
  1. ;
  1. ;***** EI - Edit Inventory ITEM
  1. ; option RMPR INV EDIT
  1. ; Replaces EI option in old PIP (cf ^RMPR5NEE)
  1. ; no inputs required
  1. ; other than standard VISTA vars. (DUZ, etc)
  1. ;
  1. EI N RMPRERR,RMPRSTN,RMPREXC,RMPR5,RMPR1,RMPR11,RMPRVEND,RMPRTVAL,RMPR9M
  1. N RMPRQTY,RMPRREO,RMPR4,RMPR6,RMPR7,RMPR7M,RMPR6M,RMPR4M,RMPRGLAM
  1. N RMPR69,RMPR6I,RMPRGLQ,RMPRLCN,RMPRUCST,RMPROVAL,RMPRHCPC,RMPR5P
  1. N RMPR11M,RMPR11I,RMPR441,RMPRUNI
  1. ;
  1. ;***** STN - call prompt for Site/Station
  1. STN S RMPROVAL=$G(RMPRSTN("IEN"))
  1. W @IOF S RMPRERR=$$STN^RMPRPIY1(.RMPRSTN,.RMPREXC)
  1. I RMPRERR G EIX
  1. I RMPREXC'="" G EIX
  1. I RMPROVAL'=RMPRSTN("IEN") K RMPR1,RMPR11,RMPR5,RMPRLCN
  1. ;
  1. ;***** HCPCS - call prompts for selecting HCPCS and Item
  1. HCPCS W !!,"Editing Inventory Items.",!
  1. S RMPROVAL=$G(RMPR1("IEN"))
  1. K RMPR1,RMPR11,RMPR5,RMPRLCN,RMPREXC,RMPRERR,RMPRUNI
  1. D HCPCS^RMPRPIY7(RMPRSTN("IEN"),$G(RMPR1("HCPCS")),.RMPR1,.RMPR11,.RMPREXC)
  1. I RMPREXC="T" G EIX
  1. I RMPREXC="P" G STN
  1. I RMPREXC="^" D G EIX
  1. . W !,"** No HCPCS selected." H 1
  1. . Q
  1. I $G(RMPR11("IEN"))'="" G HCPCS4
  1. HCPCS3 D ITEM^RMPRPIYP(RMPRSTN("IEN"),$G(RMPR1("HCPCS")),.RMPR11,.RMPREXC)
  1. I RMPREXC="T" G EIX
  1. I RMPREXC="P" G HCPCS
  1. I RMPREXC="^" G HCPCS
  1. ;
  1. ; display selected HCPCS and item and continue
  1. HCPCS4 W !!,"HCPCS: "_RMPR1("HCPCS")_" "_RMPR1("SHORT DESC")
  1. K RMPR11I S RMPRERR=$$ETOI^RMPRPIX1(.RMPR11,.RMPR11I)
  1. HCPCS4A K RMPR441,RMHCC
  1. S RMPR441("IEN")=RMPR11I("ITEM MASTER IEN")
  1. S:RMPR11I("ITEM MASTER IEN")'="" RMPRERR=$$GET^RMPRPIXD(.RMPR441)
  1. D MASIT^RMPRPIY1(.RMPR441,.RMPREXC)
  1. I RMPREXC="T" G EIX
  1. I RMPREXC="P" G HCPCS
  1. I RMPREXC="^" G HCPCS
  1. I RMPR441("IEN")'=RMPR11I("ITEM MASTER IEN") D
  1. . K RMPR11M
  1. . S RMPR11M("IEN")=RMPR11("IEN")
  1. . S RMPR11M("ITEM MASTER IEN")=RMPR441("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX1(.RMPR11M)
  1. . K RMPR11
  1. . S RMPR11("IEN")=RMPR11M("IEN")
  1. . S RMPRERR=$$GET^RMPRPIX1(.RMPR11)
  1. . S RMPR11I("ITEM MASTER IEN")=RMPR441("IEN")
  1. . K RMPR441,RMPR11M
  1. . Q
  1. ;
  1. ; edit PIP Item desc.
  1. HCPCS5 D ITED^RMPRPIY1(.RMPR11,.RMPREXC)
  1. I RMPREXC="T" G EIX
  1. I RMPREXC="^" G HCPCS
  1. I RMPREXC="P" G HCPCS4A
  1. ;
  1. ; Lock the current stock 661.7 file at HCPCS Item level as we may be
  1. ; reducing or increasing the quantity on hand
  1. CURSTL L +^RMPR(661.7,"XSHIDS",RMPRSTN("IEN"),RMPR11("HCPCS"),RMPR11("ITEM")):5 E W !,"PROSTHETIC CURRENT STOCK record for HCPCS item open by someone else" G LOCN
  1. ;
  1. ;***** CURST - call prompt for current stock record
  1. CURST S RMPRLCN="" K RMPR5
  1. D PVEN^RMPRPIYR(RMPRSTN("IEN"),.RMPRLCN,RMPR11("HCPCS"),RMPR11("ITEM"),.RMPR6,.RMPR7,.RMPREXC)
  1. I RMPREXC="T" G EIU
  1. I RMPREXC="P" D UNLOCK G HCPCS5
  1. I RMPREXC="^" K RMPR6,RMPR7 G RLOC
  1. I $G(RMPR7("IEN"))="" G RLOC
  1. S RMPRQTY=RMPR7("QUANTITY")
  1. S RMPRTVAL=RMPR7("VALUE")
  1. I RMPR7("QUANTITY")<1 S RMPRUCST=0
  1. E S RMPRUCST=+$J(RMPR7("VALUE")/RMPR7("QUANTITY"),0,6)
  1. S:$D(RMPR7("UNIT")) RMPRUNI("IEN")=RMPR7("UNIT")
  1. S:$D(RMPR7("UNIT NAME")) RMPRUNI("NAME")=RMPR7("UNIT NAME")
  1. S RMPRERR=$$VNDIEN^RMPRPIX6(.RMPR6)
  1. S RMPRVEND("IEN")=RMPR6("VENDOR IEN")
  1. S RMPRVEND("NAME")=RMPR6("VENDOR")
  1. S RMPR5("IEN")=RMPRLCN
  1. S RMPRERR=$$GET^RMPRPIX5(.RMPR5)
  1. G LOCN
  1. ;
  1. ;***** RLOC - if no receipt selected get def. loc. from reorder file
  1. RLOC D LOCN^RMPRPIYQ(RMPRSTN("IEN"),.RMPR11,.RMPR5,.RMPREXC)
  1. I RMPREXC="T" G EIU
  1. G LOCN
  1. ;
  1. ;***** LOCN - call prompt for Location
  1. LOCN K RMPR5P M RMPR5P=RMPR5
  1. S RMPRLCN=$$LOC1^RMPRPIYB(RMPRSTN("IEN"))
  1. I RMPRLCN D G REO
  1. . I $G(RMPR5("IEN"))="" D
  1. .. S RMPR5("IEN")=RMPRLCN
  1. .. S RMPRERR=$$GET^RMPRPIX5(.RMPR5)
  1. .. Q
  1. . W !,"Location: "_RMPR5("NAME")
  1. . Q
  1. LOCN1 W ! D LOCNM^RMPRPIY7(RMPRSTN("IEN"),.RMPR5,.RMPREXC)
  1. I RMPREXC="P" D UNLOCK G HCPCS5
  1. I RMPREXC="^" G EIU
  1. I RMPREXC="T" G EIU
  1. S RMPRLCN=RMPR5("IEN")
  1. ;
  1. ;***** REO - call prompt for Re-Order Quantity (661.4)
  1. REO K RMPR4
  1. S RMPR4("IEN")=$O(^RMPR(661.4,"ASLHI",RMPRSTN("IEN"),RMPRLCN,RMPR11("HCPCS"),RMPR11("ITEM"),""))
  1. I RMPR4("IEN")="" D
  1. . S RMPR4("IEN")=$O(^RMPR(661.4,"ASLHI",RMPRSTN("IEN"),RMPR5("IEN"),RMPR11("HCPCS"),RMPR11("ITEM"),""))
  1. . Q
  1. I RMPR4("IEN")="" D
  1. . S RMPR4("RE-ORDER QTY")=0
  1. . Q
  1. E D
  1. . S RMPRERR=$$GET^RMPRPIX4(.RMPR4)
  1. . Q
  1. S RMPRREO=RMPR4("RE-ORDER QTY")
  1. REO1 ;
  1. I '$D(RMPR5P) K RMPR5P M RMPR5P=RMPR5
  1. D REO^RMPRPIY5(.RMPRREO,.RMPREXC)
  1. I RMPREXC="P" D UNLOCK G HCPCS5
  1. I RMPREXC="^" G EIU
  1. I RMPREXC="T" G EIU
  1. I RMPRREO'=RMPR4("RE-ORDER QTY")!(RMPR4("IEN")="")!(RMPR5("IEN")'=RMPR5P("IEN")) D
  1. . K RMPR4M
  1. . S RMPR4M("RE-ORDER QTY")=RMPRREO
  1. . I RMPR4("IEN")="" D
  1. .. S RMPRERR=$$CRE^RMPRPIX4(.RMPR4M,.RMPR11,.RMPR5)
  1. .. Q
  1. . E D
  1. .. S RMPR4M("IEN")=RMPR4("IEN")
  1. .. S RMPRERR=$$UPD^RMPRPIX4(.RMPR4M,,)
  1. .. Q
  1. . Q
  1. I '$D(RMPR6) G TRANSX ;only editing reorder level
  1. ;
  1. ;***** SRC - call prompt for SOURCE.
  1. SRC S (RMPRBCK,RMPRSRC)=$P(^RMPR(661.11,RMPR11("IEN"),0),U,5)
  1. D SRC^RMPRPIY5(.RMPRSRC,.RMPREXC)
  1. I RMPREXC="P" G SRC
  1. I RMPREXC="^" D UNLOCK G HCPCS
  1. I RMPREXC="T" G EIU
  1. I RMPRSRC'=RMPRBCK S $P(^RMPR(661.11,RMPR11("IEN"),0),U,5)=RMPRSRC
  1. ;***** QTY - call prompt for Quantity
  1. QTY D QTY^RMPRPIY5(.RMPRQTY,.RMPREXC)
  1. I RMPREXC="P" G REO
  1. I RMPREXC="^" D UNLOCK G HCPCS
  1. I RMPREXC="T" G EIU
  1. S RMPRQTY=+$G(RMPRQTY)
  1. ;
  1. ;***** UCST - call prompt for Unit Cost
  1. UCST D UCST^RMPRPIY5(.RMPRUCST,.RMPREXC)
  1. I RMPREXC="P" G QTY
  1. I RMPREXC="^" D UNLOCK G HCPCS
  1. I RMPREXC="T" G EIU
  1. S RMPRUCST=$J(RMPRUCST,0,2)
  1. ;
  1. ;***** TVAL - Total Value - use if Unit Cost not used
  1. TVAL I RMPRUCST D G VEND
  1. . S RMPRTVAL=$J(RMPRQTY*RMPRUCST,0,2)
  1. . W !,"TOTAL COST OF QUANTITY: "_RMPRTVAL
  1. . Q
  1. D TVAL^RMPRPIY5(.RMPRTVAL,.RMPREXC)
  1. I RMPREXC="P" G UCST
  1. I RMPREXC="^" D UNLOCK G HCPCS
  1. I RMPREXC="T" G EIU
  1. ;
  1. ;***** VEND - call prompt for Vendor
  1. ;VENDOR edit removed 3/1/08 per Karen Blum
  1. VEND ;D VEND^RMPRPIY5(.RMPRVEND,.RMPREXC)
  1. ;I RMPREXC="P" G UCST
  1. ;I RMPREXC="^" D UNLOCK G HCPCS
  1. ;I RMPREXC="T" G EIU
  1. ;
  1. ;
  1. ;***** UNIT - call prompt for UNIT OF ISSUE
  1. UNIT D UNIT^RMPRPIY5(.RMPRUNI,.RMPREXC)
  1. I RMPREXC="P" G UCST
  1. I RMPREXC="^" D UNLOCK G HCPCS
  1. I RMPREXC="T" G EIU
  1. S RMPRUNI("UNIT")=RMPRUNI("IEN")
  1. ;
  1. ;***** TRANS - Modify current stock record
  1. TRANS K RMPR7M,RMPR6M
  1. ;
  1. I $G(RMHCC) D TRANS^RMPRPIXF G HAL
  1. ;
  1. K RMPR6I
  1. S RMPRERR=$$ETOI^RMPRPIX6(.RMPR6,.RMPR6I)
  1. ;
  1. ;if unit of issue changed
  1. I RMPRUNI("UNIT")'=RMPR7("UNIT") S RMPR7M("UNIT")=RMPRUNI("UNIT") D
  1. . S RMPR7M("IEN")=RMPR7("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX7(.RMPR7M,)
  1. ; Modify Location in 661.6 and 661.7 if changed
  1. I RMPR6I("LOCATION")'=RMPR5("IEN") D
  1. . S RMPR6M("LOCATION")=RMPR5("IEN")
  1. . S RMPR6M("IEN")=RMPR6("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX6(.RMPR6M,)
  1. . S RMPR7M("LOCATION")=RMPR5("IEN")
  1. . S RMPR7M("IEN")=RMPR7("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX7(.RMPR7M,)
  1. . K RMPR6M,RMPR7M
  1. . Q
  1. ;
  1. ; Modify Quantity or Value in current stock 661.7 record, the
  1. ; transaction record 661.6 and running balance 661.9, if changed
  1. I +RMPRQTY'=+RMPR7("QUANTITY")!(+RMPRTVAL'=+RMPR7("VALUE")) D
  1. . K RMPR69,RMPR9M
  1. . I RMPR6I("TRAN TYPE")=9 D
  1. .. S RMPR69("TRANS IEN")=RMPR6("IEN")
  1. .. S RMPRERR=$$GET^RMPRPIXB(.RMPR69)
  1. .. Q
  1. . S (RMPR9M("TQTY"),RMPR9M("TCST"),RMPRGLQ,RMPRGLAM)=0
  1. . I +RMPRQTY'=+RMPR7("QUANTITY") D Q:RMPR7M("QUANTITY")<0
  1. .. S RMPR6M("QUANTITY")=RMPRQTY
  1. .. S RMPRGLQ=RMPRQTY-RMPR7("QUANTITY")
  1. ..; S RMPR7M("QUANTITY")=RMPR7("QUANTITY")+RMPRGLQ
  1. .. S RMPR7M("QUANTITY")=RMPRQTY
  1. .. S RMPR9M("TQTY")=RMPRGLQ
  1. .. S:$D(RMPR69) RMPR69("GAIN/LOSS")=RMPR69("GAIN/LOSS")+RMPRGLQ
  1. .. Q
  1. . I +RMPRTVAL'=+RMPR7("VALUE") D
  1. .. S RMPR6M("VALUE")=RMPRTVAL
  1. .. S RMPRGLAM=RMPRTVAL-RMPR7("VALUE")
  1. .. S RMPR7M("VALUE")=RMPR7("VALUE")+RMPRGLAM,RMPR7M("VALUE")=$J(RMPR7M("VALUE"),0,2)
  1. .. S RMPR9M("TCST")=RMPRGLAM
  1. .. S:$D(RMPR69) RMPR69("GAIN/LOSS VALUE")=RMPR69("GAIN/LOSS VALUE")+RMPRGLAM
  1. .. Q
  1. . S RMPR7M("IEN")=RMPR7("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX7(.RMPR7M,)
  1. . S RMPR6M("IEN")=RMPR6("IEN")
  1. . S RMPRERR=$$UPD^RMPRPIX6(.RMPR6M,)
  1. . I $D(RMPR69) S RMPRERR=$$UPD^RMPRPIXB(.RMPR69)
  1. . S RMPR9M("STA")=RMPRSTN("IEN")
  1. . S RMPR9M("HCP")=RMPR11("HCPCS")
  1. . S RMPR9M("ITE")=RMPR11("ITEM")
  1. . S RMPRERR=$$DTIEN^RMPRPIX6(.RMPR6)
  1. . S RMPR9M("RDT")=$P(RMPR6("DATE&TIME"),".",1)
  1. . S RMPRERR=$$UPCR^RMPRPIXJ(.RMPR9M)
  1. . K RMPR7M,RMPR6M,RMPR9M
  1. . Q
  1. I $D(RMPR7M("QUANTITY")),RMPR7M("QUANTITY")<1 D G QTY
  1. . W !,"The quantity cannot be allowed because it would cause a",!
  1. . W "negative on hand quantity.",!
  1. . W "Please check your inventory and use the reconciliation option",!
  1. . W "as needed.",!
  1. . Q
  1. TRANSX I 'RMPRERR D
  1. . W !!,"** Item "
  1. . W RMPR11("HCPCS-ITEM")
  1. . W " was "
  1. . W "Edited by "
  1. . W $$GETUSR^RMPRPIU0(DUZ)
  1. . W:$D(RMPRGLQ) ": ("_$S(RMPRGLQ>0:"+",1:"")_RMPRGLQ_")"
  1. . W " @ Location ",RMPR5("NAME")
  1. . Q
  1. E D
  1. . W !!,"** The Item could not be modified due to a problem - please contact support"
  1. . Q
  1. D UNLOCK
  1. HAL H 2
  1. K RMPRTVAL,RMPRUCST,RMPR6,RMPR7,RMPRVEND,RMPRQTY,RMPRREO,RMPRGLQ,RMPRGLAM
  1. G HCPCS
  1. ;
  1. ;***** exit points
  1. EIU D UNLOCK
  1. EIX D KILL^XUSCLEAN
  1. Q
  1. UNLOCK L -^RMPR(661.7,"XSHIDS",RMPRSTN("IEN"),RMPR11("HCPCS"),RMPR11("ITEM"))
  1. Q