We had released the hotfix which is going to support automatic 999 Acknowledgement for HIPPA in Microsoft BizTalk Server 2010. This
article describes how to generate 999 functional acknowledgements BizTalk 2010.

Points to remember

1)  You will not see any checkbox related to 999 in TPM, similar to what we see for 997 in the TPM after installing BTS 2010 CU3.
2)  Deploy 999 schemas present in BizTalk EDI schema folder using Visual Studio.
3)  You have to set up TPM as if you want to send 997s.
4)  After that set the Override997With999 property in the pipeline properties on the receive location (Customer EDI Receive Pipeline).
5)  This property is not available in the default EDI pipeline after applying CU3. You have to create a custom pipeline and deploy it (just drag in the EDI Disassembler component (in disassemble stage) and deploy that. When you use that pipeline in a receive location, you’ll see the Override997With999 option). Also drag in the Batch Marker component in ResolveParty Stage.
6)  Use latest X12_00501_999 schema which we shipped in the CU3. Don’t use schema which we provided Out of Box in X12 folder. This schema will cause issues.
To get this new schema, run CU3 Installable (BiztalkServer2010-RTM-KB2617149-ENU). Once the setup is initialized go to System Drive (C:\). There you will see a temp folder . In this temp folder, you will find MicrosoftEdiXSDTemplatesKb2566805 which contain this new errata schema.


1)   Download and install Cumulative Update -3 for BizTalk 2010 from http://support.microsoft.com/kb/2566805
2)   Create a new BizTalk Project – 999 Schema and Receive Pipeline.

  • Add X12_00501_999.xsd schema in the project.
  • Add a new receive pipeline
  • Drag and drop EDI disassembler component in Dissembler stage of the pipeline

  •  In EDI disassembler Pipeline Component Properties, change Use 999 acknowledgement instead of 997 as True

  • Drag and drop Batch Marker component into Party Resolution Stage and leave the default settings. This component is useful when you are using EDI Batching Orchestration

  • Build and Deploy this Project.

Note: For generic usage of pipeline and schema, you can deploy it in BizTalk EDI Application.  

3)   Create a new BizTalk Project- HIPPA Application

  • Open BizTalk Administration console. Create a new Application.
  • Add reference to BizTalk EDI Application from this new Application.
  • Create a new Receive Port and Receive Location for incoming HIPPA 5010 message.
  • In Receive Pipeline Select the pipeline which you had developed in 999 Project.
  • Verify in pipeline property if Override997With999 property is set to true. If not, set it true.
  • Create send port for EDI message and 999.
  • Put BTS.MessageType == <EDI Message namespace> filter for EDI message send port.
  • Put BTS.MessageType==http://schemas.microsoft.com/BizTalk/EDI/X12/2006#X12_00501_999 filter for 999 Send Port. Select Send Pipeline as EDISend for this port

4)   Configure the Party for Generating 999 

  • Create Sender and Receiver Party in BizTalk TPM
  • Create an EDI Agreement (X12 Protocol) for these parties
  • You have to configure the agreement exactly similar to what you do in normal EDI application
  • In Sender -> Receiver Tabs under Acknowledgment select 997.

When you select this Property BizTalk EDI engine assumes that it has to generate the 997 Acknowledgement for the message coming from this party. However in BizTalk receive port we had already specified Override997With999 so its going to generate the 999 based on this setting. If you don’t want 999 go and uncheck this setting in agreement. Also there is no way that you can generate 997 and 999 both at the same time from above setting. If you want you have to right your own pipeline component

Known issues

  • When you use the EDI receive pipeline (EDIReceive) in a receive location, no Override997With999 option appears when you configure the pipeline. If you want to generate 999 acknowledgements, create a custom receive pipeline, set the Use 999 Acknowledgment Instead of 997 option to true in the EDI disassembler, and then deploy the pipeline to
    use the functionality that generates 999 acknowledgments. You can then configure the Override997With999 option to true or false in the configuration setting of the pipeline to enable or disable generating 999 acknowledgements.
  • If you check the Extended Validation check box in agreement, 999-acknowledgement messages are suspended in the EDI send pipeline.
  • When you set the transaction type to 277_A in the envelope settings, the GS1 value is not updated to HN.

 More Information : Based on information available http://support.microsoft.com/kb/2566805. Refer the article for detailed information

Written by
   Anand Singh

Reviewed by
   Shailesh Agre

Microsoft GTSC.