Preprocessing of EDI file RRS feed

  • Question

  • I have a process almost built that:

    routs 835's based on npi

    does some claim splitting

    Maps with ohter fun stuff

    Rules lookups for some renameing & routing of files....

    Lots of fun stuff using maps, orchestrations, rules and party stuff.


    But I have one problem I'm not sure how to handle:

    needs: I need to get the original file (whole thing all st - se's) and first make a copy to a file share. This is what the billing department wants.

    I need to name this file with a prefix and date from the first DTM that shows up in the file.  (this I have code process  to do)

    Add a unique number to the file. (this I have code prcess to do)

    Lookup some of the same rules. (I have code in an orchestratin that does this too) by ISA receiver id and ISA sender id

    Stiill not sure how to get the file into the biztalk process to do this?


    The post processing after this uses party setup by transaction and edi dissasembler. So, I can't change that process.


    I see it in my head, and am having difficulty exressing this. I need some sort of way of preprocessing and then redropping the 835 back into biztalk for the rest of the processing...can anyone see what I mean?


    Getting the orginial untouched file to a file share, renaming and routing it based on some rules, getting a unique id to rename it with, and getting the first DTM date to add to the name without really splitting the file apart.




    Thanks for any suggestions,




    Thursday, September 1, 2011 2:22 PM

All replies

  • My recomendation is the following. Build a table that will hold all transactions that come in including the file names for each file. This table will hold file infomrmation, member names, DOB, pretty much anything else you can use to track each message. You can also add other columns to track the 835 reports or any other information. From that table you insert all the records that file name including the transaction number for that file. When you need to pull the data back out, you will have the file name and anything else you need. You can also use the same table to track the messages going out. For example you can have a column that flags if there was an 835 sent out for that one member or something like that. I personally like using an outside table to track all the messages that come in and rely less on BizTalk becuase I can make changes to that table based on my needs. I am sure there are a bunch of other ways, but to me, this has worked very well.
    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Thursday, September 1, 2011 6:54 PM
  • Is there any way of working with an edi file before it gets split appart by the edi dissasembler?

    I'm thinking in terms of working the file a little before it edi processing.... programmer
    Thursday, September 1, 2011 7:57 PM
  • It depends on what you mean by working. Once BizTalk grabs the file in EDI form, it sends it to the database for processing. If you want to process a part of the file without spliting it you would need to use the single schema that does not split the message. That gets tricky becuase you have to do other things to rename schema in order to deploy. However, you can keep the message in its form and then when you are done with what you need, you can send the message to another port where you can split it. It can get a bit complex when dealing with this, but it is possible. However, I recomend keeping things as simple as possible. What I have done is on the table that I mentioned above, I also send the inboudn xml message where I archive it and do anything I need to do.

    Please Indicate "Mark as Answer" if this Post has Answered the Question
    • Edited by Carlos T. _ Friday, September 2, 2011 12:11 PM
    • Proposed as answer by Carlos T. _ Tuesday, September 6, 2011 1:52 PM
    Friday, September 2, 2011 12:09 PM
  • You could use a custom pipeline that consists of two pipeline components:  the first is a custom disassembler which interrogates the message and sets a few message properties with the information that you need.  The second component would be the edi disassembler.

    Alternatively, you could receive the file via a passthrough pipeline and have an orchestration subscribe to this raw message.  It could then interrogate the message to determine the filename etc.  You could then create two output messages.  The one message is simply the input message sent to a dynamic port with the orchestration setting the filename etc.  The other message is sent to the edi pipeline disassembler and processed as you do now.

    Wednesday, September 7, 2011 7:32 PM
  • How do you get the passthrough pipeline to have an orchestration subscribe to it? I never seen that before.... programmer
    • Edited by ckress-1234 Wednesday, September 7, 2011 8:39 PM
    Wednesday, September 7, 2011 8:38 PM