| 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 | 
|---|