| 1 | RMPRPIYZ ;HINES CIO/ODJ - Bar Code Print all label ;10/8/02  13:11 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**61,108**;Feb 09, 1996 | 
|---|
| 3 | Q | 
|---|
| 4 | ; | 
|---|
| 5 | PB ;***** PB - Print ALL Bar Code labels | 
|---|
| 6 | ; | 
|---|
| 7 | ; | 
|---|
| 8 | ;***** STN - prompt for Site/Station | 
|---|
| 9 | STN ;S RMPROVAL=$G(RMPRSTN("IEN")) | 
|---|
| 10 | W @IOF S RMPRERR=$$STN^RMPRPIY1(.RMPRSTN,.RMPREXC) | 
|---|
| 11 | I RMPRERR G PBX | 
|---|
| 12 | I RMPREXC'="" G PBX | 
|---|
| 13 | S RS=RMPRSTN("IEN") K RMPR1,RMPR11 | 
|---|
| 14 | ; | 
|---|
| 15 | LOC ; askk for location | 
|---|
| 16 | ; | 
|---|
| 17 | S RMPRERR=$$LOCNM^RMPRPIY2(RMPRSTN("IEN"),.RMPR5,.RMPREXC) | 
|---|
| 18 | I RMPREXC="T"!(RMPREXC="^") G PBX | 
|---|
| 19 | I RMPREXC="P" G STN | 
|---|
| 20 | S RL=RMPR5("IEN") K RMPR1 | 
|---|
| 21 | ; | 
|---|
| 22 | ;***** PRINT - print bar code labels | 
|---|
| 23 | ;              requires RMPRNLAB (number of labels) and | 
|---|
| 24 | ;                       RMPRBCP (bar code printer name) to be set | 
|---|
| 25 | ;                       RMPRBARC (bar code to print) | 
|---|
| 26 | ;                       RMPRIOP (the device to open) | 
|---|
| 27 | PRINT ;I '$D(RMPRBCP) G PRINTX | 
|---|
| 28 | ;allows queing of bar code labels | 
|---|
| 29 | SELD S %ZIS("A")="Select Bar Code Printer: " | 
|---|
| 30 | S %ZIS="QM" K IOP W ! D ^%ZIS G:POP PRINTX | 
|---|
| 31 | I $G(IOST)'["P-ZEBRA" D | 
|---|
| 32 | . W !!,"** WARNING - This is NOT a Zebra Bar Code Printer!!",!! | 
|---|
| 33 | I '$D(IO("Q")) U IO G PNOW | 
|---|
| 34 | K IO("Q") S ZTDESC="PRINT BAR CODE LABELS",ZTRTN="PNOW^RMPRPIYZ" | 
|---|
| 35 | S ZTIO=ION,ZTSAVE("RS")="",ZTSAVE("RL")="" | 
|---|
| 36 | D ^%ZTLOAD W:$D(ZTSK) !,"REQUEST QUEUED!" H 2 G PRINTC | 
|---|
| 37 | ; | 
|---|
| 38 | PNOW ;jump here if not queued. | 
|---|
| 39 | ; | 
|---|
| 40 | ; | 
|---|
| 41 | LOOP ;loop 661.7 for all items in a location. | 
|---|
| 42 | F RI=0:0 S RI=$O(^RMPR(661.7,"C",RL,RI)) Q:RI'>0  S RMDAT=$G(^RMPR(661.7,RI,0)) S RMSTN=$P(RMDAT,U,5) I RMSTN=RS D PROC | 
|---|
| 43 | ;exit/done printing bar code labels | 
|---|
| 44 | G PRINTC | 
|---|
| 45 | ; | 
|---|
| 46 | PROC ;process bar code for printing. | 
|---|
| 47 | S (RMPRNLAB,RME)=0,RMPR11("DESCRIPTION")="" | 
|---|
| 48 | S RMPR6("VENDOR")="",RMLOCNA="" | 
|---|
| 49 | K RMPR7I,RM441,RM661 | 
|---|
| 50 | S RMPR7("IEN")=RI,RMPR7("HCPCS")=$P(RMDAT,U,1) | 
|---|
| 51 | S RMPR7("ITEM")=$P(RMDAT,U,4),RH=$P(RMDAT,U,1) | 
|---|
| 52 | S RD=$P(RMDAT,U,2) | 
|---|
| 53 | S (RMPR7("LOCATION"),RMLOC)=$P(RMDAT,U,6) | 
|---|
| 54 | S RMPR7("VALUE")=$P(RMDAT,U,8),RMPR7("QUANTITY")=$P(RMDAT,U,7) | 
|---|
| 55 | I $G(RMLOC),$D(^RMPR(661.5,RMLOC,0)) D | 
|---|
| 56 | .S RMLOCNA=$P(^RMPR(661.5,RMLOC,0),U,1) | 
|---|
| 57 | ; | 
|---|
| 58 | ITEM ;get 661.11 record | 
|---|
| 59 | S RMPR11("IEN")=$O(^RMPR(661.11,"ASHI",RS,RH,RMPR7("ITEM"),0)) | 
|---|
| 60 | S RME=$$GET^RMPRPIX1(.RMPR11) | 
|---|
| 61 | I RME=1 Q | 
|---|
| 62 | ; | 
|---|
| 63 | VEND ;get vendor from 661.6. | 
|---|
| 64 | S RMV="",RMPR6("VENDOR")="",RMPR11("ITEM MSTER")="" | 
|---|
| 65 | F K=0:0 S K=$O(^RMPR(661.6,"C",RD,K)) Q:K'>0  S RM6=$G(^RMPR(661.6,K,0)) D | 
|---|
| 66 | .Q:RH'=$P(RM6,U,1) | 
|---|
| 67 | .I (RH=$P(RM6,U,1)),(RMLOC=$P(RM6,U,14)) S RMV=$P(RM6,U,12) | 
|---|
| 68 | .S:$G(RMV) RMPR6("VENDOR")=$$GETVEN^RMPRPIU0(RMV) | 
|---|
| 69 | ; | 
|---|
| 70 | ;external format of items at #661.7 | 
|---|
| 71 | S RME=$$ETOI^RMPRPIX7(.RMPR7,.RMPR7I) | 
|---|
| 72 | I RME=1 Q | 
|---|
| 73 | ; | 
|---|
| 74 | ;set variables for printing bar code. | 
|---|
| 75 | S RMPRBARC=RMPR7I("HCPCS")_"-"_$P(RMPR7I("DATE&TIME"),".",1)_$P(RMPR7I("DATE&TIME"),".",2) | 
|---|
| 76 | S RMPRITXT("DATE")=$E(RMPR7I("DATE&TIME"),4,5)_"/"_$E(RMPR7I("DATE&TIME"),6,7)_"/"_(1700+$E(RMPR7I("DATE&TIME"),1,3)) | 
|---|
| 77 | S RMPRITXT("ITEM")=RMPR11("HCPCS-ITEM") | 
|---|
| 78 | S RMPRITXT("MASTER DESC")=RMPR11("ITEM MASTER") | 
|---|
| 79 | S RMPRITXT("ITEM DESC")=RMPR11("DESCRIPTION") | 
|---|
| 80 | S RMPRITXT("UNIT PRICE")=+$J(RMPR7("VALUE")/RMPR7("QUANTITY"),0,2) | 
|---|
| 81 | S RMPRITXT("VENDOR")=RMPR6("VENDOR") | 
|---|
| 82 | S RMPRITXT("LOCATION")=RMLOCNA | 
|---|
| 83 | S RMPRNLAB=RMPR7("QUANTITY") | 
|---|
| 84 | ;call bar code routine | 
|---|
| 85 | D ZPLII^RMPRPI11(RMPRBARC,.RMPRITXT,RMPRNLAB) | 
|---|
| 86 | Q | 
|---|
| 87 | ; | 
|---|
| 88 | PRINTC ; | 
|---|
| 89 | D ^%ZISC K IONOFF | 
|---|
| 90 | ; | 
|---|
| 91 | PBX D KILL^XUSCLEAN | 
|---|
| 92 | PRINTX Q | 
|---|