3

Say I were to create a promoted property on an HL7 v2 schema. I want to use this promoted property in order to correlate two messages in a parallel convoy. I did a dummy application without using HL7 schemas and all worked just as expected. To sum up what I did, see this tutorial.

It's actually quite simple, which is why I'm wondering there is a catch when it comes to the HL7 schemas.

I created the PropertySchema, Promoted the field I'm after in the HL7 body schema, everything compiled and deployed fine, I ran a query for the subscriptions on my receive ports and they look OK

PropertySchema

http://schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortID == {D2F99A76-E28A-4B3E-AC52-F4E2F92453C3}
And
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == http://microsoft.com/HealthCare/HL7/2X#ORU_ALL_25_GLO_DEF
And
https://myNS.ECGCorrelationPropertySchema.CommonAccessionID Exists 

However, I get a

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.

and looking in the Biztalk Group admin console, when I view the suspended messages, I don't see that the property has been promoted

Edit to add message context

enter image description here

Error Report Context

Context Properties

I have checked and double-checked, the schemas are there, there are duplicate schemas the Event log even shows A message was received of type http://microsoft.com/HealthCare/HL7/2X#ORU_ALL_25_GLO_DEF when I receive a message.

So now, I guess I have 2 questions:

  • If the promotions were happening successfully, would they show in the Message --> Context dialog (they did in my non-HL7 dummy app)
  • If they aren't supposed to show, is there a setting/property/anything somewhere I missed that is unique to using HL7v2 schemas?
Bensonius
  • 1,501
  • 1
  • 15
  • 39

1 Answers1

1

Short answers: 1. Yes, provided this message came directly from the Receive Pipeline 2. No, once emitted from the disassembler, there is nothing special about an HL7 Message.

Make sure you're looking at the actual Suspended Message and not the Error Report. The best way to check this is to Stop, don't Unenlist, the Orchestration. The Message will then suspend Resumable.

Johns-305
  • 10,908
  • 12
  • 21
  • See that's part of the problem, the message doesn't even make it to the Orchestration, because it can't resolve the subscription since the subscription is looking for the promoted schema property that isn't there. However, I am looking at the suspended message, as it exists as well as a routing error report. – Bensonius Jul 25 '14 at 17:52
  • @LaMMMy your screenshot shows the context of the error report, not of the suspended message. What is the context of the suspended message itself? – MarioDS Jul 25 '14 at 18:12
  • @MDeSchaepmeesterI edited to add the message context. I think I may have found my mis-step. I'll report back later. – Bensonius Jul 25 '14 at 18:21
  • @LaMMMy what's the status on this? – MarioDS Jul 29 '14 at 12:40
  • @MDeSchaepmeester turns out it was a combination of errors on my part. #1 being I'm using a 3rd schema, which combines the MSH+Body schemas, and while the MSH segments were available to promote in VS, behind the scenes the custom pipeline components actually disregard those promotions. #2 When I finally figured that out, the fields I want to promote in the ORU schema are actually repeating and can't be promoted using the schema method. – Bensonius Jul 29 '14 at 20:09