[613] | 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
|
---|