Type with attribute [Message(X12, 005010I20, 837)] was not found in assembly

Post author
Peter Shearer

I need to create 837 files to do Workers' Comp state reporting to the state of California.  In order to validate what we need to do, the state sent me a test file.  I'm looking at purchasing ediFabric so that this job can be made easier.  However, when I try to load the file in with the test projects, I get an error.


The first two lines of the test file are below.  The file won't parse/deserialize and the error given is  "Type with attribute'[Message(X12, 005010I20, 837)]' was not found in assembly 'EdiFabric.Examples.X12.Templates.V5010.NoValidation, Version=, Culture=neutral, PublicKeyToken=null'."


The test file included with the sample projects seems to be of type "005010X222" while mine is "005010I20".  Is there a template or test project for this format?  I'm sorry if these are dumb questions, I don't know much about it and this is a little daunting.  I was hoping I could just pay my money to the ediFabric gods and miss out on some of the unpleasantness ;-).  Any and all help will be greatly appreciated.


ISA*00*          *00*          *ZZ*999999999_99999*ZZ*943160882_94612*160418*0857*^*00501*000952101*1*T*:~


1 comment

  • Comment author


    Your assumption is correct and the reason for the error message is that there is no template for "005010I20".

    The message being 837 (P or I ?) can still be parsed if you use type factory:

    var ediReader = new X12Reader(ediStream, TypeFactory) 

    private static TypeInfo TypeFactory(ISA isa, GS gs, ST st)
    if(st.TransactionSetIdentifierCode_01 == "837")
    return typeof(TS837P).GetTypeInfo();

    throw new Exception("Transaction not supported.");

    005010I20 is a proprietary version and the implementation guideline for it can be purchased from IAIABC (link here). It will contain the correct codes/customizations of the standard 837 template. Contact us here to discuss how we can help you with this.


Please sign in to leave a comment.