1 | PPPFMA1 ;ALB/DMB - FOREIGN MEDICATION ALERT TEST ROUTINE ; 3/2/92
|
---|
2 | ;;V1.0;PHARMACY PRESCRIPTION PRACTICE;;APR 7,1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | FMA(PATDFN) ; Foreign Medication Alert Call
|
---|
6 | ;
|
---|
7 | I $$DFL^PPPDSP2(PATDFN,"PPPPDX") K PPPPDX Q $$FMA1(PATDFN)
|
---|
8 | Q 0
|
---|
9 | ;
|
---|
10 | FMA1(PATDFN) ; Foreign Medication Alert
|
---|
11 | ;
|
---|
12 | ; This function determines if the patient has been to other hospitals
|
---|
13 | ; and whether there is any prescription information in the PDX
|
---|
14 | ; data file for the patient. If there is data, the user is given the
|
---|
15 | ; option of viewing it.
|
---|
16 | ;
|
---|
17 | ; Parameters: PATDFN - The patient DFN from the patient file.
|
---|
18 | ;
|
---|
19 | ; Return: 0 - Normal Termination
|
---|
20 | ; -9001 - Input Parameter Format Error
|
---|
21 | ; -9003 - Invalid Patient DFN
|
---|
22 | ;
|
---|
23 | N DIR,DUOUT,DTOUT,DIRUT,DIROUT,ERR,LKUPERR,PARMERR
|
---|
24 | N TMP,PPPPDX,XTRCTERR,X,Y,ALRTIGND
|
---|
25 | ;
|
---|
26 | ; Note: ^TMP("PPP",$J) is killed in PPPPRT1
|
---|
27 | ;
|
---|
28 | S PARMERR=-9001
|
---|
29 | S LKUPERR=-9003
|
---|
30 | S XTRCTERR=-9010
|
---|
31 | S ALRTIGND=1010
|
---|
32 | S ERR=0
|
---|
33 | ;
|
---|
34 | I $G(PATDFN)<1 Q PARMERR
|
---|
35 | I '$D(^DPT(PATDFN)) Q LKUPERR
|
---|
36 | ;
|
---|
37 | I $D(^PPP(1020.2,"B",PATDFN)) D
|
---|
38 | .S ERR=$$DFL^PPPDSP2(PATDFN,"PPPPDX","V")
|
---|
39 | .I ERR=1 D
|
---|
40 | ..;
|
---|
41 | ..;Increment alert issued statistic
|
---|
42 | ..;
|
---|
43 | ..S TMP=$$STATUPDT^PPPMSC1(3,1)
|
---|
44 | ..W !
|
---|
45 | ..S DIR(0)="Y"
|
---|
46 | ..S DIR("A")="Do you wish to view the foreign profiles"
|
---|
47 | ..S DIR("B")="YES"
|
---|
48 | ..S DIR("?")="Answer YES to view the short form drug profiles from each facility."
|
---|
49 | ..D ^DIR
|
---|
50 | ..I Y D
|
---|
51 | ...;
|
---|
52 | ...; Get the PDX data and display it for the user
|
---|
53 | ...;
|
---|
54 | ...S ERR=$$GETPDX^PPPGET2("PPPPDX","^TMP(""PPP"","_$J_")")
|
---|
55 | ...I ERR<0 D Q
|
---|
56 | ....W !,*7,"An unexpected error occurred while extracting the PDX data."
|
---|
57 | ....W !,"Please contact your IRM representative and report this problem."
|
---|
58 | ....R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
59 | ....S TMP=$$LOGEVNT^PPPMSC1(XTRCTERR,"FMA1_PPPFMA1")
|
---|
60 | ...S TMP=$$VFM^PPPPRT1(PATDFN,"^TMP(""PPP"","_$J_")")
|
---|
61 | ...S TMP=$$STATUPDT^PPPMSC1(9,1)
|
---|
62 | ..E D
|
---|
63 | ...S TMP=$$LOGEVNT^PPPMSC1(ALRTIGND,"FMA1_PPPFMA1","PATIENT = "_$$GETPATNM^PPPGET1(PATDFN))
|
---|
64 | ...S TMP=$$STATUPDT^PPPMSC1(4,1)
|
---|
65 | E S ERR=LKUPERR
|
---|
66 | Q ERR
|
---|
67 | ;
|
---|
68 | FMAI ; Get foreign visit information interactively
|
---|
69 | ;
|
---|
70 | N TMP
|
---|
71 | ;
|
---|
72 | W @IOF
|
---|
73 | S TMP=$$FMA1(+$$GETDFN^PPPGET1("",1))
|
---|
74 | I TMP<1 D
|
---|
75 | .W !,*7,"There is no foreign visit information available for this patient."
|
---|
76 | .R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
77 | W @IOF
|
---|
78 | Q
|
---|