1 | PPPEDT14 ;ALB/JFP - EDIT FF XREF ROUTINE ;5/19/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 | ; These routines control the adding of foreign facility
|
---|
6 | ; data to the FFX file (Add Entry).
|
---|
7 | ;
|
---|
8 | ADD ; -- Adds new entry to FFX file
|
---|
9 | ;
|
---|
10 | N SNIFN,STATION,STANO,ERR,NEWENTRY,PATNAME,LOCKERR,STANAME
|
---|
11 | ;
|
---|
12 | S LOCKERR=-9004
|
---|
13 | S NEWENTRY=1001
|
---|
14 | ;
|
---|
15 | I $P(XQORNOD(0),"^",4)["=" D
|
---|
16 | . W !," - Add Entry action doesn't allow for numeric selection..."
|
---|
17 | ADD1 S SNIFN=$$GETINST^PPPGET3()
|
---|
18 | I SNIFN<0 S VALMBCK="R" Q
|
---|
19 | S STATION=$$GETSNIFN^PPPGET3(SNIFN,1)
|
---|
20 | S SNIFN=$P(STATION,"^")
|
---|
21 | I SNIFN=-1001 Q ; -- user abort
|
---|
22 | I SNIFN<0 D G ADD1
|
---|
23 | .W ?35,"...No entry found"
|
---|
24 | S STANAME=$P(STATION,"^",2)
|
---|
25 | S STANO=$$GETSTANO^PPPGET1(SNIFN)
|
---|
26 | ;
|
---|
27 | D PATDATA(PATDFN) S PATNAME=$G(PPPTMP(2,PATDFN,.01)) K PPPTMP
|
---|
28 | S ERR=$$NEWFFX(PATDFN,SNIFN,1)
|
---|
29 | I ERR=-1001 D Q
|
---|
30 | .N DIK,DA
|
---|
31 | .S DIK="^PPP(1020.2,"
|
---|
32 | .S DA=FFIFN
|
---|
33 | .D ^DIK
|
---|
34 | ;
|
---|
35 | I ERR<0 D Q
|
---|
36 | .W !,*7,"An unexpected error occurred"
|
---|
37 | .S TMP=$$STATUPDT^PPPMSC1(5,1)
|
---|
38 | .S TMP=$$LOGEVNT^PPPMSC1(ERR,"ADD_PPPEDT14",PATNAME)
|
---|
39 | .R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
40 | ;
|
---|
41 | I ERR=LOCKERR D
|
---|
42 | .W !,"File in use. Please try again later."
|
---|
43 | .R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
44 | E D
|
---|
45 | .S TMP=$$LOGEVNT^PPPMSC1(NEWENTRY,"ADD_PPPEDT14",PATNAME_", "_STANO)
|
---|
46 | .;W !,"New entry added."
|
---|
47 | .;R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
48 | D INIT^PPPEDT12
|
---|
49 | S VALMBCK="R"
|
---|
50 | K FFIFN
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | NEWFFX(PATDFN,SNIFN,SRC) ; Create a new FFX entry
|
---|
54 | ;
|
---|
55 | N PARMERR,FINDERR,LOCLERR,DIC,X,Y,TMP,ERR,DTOUT,DUOUT
|
---|
56 | ;
|
---|
57 | S PARMERR=-9001
|
---|
58 | S FINDERR=-9003
|
---|
59 | S LOCKERR=-9004
|
---|
60 | S ERR=0
|
---|
61 | ;
|
---|
62 | ; Check Input Parameters
|
---|
63 | ;
|
---|
64 | I '$D(PATDFN) Q PARMERR
|
---|
65 | I '$D(SNIFN) Q PARMERR
|
---|
66 | I '$D(SRC) Q PARMERR
|
---|
67 | I SRC<0!(SRC>1) Q PARMERR
|
---|
68 | ;
|
---|
69 | ; Set up FileMan For New Entry
|
---|
70 | ;
|
---|
71 | S DIC="^PPP(1020.2,"
|
---|
72 | S DIC(0)=""
|
---|
73 | S X=PATDFN
|
---|
74 | S DIC("DR")="1////"_SNIFN_";7////"_SRC
|
---|
75 | L +(^PPP(1020.2)):5
|
---|
76 | I '$T D
|
---|
77 | .S ERR=LOCKERR
|
---|
78 | E D
|
---|
79 | .K DD,DO D FILE^DICN
|
---|
80 | .L -(^PPP(1020.2)):5
|
---|
81 | ;
|
---|
82 | ; If the entry was added successfully, add the remaining fields
|
---|
83 | ;
|
---|
84 | I 'ERR D
|
---|
85 | .I $P(Y,"^",3)=1 D
|
---|
86 | ..S FFIFN=$P(Y,"^",1)
|
---|
87 | ..S TMP=$$EDTFFX^PPPEDT1(FFIFN)
|
---|
88 | ..I TMP<0 S ERR=TMP
|
---|
89 | .E S ERR=FINDERR
|
---|
90 | Q ERR
|
---|
91 | ;
|
---|
92 | PATDATA(PATDFN) ; Pulls data from patient file
|
---|
93 | ;
|
---|
94 | ; Note: Calling routine must kill PPPTMP
|
---|
95 | ;
|
---|
96 | N DIC,DA,DR,DIQ,DUOUT,DTOUT
|
---|
97 | ;
|
---|
98 | S DIC="^DPT(",DA=PATDFN,DR=".01",DIQ="PPPTMP" D EN^DIQ1
|
---|
99 | Q
|
---|
100 | ;
|
---|