Large EDI files translation by splitting

Follow

Comments

4 comments

  • Avatar
    Yang

    Often we need to split an 837 on claim or service level, meaning to result that a single 837 transaction contains a single claim with 1 to many service lines or a single claim with a single service line only.  can this be done easily?

  • Avatar
    Admin

    Hello Yang, 

    Yes, this is part of the baseline functionality. As you can see in the article above, that is exactly what it does, the splitting works by the property attributed with [Splitter].

    For 837 P you can evaluate it yourself because we provide the full template for this transaction. Here is a link to the 837 P template. In it you can set the splitter to the 2000A loop like this:

    /// <summary>
    /// Health Care Claim : Professional
    /// </summary>
    [Serializable()]
    [Message("X12", "005010X222A1", "837")]
    public class TS837P : EdiMessage
    {

    /// <summary>
    /// Transaction Set Header
    /// </summary>
    [Pos(1)]
    public ST ST { get; set; }
    /// <summary>
    /// Beginning of Hierarchical Transaction
    /// </summary>
    [Required]
    [Pos(2)]
    public BHT_BeginningofHierarchicalTransaction_7 BHT_BeginningofHierarchicalTransaction { get; set; }
    [Required]
    [Pos(3)]
    public All_NM1_837P_6 AllNM1 { get; set; }
    /// <summary>
    /// Loop for Billing Provider Hierarchical Level
    /// </summary>
    [Splitter]
    [Required]
    [Pos(4)]
    public List<Loop_2000A_837P> Loop2000A { get; set; }
    /// <summary>
    /// Transaction Set Trailer
    /// </summary>
    [Pos(5)]
    public SE SE { get; set; }
    }

    This way you'll get all the 2000A loops one by one.

     

     

  • Avatar
    Yang

    What I meat was to split on loop 2300 (claim) or loop 2400 (service) level.  I understand how it works on the top level elements as the documentation and the sample shows.

    Loop 2300 resides in both 2000B and 2000C.  Let's take 2000B as an example.  To split on loop 2300, do I need to define a new template class, T837PSplit, which contains a new Loop_2000A_837PSplit that contains a new Loop_2000B_837PSplit that contains Splitter attribute on property List<Loop_2300_837P_2>, or could I?

     

  • Avatar
    Admin

    Hello Yang, 

    Currently, the reader can only split by a loop at the top level, as explained in the article. 

    We will look to allow splitting by nested loops in the future, but you can't do this right now with the current template. 

Please sign in to leave a comment.