1 | PSBOBL ;BIRMINGHAM/EFC-BAR CODE LABELS (ZEBRA SPECIFIC) ;Mar 2004
|
---|
2 | ;;3.0;BAR CODE MED ADMIN;;Mar 2004
|
---|
3 | ;
|
---|
4 | ; Reference/IA
|
---|
5 | ; File 50/221
|
---|
6 | ;
|
---|
7 | EN ;
|
---|
8 | N PSBIENS,PSBBAR,PSBDRUG,PSBQTY,PSBDOSE,PSBNAME,PSBWARD,PSBLOT
|
---|
9 | N PSBEXP,PSBMFG,PSBFCB,PSBSYM,PSBCNT,PSBANS,PSBORD
|
---|
10 | S PSBIENS=PSBRPT_","
|
---|
11 | S PSBBAR=$P($P($G(^PSB(53.69,PSBRPT,.3)),U,1),"~",2)
|
---|
12 | ;
|
---|
13 | S PSBPRE=$$GET^XPAR("DIV","PSB DEFAULT BARCODE PREFIX")
|
---|
14 | S:PSBPRE]"" PSBBAR=PSBPRE_$S(PSBPRE?1.N:"-",1:"")_PSBBAR
|
---|
15 | ;
|
---|
16 | S PSBDRUG=$$GET1^DIQ(53.69,PSBIENS,.31)
|
---|
17 | S PSBQTY=+$$GET1^DIQ(53.69,PSBIENS,.35)
|
---|
18 | S:PSBQTY PSBDRUG=PSBDRUG_" (Qty: "_PSBQTY_")"
|
---|
19 | S PSBDOSE=$$GET1^DIQ(53.69,PSBIENS,.39)
|
---|
20 | S PSBNAME=$$GET1^DIQ(53.69,PSBIENS,.12)
|
---|
21 | I PSBNAME]"" S PSBNAME=PSBNAME_" ("_$E($$GET1^DIQ(53.69,PSBIENS,.121),6,9)_")"
|
---|
22 | S PSBWARD=$$GET1^DIQ(53.69,PSBIENS,.122)
|
---|
23 | S PSBLOT=$$GET1^DIQ(53.69,PSBIENS,.32)
|
---|
24 | S PSBEXP=$$GET1^DIQ(53.69,PSBIENS,.33)
|
---|
25 | S PSBMFG=$$GET1^DIQ(53.69,PSBIENS,.34)
|
---|
26 | S PSBFCB=$$GET1^DIQ(53.69,PSBIENS,.36)_"/"_$$GET1^DIQ(53.69,PSBIENS,.37)
|
---|
27 | S PSBSYM=$$GET^XPAR("DIV","PSB DEFAULT BARCODE FORMAT",,"E")
|
---|
28 | F PSBCNT=1:1:+$P(PSBRPT(.3),U,8) D LABEL
|
---|
29 | Q
|
---|
30 | ;
|
---|
31 | LABEL ; Print the Label
|
---|
32 | W "^XA"
|
---|
33 | W !,"^LH0,0^FS"
|
---|
34 | W $$DATA(20,25,"Drug:")
|
---|
35 | W $$DATA(100,25,PSBDRUG)
|
---|
36 | I PSBDOSE]"" W $$DATA(20,60,"Dosage:") W $$DATA(100,60,PSBDOSE)
|
---|
37 | I PSBNAME]"" W $$DATA(350,60,PSBNAME)
|
---|
38 | I PSBWARD]"" W $$DATA(350,90,"Ward:") W $$DATA(400,90,PSBWARD)
|
---|
39 | I PSBLOT]"" W $$DATA(350,120,"Lot#:") W $$DATA(400,120,PSBLOT)
|
---|
40 | I PSBEXP]"" W $$DATA(500,120,"Exp:") W $$DATA(550,120,PSBEXP)
|
---|
41 | I PSBMFG]"" W $$DATA(350,150,"Mfg:") W $$DATA(400,150,PSBMFG)
|
---|
42 | W $$DATA(350,180,"Filled/Checked By:") W $$DATA(520,180,PSBFCB)
|
---|
43 | ;
|
---|
44 | ; Code 39
|
---|
45 | I PSBSYM="C39" W !,"^BY2,3.0^FO20,100^B3N,N,80,Y,N^FR^FD"_PSBBAR_"^FS"
|
---|
46 | ;
|
---|
47 | ; Code 128
|
---|
48 | I PSBSYM="128" W !,"^BY2,3.0^FO20,100^BCN,80,Y,N,N^FR^FD>:"_PSBBAR_"^FS"
|
---|
49 | ;
|
---|
50 | ; Code I 2 of 5
|
---|
51 | I PSBSYM="I25" W !,"^BY2,3.0^FO20,100^B2N,80,Y,N,N^FR^FD"_PSBBAR_"^FS"
|
---|
52 | ;
|
---|
53 | I PSBSYM="" W $$DATA(20,100,"PSB DEFAULT BARCODE FORMAT Undefined.")
|
---|
54 | ;
|
---|
55 | ; Close Label
|
---|
56 | W !,"^XZ",!
|
---|
57 | H 2
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | DATA(X,Y,TEXT) ; Code to place the data on the label
|
---|
61 | W !,"^FO"_X_","_Y_"^A0N,30,20^CI13^FR^FD"_TEXT_"^FS"
|
---|
62 | Q ""
|
---|
63 | ;
|
---|
64 | INPTR ;Input transform for DRUG field (#.31) in file 53.69.
|
---|
65 | K:$L(X)>40!($L(X)<1) X I $D(X) D
|
---|
66 | .S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
67 | .N DIC S DIC="^PSDRUG(",DIC(0)="EQNM",D="B^C^VAPN^VAC^NDC^XATC"
|
---|
68 | .S DIC("S")="I '$G(^PSDRUG(+Y,""I""))!($G(^(""I""))>DT),$P($G(^PSDRUG(+Y,2)),U,3)[""I""!($P($G(^PSDRUG(+Y,2)),U,3)[""U"")"
|
---|
69 | .D:+X'>0 MIX^DIC1
|
---|
70 | .D:+X>0 ^DIC
|
---|
71 | .S:+Y>0 X=$$GET1^DIQ(50,+Y_",",.01)_"~"_+Y K:+Y<1 X
|
---|
72 | Q
|
---|
73 | ;
|
---|