| 1 | RMPR5NOR ;HIN/RVD-PROS INVENTORY ORDER/RECEIVE UTILITY ;2/11/98 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**33,37,46**;Feb 09, 1996 | 
|---|
| 3 | D DIV4^RMPRSIT I $D(Y),(Y<0) K DIC("B") Q | 
|---|
| 4 | S X="NOW" D ^%DT D DD^%DT S RMDAT=Y | 
|---|
| 5 | ; | 
|---|
| 6 | W @IOF | 
|---|
| 7 | LOC ;ask for location | 
|---|
| 8 | W !!,"Ordering ITEM from Supply or Vendor....",! K DTOUT,DUOUT,DIC("B") | 
|---|
| 9 | S DZ="??",D="B",DIC("S")="I $P(^RMPR(661.3,+Y,0),U,3)=RMPR(""STA"")" | 
|---|
| 10 | S DIC="^RMPR(661.3,",DLAYGO=661.3,DIC(0)="AEQM" | 
|---|
| 11 | S D="B",DIC("A")="Enter Pros Location: " D MIX^DIC1 | 
|---|
| 12 | G:$D(DTOUT)!(Y'>0)!$D(DUOUT) EXIT S (DA,RMLODA)=+Y,DIK=DIC | 
|---|
| 13 | S RMLOC=$P(^RMPR(661.3,RMLODA,0),U,1) | 
|---|
| 14 | I $P(^RMPR(661.3,DA,0),U,3)="" S $P(^(0),U,3)=RMPR("STA") D IX1^DIK | 
|---|
| 15 | ; | 
|---|
| 16 | LIST ;list current HCPCS @ this Location | 
|---|
| 17 | K DTOUT,DUOUT,DIC("S"),DIC("B") | 
|---|
| 18 | S DIC("A")="Select HCPCS to ORDER: " | 
|---|
| 19 | ;S DIR("?")="^S RFL=0 D DSP^RMPR5NU1" | 
|---|
| 20 | ;S DIR="^RMPR(661.1," D ^DIR G:(Y="^")!(Y="")!$D(DTOUT)!$D(DUOUT) LOC | 
|---|
| 21 | S DIC(0)="AEMQ",DIC("W")="S RZ=$P(^RMPR(661.3,RMLODA,1,+Y,0),U,1) I RZ W ?25,$P($G(^RMPR(661.1,RZ,0)),U,2)" | 
|---|
| 22 | S DIC="^RMPR(661.3,"_RMLODA_",1," D ^DIC | 
|---|
| 23 | I +Y'>0!$D(DTOUT)!$D(DUOUT) W !,"** No HCPCS selected..." G LOC | 
|---|
| 24 | S RMHCDA=+Y,RMDAHC=$P(^RMPR(661.3,RMLODA,1,+Y,0),U,1),RMHCPC=$P(^RMPR(661.1,RMDAHC,0),U,1) | 
|---|
| 25 | ; | 
|---|
| 26 | L ;list current ITEM for this HCPCS | 
|---|
| 27 | K DTOUT,DUOUT,DIC("S") | 
|---|
| 28 | S DA(2)=RMLODA,DA(1)=RMHCDA | 
|---|
| 29 | S DIC="^RMPR(661.3,"_DA(2)_",1,"_DA(1)_",1," | 
|---|
| 30 | S DIC("A")="Enter Item to ORDER: " | 
|---|
| 31 | S DIC="^RMPR(661.3,"_DA(2)_",1,"_DA(1)_",1,",DIC(0)="AEMNQ" | 
|---|
| 32 | D ^DIC G:Y'>0!$D(DTOUT)!$D(DUOUT) LIST S RMITDA=+Y | 
|---|
| 33 | S (RMITFLG,RMHCFLG,RMAV,RMAVA,RMCO,RMBAL)=0 | 
|---|
| 34 | S RMIT=$P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,1) | 
|---|
| 35 | S RMDAIT=$P(RMIT,"-",2) | 
|---|
| 36 | S RMITEM=$P(^RMPR(661.1,RMDAHC,3,RMDAIT,0),U,1) | 
|---|
| 37 | S RMORD=$P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,11) | 
|---|
| 38 | ; | 
|---|
| 39 | ORDER ;order item from vendor or supply. | 
|---|
| 40 | K DIR,Y S DIR(0)="661.312,31",DIR("A")="Quantity to Order" D ^DIR | 
|---|
| 41 | I $D(DUOUT)!$D(DTOUT) W !,"*** Item was not ordered...." H 1 G LOC | 
|---|
| 42 | I X="" W $C(7),!,"Enter quantity 1 to 99999.." G ORDER | 
|---|
| 43 | S RMORDER=Y K DIR,Y | 
|---|
| 44 | S DIE="^RMPR(661.3,"_DA(2)_",1,"_DA(1)_",1," | 
|---|
| 45 | S DA=RMITDA,DR="31////^S X=$G(RMORDER)" D ^DIE | 
|---|
| 46 | S RM3=^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0) | 
|---|
| 47 | S RMSO=$P(RM3,U,9) | 
|---|
| 48 | D BAL^RMPR5NU1 | 
|---|
| 49 | S X=DT,DIC(0)="AEQL",DLAYGO=661.2,DIC="^RMPR(661.2," K DD,DO | 
|---|
| 50 | D FILE^DICN K DLAYGO S RMCOM="Order from supply or vendor" | 
|---|
| 51 | S ^RMPR(661.2,+Y,0)=DT_"^^^"_RMDAHC_"^^^"_DUZ_"^^"_RMIT_"^"_RMORDER_"^^"_RMTOBA_"^"_RMCOM_"^"_$J(RMTOCO,0,2)_"^"_RMPR("STA")_"^"_RMLODA_"^"_$J(RMAVA,0,2) S DA=+Y,DIK=DIC D IX1^DIK K Y | 
|---|
| 52 | W !,"*** Item ",RMITEM," was ordered...." | 
|---|
| 53 | H 1 G LOC | 
|---|
| 54 | ; | 
|---|
| 55 | REC ;receive item from supply, Vendor or Returned Item. | 
|---|
| 56 | W @IOF | 
|---|
| 57 | D DIV4^RMPRSIT I $D(Y),(Y<0) K DIC("B") Q | 
|---|
| 58 | S X="NOW" D ^%DT D DD^%DT S RMDAT=Y | 
|---|
| 59 | S X="NOW" D ^%DT S RMDAT1=Y D DD^%DT S RMDAT2=Y | 
|---|
| 60 | REC1 W !!,"*** Receiving Item from Supply, Vendor or Veteran...",! | 
|---|
| 61 | K DTOUT,DUOUT,DIC("B") | 
|---|
| 62 | S DZ="??",D="B",DIC("S")="I $P(^RMPR(661.3,+Y,0),U,3)=RMPR(""STA"")" | 
|---|
| 63 | S DIC="^RMPR(661.3,",DIC(0)="AEQM" | 
|---|
| 64 | S D="B",DIC("A")="Enter Receiving Location: " D MIX^DIC1 | 
|---|
| 65 | G:$D(DTOUT)!(Y'>0)!$D(DUOUT) EXIT S (DA,RMLODA)=+Y,DIK=DIC | 
|---|
| 66 | S RMLOC=$P(^RMPR(661.3,RMLODA,0),U,1) | 
|---|
| 67 | I $P(^RMPR(661.3,DA,0),U,3)="" S $P(^(0),U,3)=RMPR("STA") D IX1^DIK | 
|---|
| 68 | ; | 
|---|
| 69 | LITEM ;list current HCPCS @ this Location | 
|---|
| 70 | K DTOUT,DUOUT,DIC("S"),DIC("B") | 
|---|
| 71 | S DIC("A")="Select HCPCS to RECEIVE: " | 
|---|
| 72 | ;S DIR("?")="^S RFL=0 D DSP^RMPR5NU1" | 
|---|
| 73 | ;S DIR="^RMPR(661.1," D ^DIR G:(Y="^")!(Y="")!$D(DTOUT)!$D(DUOUT) REC1 | 
|---|
| 74 | S DIC(0)="AEMQ",DIC("W")="S RZ=$P(^RMPR(661.3,RMLODA,1,+Y,0),U,1) I RZ W ?25,$P($G(^RMPR(661.1,RZ,0)),U,2)" | 
|---|
| 75 | S DIC="^RMPR(661.3,"_RMLODA_",1," D ^DIC | 
|---|
| 76 | I +Y'>0!$D(DTOUT)!$D(DUOUT) W !,"** No HCPCS selected..." H 1 G REC1 | 
|---|
| 77 | S RMHCDA=+Y,RMDAHC=$P(^RMPR(661.3,RMLODA,1,+Y,0),U,1),RMHCPC=$P(^RMPR(661.1,RMDAHC,0),U,1) | 
|---|
| 78 | ; | 
|---|
| 79 | ;list current ITEM for this HCPCS | 
|---|
| 80 | K DTOUT,DUOUT,DIC("S"),DIC("B") | 
|---|
| 81 | S DA(2)=RMLODA,DA(1)=RMHCDA | 
|---|
| 82 | S DIC="^RMPR(661.3,"_DA(2)_",1,"_DA(1)_",1," | 
|---|
| 83 | S DIC("A")="Enter Item to RECEIVE: " | 
|---|
| 84 | S DIC="^RMPR(661.3,"_DA(2)_",1,"_DA(1)_",1,",DIC(0)="AEMNQ" | 
|---|
| 85 | D ^DIC G:Y'>0!$D(DTOUT)!$D(DUOUT) LITEM | 
|---|
| 86 | S RMITDA=+Y | 
|---|
| 87 | ;S RM1=^RMPR(661.1,RMDAHC,3,RMDAIT,0),RMITEM=$P(RM1,U,1) | 
|---|
| 88 | S RM3=^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),RMIT=$P(RM3,U,1) | 
|---|
| 89 | S RMQU=$P(RM3,U,2),RMCO=$P(RM3,U,3),RMSO=$P(RM3,U,9) | 
|---|
| 90 | ; | 
|---|
| 91 | ;update LOCATION. | 
|---|
| 92 | UPDLOC ;W ! S DIC("A")="Receiving LOCATION: ",DIC="^RMPR(661.3,",DLAYGO=661.3 | 
|---|
| 93 | ; | 
|---|
| 94 | UPDQ R !,"Quantity to Receive: ",RMQTREC:DTIME | 
|---|
| 95 | G:$D(DTOUT)!$D(DUOUT)!(RMQTREC="^") MESS | 
|---|
| 96 | I RMQTREC["?"!(RMQTREC'>0)!(RMQTREC>999) W $C(7),!,"Enter quantity 1 to 999.." G UPDQ | 
|---|
| 97 | ; | 
|---|
| 98 | UPDC ;ask for total Item cost | 
|---|
| 99 | K DIR,Y,DA S DIR(0)="661.312,23",DIR("A")="Total Cost of Item " D ^DIR | 
|---|
| 100 | G:$D(DUOUT)!$D(DTOUT) MESS | 
|---|
| 101 | I X="" W $C(7),!,"Enter Cost 0 to 999999.." G UPDC | 
|---|
| 102 | S RMCOREC=Y K DIR,Y | 
|---|
| 103 | S RMCOA=RMCO+RMCOREC | 
|---|
| 104 | S $P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,3)=RMCOA | 
|---|
| 105 | S RMQUA=RMQU+RMQTREC | 
|---|
| 106 | I RMQUA>0 S RMAVA=RMCOA/RMQUA | 
|---|
| 107 | I RMQUA<1 S RMAVA=RMCOREC/RMQTREC | 
|---|
| 108 | S $P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,10)=$J(RMAVA,0,2) | 
|---|
| 109 | S RMORD=$P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,11) | 
|---|
| 110 | ; | 
|---|
| 111 | ;update Total Item Cost and delete ordered date | 
|---|
| 112 | S $P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,2)=RMQUA | 
|---|
| 113 | S RMSO=$P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,9) | 
|---|
| 114 | ; | 
|---|
| 115 | STAT D BAL^RMPR5NU1 | 
|---|
| 116 | S X=DT,DIC(0)="AEQL",DLAYGO=661.2,DIC="^RMPR(661.2," K DD,DO | 
|---|
| 117 | D FILE^DICN K DLAYGO S RMCOM="Received from supply or vendor" | 
|---|
| 118 | S ^RMPR(661.2,+Y,0)=DT_"^^^"_RMDAHC_"^^^"_DUZ_"^"_RMQTREC_"^"_RMIT_"^^"_RMQTREC_"^"_RMTOBA_"^"_RMCOM_"^"_$J(RMTOCO,0,2)_"^"_RMPR("STA")_"^"_RMLODA_"^"_$J(RMAVA,0,2) | 
|---|
| 119 | S DA=+Y,DIK=DIC D IX1^DIK | 
|---|
| 120 | W !,"****Current Balance @ Location ",$P(^RMPR(661.3,RMLODA,0),U,1)," is now: ",RMQUA | 
|---|
| 121 | I RMORD S $P(^RMPR(661.3,RMLODA,1,RMHCDA,1,RMITDA,0),U,11)=RMORD-RMQTREC | 
|---|
| 122 | H 1 G REC1 | 
|---|
| 123 | ; | 
|---|
| 124 | MESS W !,"Nothing Received....." | 
|---|
| 125 | EXIT ;MAIN EXIT POINT | 
|---|
| 126 | N RMPRSITE,RMPR D KILL^XUSCLEAN | 
|---|
| 127 | Q | 
|---|