33714

HL7 accelerator error: Schema not found (after upgrade to BizTalk 2013)

On a dev machine, we upgraded a BizTalk 2010 server to BizTalk 2013. We are sending HL72 messaves from another machine to this one and getting a schema not found error:

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

The message specifies "LAB" as the sending application, and we have a party called "LAB" which specifies "http://mycompany/myapplication/HL7/2X/2.3/ORU/v1" as the schema namespace, so we can't figure out why it's looking for the ORU R01 2.3 schema in the default microsoft namespace.

<img src="https://i.stack.imgur.com/6qy97.png" alt="enter image description here">

Our message looks as follows:

MSH|^~\&|LAB|ABC|LAB||201311071138||ORU^R01|D2863329|D|2.3| PID|1|A00003766|XX00014202|9191610101|Ihhendrickson^Plis||19691202|M|||8423 Panko Pvt^^Here^BC^XXX XXX||111-1111|||||xx0055355x3|9x9x6x0x0x| PV1|1|R|TRAKBHLB||||93190^Plisihd^xxxxxx^^^Dr^^xxxxxx|||||||||||RCR||BC|||||||||||||||||||xxxxx||REG|||201207261453| ORC|RE|PT80755100.0010|||CM|N|||201311071138|^xxxxxx^Linda^^^^^xxxx||93190^xxxx^Aaron^^^Dr^^xxxx|xxx| OBR|1|PT0711:T00001R100.0010|PT0711:T00001R|100.0010^Group \T\ Screen^00050252^34532-2^Blood Type \T\ Indirect Antibody Screen^pCLOCD|R|201311071004|201311071004|||G|||PLIS Testing|201311071004|T|93190^Plisihd^xxx^^^Dr^^Pxxxxx||00050252|||xxx|201311071004||BBK|F|||93190^xxx^Aaron^^^Dr^^xxxx| NTE|1||Date required: 20131107| NTE|2||Any previous transfusions? Unknown| NTE|3||Specify any underlying blood disorders: U| NTE|4||Has consent for blood products been obtained? Yes| OBX|1|ST|150.0100^Patient Blood Group^00050252^882-1^Blood Type \T\ Indirect Antibody Screen^pCLOCD||OPOS^O Rh Pos|||||A~S|F|||201311071137|xx^xx^L|IH001^^Blood Group^Patient Blood Group^150.0100| OBX|2|ST|200.0100^Ab Screen Gel^00050252^XBC1931-6^Blood Type \T\ Indirect Antibody Screen^pCLOCD||NEGATIVE^NEGATIVE|||||A~S|F|||201311071138|xx^xx^L|IH001^^Ab Scr Gel^Antibody Screen Gel^200.0100| ZDR||xxx^xxxx^Aaron^^^Dr^^^^^^^^^ATP| ZPR||

Anyone have ideas we should try?

Answer1:

There are know issues with doing a BizTalk 2010 to BizTalk 2013 in-place upgrade, possibly it is due to one of the below. It would be best not to do in in place upgrade, but rather do a clean install and migrate applications.

<ol> <li>In Place upgrade of BizTalk 2010 to BizTalk 2013 does not update the Microsoft.BizTalk.GlobalPropertySchemas</li> <li>Upgrading BizTalk Server 2010 to 2013 – need to provision permissions on BizTalkMgmtDb.bts_dynamic_sendport_handlers table</li> <li>Upgrading to BizTalk 2013–Could not load file or assembly "’Microsoft.BizTalk.Interop.SSOClient </li> </ol>

Answer2:

For send ports, the HL7 2.X Assembler component is supposed to use the MSH 5 field value to determine the party to use. The pipeline configuration on your send port should have an option to enable partial name resolution (EnablePartialNameResolutionForReceivingApplication), which—when turned on—may help.

In receive locations, the HL7 2X Disassembler component should use MSH 3 for party resolution. The receive location's BTAHL72XReceivePipeline configuration has settings called EnablePartialNameResolutionForSendingApplication and EnablePartialNameResolutionForReceivingApplication for you to turn on.

Older versions of BizTalk required a hotfix to make those settings work, but that should no longer be necessary. From that page, the description of the settings are:

For the send pipeline, the BTAHL7 2.X assembler contains the following property:

Property name: Enable Partial Name Resolution For Receiving Application Default value: False Description for the property: First check party with name MSH5.1 + MSH5.2 + MSH5.3. If not found, check party with name MSH5.1 + MSH5.2. If not found, check with name MSH5.1.

For the receive pipeline, the BTAHL7 2.X disassembler contains the following properties:

Property name: Enable Partial Name Resolution For Receiving Application Default value: False Description for the property: First check party with name MSH5.1 + MSH5.2 + MSH5.3. If not found, check party with name MSH5.1 + MSH5.2. If not found, check with name MSH5.1. Property name: Enable Partial Name Resolution For Sending Application Default value: False Description for the property: First check party with name MSH3.1 + MSH3.2 + MSH3.3. If not found, check party with name MSH3.1 + MSH3.2. If not found, check with name MSH3.1.

If that does not help, then there is one other thing to try for send ports only: In the party configuration, try assigning the party to your send port, as described in step three here. That's one way to try to force it to use the proper party. That will not help with receive locations, though.

Recommend

  • simple beginner search program using arrays in javascript, issue with displaying
  • onClick events on li items, to change textFields
  • Change default xib view in xCode 4.5 to 3.5“ and not 4”
  • Remove duplicates the simplest way / explanation
  • Syntax to Redirect to Input/Output to in C (UNIX)
  • Sql to select row from each day of a month
  • How to improve performance of loading data from NON Partition table into ORC partition table in HIVE
  • Python 3 input and if statement
  • To extract specific pattern from file
  • XML Serialization assembly for non-web projects
  • Using Apache Spark as a backend for web application
  • javascript new function call with MooTools
  • Problem compiling program using fork in cygwin
  • JPA 2 Remote Criteria?
  • what does populate in mongoose mean?
  • How to represent a dependency graph with alternative paths
  • compare items from different lists
  • Edit a variable within an array
  • Error in Serializing NSDictionary
  • How to extract nouns using NLTK pos_tag()?
  • Split date range into one row per month in SQL Server pt2
  • Number of working days between two dates
  • Number of working days between two dates
  • Web Scraping with rvest and R
  • HL7 accelerator error: Schema not found (after upgrade to BizTalk 2013)
  • How to install and use python packages on Kodingen?
  • Compare strings with non-English characters?
  • How to set the height of a PDF header?
  • How to mention namespace in XSLT file when the namespaces are dynamic?
  • Every second request using Apache HTTPClient fails
  • Javascript, map returns undefined
  • Is it possible to refresh a div on a radio button click?
  • How can I get the concrete type of a generic type variable using mirrors in Dart?
  • Batch file: run command in a cmd.exe launched as a different user using batch file
  • How do I add “&Source” to DataNavigateUrlFormatString?
  • Active Directory Powershell - forest-wide search script using .csv list of users
  • PHP exec response as string?
  • How to include Web reference endpoint configuration in another project
  • php notice undefined index http_host in $GLOBALS['HTTP_SERVER_VARS']['HTTP_HOST'
  • Usage of local dart library