1 | PSAPSI5 ;BIR/LTL,JMB-Nightly Background Job - CONT'D ;7/23/97
|
---|
2 | ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**14,25**; 10/24/97
|
---|
3 | ;This routine gathers IV and unit dose dispensing data.
|
---|
4 | ;
|
---|
5 | ;References to ^PS(50.8 are covered by IA 771 (#771)
|
---|
6 | ;Reference to ^PS(57.6 are covered by IA #772
|
---|
7 | ;
|
---|
8 | SOL S PSAW=PSADT(3),PSADRUG(3)=$O(^PS(50.8,+PSAIV,2,+PSADT(4),2,"AC",52.7,+PSADRUG(2),0))
|
---|
9 | F S PSAW=$O(^PS(50.8,+PSAIV,2,+PSADT(4),2,+PSADRUG(3),3,PSAW)) Q:'PSAW S PSAW(1)=PSAW D:$O(^PSD(58.8,"AB",PSAW,0))=PSALOC
|
---|
10 | .S PSAQ=$G(PSAQ)+$P($G(^PS(50.8,+PSAIV,2,+PSADT(4),2,+PSADRUG(3),3,PSAW,0)),"^",2)-$P($G(^(0)),"^",5)
|
---|
11 | S:PSAQ ^TMP("PSA",$J,+PSADRUG,PSADT(4))=$G(^TMP("PSA",$J,+PSADRUG,PSADT(4)))+PSAQ S (PSAQ,PSAW)=0
|
---|
12 | Q
|
---|
13 | EN ; Entry point Unit Dose dispensing, returns, extras, & pre-exchange
|
---|
14 | Q ;DAVE B (PSA*3*25)
|
---|
15 | S X1=DT,X2=1 D C^%DTC S ^XTMP("PSAPL",0)=X
|
---|
16 | G:$G(PSGRTN)="PSGPLF" PICKLST
|
---|
17 | ;
|
---|
18 | ;Call must have came from PSGAMSA then, instead of PSGPLF
|
---|
19 | I $D(PSGY) S PSAQTY=PSGY
|
---|
20 | ;drug stocked in Drug Acct Location?
|
---|
21 | G:'+PSGDRG!('$D(^PSD(58.8,"C",+PSGDRG))) EXIT
|
---|
22 | G:'$D(PSGWARD) EXIT
|
---|
23 | ;DAVE B (PSA*3*14) Check for more than one pharmacy location
|
---|
24 | ;associated with the Ward
|
---|
25 | S PSALOC1=""
|
---|
26 | 1 S PSALOC1=$O(^PSD(58.8,"AB",PSGWARD,PSALOC1)) I PSALOC1="" G EXIT
|
---|
27 | I 'PSALOC1!('$D(^PSD(58.8,"ADISP","P",+PSALOC1)))!('+$P($G(^PSD(58.8,+PSALOC1,0)),"^",3)) G 1
|
---|
28 | I +$G(^PSD(58.8,+PSALOC1,"I")),+^PSD(58.8,+PSALOC1,"I")'>DT G 1
|
---|
29 | S PSAIPST=+$P($G(^PSD(58.8,PSALOC1,0)),"^",3)
|
---|
30 | D NOW^%DTC
|
---|
31 | S ^XTMP("PSAPL",+PSAIPST,+PSGDRG,+$S($D(PSGPLFDT):PSGPLFDT,1:$P(%,".")))=$G(^XTMP("PSAPL",+PSAIPST,+PSGDRG,+$S($D(PSGPLFDT):PSGPLFDT,1:$P(%,"."))))+$G(PSAQTY)
|
---|
32 | EXIT K PSGBK,PSADA,PSGRTN,PSALOC1,PSAQTY
|
---|
33 | Q
|
---|
34 | PICKLST ;Pick List dispensing and returns.
|
---|
35 | I '+D3!('$D(^PSD(58.8,"C",D3))) G EXIT
|
---|
36 | S PSAQTY=$P($G(^PS(57.6,D0,1,D1,1,D2,1,D3,0)),"^",2)
|
---|
37 | S PSALOC1=""
|
---|
38 | 2 S PSALOC1=$O(^PSD(58.8,"AB",D1,PSALOC1)) I PSALOC1="" G EXIT
|
---|
39 | I 'PSALOC1!('$D(^PSD(58.8,"ADISP","P",+PSALOC1)))!('+$P($G(^PSD(58.8,+PSALOC1,0)),"^",3)) G 2
|
---|
40 | I +$G(^PSD(58.8,+PSALOC1,"I")) G 2
|
---|
41 | S PSAIPST=+$P($G(^PSD(58.8,PSALOC1,0)),"^",3)
|
---|
42 | S ^XTMP("PSAPL",+PSAIPST,+D3,+D0)=$G(^XTMP("PSAPL",+PSAIPST,+D3,+D0))+$G(PSAQTY)
|
---|
43 | Q
|
---|