1 | BPSOSCB ;BHAM ISC/FCS/DRS/DLF - Prep for building BPS array ;06/01/2004
|
---|
2 | ;;1.0;E CLAIMS MGMT ENGINE;**1,5**;JUN 2004;Build 45
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;----------------------------------------------------------------------
|
---|
5 | ; Called from BPSOSCA from BPSOSQG from BPSOSQ2
|
---|
6 | ; Setup BPS() array which contains all pertinent data to create
|
---|
7 | ; claim Submission Records for the current Billing Item Record:
|
---|
8 | ;
|
---|
9 | ; Input:
|
---|
10 | ; RXILIST needs to be defined - List of Transactions
|
---|
11 | ; Returns
|
---|
12 | ; BPS Formatted array containing data required to create claim
|
---|
13 | ; submission records. This array is shared by all BPSOSC*
|
---|
14 | ; routines and some of the BPSOSH routines as well.
|
---|
15 | ;----------------------------------------------------------------------
|
---|
16 | ;
|
---|
17 | Q
|
---|
18 | BPS() ;
|
---|
19 | N IEN59,IEN5902,INDEX,ENTRY,VAINFO
|
---|
20 | ;
|
---|
21 | ; Set up some basic variables from first transaction
|
---|
22 | S IEN59=$O(RXILIST(""))
|
---|
23 | I IEN59="" Q "320^BPS Transaction not found in RXILIST"
|
---|
24 | ;
|
---|
25 | S IEN5902=$P(^BPST(IEN59,9),U,1)
|
---|
26 | I IEN5902="" Q "321^VA Insurer not determined"
|
---|
27 | ;
|
---|
28 | ; Set transaction multiple into VAINFO array and get top node of multiple
|
---|
29 | D GETS^DIQ(9002313.59,IEN59_",","902*","I","VAINFO")
|
---|
30 | ;
|
---|
31 | ; Set up BPS array for Patient, Insurer, Site and NCPDP record format data
|
---|
32 | D GETINFO^BPSOSCC(IEN59,IEN5902)
|
---|
33 | ;
|
---|
34 | ; Get medication and prescription data for each medication
|
---|
35 | S IEN59=""
|
---|
36 | F INDEX=1:1 S IEN59=$O(RXILIST(IEN59)) Q:'IEN59 D
|
---|
37 | . S IEN5902=$P(^BPST(IEN59,9),U,1)
|
---|
38 | . D MEDINFO^BPSOSCD(IEN59,IEN5902,INDEX)
|
---|
39 | ;
|
---|
40 | ; Set up BPS("RX",0)
|
---|
41 | S BPS("RX",0)=INDEX-1
|
---|
42 | I BPS("RX",0)=0 Q "322^No claims in RXILIST"
|
---|
43 | ;
|
---|
44 | ; If certification, get certification overrides
|
---|
45 | S IEN59=$O(RXILIST("")),IEN5902=$P(^BPST(IEN59,9),U,1)
|
---|
46 | S ENTRY=$$GET1^DIQ(9002313.59902,IEN5902_","_IEN59_",",902.23,"I")
|
---|
47 | I ENTRY,$D(^BPS(9002313.31,ENTRY)) D SETBPS^BPSOSC2(ENTRY)
|
---|
48 | ;
|
---|
49 | ; Quit with no error
|
---|
50 | Q 0
|
---|