| 1 | PSOTALK3 ;BIR/EJW - SCRIPTALK UTILITIES ;02 Oct 2003  7:31 AM
 | 
|---|
| 2 |  ;;7.0;OUTPATIENT PHARMACY;**135,200,268**;DEC 1997;Build 9
 | 
|---|
| 3 |  ;External reference to ^PS(59.7 controlled subscription by DBIA 694
 | 
|---|
| 4 | TTRANS ;RE-INITIALIZE SCRIPTALK PRINTER
 | 
|---|
| 5 |  D:'$D(PSOPAR) ^PSOLSET I '$D(PSOPAR) W $C(7),!!,"Pharmacy Division Must be Selected!",! Q
 | 
|---|
| 6 |  S ZTIO="`"_$P($G(^PS(59,PSOSITE,"STALK")),U)
 | 
|---|
| 7 |  I ZTIO="`" W !,"No ScripTalk printer defined for division." Q
 | 
|---|
| 8 |  S ZTDTH=$$NOW^XLFDT,ZTDESC="Scriptalk Printer Re-initialize"
 | 
|---|
| 9 |  S ZTRTN="TINIT^PSOTALK3",ZTSAVE("*")=""
 | 
|---|
| 10 |  D ^%ZTLOAD K ZTDTH,ZTRTN,ZTIO,ZTDESC
 | 
|---|
| 11 |  W:$D(ZTSK)&('$D(ZTQUEUED)) !!,"Task Queued !",!
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | TINIT ;
 | 
|---|
| 15 |  W !,"^XA ^MD30 ^XZ"
 | 
|---|
| 16 |  W !,"^XA ^MD30 ^XZ"
 | 
|---|
| 17 |  W !,"^XA ~SD30 ^XZ"
 | 
|---|
| 18 |  W !,"^XA ^MFF,F ^XZ"
 | 
|---|
| 19 |  W !,"^XA ^LT20 ^XZ"
 | 
|---|
| 20 |  W !,"^XA ^MTT ^XZ"
 | 
|---|
| 21 |  W !,"^XA ^JUS ^XZ"
 | 
|---|
| 22 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 | TEST ;
 | 
|---|
| 26 |  I $G(PSOTEST)?."?" R !,"Enter a Zebra Print Language test command to be sent",!,"to the ScripTalk printer: ",PSOTEST:DTIME
 | 
|---|
| 27 |  I $G(PSOTEST)="" Q
 | 
|---|
| 28 |  D:'$D(PSOPAR) ^PSOLSET I '$D(PSOPAR) W $C(7),!!,"Pharmacy Division Must be Selected!",! Q
 | 
|---|
| 29 |  S ZTIO="`"_$P($G(^PS(59,PSOSITE,"STALK")),U),ZTDTH=$$NOW^XLFDT,ZTDESC="Scriptalk Interface Test"
 | 
|---|
| 30 |  I ZTIO="`" W !,"No ScripTalk printer defined for division." Q
 | 
|---|
| 31 |  S ZTRTN="TPUT^PSOTALK3",ZTSAVE("*")=""
 | 
|---|
| 32 |  D ^%ZTLOAD K ZTDTH,ZTRTN,ZTIO,ZTDESC
 | 
|---|
| 33 |  W:$D(ZTSK)&('$D(ZTQUEUED)) !!,"Task Queued !",!
 | 
|---|
| 34 |  K PSOTEST
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 | TPUT ;SET VARIABLE 'PSOTEST' TO OUTPUT STRING
 | 
|---|
| 37 |  W !,PSOTEST
 | 
|---|
| 38 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | TESTLAB ;
 | 
|---|
| 42 |  D:'$D(PSOPAR) ^PSOLSET I '$D(PSOPAR) W $C(7),!!,"Pharmacy Division Must be Selected!",! Q
 | 
|---|
| 43 |  S ZTIO="`"_$P($G(^PS(59,PSOSITE,"STALK")),U),ZTDTH=$$NOW^XLFDT,ZTDESC="Scriptalk Sample Label"
 | 
|---|
| 44 |  I ZTIO="`" W !,"No ScripTalk printer defined for division." Q
 | 
|---|
| 45 |  S ZTRTN="TLABEL^PSOTALK3",ZTSAVE("*")=""
 | 
|---|
| 46 |  W !,"The following test data will be sent to the ScripTalk printer:",! D TLABEL W !
 | 
|---|
| 47 |  D ^%ZTLOAD K ZTDTH,ZTRTN,ZTIO,ZTDESC
 | 
|---|
| 48 |  W:$D(ZTSK)&('$D(ZTQUEUED)) !!,"Task Queued !",!
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | TLABEL ;
 | 
|---|
| 51 |  W !,"^XA"
 | 
|---|
| 52 |  W !,"^FO250,700^XGE:RX.GRF^FS"
 | 
|---|
| 53 |  W !,"^FO250,700^XGE:RX.GRF^FS"
 | 
|---|
| 54 |  W !,"^AFR,20,10^FO531,50^FR^CI0^FD7305 N. MILITARY TRL  Exp: January 01,2002^FS"
 | 
|---|
| 55 |  W !,"^AFR,20,10^FO503,50^FR^CI0^FDRX#82382787 January 01,2001  Fill 01 OF 01^FS"
 | 
|---|
| 56 |  W !,"^AFR,20,10^FO475,50^FR^CI0^FDJOE VETERAN^FS"
 | 
|---|
| 57 |  W !,"^AFR,20,10^FO447,50^FR^CI0^FDTAKE 1 CAPSULE THREE TIMES DAILY^FS"
 | 
|---|
| 58 |  W !,"^AFR,20,10^FO419,50^FR^CI0^FD^FS"
 | 
|---|
| 59 |  W !,"^AFR,20,10^FO391,50^FR^CI0^FD^FS"
 | 
|---|
| 60 |  W !,"^AFR,20,10^FO363,50^FR^CI0^FD^FS"
 | 
|---|
| 61 |  W !,"^AFR,20,10^FO335,50^FR^CI0^FDDr. BEN CASEY MD^FS"
 | 
|---|
| 62 |  W !,"^AFR,20,10^FO279,50^FR^CI0^FDQTY: 24 TABS^FS"
 | 
|---|
| 63 |  W !,"^AFR,20,10^FO251,50^FR^CI0^FDAMOXICILLIN 500MG CAP^FS"
 | 
|---|
| 64 |  W !,"^RX01,JOE VETERAN^FS"
 | 
|---|
| 65 |  W !,"^RX02,AMOXICILLIN 500MG CAP^FS"
 | 
|---|
| 66 |  W !,"^RX03,TAKE 1 CAPSULE THREE TIMES DAILY ^FS"
 | 
|---|
| 67 |  W !,"^RX04,010101^FS"
 | 
|---|
| 68 |  W !,"^RX05,00^FS"
 | 
|---|
| 69 |  W !,"^RX06,020000^FS"
 | 
|---|
| 70 |  W !,"^RX07,BEN CASEY^FS"
 | 
|---|
| 71 |  W !,"^RX08,2928993888^FS"
 | 
|---|
| 72 |  W !,"^RX09,82382787^FS"
 | 
|---|
| 73 |  W !,"^RX10, ^FS"
 | 
|---|
| 74 |  W !,"^PQ1,0,1,Y"
 | 
|---|
| 75 |  W !,"^XZ"
 | 
|---|
| 76 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | STDEV ;Define ScripTalk printer for a Division or map another print device to the ScripTalk Printer
 | 
|---|
| 80 |  N PSOSITE,PSOTYPE
 | 
|---|
| 81 | STDEV1 ;
 | 
|---|
| 82 |  W !!!
 | 
|---|
| 83 |  K DIC,DIR,DIE,DA,DR
 | 
|---|
| 84 |  S DIR(0)="SBO^D:Division;P:Printer",DIR("A")="Define ScripTalk Printer by (D)ivision or (P)rinter mapping?"
 | 
|---|
| 85 |  S DIR("?")=" "
 | 
|---|
| 86 |  S DIR("?",1)="Enter D to define ScripTalk printer by Division or enter P to tie a ScripTalk"
 | 
|---|
| 87 |  S DIR("?",2)="printer to regular Pharmacy label printer(s) to control where the ScripTalk"
 | 
|---|
| 88 |  S DIR("?",3)="labels print for multi-divisions."
 | 
|---|
| 89 |  S PSOSITE=""
 | 
|---|
| 90 |  D ^DIR G:$D(DIRUT)!(Y<0) STDEVQ S PSOTYPE=Y
 | 
|---|
| 91 |  D STDEVM:PSOTYPE="P"
 | 
|---|
| 92 |  D STDEVD:PSOTYPE="D"
 | 
|---|
| 93 |  G STDEV1
 | 
|---|
| 94 | STDEVQ ;
 | 
|---|
| 95 |  K DIC,DIR,DIE,DA,DR,DIRUT,Y
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 |  ;
 | 
|---|
| 98 | STDEVD ;Define ScripTalk device by division
 | 
|---|
| 99 |  W ! S DIC("A")="Division: ",DIC=59,DIC(0)="AEMQ"
 | 
|---|
| 100 |  S:$G(PSOVEX)'=1 DIC("S")="I $S('$D(^PS(59,+Y,""I"")):1,'^(""I""):1,DT'>^(""I""):1,1:0)"
 | 
|---|
| 101 |  D ^DIC K DIC Q:$D(DIRUT)!(Y<0)
 | 
|---|
| 102 |  Q:+Y<0
 | 
|---|
| 103 |  S PSOSITE=+Y
 | 
|---|
| 104 |  S DIE="^PS(59,",DA=PSOSITE,DR="107;107.1" D ^DIE
 | 
|---|
| 105 |  Q
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | STDEVM ;Map a printer to a ScripTalk printer
 | 
|---|
| 108 |  S DIE="^PS(59.7,",DA=1,DR="47" L +^PS(59.7,1,47):$S(+$G(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3) D  I $T D ^DIE L -^PS(59.7,1,47)
 | 
|---|
| 109 |  . I '$T W !?5,"Another user is editing this entry."
 | 
|---|
| 110 |  Q
 | 
|---|
| 111 |  ;
 | 
|---|