1 | BPSOSC2 ;BHAM ISC/FCS/DRS - certification testing ;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 | Q
|
---|
6 | ; SETBPS - Overwrite BPS array with values from BPS Certfication file
|
---|
7 | ; Input
|
---|
8 | ; ENTRY - IEN for BPS Certification (#9002313.31)
|
---|
9 | ; Output
|
---|
10 | ; BPS Array - This is newed in BPSOSCA and is shared by all BPSOSC* routines
|
---|
11 | ; and others
|
---|
12 | SETBPS(ENTRY) ;
|
---|
13 | ;
|
---|
14 | I $G(ENTRY)="" Q
|
---|
15 | ; If there is a payer in the Certification File, reset transaction header
|
---|
16 | ; values based on this payer sheet
|
---|
17 | N XDATA
|
---|
18 | I $P(^BPS(9002313.31,ENTRY,0),"^",4) D
|
---|
19 | . S BPS("NCPDP","IEN")=$P(^BPS(9002313.31,ENTRY,0),"^",4)
|
---|
20 | . S XDATA=$G(^BPSF(9002313.92,BPS("NCPDP","IEN"),1))
|
---|
21 | . S BPS("NCPDP","Version")=$P(XDATA,U,2)
|
---|
22 | . S BPS("NCPDP","# Meds/Claim")=$P(XDATA,U,3)
|
---|
23 | . S BPS("NCPDP","Software Vendor/Cert ID")=$P(XDATA,U,13)
|
---|
24 | ;
|
---|
25 | ; DMB 11/28/2006 - Existing Code, not sure if this is needed.
|
---|
26 | S BPS("Patient","SSN")=""
|
---|
27 | ;
|
---|
28 | ; Loop through claim header fields
|
---|
29 | N A,N S A=0
|
---|
30 | F S A=$O(^BPS(9002313.31,ENTRY,1,A)) Q:'A D
|
---|
31 | . N X S X=^BPS(9002313.31,ENTRY,1,A,0)
|
---|
32 | . N FIELD S FIELD=$P(^BPSF(9002313.91,$P(X,U),0),U)
|
---|
33 | . D SETBPS1(FIELD,$P(X,U,2))
|
---|
34 | ;
|
---|
35 | ; Loop through prescription fields
|
---|
36 | S N=0
|
---|
37 | F S N=$O(^BPS(9002313.31,ENTRY,2,N)) Q:'N D
|
---|
38 | . N A S A=0
|
---|
39 | . F S A=$O(^BPS(9002313.31,ENTRY,2,N,1,A)) Q:'A D
|
---|
40 | .. S X=^BPS(9002313.31,ENTRY,2,N,1,A,0)
|
---|
41 | .. N FIELD S FIELD=$P(^BPSF(9002313.91,$P(X,U),0),U)
|
---|
42 | .. D SETBPS1(FIELD,$P(X,U,2),N)
|
---|
43 | ;
|
---|
44 | ; Construct a few other fields that weren't already set
|
---|
45 | ; DMB 11/28/2006 - Existing Code, not sure if this is needed.
|
---|
46 | S BPS("Patient","Name")=$G(BPS("Patient","Last Name"))_","_$G(BPS("Patient","First Name"))
|
---|
47 | I '$D(BPS("RX",1,"Quantity")) S BPS("RX",1,"Quantity")=$G(BPS("RX",1,"Metric Decimal Quantity"))
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | ; Overwrite BPS array values
|
---|
51 | SETBPS1(FIELD,VALUE,N) ;
|
---|
52 | N OK S OK=0
|
---|
53 | N I F I=1:1 Q:$T(TABLE+I)[";;*" D Q:OK
|
---|
54 | . N X S X=$T(TABLE+I)
|
---|
55 | . I $P(X,";",3)'=FIELD Q
|
---|
56 | . S @("BPS("_$P(X,";",4)_")=VALUE")
|
---|
57 | . S OK=1
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | TABLE ;;
|
---|
61 | ;;101;"NCPDP","BIN Number"
|
---|
62 | ;;102;"NCPDP","Version"
|
---|
63 | ;;103;"Transaction Code"
|
---|
64 | ;;104;"NCPDP","PCN"
|
---|
65 | ;;109;"Transaction Count"
|
---|
66 | ;;110;"NCPDP","Software Vendor/Cert ID"
|
---|
67 | ;;111;"NCPDP","Segment Identification"
|
---|
68 | ;;201;"Site","Pharmacy #"
|
---|
69 | ;;202;"Service Provider ID Qual"
|
---|
70 | ;;301;"Insurer","Group #"
|
---|
71 | ;;302;"Insurer","Policy #"
|
---|
72 | ;;303;"Insurer","Person Code"
|
---|
73 | ;;304;"Patient","DOB"
|
---|
74 | ;;305;"Patient","Sex"
|
---|
75 | ;;306;"Insurer","Relationship"
|
---|
76 | ;;308;"Patient","Other Coverage Code"
|
---|
77 | ;;307;"Customer Location"
|
---|
78 | ;;309;"Eligibility Clarification Code"
|
---|
79 | ;;310;"Patient","First Name"
|
---|
80 | ;;311;"Patient","Last Name"
|
---|
81 | ;;312;"Cardholder","First Name"
|
---|
82 | ;;313;"Cardholder","Last Name"
|
---|
83 | ;;322;"Patient","Street Address"
|
---|
84 | ;;323;"Patient","City"
|
---|
85 | ;;324;"Patient","State"
|
---|
86 | ;;325;"Patient","Zip"
|
---|
87 | ;;331;"Patient","Patient ID Qualifier"
|
---|
88 | ;;332;"Patient","SSN"
|
---|
89 | ;;326;"Patient","Phone #"
|
---|
90 | ;;401;"RX","Date Filled"
|
---|
91 | ;;402;"RX",N,"RX Number"
|
---|
92 | ;;403;"RX",N,"Refill #"
|
---|
93 | ;;404;"RX",N,"Quantity"
|
---|
94 | ;;405;"RX",N,"Days Supply"
|
---|
95 | ;;406;"RX",N,"Compound Code"
|
---|
96 | ;;407;"RX",N,"NDC"
|
---|
97 | ;;408;"RX",N,"DAW"
|
---|
98 | ;;409;"RX",N,"Ingredient Cost"
|
---|
99 | ;;410;"RX",N,"Sales Tax"
|
---|
100 | ;;411;"RX",N,"Prescriber ID"
|
---|
101 | ;;412;"RX",N,"Dispensing Fee"
|
---|
102 | ;;414;"RX",N,"Date Written"
|
---|
103 | ;;415;"RX",N,"# Refills"
|
---|
104 | ;;416;"RX",N,"Preauth #"
|
---|
105 | ;;418;"RX",N,"Level of Service"
|
---|
106 | ;;419;"RX",N,"Origin Code"
|
---|
107 | ;;420;"RX",N,"Clarification"
|
---|
108 | ;;421;"RX",N,"Primary Prescriber"
|
---|
109 | ;;422;"RX",N,"Clinic ID"
|
---|
110 | ;;423;"RX",N,"Basis of Cost Determination"
|
---|
111 | ;;424;"RX",N,"Diagnosis Code"
|
---|
112 | ;;426;"RX",N,"Usual & Customary"
|
---|
113 | ;;427;"RX",N,"Prescriber Last Name"
|
---|
114 | ;;429;"RX",N,"Unit Dose Indicator"
|
---|
115 | ;;430;"RX",N,"Gross Amount Due"
|
---|
116 | ;;431;"RX",N,"Other Payor Amount"
|
---|
117 | ;;433;"RX",N,"Patient Paid Amount"
|
---|
118 | ;;436;"RX",N,"Alt. Product Type"
|
---|
119 | ;;438;"RX",N,"Incentive Amount"
|
---|
120 | ;;439;"RX",N,"DUR","DUR Conflict Code",439
|
---|
121 | ;;440;"RX",N,"DUR","DUR Intervention Code",440
|
---|
122 | ;;441;"RX",N,"DUR","DUR Outcome Code",441
|
---|
123 | ;;442;"RX",N,"Metric Decimal Quantity"
|
---|
124 | ;;443;"RX",N,"Primary Payor Denial Date"
|
---|
125 | ;;444;"RX",N,"Provider ID"
|
---|
126 | ;;455;"RX",N,"Rx/Service Ref Num Qual"
|
---|
127 | ;;460;"RX",N,"Quantity"
|
---|
128 | ;;461;"Claim",N,"Prior Auth Type"
|
---|
129 | ;;462;"Claim",N,"Prior Auth Num Sub"
|
---|
130 | ;;465;"RX",N,"Provider ID"
|
---|
131 | ;;466;"RX",N,"Prescriber ID Qualifier"
|
---|
132 | ;;467;"RX",N,"Prescriber Location Code"
|
---|
133 | ;;468;"RX",N,"Primary Care Prov ID Qual"
|
---|
134 | ;;469;"RX",N,"Primary Care Prov ID"
|
---|
135 | ;;470;"RX",N,"Primary Care Prov Last Name"
|
---|
136 | ;;473;"RX",N,"DUR","DUR/PPS CODE COUNTER",473
|
---|
137 | ;;478;"Insurer","Other Amt Claim Sub Cnt"
|
---|
138 | ;;479;"Insurer","Other Amt Claim Sub Qual"
|
---|
139 | ;;480;"Insurer","Other Amt Claim Submitted"
|
---|
140 | ;;481;"Insurer","Flat Sales Tax Amt Sub"
|
---|
141 | ;;482;"Insurer","Percentage Sales Tax Amt Sub"
|
---|
142 | ;;483;"Insurer","Percent Sales Tax Rate Sub"
|
---|
143 | ;;484;"Insurer","Percent Sales Tax Basis Sub"
|
---|
144 | ;;498;"RX",N,"Prescriber Phone #"
|
---|
145 | ;;*
|
---|