1 | PPPFMX ;ALB/DMB/DAD - FILEMAN UTILITIES FOR PPP ; 1/10/92
|
---|
2 | ;;1.0;PHARMACY PRESCRIPTION PRACTICE;**26,39**;APR 7,1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | SDFNPOV ;
|
---|
6 | N PPPDFN
|
---|
7 | ;S VAQFLAG=1
|
---|
8 | S PPPDFN=$P($G(^PPP(1020.2,DA,0)),"^",1)
|
---|
9 | Q:PPPDFN=""
|
---|
10 | S ^PPP(1020.2,"APOV",PPPDFN,X,DA)=""
|
---|
11 | S ^PPP(1020.2,"ARPOV",X,PPPDFN,DA)=""
|
---|
12 | Q
|
---|
13 | ;
|
---|
14 | KDFNPOV ;
|
---|
15 | N PPPDFN
|
---|
16 | S PPPDFN=$P($G(^PPP(1020.2,DA,0)),"^",1)
|
---|
17 | Q:PPPDFN=""
|
---|
18 | K:$D(^PPP(1020.2,"APOV",PPPDFN,X,DA)) ^PPP(1020.2,"APOV",PPPDFN,X,DA)
|
---|
19 | ;VMP OIFO BAY PINES;VGF;PPP*1*39
|
---|
20 | ;CORRECTED THE FOLLOWING KILL COMMAND
|
---|
21 | K:$D(^PPP(1020.2,"ARPOV",X,PPPDFN,DA)) ^PPP(1020.2,"ARPOV",X,PPPDFN,DA)
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | SDFNDT ;
|
---|
25 | N PPPDFN
|
---|
26 | S PPPDFN=$P($G(^PPP(1020.2,DA,0)),"^",1)
|
---|
27 | Q:PPPDFN=""
|
---|
28 | S ^PPP(1020.2,"ADT",PPPDFN,X,DA)=""
|
---|
29 | Q
|
---|
30 | ;
|
---|
31 | KDFNDT ;
|
---|
32 | N PPPDFN
|
---|
33 | S PPPDFN=$P($G(^PPP(1020.2,DA,0)),"^",1)
|
---|
34 | Q:PPPDFN=""
|
---|
35 | K:$D(^PPP(1020.2,"ADT",PPPDFN,X,DA)) ^PPP(1020.2,"ADT",PPPDFN,X,DA)
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | SNSSN ;
|
---|
39 | N PPPNOD0,PPPTR
|
---|
40 | N ZTRTN,ZTIO,ZTDTH,ZTDESC,ZTSAVE
|
---|
41 | ;
|
---|
42 | ; Check that this is either an edit or a new entry to avoid
|
---|
43 | ; setting during a re-index of the Patient file.
|
---|
44 | ; PPPOK is defined in the kill logic below if the new entry
|
---|
45 | ; does not equal the old.
|
---|
46 | ; DPTDFN is defined in the Patient Registration routines.
|
---|
47 | ;
|
---|
48 | I ($D(PPPOK))!($D(DPTDFN)) D
|
---|
49 | .S PPPNOD0=$G(^PPP(1020.7,0))
|
---|
50 | .Q:PPPNOD0=""
|
---|
51 | .;
|
---|
52 | .; Get the File Descriptor Node for updating.
|
---|
53 | .;
|
---|
54 | .S PPPTR=$P(PPPNOD0,"^",4)
|
---|
55 | .;
|
---|
56 | .; Set the entry and the "B" Xref
|
---|
57 | .;
|
---|
58 | .S ^PPP(1020.7,DA,0)=PPP
|
---|
59 | .S ^PPP(1020.7,"B",PPP,DA)=""
|
---|
60 | .;
|
---|
61 | .; Update the Descriptor node.
|
---|
62 | .;
|
---|
63 | .S $P(PPPNOD0,"^",3)=DA
|
---|
64 | .S $P(PPPNOD0,"^",4)=PPPTR+1
|
---|
65 | .S ^PPP(1020.7,0)=PPPNOD0
|
---|
66 | .;
|
---|
67 | .; Task out the MPD lookup.
|
---|
68 | .;PPP*1*26 Dave Blocker : Remove MPD access attempt
|
---|
69 | .;because the PPP BATCH job will do the MPD request each night.
|
---|
70 | .Q
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | KNSSN ;
|
---|
74 | N PPPNOD0
|
---|
75 | ;
|
---|
76 | ; Check that this is an edit and not a re-index.
|
---|
77 | ;
|
---|
78 | S X="I PPP'=$P($G(^"_"DPT("_DA_","_"0)),"_"""^"""_",9) S PPPERR=1" X X I $G(PPPERR)=1 K PPPERR D
|
---|
79 | .S PPPOK=1
|
---|
80 | .;
|
---|
81 | .; Check that the node currently exists, kill it if it does.
|
---|
82 | .;
|
---|
83 | .I $D(^PPP(1020.7,"B",PPP)) D
|
---|
84 | ..K:$D(^PPP(1020.7,DA)) ^PPP(1020.7,DA)
|
---|
85 | ..K:$D(^PPP(1020.7,"B",PPP,DA)) ^PPP(1020.7,"B",PPP,DA)
|
---|
86 | ..;
|
---|
87 | ..; If the record count is alredy 0 then quit.
|
---|
88 | ..;
|
---|
89 | ..S PPPNOD0=^PPP(1020.7,0)
|
---|
90 | ..Q:+$P(PPPNOD0,"^",4)=0
|
---|
91 | ..S $P(PPPNOD0,"^",4)=$P(PPPNOD0,"^",4)-1
|
---|
92 | ..S ^PPP(1020.7,0)=PPPNOD0
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | DOMAIN(IFN) ; Find domain name from institution number to stuff into #1.5.
|
---|
96 | ;
|
---|
97 | ; Get the station number from the institution file
|
---|
98 | ; to resolve domain
|
---|
99 | ;
|
---|
100 | ; Input: IFN -- Pointer to record in #1020.2
|
---|
101 | ; Output: Domain name in field #1.5
|
---|
102 | ;
|
---|
103 | ;VMP OIFO BAY PINES;VGF;PPP*1.0*39
|
---|
104 | N PPPINST,PPPIEN
|
---|
105 | S PPPINST=+$P($G(^PPP(1020.2,IFN,0)),"^",2)
|
---|
106 | S PPPIEN=$O(^PPP(1020.8,"B",PPPINST,0))
|
---|
107 | Q $$GET1^DIQ(1020.8,PPPIEN_",",.02)
|
---|
108 | ;
|
---|