5010 PreErrata templates missing interfaces

Comments

3 comments

  • Avatar
    Don Zoeggerle

    Hi Denys,

    Yes, you can reuse the interfaces. Both 5010 and 5010 pre errata share the same interfaces. We intentionally omitted the two interface files to make this clearer, obviously, we failed.

    I'm not sure what do you mean by slight differences in classes and properties, all 5010 files, pre-errata and latest, can go in the same project without any additional amendments, like this:

    0
    Comment actions Permalink
  • Avatar
    Denys Grozenok

    Thank you for clarification!

    Here is what I meant by the need to copy/paste code. For example, for parsing and handling of the 837P documents we created a generic model to output shared between different versions of the documents. However, the logic of pulling the necessary properties though being very similar had to be implemented separately for each specific version of the document due to the classes being different. Here is our current project structure: 

     

    We do start with the single entry point for a file, but then had to branch out the logic based on the version of the document being parsed, still producing the same shared model.

    It would be nice if we could reuse some of the code traversing the hierarchy and properties of the documents like this:

    0
    Comment actions Permalink
  • Avatar
    Don Zoeggerle

    Hi,

    This latest release, 9.8.7.2, did provide common interfaces for all 5010 transactions. So this was an improvement compared to how it was in the prior versions. We even aligned the 4010 interfaces to match by class names/property names the 5010 interfaces.

    The classes though, can't be merged any further, because of the validation attributes. These could be different for the same loop within the same transaction, that's why you get Loop_2300_2, Loop_2300_3, etc. and further merge would break validation.

    You can try to modify the loops, such as 2300, to be identical for all versions, by retaining all validation properties at the correct positions, and injecting the EDI codes by code maps, see DataElementCodeMaps here. The templates are supposed to be living documents and customized accordingly, that's why we provide them as plain files.

     

    0
    Comment actions Permalink

Please sign in to leave a comment.