ABSPOSC2 ; IHS/FCS/DRS - certification testing ; [ 06/22/2001 2:14 PM ]
;;1.0;PHARMACY POINT OF SALE;**42**;JUN 21, 2001;Build 38
; see remarks in ABSPOSC1 too
Q
; ^ABSP(9002313.31, has data for test claims
; Now construct packets
ALL ; Construct packets for all entries in 9002313.31
D IMPOSS^ABSPOSUE("P","TI","Development utility - incomplete",,"ALL",$T(+0))
Q
;
TEST(ENTRY) ;
W "Testing in ",$T(+0),!
I '$P(^ABSP(9002313.31,ENTRY,0),U,4) D Q
. W "Field .04 in 9002313.31 needs to have pointer to insurer.",!
N DIALOUT S DIALOUT=$$DIALOUT
N X S X=$$PACKET(ENTRY,DIALOUT,2) ; ^TMP($J gets copy of ABSP() data
W "Input: 9002313.31 entry `",ENTRY,!
W "Output: 9002313.02 entry `",X,!
W !,"To send this claim, DO SEND^ABSPOSC2(",ENTRY,")",!
;M X=^ABSPC(X)
;ZW X
;K X M X=^TMP($J,$T(+0)) ZW X
Q
REVERSAL(ENTRY,N) ; construct the reversal packet for this 9002313.31 entry
D LOG^ABSPOSL("Reversal claim `"_REV_" "_$P(^ABSPC(REV,0),U))
; for the N'th prescription therein - N defaults to 1
; First construct the original version.
D TEST(ENTRY)
N ORIG S ORIG=$P(^ABSP(9002313.31,ENTRY,0),U,3)
I 'ORIG D Q
. D IMPOSS^ABSPOSUE("DB,P","TRI","Error constructing original claim",,"REVERSAL - 1",$T(+0))
N REVERSAL S REVERSAL=$$REVERSE^ABSPECA8(ORIG,$S($G(N):N,1:1))
W "Reversal: 9002313.02 entry `",REVERSAL,!
I 'REVERSAL D Q ; error during construction of reversal
. D IMPOSS^ABSPOSUE("DB,P","TRI","Error constructing reversal claim",,"REVERSAL - 2",$T(+0))
; Now construct the data packet
N COUNT,DIALOUT,CLAIMIEN S COUNT=0
S DIALOUT=$$DIALOUT,CLAIMIEN=REVERSAL D PASCII1^ABSPOSQH
; ORIG is obsolete, orphaned
; Overwrite the pointer to 9002313.02 with the Reversal packet
N DIE S DIE=9002313.31,DA=ENTRY,DR=".03////"_REVERSAL D ^DIE
; Now SEND^ABSPOSC2(ENTRY) will send the reversal
Q
DIALOUT() Q $O(^ABSP(9002313.55,"B","RESERVED - DO NOT USE",0))
SEND(ENTRY) ;
N IEN02 S IEN02=$P(^ABSP(9002313.31,ENTRY,0),U,3)
D RUNTEST^ABSPOSC3($$DIALOUT,IEN02)
W "The log file can be viewed by DO LOG^",$T(+0),!
Q
LOG ;EP -
W !,"At the prompt, just type RES to get the RESERVED - DO NOT USE",!
D COMMSLOG^ABSPOSU6
Q
PRINT(IEN31,FLAG) ;
W "IEN31=",IEN31,!
N CLAIM S CLAIM=$P(^ABSP(9002313.31,IEN31,0),U,3)
I 'CLAIM W "No claim for IEN31=",IEN31,! Q
I $G(FLAG)=0 G P12
D PRINT02^ABSPOSAY(CLAIM)
P12 N RESP S RESP=$O(^ABSPR("B",CLAIM,""),-1) ; get the most recent resp.
I 'RESP W "No response for CLAIM=",CLAIM,! Q
D PRINT03^ABSPOSAY(RESP)
Q
PRINTR(IEN31) ;
D PRINT(IEN31,0)
Q
SAVEABSP K ^TMP($J,$T(+0))
N % S %="ABSP"
F S %=$Q(@%) Q:%="" S ^TMP($J,$T(+0),%)=@%
Q
PACKET(ENTRY,DIALOUT,DUMPABSP) ; EP - from ABSPOSC4
N ABSP
D SETABSP(ENTRY) ; construct the ABSP(*) array
I $G(DUMPABSP)[1 D ZWRITE^ABSPOS("ABSP") ;ZW ABSP
I $G(DUMPABSP)[2 D SAVEABSP
N N S N=$P(^ABSP(9002313.31,ENTRY,2,0),U,3)
D NEWCLAIM^ABSPOSCE(1,N,N) ; builds a 9002313.02 record
N CLAIMIEN S CLAIMIEN=$P(^ABSPC(0),U,3)
N COUNT S COUNT=0 ; this variable is used by PASCII1^ABSPOSQH
D PASCII1^ABSPOSQH ; construct the data packet
N DA,DIE,DR S DIE=9002313.31,DA=ENTRY,DR=".03////"_CLAIMIEN D ^DIE
Q CLAIMIEN
SETABSP(ENTRY) ; Construct packet for just one entry in 9002313.31
W "Create 9002313.02 claim for "
W $P(^ABSP(9002313.31,ENTRY,0),U),!
S ABSP("Insurer","IEN")=$P(^ABSP(9002313.31,ENTRY,0),U,4)
S ABSP("Site","Switch Type")=$P(^ABSP(9002313.31,ENTRY,0),U,5)
I ABSP("Site","Switch Type")="" S ABSP("Site","Switch Type")="ENVOY"
S ABSP("NCPDP","IEN")=$P(^ABSPEI(ABSP("Insurer","IEN"),100),U)
;IHS/OIT/CASSEVERN/RAN - 02/09/2011 - Patch 42 -New code for working without formats - START
I $G(^ABSP(9002313.99,1,"ABSPICNV"))=1 D
. N DO,VERSION
. S DO=ABSP("NCPDP","IEN")_","
. S VERSION=$$GET1^DIQ(9002313.4,DO,100.15) ;NEW PLACE TO STORE NCPDP VERSION
. I $G(VERSION)="D.0" S ABSP("NCPDP","Version")="D0"
. I $G(VERSION)="5.1" S ABSP("NCPDP","Version")="51"
. S ABSP("NCPDP","BIN Number")=$$GET1^DIQ(9002313.4,DO,100.16)
ELSE D
. ;IHS/OIT/CASSEVERN/RAN - 02/09/2011 - Patch 42 -New code for D.0 - END (Below 4 entries moved out one dot level)
. S ABSP("NCPDP","BIN Number")=$P(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U)
. S ABSP("NCPDP","Envoy Plan Number")=$P(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U,4)
. S ABSP("NCPDP","Version")=$P(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U,2)
. S ABSP("Envoy Terminal ID")=$P(^ABSP(9002313.56,1,0),U,6)
N A,N S A=0 ; Loop through claim header fields
F S A=$O(^ABSP(9002313.31,ENTRY,1,A)) Q:'A D
. ; Set the Claim Header fields
. N X S X=^ABSP(9002313.31,ENTRY,1,A,0)
. N FIELD S FIELD=$P(^ABSPF(9002313.91,$P(X,U),0),U)
. D SETABSP1(FIELD,$P(X,U,2))
S N=0 ; Loop through prescription fields
F S N=$O(^ABSP(9002313.31,ENTRY,2,N)) Q:'N D
. N A S A=0
. F S A=$O(^ABSP(9002313.31,ENTRY,2,N,1,A)) Q:'A D
. . S X=^ABSP(9002313.31,ENTRY,2,N,1,A,0)
. . N FIELD S FIELD=$P(^ABSPF(9002313.91,$P(X,U),0),U)
. . D SETABSP1(FIELD,$P(X,U,2),N)
. ; Construct a few other fields that weren't already set
. I '$D(ABSP("Site","Dispensing Fee")) S ABSP("Site","Dispensing Fee")=4.5
. ; Need this IEN59 for logging some stuff.
. ; call it 9999991.00001, 9999992.00001, etc.
. S ABSP("RX",N,"IEN59")=$$MYIEN59(N)
. D INIT^ABSPOSL(ABSP("RX",N,"IEN59"))
; Construct a few other fields that weren't already set.
S ABSP("Patient","Name")=$G(ABSP("Patient","Last Name"))_","_$G(ABSP("Patient","First Name"))
Q
PRINTLOG(N) ; print the log file for test claim number N
D PRINTLOG^ABSPOSL($$MYIEN59(N)) Q
MYIEN59(N) ; a fake number
Q "999999"_N_".00001"
SETABSP1(FIELD,VALUE,N) ; store values in Claim Header's ABSP(*)
N OK S OK=0
N I F I=1:1 Q:$T(TABLE+I)=" ;*" D Q:OK
. N X S X=$T(TABLE+I)
. I $P(X,";",2)'=FIELD Q
. S @("ABSP("_$P(X,";",3)_")=VALUE")
. S OK=1
I 'OK W !,"Failed to find field ",FIELD," in TABLE^",$T(+0),!
Q
TABLE ;
;101;"NCPDP","Envoy Plan Number"
;102;"NCPDP","Version"
;103;"Transaction Code"
;104;"Envoy Terminal ID"
;201;"Site","Pharmacy #"
;301;"Insurer","Group #"
;302;"Insurer","Policy #"
;303;"Insurer","Person Code"
;304;"Patient","DOB"
;305;"Patient","Sex"
;306;"Insurer","Relationship"
;308;"Patient","Other Coverage Code"
;307;"Customer Location"
;309;"Eligibility Clarification Code"
;310;"Patient","First Name"
;311;"Patient","Last Name"
;312;"Cardholder","First Name"
;313;"Cardholder","Last Name"
;322;"Patient","Street Address"
;323;"Patient","City"
;324;"Patient","State"
;325;"Patient","Zip"
;401;"RX","Date Filled"
;402;"RX",N,"RX Number"
;403;"RX",N,"Refill #"
;404;"RX",N,"Quantity"
;405;"RX",N,"Days Supply"
;406;"RX",N,"Compound Code"
;407;"RX",N,"NDC"
;408;"RX",N,"DAW"
;409;"RX",N,"Ingredient Cost"
;410;"RX",N,"Sales Tax"
;411;"RX",N,"Prescriber ID"
;412;"RX",N,"Dispensing Fee"
;414;"RX",N,"Date Written"
;415;"RX",N,"# Refills"
;416;"RX",N,"Preauth #"
;418;"RX",N,"Level of Service"
;419;"RX",N,"Origin Code"
;420;"RX",N,"Clarification"
;421;"RX",N,"Primary Prescriber"
;422;"RX",N,"Clinic ID"
;423;"RX",N,"Basis of Cost Determination"
;424;"RX",N,"Diagnosis Code"
;426;"RX",N,"Usual & Customary"
;429;"RX",N,"Unit Dose Indicator"
;430;"RX",N,"Gross Amount Due"
;431;"RX",N,"Other Payor Amount"
;433;"RX",N,"Patient Paid Amount"
;438;"RX",N,"Incentive Amount"
;439;"RX",N,"DUR Conflict Code"
;440;"RX",N,"DUR Intervention Code"
;441;"RX",N,"DUR Outcome Code"
;442;"RX",N,"Metric Decimal Quantity"
;443;"RX",N,"Primary Payor Denial Date"
;*
ABSPOSC2 ; IHS/FCS/DRS - certification testing ; [ 06/22/2001 2:14 PM ]
+1 ;;1.0;PHARMACY POINT OF SALE;**42**;JUN 21, 2001;Build 38
+2 ; see remarks in ABSPOSC1 too
+3 QUIT
+4 ; ^ABSP(9002313.31, has data for test claims
+5 ; Now construct packets
ALL ; Construct packets for all entries in 9002313.31
+1 DO IMPOSS^ABSPOSUE("P","TI","Development utility - incomplete",,"ALL",$TEXT(+0))
+2 QUIT
+3 ;
TEST(ENTRY) ;
+1 WRITE "Testing in ",$TEXT(+0),!
+2 IF '$PIECE(^ABSP(9002313.31,ENTRY,0),U,4)
Begin DoDot:1
+3 WRITE "Field .04 in 9002313.31 needs to have pointer to insurer.",!
End DoDot:1
QUIT
+4 NEW DIALOUT
SET DIALOUT=$$DIALOUT
+5 ; ^TMP($J gets copy of ABSP() data
NEW X
SET X=$$PACKET(ENTRY,DIALOUT,2)
+6 WRITE "Input: 9002313.31 entry `",ENTRY,!
+7 WRITE "Output: 9002313.02 entry `",X,!
+8 WRITE !,"To send this claim, DO SEND^ABSPOSC2(",ENTRY,")",!
+9 ;M X=^ABSPC(X)
+10 ;ZW X
+11 ;K X M X=^TMP($J,$T(+0)) ZW X
+12 QUIT
REVERSAL(ENTRY,N) ; construct the reversal packet for this 9002313.31 entry
+1 DO LOG^ABSPOSL("Reversal claim `"_REV_" "_$PIECE(^ABSPC(REV,0),U))
+2 ; for the N'th prescription therein - N defaults to 1
+3 ; First construct the original version.
+4 DO TEST(ENTRY)
+5 NEW ORIG
SET ORIG=$PIECE(^ABSP(9002313.31,ENTRY,0),U,3)
+6 IF 'ORIG
Begin DoDot:1
+7 DO IMPOSS^ABSPOSUE("DB,P","TRI","Error constructing original claim",,"REVERSAL - 1",$TEXT(+0))
End DoDot:1
QUIT
+8 NEW REVERSAL
SET REVERSAL=$$REVERSE^ABSPECA8(ORIG,$SELECT($GET(N):N,1:1))
+9 WRITE "Reversal: 9002313.02 entry `",REVERSAL,!
+10 ; error during construction of reversal
IF 'REVERSAL
Begin DoDot:1
+11 DO IMPOSS^ABSPOSUE("DB,P","TRI","Error constructing reversal claim",,"REVERSAL - 2",$TEXT(+0))
End DoDot:1
QUIT
+12 ; Now construct the data packet
+13 NEW COUNT,DIALOUT,CLAIMIEN
SET COUNT=0
+14 SET DIALOUT=$$DIALOUT
SET CLAIMIEN=REVERSAL
DO PASCII1^ABSPOSQH
+15 ; ORIG is obsolete, orphaned
+16 ; Overwrite the pointer to 9002313.02 with the Reversal packet
+17 NEW DIE
SET DIE=9002313.31
SET DA=ENTRY
SET DR=".03////"_REVERSAL
DO ^DIE
+18 ; Now SEND^ABSPOSC2(ENTRY) will send the reversal
+19 QUIT
DIALOUT() QUIT $ORDER(^ABSP(9002313.55,"B","RESERVED - DO NOT USE",0))
SEND(ENTRY) ;
+1 NEW IEN02
SET IEN02=$PIECE(^ABSP(9002313.31,ENTRY,0),U,3)
+2 DO RUNTEST^ABSPOSC3($$DIALOUT,IEN02)
+3 WRITE "The log file can be viewed by DO LOG^",$TEXT(+0),!
+4 QUIT
LOG ;EP -
+1 WRITE !,"At the prompt, just type RES to get the RESERVED - DO NOT USE",!
+2 DO COMMSLOG^ABSPOSU6
+3 QUIT
PRINT(IEN31,FLAG) ;
+1 WRITE "IEN31=",IEN31,!
+2 NEW CLAIM
SET CLAIM=$PIECE(^ABSP(9002313.31,IEN31,0),U,3)
+3 IF 'CLAIM
WRITE "No claim for IEN31=",IEN31,!
QUIT
+4 IF $GET(FLAG)=0
GOTO P12
+5 DO PRINT02^ABSPOSAY(CLAIM)
P12 ; get the most recent resp.
NEW RESP
SET RESP=$ORDER(^ABSPR("B",CLAIM,""),-1)
+1 IF 'RESP
WRITE "No response for CLAIM=",CLAIM,!
QUIT
+2 DO PRINT03^ABSPOSAY(RESP)
+3 QUIT
PRINTR(IEN31) ;
+1 DO PRINT(IEN31,0)
+2 QUIT
SAVEABSP KILL ^TMP($JOB,$TEXT(+0))
+1 NEW %
SET %="ABSP"
+2 FOR
SET %=$QUERY(@%)
IF %=""
QUIT
SET ^TMP($JOB,$TEXT(+0),%)=@%
+3 QUIT
PACKET(ENTRY,DIALOUT,DUMPABSP) ; EP - from ABSPOSC4
+1 NEW ABSP
+2 ; construct the ABSP(*) array
DO SETABSP(ENTRY)
+3 ;ZW ABSP
IF $GET(DUMPABSP)[1
DO ZWRITE^ABSPOS("ABSP")
+4 IF $GET(DUMPABSP)[2
DO SAVEABSP
+5 NEW N
SET N=$PIECE(^ABSP(9002313.31,ENTRY,2,0),U,3)
+6 ; builds a 9002313.02 record
DO NEWCLAIM^ABSPOSCE(1,N,N)
+7 NEW CLAIMIEN
SET CLAIMIEN=$PIECE(^ABSPC(0),U,3)
+8 ; this variable is used by PASCII1^ABSPOSQH
NEW COUNT
SET COUNT=0
+9 ; construct the data packet
DO PASCII1^ABSPOSQH
+10 NEW DA,DIE,DR
SET DIE=9002313.31
SET DA=ENTRY
SET DR=".03////"_CLAIMIEN
DO ^DIE
+11 QUIT CLAIMIEN
SETABSP(ENTRY) ; Construct packet for just one entry in 9002313.31
+1 WRITE "Create 9002313.02 claim for "
+2 WRITE $PIECE(^ABSP(9002313.31,ENTRY,0),U),!
+3 SET ABSP("Insurer","IEN")=$PIECE(^ABSP(9002313.31,ENTRY,0),U,4)
+4 SET ABSP("Site","Switch Type")=$PIECE(^ABSP(9002313.31,ENTRY,0),U,5)
+5 IF ABSP("Site","Switch Type")=""
SET ABSP("Site","Switch Type")="ENVOY"
+6 SET ABSP("NCPDP","IEN")=$PIECE(^ABSPEI(ABSP("Insurer","IEN"),100),U)
+7 ;IHS/OIT/CASSEVERN/RAN - 02/09/2011 - Patch 42 -New code for working without formats - START
+8 IF $GET(^ABSP(9002313.99,1,"ABSPICNV"))=1
Begin DoDot:1
+9 NEW DO,VERSION
+10 SET DO=ABSP("NCPDP","IEN")_","
+11 ;NEW PLACE TO STORE NCPDP VERSION
SET VERSION=$$GET1^DIQ(9002313.4,DO,100.15)
+12 IF $GET(VERSION)="D.0"
SET ABSP("NCPDP","Version")="D0"
+13 IF $GET(VERSION)="5.1"
SET ABSP("NCPDP","Version")="51"
+14 SET ABSP("NCPDP","BIN Number")=$$GET1^DIQ(9002313.4,DO,100.16)
End DoDot:1
+15 IF '$TEST
Begin DoDot:1
+16 ;IHS/OIT/CASSEVERN/RAN - 02/09/2011 - Patch 42 -New code for D.0 - END (Below 4 entries moved out one dot level)
+17 SET ABSP("NCPDP","BIN Number")=$PIECE(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U)
+18 SET ABSP("NCPDP","Envoy Plan Number")=$PIECE(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U,4)
+19 SET ABSP("NCPDP","Version")=$PIECE(^ABSPF(9002313.92,ABSP("NCPDP","IEN"),1),U,2)
+20 SET ABSP("Envoy Terminal ID")=$PIECE(^ABSP(9002313.56,1,0),U,6)
End DoDot:1
+21 ; Loop through claim header fields
NEW A,N
SET A=0
+22 FOR
SET A=$ORDER(^ABSP(9002313.31,ENTRY,1,A))
IF 'A
QUIT
Begin DoDot:1
+23 ; Set the Claim Header fields
+24 NEW X
SET X=^ABSP(9002313.31,ENTRY,1,A,0)
+25 NEW FIELD
SET FIELD=$PIECE(^ABSPF(9002313.91,$PIECE(X,U),0),U)
+26 DO SETABSP1(FIELD,$PIECE(X,U,2))
End DoDot:1
+27 ; Loop through prescription fields
SET N=0
+28 FOR
SET N=$ORDER(^ABSP(9002313.31,ENTRY,2,N))
IF 'N
QUIT
Begin DoDot:1
+29 NEW A
SET A=0
+30 FOR
SET A=$ORDER(^ABSP(9002313.31,ENTRY,2,N,1,A))
IF 'A
QUIT
Begin DoDot:2
+31 SET X=^ABSP(9002313.31,ENTRY,2,N,1,A,0)
+32 NEW FIELD
SET FIELD=$PIECE(^ABSPF(9002313.91,$PIECE(X,U),0),U)
+33 DO SETABSP1(FIELD,$PIECE(X,U,2),N)
End DoDot:2
+34 ; Construct a few other fields that weren't already set
+35 IF '$DATA(ABSP("Site","Dispensing Fee"))
SET ABSP("Site","Dispensing Fee")=4.5
+36 ; Need this IEN59 for logging some stuff.
+37 ; call it 9999991.00001, 9999992.00001, etc.
+38 SET ABSP("RX",N,"IEN59")=$$MYIEN59(N)
+39 DO INIT^ABSPOSL(ABSP("RX",N,"IEN59"))
End DoDot:1
+40 ; Construct a few other fields that weren't already set.
+41 SET ABSP("Patient","Name")=$GET(ABSP("Patient","Last Name"))_","_$GET(ABSP("Patient","First Name"))
+42 QUIT
PRINTLOG(N) ; print the log file for test claim number N
+1 DO PRINTLOG^ABSPOSL($$MYIEN59(N))
QUIT
MYIEN59(N) ; a fake number
+1 QUIT "999999"_N_".00001"
SETABSP1(FIELD,VALUE,N) ; store values in Claim Header's ABSP(*)
+1 NEW OK
SET OK=0
+2 NEW I
FOR I=1:1
IF $TEXT(TABLE+I)=" ;*"
QUIT
Begin DoDot:1
+3 NEW X
SET X=$TEXT(TABLE+I)
+4 IF $PIECE(X,";",2)'=FIELD
QUIT
+5 SET @("ABSP("_$PIECE(X,";",3)_")=VALUE")
+6 SET OK=1
End DoDot:1
IF OK
QUIT
+7 IF 'OK
WRITE !,"Failed to find field ",FIELD," in TABLE^",$TEXT(+0),!
+8 QUIT
TABLE ;
+1 ;101;"NCPDP","Envoy Plan Number"
+2 ;102;"NCPDP","Version"
+3 ;103;"Transaction Code"
+4 ;104;"Envoy Terminal ID"
+5 ;201;"Site","Pharmacy #"
+6 ;301;"Insurer","Group #"
+7 ;302;"Insurer","Policy #"
+8 ;303;"Insurer","Person Code"
+9 ;304;"Patient","DOB"
+10 ;305;"Patient","Sex"
+11 ;306;"Insurer","Relationship"
+12 ;308;"Patient","Other Coverage Code"
+13 ;307;"Customer Location"
+14 ;309;"Eligibility Clarification Code"
+15 ;310;"Patient","First Name"
+16 ;311;"Patient","Last Name"
+17 ;312;"Cardholder","First Name"
+18 ;313;"Cardholder","Last Name"
+19 ;322;"Patient","Street Address"
+20 ;323;"Patient","City"
+21 ;324;"Patient","State"
+22 ;325;"Patient","Zip"
+23 ;401;"RX","Date Filled"
+24 ;402;"RX",N,"RX Number"
+25 ;403;"RX",N,"Refill #"
+26 ;404;"RX",N,"Quantity"
+27 ;405;"RX",N,"Days Supply"
+28 ;406;"RX",N,"Compound Code"
+29 ;407;"RX",N,"NDC"
+30 ;408;"RX",N,"DAW"
+31 ;409;"RX",N,"Ingredient Cost"
+32 ;410;"RX",N,"Sales Tax"
+33 ;411;"RX",N,"Prescriber ID"
+34 ;412;"RX",N,"Dispensing Fee"
+35 ;414;"RX",N,"Date Written"
+36 ;415;"RX",N,"# Refills"
+37 ;416;"RX",N,"Preauth #"
+38 ;418;"RX",N,"Level of Service"
+39 ;419;"RX",N,"Origin Code"
+40 ;420;"RX",N,"Clarification"
+41 ;421;"RX",N,"Primary Prescriber"
+42 ;422;"RX",N,"Clinic ID"
+43 ;423;"RX",N,"Basis of Cost Determination"
+44 ;424;"RX",N,"Diagnosis Code"
+45 ;426;"RX",N,"Usual & Customary"
+46 ;429;"RX",N,"Unit Dose Indicator"
+47 ;430;"RX",N,"Gross Amount Due"
+48 ;431;"RX",N,"Other Payor Amount"
+49 ;433;"RX",N,"Patient Paid Amount"
+50 ;438;"RX",N,"Incentive Amount"
+51 ;439;"RX",N,"DUR Conflict Code"
+52 ;440;"RX",N,"DUR Intervention Code"
+53 ;441;"RX",N,"DUR Outcome Code"
+54 ;442;"RX",N,"Metric Decimal Quantity"
+55 ;443;"RX",N,"Primary Payor Denial Date"
+56 ;*