1 | PSDUP2 ;BHM/DAV,JPW-IRL Program/Data Download Vault Inv. Pharm. ; 5 Oct 94
|
---|
2 | ;;3.0; CONTROLLED SUBSTANCES ;**3**;13 Feb 97
|
---|
3 | VAULT ;vault upload
|
---|
4 | I '$D(PSDSITE) D ^PSDSET Q:'$D(PSDSITE)
|
---|
5 | S OK=$S($D(^XUSEC("PSJ RPHARM",DUZ)):1,1:0)
|
---|
6 | I 'OK W $C(7),!!,?9,"** Please contact your Pharmacy Coordinator for access to",!,?12,"upload this data to the trakker.",!!,?12,"The PSJ RPHARM security key is required.",! K OK Q
|
---|
7 | ASKD ;ask disp location
|
---|
8 | S PSDS=$P(PSDSITE,U,3),PSDSN=$P(PSDSITE,U,4)
|
---|
9 | G:$P(PSDSITE,U,5) LOOP
|
---|
10 | W ! K DIC,DA S DIC=58.8,DIC(0)="QEAZ",DIC("S")="I $P(^(0),""^"",3)=+PSDSITE,$S($P(^(0),""^"",2)[""M"":1,$P(^(0),""^"",2)[""S"":1,1:0)",DIC("A")="Select Dispensing Site to Inventory: ",DIC("B")=$P(PSDSITE,U,4)
|
---|
11 | D ^DIC K DIC
|
---|
12 | I Y<0 W $C(7),!!,"No action taken!",!! G Q
|
---|
13 | S PSDS=+Y,PSDSN=$P(Y,"^",2),$P(PSDSITE,U,3)=+Y,$P(PSDSITE,U,4)=PSDSN
|
---|
14 | LOOP ;loop and set ^tmp for trakker
|
---|
15 | I $D(PSDTRAKU) Q
|
---|
16 | K ^TMP("PSDUP2",$J)
|
---|
17 | W !!,"Compiling inventory data...",!
|
---|
18 | F PSD=0:0 S PSD=$O(^PSD(58.8,+PSDS,1,PSD)) Q:'PSD I $D(^PSD(58.8,+PSDS,1,PSD,0)) S QTY=+$P($G(^(0)),"^",4) D
|
---|
19 | .S PSDN=$S($P($G(^PSDRUG(+PSD,0)),"^")]"":$P($G(^(0)),"^"),1:"UNKNOWN")
|
---|
20 | .S ^TMP("PSDUP2",$J,PSD)=PSDN_"^"_QTY
|
---|
21 | START ;begin
|
---|
22 | D ^%ZIS G Q:POP S PSDIO=IO,PSDIO(0)=IOST(0) U IO X:$D(^%ZIS(2,IOST(0),10)) ^(10)
|
---|
23 | W !,"/$",!,".$1",!,"$$",!,"I",!
|
---|
24 | K X,X1
|
---|
25 | 1 S X1=$S('$D(X1):$O(^PSD(58.88,1,1,0)),1:$O(^PSD(58.88,1,1,X1))) G 2:X1'>0 S X=$P(^PSD(58.88,1,1,X1,0),"::")
|
---|
26 | F Y=$L(X):-1:0 Q:$E(X,Y)'=" " S X=$E(X,1,(Y-1))
|
---|
27 | W X,! G 1
|
---|
28 | ;
|
---|
29 | 2 W !,"ER",!,"//",! X:$D(^%ZIS(2,IOST(0),11)) ^(11) H 3 W !,"Awaiting TRAKKER signal" F X=1:1 R XX:DTIME Q:XX="*" G NOSIGN:XX["^"!('$T)
|
---|
30 | U PSDIO X:$D(^%ZIS(2,PSDIO(0),10)) ^(10)
|
---|
31 | I XX="*" W "*"_+PSDS,!
|
---|
32 | K DATA
|
---|
33 | DATA S DATA="" F S DATA=$O(^TMP("PSDUP2",$J,DATA)) G QQ:DATA="" S DATA(1)=^TMP("PSDUP2",$J,DATA) W DATA,!,$P(DATA(1),U),!,$P(DATA(1),U,2),!
|
---|
34 | QQ W !,"END" X:$D(^%ZIS(2,PSDIO(0),11)) ^(11)
|
---|
35 | W !,"You can now disconnect the TRAKKER.",!! H 2
|
---|
36 | D ^%ZISC
|
---|
37 | G Q
|
---|
38 | UPLOAD ;upload data to DHCP
|
---|
39 | K CNT,DA,DATA,DIC,DIR,DIROUT,DIRUT,DTOUT,DUOUT,PSDS,PSDSN,X,X1,Y
|
---|
40 | S PSDTRAKU=1 D VAULT K PSDTRAKU
|
---|
41 | I '$G(PSDS) W !,"No vault identified." G Q
|
---|
42 | W !!,"Use the Send Data to DHCP option on the TRAKKER at this time.",!
|
---|
43 | K CNT,X,^TMP("PSDWN2",$J) S PSDCON=$C(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)
|
---|
44 | UP1 R !,X:DTIME S:X'="" CNT=$G(CNT)+1 G FIL:X["++++" I $G(CNT)=1 S:X'="" ^TMP("PSDWN2",$J,CNT,0)=$TR(X,PSDCON) G UP1
|
---|
45 | S:X'="" ^TMP("PSDWN2",$J,CNT,0)=$TR(X,PSDCON) G UP1
|
---|
46 | G UP1
|
---|
47 | FIL I $D(^TMP("PSDWN2",$J)) G ^PSDFIL2
|
---|
48 | Q K CNT,DA,DATA,DIC,DTOUT,DUOUT,OK,POP,PSD,PSDCON,PSDIO,PSDN,PSDS,PSDSN,PROG,QTY,X,X1,XX,Y
|
---|
49 | K ^TMP("PSDUP2",$J)
|
---|
50 | Q
|
---|
51 | NOSIGN W $C(7),$C(7),!!,"No signal received from the TRAKKER",! D ^%ZISC G Q
|
---|