After recieving a few requests from a few people from this post I finally got time to create the proptotype.
I first started by creating a property schema and internal schema to use as an initilization correlation set.
I also created a flat file schema that would start the process of extracting the information.
The next part is to have amap that takes the base schema and extracts the isa id, qualifier, gs id and the control number. The below picture has all of the functiods and their subequent arguments.
So lets take a look at the orchestration that does all of this work:
The first thing that happens is that the EDI document gets parsed against the flat file, I have receive pipeline that parses the file for this orchestration to pick up.
It then creates the Who Is message, whichis the sender id (ISA qualifier, ISA Sender Id, Control Number, GS Id) is the first thing that I extract, also, I store the filename in the crossreference table for use in the flat file message later on. The following code stores the data.
Microsoft.BizTalk.CrossReferencing.CrossReferencing.SetCommonID(“EDI”,”FileName”,whoIsMsg(hipaaEnvelope.ISA05)+whoIsMsg(hipaaEnvelope.ISA06)+whoIsMsg(hipaaEnvelope.ISA13),System.IO.Path.GetFileName(skeletonMsg(FILE.ReceivedFileName)));
Then the message is sent to the HIPAA accelerator, while the accelerator is starting to parse the file, I initialize the correllation set by sending the whoIsMsg to the message box and immediately pickit up again.
Now the orchestration is waiting to pick up the subsequent HIPAA messages (well, for at least for 10 minutes), it then picks up the XML version of the HIPAA document. It then creates the flat file and assigns the filename from the original message using the following code:
flatfileMsg(FILE.ReceivedFileName)=skeletonMsg(FILE.ReceivedFileName);
Through my contact page you can get a copy of the code. Please follow the instructions in the readme.txt so that you can implement the Cross Referencing funtionality along with importing the 837 schema, as the code needs to have those pieces imported.