2

I have a BizTalk application which is setup to receive HL7v2 messages on an MLLP receive location.

I've setup parties in order to resolve based on the Sending Application (MSH.3) and apply our local schema to the incoming message type which is ORU_R03_23_GLO_DEF.

So the party is SUPPOSED to be converting the schema from

http://microsoft.com/HealthCare/HL7/2X#ORU_R03_23_GLO_DEF 

To

http://mynamespace/HL7/2X#ORU_R03_23_GLO_DEF 

However, whenever a message hits the port, it almost seems like the party is not being resolved because we receive an error as such

Error happened in body during parsing
Error # 1

Alternate Error Number: 301
Alternate Error Description: Schema http://microsoft.com/HealthCare/HL7/2X#ORU_R03_23_GLO_DEF not found
Alternate Encoding System: HL7-BTA

followed by another error:

The Messaging engine failed to process a message submitted by adapter:MLLP Source URL:0.0.0.0:11001. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

The second error is somewhat expected based on the first, since no, there aren't ports subscribed to look for messages of type http://microsoft.com/HealthCare/HL7/2X#ORU_R03_23_GLO_DEF

There are ports subscribed to http://mynamespace/HL7/2X#ORU_R03_23_GLO_DEF

Is there anyway to check for sure if the Party is actually reading the incoming messages?

Has anyone encountered this happening with BizTalk Parties? If so, how was it resolved?

Bensonius
  • 1,501
  • 1
  • 15
  • 39
  • Can you check that you only have a single copy of the `http://microsoft.com/HealthCare/HL7/2X#ORU_R03_23_GLO_DEF` schema in BizTalk? It can fail to find a schema if there are multiple candidates that satisfy the namespace and root node. – Sir Crispalot Nov 08 '13 at 00:06
  • 1
    I've checked that many times over, wiped and redeployed as well. Deleted and recreated the Parties as well. – Bensonius Nov 08 '13 at 05:07
  • What version of BizTalk was it? Was it an in-place upgrade from BizTalk 2010 to BizTalk 2013? If so there are some know issues with that. See my response to this issue http://stackoverflow.com/questions/19869939/hl7-accelerator-error-schema-not-found-after-upgrade-to-biztalk-2013 – Dijkgraaf Nov 14 '13 at 20:21

2 Answers2

1

Microsoft very briefly describes the process for resolving the schema of an inbound HL7 V2.X message here. So double-check that:

  1. Your party name matches the value in MSH.3
  2. The schema namespace under the Validation tab of the BTAHL7 Configuration Explorer exactly matches the schema deployed to BizTalk

However, if your MSH.3 field only includes value for 3.1 and not also 3.2 and 3.3, then you also need to enable a setting on the BizTalk v2X pipeline components for partial name resolution: Enable Partial Name Resolution For Sending Application.

As I mentioned in another answer, older versions of BizTalk (2006 R2 and 2009) require a hotfix for the issue described in KB article 977120 to make that setting appear/work properly.

Community
  • 1
  • 1
schellack
  • 10,144
  • 1
  • 29
  • 33
  • thanks schellack, I saw your other answer you linked to, but to no avail. I'm currently working on a clean install of my dev environment before pulling out anymore hair. – Bensonius Nov 12 '13 at 18:35
  • Just wanted to let people know. I did a fresh install of Windows 2008 R2, BizTalk 2010. Then I uninstalled 2010 (rather than upgrade) installed 2013, converted and redeployed all my applications. Same thing is happening...The parties refuse to read the MSH3 field and apply the schema Namespace on the "validation" tab of the BTAHL7 Config tool – Bensonius Nov 27 '13 at 19:32
  • Did you also uninstall v2010 and reinstall v2013 of the HL7 accelerator? – schellack Nov 28 '13 at 04:44
  • We did. We ended up doing a totally fresh install and things are mostly working. I still want to try again with the upgrade to see if I can actually make it work. – Bensonius Nov 28 '13 at 16:57
  • Just because I was second guessing myself, I did the whole procedure again. Uninstalled BizTalk 2010, every last bit of it including delting all the BizTalk databases, wiped the accelerator, wiped/installed LOB 2010->2013 SDK/Adapter. Everything went without a hitch. It all came back to the same problem. The Parties are not catching the MSH.3 field and assigning the new schema namespace in the "validation" tab of the BTAHL7 configuration tool. Frustrating. Because this means, if we want to go to 2013, we'll have to wipe the servers of OS entirely, then install OS/SQL/BTS – Bensonius Dec 05 '13 at 22:15
1

Lesson learned. Search for Hotfixes BEFORE doing anything else.

http://support.microsoft.com/kb/2892599

I installed both CU1 and CU2 for BizTalk 2013 and suddenly the parties are resolving as expected. In reading what is all included in the fixes, I'm unable to tell which of the fixes would have actually helped. In fact, it sort of makes me wonder if it was coincidence, seeing as with an OS wipe and fresh BizTalk 2013 install, everything worked fine.

Bensonius
  • 1,501
  • 1
  • 15
  • 39