Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

REJECT function Issue

Status
Not open for further replies.

devaraj1

Programmer
Nov 21, 2005
6
US
I am using the reject function in my 837 Dental X12 HIPPA map. The reject function sometimes returns NONE when the input file has invalid data, It is supposed to return the invalid data.

For EG: my input file has the two claims.First is errored one with the absence of the mandatory segment(2010CA/N4). I have pointed below.

ISA*00* *00* *ZZ*ACD99 *ZZ*00430 *051025*0257*U*00401*905298001*0*P*:
GS*HC*ACD99*00430*20051025*0257*905298001*X*004010X097A1
ST*837*905298001
BHT*0019*00*905298001*20051025*0257*CH
REF*87*004010X097A1
NM1*41*2*CLAIMS PROCESSING SERVICE INC*****46*ACD99
PER*IC*JOHN DYDYN JR*TE*8882557293
NM1*40*2*RECEIVER NAME*****46*00430
HL*1**20*1
NM1*85*2*THOMAS A. WARGUSKA*****24*020467945
N3*PO BOX 937
N4*MERRIMACK*NH*03054
REF*1A*1424
REF*1B*1424
NM1*87*2*THOMAS A. WARGUSKA*****24*020467945
N3*PO BOX 937
N4*MERRIMACK*NH*03054
HL*2*1*22*1
SBR*P**1000010*MICROSOFT GREAT PL**6***BL
NM1*IL*1*ADAMS*CRAIG****MI*1000104897
NM1*PR*2*PREMERA BLUE CROSS*****PI*00430
HL*3*2*23*0
PAT*19***N
NM1*QC*1*ADAMS*MORGAN
N3*62 HANSON DR <<---- Mandatory N4 segment is missing
DMG*D8*19890517*F
CLM*Y039PNDG2389*104***11::1*Y*A*Y*Y
DTP*472*D8*20051024
DN2*1*M
DN2*16*M
DN2*17*M
DN2*32*M
NM1*82*1*WARGUSKA*THOMAS A.****24*020467945
PRV*PE*ZZ*1223G0001X
REF*1A*1424
REF*1B*1424
LX*1
SV3*AD:D0120*29***I*1
REF*6R*238901
LX*2
SV3*AD:D1110*75***I*1
REF*6R*238902
HL*2**20*1
NM1*85*2*GEORGE H. HEFLICH*****24*223263666
N3*192 CHESTNUT ST
N4*NUTLEY*NJ*07110
REF*1A*DI15669
REF*1B*DI15669
NM1*87*2*GEORGE H. HEFLICH*****24*223263666
N3*192 CHESTNUT ST
N4*NUTLEY*NJ*07110
HL*3*2*22*0
SBR*P*18*1000010*MICROSOFT**6***BL
NM1*IL*1*ROPPOLO*JOSEPH****MI*136761987
N3*40 LEWIS ST
N4*BLOOOMFIELD*NJ*07003
DMG*D8*19680812*M
NM1*PR*2*PREMERA BLUE CROSS*****PI*00430
CLM*Y039L1LB23690956*800***11::1*Y*A*Y*Y**********PB
NM1*82*1*HEFLICH*GEORGE*H***24*223263666
PRV*PE*ZZ*1223G0001X
REF*1A*DI15669
REF*1B*DI15669
LX*1
SV3*AD:D2751*800****1
TOO*JP*19
REF*6R*2369095601
SE*66*905298001
GE*1*905298001
IEA*1*905298001

For the above input file the reject function returns NONE.
I don't know why it returns NONE. But if i change the second claim to some other claim it is working fine.

Is this any problem with the type tree or any available fix for this problem.

Help me to solve this.

Thanks in advance!!





 
I believe the reject function only returns bad data not missing data.

This input should fail before your map starts producing output.

 
I sincerely hope this is test data and not real.

Also depends on where the reject is defined.



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
Eyetry, i tried it is rejecting for the missed data as well as for bad data. As you said the input data is failed during the validation, but in the outputcard 2 i am using the REJECT function to capture the invalid data. There comes the problem, it is not giving the output for the above data(outputcard2).

Bocaburger, can you put some more explanation on "Also depends on where the reject is defined". i don't understand.

Thanks!!
 
Because the input is invalid the map should fail before you reach the reject function. Actually, depending on how your map is setup it should fail before any output is produced. In this case the map sounds like it acting correctly and you wouldn't capture the invalid data.

I haven't worked with the reject funtion much though so I could be wrong.



 
It depends on what opject you are passing to the reject. If you are passing too low of an object, you get nothing, to high, you could get everything. Are you passing the claim object?

BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
I am passing the transaction itself, which is at the higher level.

The function in my outputcard2 is below:

CreateErrorFile(
REJECT(
Transaction #837 Inbound Partner Set V4010X097A1:#837<>F4010X097A1<>Inbound Partner Funct'lGroup ANSI:partner X12 Inbound Interchange:ANSI837),
INDEX($))

I believe i am passing the ST-SE transaction itself. It does not return anything for my HIPAA non compliant file.

If I swap the second claim to first claim and first claim to second claim in my test file(i have given the test file in my first post) by keeping the same claim as error(As before patient claim is error), then the REJECT function is throwing the output.

I am confused, should this reported to mercator support??

Guide me Thanks!!!
 
What version of DataStage TX and what version of the HIPAA IP? This could be fixed already. Best to contact support with the test case.

BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
My mercator version is 6.7 and HIPAA version is 004010X097A1

Thanks BocaBurger.
 
There have been a lot of fixes since 6.7. Current version is 8.0, and there is a new HIPAA IP too.



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
I ran this sample data thru a simple validation map, output=input.

For the tree I extracted F4010X097/F4010X097A1 from from hipaa IP tree hipaa_x12_4010.mtt (v3.1). Mercator/DSTX V6.7.

The map failed with invalid data. No output. I suspect you never make it to the rule and fail on the read.






 
Thanks for trying eyetry.

I am also getting the error as invalid data. But as I mentioned in my previous post

"If I swap the second claim to first claim and first claim to second claim in my test file(i have given the test file in my first post) by keeping the same claim as error(As before patient claim is error), then the REJECT function is throwing the output."

My idea is to get the reject file with the invalid data(in the second output card) when the input file is not HIPAA compliant. If it is compliant, it should not generate the reject file. This is what i am trying to do.

I think reject function should work, but for my input file it is not working. I am breaking my head to find that. Are you aware of any fix for the REJECT function/Any site to find the list of all fixes for mercator.
 
Unfortunately, "Mercator" no longer exists. It is now IBM WebSphere DataStage TX. The current version is 8.0. Since your 6.7.0 version there has been 6.7.1, 6.7.2(mainframe only), 7.5.0, 7.5.1 and now 8.0. There also have been changes to the HIPAA IP.

Best thing to do is send this as a test case to IBM support.



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
BocaBurger: Everyone in my office knows that its now called "IBM WebSphere DataStage TX". But they still refer to it as "Merator". I think I've finally gotten the other developers to refer to it as "DataStage" or "TX".

The new name is just to much of a mouth full for us old farts. :)

What was it before Mercator? TSI?

devaraj1: Shouldn't matter what the claim order is. Based on the transaction layout above the map reads the entire file before it looks at mapping rules. It might, however, act differently if you put each claim in its own ST, GS, or ISA envelope. You might also play with Burst mode but, as soon as you reach that bad segment your map will fail on the read and I don't think your reject function will work.

Another option is to alter the type tree so the N4 segment is optional instead of required (I don't like playing with the IP trees though). At that point you could add a rule to your processing map to look for the required 'N4' segment rejecting the claim if not present.

Someone else probably has a better solution.

Are you using Commerce Manager? If so, you can generate an ack rejecting the file as non-compliant. Also, if you have multiple ST, GS or ISA loops Commerce Manager can be configured to accept the good transactions and reject the bad ones.

Our policy is 1 bad all bad. Reject the whole file, envelope or transaction. In addition though, we have a BA or other EDI/X12 person review the file and provide additional feedback as needed.

 
Eyetry, Even when the company was TSI, it was called "Mercator". For this forum, we might adopt "DSTX" and save typing :). It would help if posters would start with the version info. It often makes a big difference. BTW, I am probably older than you, I am 1948 vintage.



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
Actually, I've got you on age ;)

(but I used to be an investment guy for 15 years so I bet you have more technical experience)

And I agree, about using DSTX. I just have about 300 people between here and IRE that have the word 'Mercator' stuck in their head. And, the fact that all of my internal correspondence says DataStage TX, DSTX or TX internally they all refer to it as Mercator.

 
The thing is Mercator is a much better name. People understand mapping and Mercator.
 
Yes, but you have to be here and get calls to see what people do to the pronounciation :)

Mer cah tor :)



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
I am doing some more analysis by comparing the behaviour of the "dental(error map)" and the other same functionality "Professional" map.

1. I noticed when i set the transaction>OnSucess> = CreateOnContent in the map settings for the outputcard2, which has the REJECT function. After the execution of the map i found this setting to "!create" in the audit log file but the map behaving like "CreateOnContent". find the log content below:
<OutputData card="2">
<Backup switch="OFF"></Backup>
<Target adapter="File" OnSuccess="!Create" OnFailure="Rollback" Scope="Map" Warnings="Ignore">
<Resource>C:\Documents and Settings\us97737\Desktop\Works\837D Reject File\map source\Error\Rejected837Ds.rej</Resource>
<Retry switch="OFF"></Retry>
</Target>
</OutputData>

I don't think this should be the cause for my problem, since it is behaving as is in the map setting.

2. I also noticed the <datalog> is not populated in the audit log file

<Burst count="1">

<DataLog>

<input card="1"></input> <--- no data log but i have given the objects in "data audit settings"


The above two i noticed by giving the error input file.

If i give the valid input file, above two are populated correctly. Even the onSuccess="CreateOnContent", I am surprised.

In the input card i have given burst mode with fetchunit as "1".

Now i am in confusion stage, whether to put fault on the typetree or on the map.

Anybody faced my problem before.

Thanks in advance
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top