1 | FBRXFED ;WOIFO/SAB-FPPS DATA EDIT PHARMACY INVOICE ;8/12/2003
|
---|
2 | ;;3.5;FEE BASIS;**61**;JAN 30, 1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | I '$D(^XUSEC("FBAASUPERVISOR",DUZ)) D Q
|
---|
6 | . W $C(7),!,"You must hold the FBAASUPERVISOR security key to use this option!"
|
---|
7 | ;
|
---|
8 | S FBAAOUT=0
|
---|
9 | F D INVED Q:FBAAOUT
|
---|
10 | D CLEAN
|
---|
11 | Q
|
---|
12 | ;
|
---|
13 | INVED ; Invoice Edit
|
---|
14 | ;
|
---|
15 | ASKINV ; Select Invoice to Edit
|
---|
16 | W ! S DIC="^FBAA(162.1,",DIC(0)="AEQM",DIC("A")="Select Invoice #: "
|
---|
17 | ; screen on invoices with completed status and EDI
|
---|
18 | S DIC("S")="I $P(^(0),U,5)=4&($P(^(0),U,13)]"""")"
|
---|
19 | D ^DIC K DIC I Y'>0 S FBAAOUT=1 Q
|
---|
20 | S FBDA=+Y
|
---|
21 | ;
|
---|
22 | I $$CKFPPS^FBFHLL(FBDA)'=1 D G ASKINV
|
---|
23 | . W !?5,"Invoice ",FBDA," has not been transmitted to FPPS."
|
---|
24 | ;
|
---|
25 | ; save FPPS Claim ID data prior to edit session
|
---|
26 | S (FBFPPSC,FBFPPSC(0))=$P($G(^FBAA(162.1,FBDA,0)),U,13)
|
---|
27 | S FBINVCHG=0 ; initialize invoice changed flag
|
---|
28 | ;
|
---|
29 | EDITFC ; edit FPPS CLAIM ID
|
---|
30 | S FBX=$$FPPSC^FBUTL5(1,FBFPPSC)
|
---|
31 | I FBX=-1 S FBAAOUT=1 G INVEDX
|
---|
32 | ; need to verify if following restriction is appropriate
|
---|
33 | I FBX="" D G EDITFC
|
---|
34 | . W !,$C(7),"Can not change EDI from YES to NO on invoice that has been sent to FPPS!"
|
---|
35 | S FBFPPSC=FBX
|
---|
36 | ;
|
---|
37 | ; if FPPS CLAIM ID changed, then update file, audit log, and Rx's
|
---|
38 | I FBFPPSC'=FBFPPSC(0) D
|
---|
39 | . ; set invoice changed flag
|
---|
40 | . S FBINVCHG=1
|
---|
41 | . ;
|
---|
42 | . ; file data in 162.1
|
---|
43 | . K FBFDA
|
---|
44 | . S FBFDA(162.1,FBDA_",",13)=$S(FBFPPSC="":"@",1:FBFPPSC)
|
---|
45 | . I $D(FBFDA) D FILE^DIE("","FBFDA") D MSG^DIALOG()
|
---|
46 | . ;
|
---|
47 | . ; add record to audit log
|
---|
48 | . K FBFDA
|
---|
49 | . S FBFDA(163.7,"+1,",.01)=FBDA ; invoice number
|
---|
50 | . S FBFDA(163.7,"+1,",1)=$$NOW^XLFDT() ; date/time changed
|
---|
51 | . S FBFDA(163.7,"+1,",2)=162.1 ; file #
|
---|
52 | . S FBFDA(163.7,"+1,",3)=FBDA_"," ; iens
|
---|
53 | . S FBFDA(163.7,"+1,",4)=13 ; field #
|
---|
54 | . S FBFDA(163.7,"+1,",5)=FBFPPSC(0) ; old value
|
---|
55 | . S FBFDA(163.7,"+1,",6)=FBFPPSC ; new value
|
---|
56 | . S FBFDA(163.7,"+1,",7)=DUZ ; user
|
---|
57 | . I $D(FBFDA) D UPDATE^DIE("","FBFDA") D MSG^DIALOG()
|
---|
58 | . ;
|
---|
59 | . ; update Rx's (would only apply if EDI status can change)
|
---|
60 | . D CKINVEDI^FBAAEPI1(FBFPPSC(0),FBFPPSC,FBDA)
|
---|
61 | ;
|
---|
62 | ASKRX ; Select Prescription to Edit
|
---|
63 | W !
|
---|
64 | S DIC="^FBAA(162.1,"_FBDA_",""RX"",",DIC(0)="AEQM"
|
---|
65 | S DIC("W")="W ?30,""DATE RX FILLED: "",$E($P(^(0),U,3),4,5)_""/""_$E($P(^(0),U,3),6,7)_""/""_$E($P(^(0),U,3),2,3)"
|
---|
66 | D ^DIC I $D(DUOUT) S FBAAOUT=1 G INVEDX
|
---|
67 | I Y'>0 D G:$D(DIRUT)!(Y=1) INVEDX G ASKRX
|
---|
68 | . S DIR(0)="Y"
|
---|
69 | . S DIR("A")="Are you finished editing prescriptions on invoice "_FBDA
|
---|
70 | . D ^DIR K DIR I $D(DIRUT) S FBAAOUT=1
|
---|
71 | S FBRXDA=+Y
|
---|
72 | ;
|
---|
73 | ; get current value of FPPS LINE ITEM to use as default
|
---|
74 | S (FBFPPSL(0),FBFPPSL)=$P($G(^FBAA(162.1,FBDA,"RX",FBRXDA,3)),U)
|
---|
75 | ;
|
---|
76 | EDITFL ; edit FPPS Line Item
|
---|
77 | S FBX=$$FPPSL^FBUTL5(FBFPPSL)
|
---|
78 | I FBX=-1 S FBAAOUT=1 G INVEDX
|
---|
79 | ; need to verify if following restriction is appropriate
|
---|
80 | S FBFPPSL=FBX
|
---|
81 | ;
|
---|
82 | ; if FPPS LINE ITEM changed, then update file and audit log
|
---|
83 | I FBFPPSL'=FBFPPSL(0) D
|
---|
84 | . ; set invoice changed flag
|
---|
85 | . S FBINVCHG=1
|
---|
86 | . ;
|
---|
87 | . ; file data in 162.11
|
---|
88 | . K FBFDA
|
---|
89 | . S FBFDA(162.11,FBRXDA_","_FBDA_",",36)=FBFPPSL
|
---|
90 | . I $D(FBFDA) D FILE^DIE("","FBFDA") D MSG^DIALOG()
|
---|
91 | . ;
|
---|
92 | . ; add record to audit log
|
---|
93 | . K FBFDA
|
---|
94 | . S FBFDA(163.7,"+1,",.01)=FBDA ; invoice number
|
---|
95 | . S FBFDA(163.7,"+1,",1)=$$NOW^XLFDT() ; date/time changed
|
---|
96 | . S FBFDA(163.7,"+1,",2)=162.11 ; file #
|
---|
97 | . S FBFDA(163.7,"+1,",3)=FBRXDA_","_FBDA_"," ; iens
|
---|
98 | . S FBFDA(163.7,"+1,",4)=36 ; field #
|
---|
99 | . S FBFDA(163.7,"+1,",5)=FBFPPSL(0) ; old value
|
---|
100 | . S FBFDA(163.7,"+1,",6)=FBFPPSL ; new value
|
---|
101 | . S FBFDA(163.7,"+1,",7)=DUZ ; user
|
---|
102 | . I $D(FBFDA) D UPDATE^DIE("","FBFDA") D MSG^DIALOG()
|
---|
103 | ;
|
---|
104 | G ASKRX
|
---|
105 | ;
|
---|
106 | INVEDX ; Invoice Edit Exit
|
---|
107 | ; if invoice changed then queue for retransmit to FPPS
|
---|
108 | I FBINVCHG D FILEQUE^FBFHLL(FBDA,5)
|
---|
109 | Q
|
---|
110 | ;
|
---|
111 | CLEAN K DIC,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
---|
112 | K FBAAOUT,FBDA,FBFDA,FBFPPSC,FBFPPSL,FBINVCHG,FBRXDA,FBX
|
---|
113 | Q
|
---|
114 | ;FBRXFED
|
---|