How to Generate 999 acknowledgments for HIPPA 5010 in BizTalk Server 2010

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
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== 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 Refer the article for detailed information

Written by
   Anand Singh

Reviewed by
   Shailesh Agre

Microsoft GTSC.

Comments (7)

  1. M Konda says:

    I am able to generate 999 successfully.  My GS segment is looking like GSFABTS-SENDER*RECEIVE-APP.  Why am I getting BTS-SENDER?  Do I have to change the settings somewhere?  What am I missing?  Thank you.

  2. M Konda says:

    Sorry, please ignore my question above. I found the issue.  My party configuration is messed up.  

  3. Imran Shirolkar says:

    Can we change the namespace of the 999 schema? I have several problems in generating the acknowledgements after I change the namespace, because by default the the pipeline is expecting the…/2006 schema and it does not consider any other namespace for the 999 schema. If the namespace is not changed everything works fine. Any suggestions?

  4. Jeff W says:

    Can BizTalk be configured to send detailed 999's all the time to confirm acceptance of each ST/SE, versus just the summary ack record?

  5. Shadab Khan says:

    Please do let me know, How we can use same port and pipeline to generate 999 for 5010 and 997 for 4010.

    I mean let say I have a folder named "837IN" .If user drop 5010 it given 999ACK and in case 4010 997ACK.

    Please provide the solution ASAP

  6. kevin Maloney says:

    Can the Security breaches ( published in Microsoft bullitins ) adversly affect HIPAA protected medical records in HealthVault and EHR companies like Allscripts etc ( Microsoft "Partners") ?

  7. somendra shukla says:

    Steps to generate 999 and 997  Ack from Biztalk 2013.

    1.In party agreement in first tab (Party2-Party1 (sender to receiver).Select Acknowledgements in this set 999-5010.

    1. create one send port and assign filter BTS.MessageType ==…/X12 .

      3.Select EDI send pipeline in send port and configure the path where you want to create 999.

    2. In party Agreement Second tab (Party1-Party2(Receiver to Sender) in envelopes set repetition separator and 00501 version (Sender TAB) not more then that header value should be in 5010.

      5.Restart the hostinstances and drop the file .