1 | PSOTPCUL ;BIR/RTR-Utility Routine for TBP Project ;08/09/03
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**145,160**;DEC 1997
|
---|
3 | ;
|
---|
4 | EN(PSOTRXN) ;CPRS call to determine if an RX is a TPB Rx
|
---|
5 | ;PSOTRXN = internal Rx number
|
---|
6 | ;OUTPUT = 1 for TBP Rx, 0 for non-TPB Rx
|
---|
7 | Q:'$G(PSOTRXN) 0
|
---|
8 | Q $S($P($G(^PSRX(PSOTRXN,"TPB")),"^"):1,1:0)
|
---|
9 | ;
|
---|
10 | ACTRX(DFN,TPB) ; Checks if Patient has at least one Active Rx on File
|
---|
11 | ; Input: DFN: Patient IEN (#2)
|
---|
12 | ; TPB: 0 - Looks for active VA prescriptions only (Default)
|
---|
13 | ; 1 - Looks for active TPB prescriptions only
|
---|
14 | ; 2 - Looks for active VA or TPB prescriptions
|
---|
15 | ;Output: 1 - Active Rx found / 0 - None found
|
---|
16 | ;
|
---|
17 | N SEQ,ACTRX,EXPDT
|
---|
18 | I '$G(DFN) Q 0
|
---|
19 | S TPB=+$G(TPB),(SEQ,ACTRX)=0
|
---|
20 | F S SEQ=$O(^PS(55,DFN,"P",SEQ)) Q:'SEQ D I ACTRX Q
|
---|
21 | . S RX=$G(^PS(55,DFN,"P",SEQ,0)),TPBRX=+$G(^PSRX(RX,"TPB"))
|
---|
22 | . I '$$ACTIVE(RX) Q
|
---|
23 | . I TPB=2 S ACTRX=1 Q
|
---|
24 | . I TPB=1,TPBRX S ACTRX=1 Q
|
---|
25 | . I TPB=0,'TPBRX S ACTRX=1 Q
|
---|
26 | ;
|
---|
27 | Q ACTRX
|
---|
28 | ;
|
---|
29 | ACTIVE(RX) ; Checks if Rx is Active or not
|
---|
30 | N RXSTS,TPBRX,EXPDT
|
---|
31 | S RXSTS=+$G(^PSRX(RX,"STA")) I RXSTS>9,(RXSTS'=16) Q 0
|
---|
32 | S EXPDT=$P($G(^PSRX(RX,2)),"^",6) I EXPDT,EXPDT<DT Q 0
|
---|
33 | Q 1
|
---|
34 | ;
|
---|
35 | TPBSC(LOC) ; Checks if Location Stop Code is from TPB Clinic
|
---|
36 | ;
|
---|
37 | N I,J,Z0,C1,C2,CODE
|
---|
38 | F I=322,323,350 F J="000",185,186,187 S CODE(I_J)=""
|
---|
39 | S Z0=$G(^SC(+LOC,0)) I Z0="" Q 0
|
---|
40 | S C1=$P($G(^DIC(40.7,+$P(Z0,U,7),0)),U,2)
|
---|
41 | S C2=$P($G(^DIC(40.7,+$P(Z0,U,18),0)),U,2)
|
---|
42 | S C1=$E(C1_"000",1,3),C2=$E(C2_"000",1,3)
|
---|
43 | I $D(CODE(C1_C2)) Q 1
|
---|
44 | Q 0
|
---|
45 | ;
|
---|
46 | SXMY(GRP) ; Set XMY array with users from Mail Group GRP
|
---|
47 | N GRPIEN,MBRIEN,CDRIEN
|
---|
48 | ;
|
---|
49 | I $G(GRP)="" Q
|
---|
50 | S GRPIEN=$O(^XMB(3.8,"B",GRP,"")) I 'GRPIEN Q
|
---|
51 | S CDRIEN=$$GET1^DIQ(3.8,GRPIEN,5.1,"I")
|
---|
52 | K XMY S MBRIEN="" I CDRIEN'="" S XMY(CDRIEN)=""
|
---|
53 | F S MBRIEN=$O(^XMB(3.8,GRPIEN,1,"B",MBRIEN)) Q:'MBRIEN D
|
---|
54 | . S XMY(MBRIEN)=""
|
---|
55 | Q
|
---|