Hello Daniel,
I have followed your advice, read Eric's blog
(http://blog.hl7-info.com/archive/2009/08/15/HL7_Best_Practices.aspx) and
I'm now able to have my own custom copy of HL7 messages. I played with an
ADT^A01 and was able to change table7 to accept other values for PV1.4.
Perfect. The input message is now parsed properly, at least I have no more
error message. I'm progressing !
But now I have another issue, probably related to my changes to messages
(wsd files). In the event log I see this error after dropping an ADT^A01
message in the receive location folder:
Error happened in body during parsing
Error # 1
Alternate Error Number: 301
Alternate Error Description: Schema
http://partner1/his/HL7/2X#ADT_A01_231_GLO_DEF not found
Alternate Encoding System: HL7-BTA
"http://partner1/his" is the value I used to replace
http://microsoft.com/HealthCare as Eric's blog stated.
The dropped message is picked up by BizTalk and remove from receive location
folder. To ACK message is generated.
In my application, I have 3 assemblies: BTAHL7V2XCommon,
CHR_HIS_HL7V231Common and CHR_HIS.
BTAHL7V2XCommon is actually an untouched assembly which is part of
"End-to-end tutorial" which comes with BTAHL7 and is installed in "BizTalk
Application 1". My own application "CHR HIS" has a reference to that
application.
CHR_HIS_HL7V231Common is where I modified the xsd files as suggested on
Eric's blog.
CHR_HIS is the application which include only ADT_A01°231_GLO_DEF segment,
modified according to Eric's Blog.
As Eric's blog state, I created a party and set schema namespace to
"http://partner1/his/HL7/2X" using BTAHL7 config explorer.
Now I get the above error message and I don't know where/what to search to
fix it.
Thank for your patience and help,
--
Francois Piette
http://www.overbyte.be
"Daniel S" <***@gmail.com> a écrit dans le message de news:
95376e15-75da-4aae-921a-***@x25g2000prf.googlegroups.com...
Hello Francois,
Tom and I have worked together for many years, so I guess we would
have given you the same answer! :-)
Let me try to answer your questions and I'm sure Tom will help me out
if I miss any...
Q: how can I tell BizTalk
to ignore the validation and write my own validation rule ?
A: Easy part = turning off the BizTalk validation. Use the BTAHL7
Configuration Explorer that comes with the Accelerator, and for each
party you have configured, go to the Validation tab and uncheck the
various validation boxes. Hard part = writing your own validation. A
few ways you could do this...I would probably do this using the Rules
Engine, but it will be very time consuming.
Q: Multiple definitions for different parties?
A: In a nutshell, you need to deploy multiple "versions" of the common
schemas. This involves changing the namespaces (probably to something
which matches the party). Then, update the party, again using the
BTAHL7 Configuration Explorer, to use this namespace, and create your
HL7 schemas for this party referencing the custom common schemas.
Eric Stott has the BEST BizTalk HL7 blog, and I believe he addresses
this very topic in detail: http://blog.hl7-info.com/.
Thanks,
Dan
Post by Francois PIETTEPost by Tom Canter - NeudesicPost by Tom Canter - NeudesicAccording to the HL7 documentation, the value here is the "3-
character" code to be used, the "ISO 3166-1 alpha-3 -
http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3" not the "ISO 3166-1
alpha-2 -http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" codes.
(from the 2.5.1 HL7 Manual)
2.15.9.17 MSH-17 Country Code (ID) 00017
Definition: This field contains the country of origin for the
message. It will be used primarily to specify default elements, such
as currency denominations. The values to be used are those of ISO
3166,. . The ISO 3166 table has three separate forms of the country
code: HL7 specifies that the 3-character (alphabetic) form be used for
the country code.
Refer to HL7 Table 0399 Country code for the 3-character codes as
defined by ISO 3166-1.
The MSH schema is seperate from the rest of the schemas.
And, you cannot modify the schema in a lot of ways, but if this works
that is fine.
The Table399 is embedded in the schema on line 1123. Search for
"<xs:simpleType name="Table399">"
The simplest answer seems to be to edit the Table Values and add "BE"
to the list,
OK, you confirm what Daniel S told me in his message.
Post by Tom Canter - Neudesiceven though it is not a valid value.
As I said in my previous message (see quote above), I don't understand why
it is an invalid value. The HL7 documentation for HL7 V2.3.1 clearly state
ISO 3166-1 is the reference. And Belgium is listed as "BE" in ISO 3166-1.
But this is not really important. What is important is how to use another
definition for some sender, but not all senders.
This makes me think of another question: In general, if I'm not happy with
the validation BizTalk HL7 parser provide by default, how can I tell BizTalk
to ignore the validation and write my own validation rule ? I ask because my
next problem is in PV1 segment. The value received by BizTalk is not
accepted by the parser. The main BizTalk use I have is to transform messages
from various sources so that they are accepted by various destinations. I
have to accept incomming messages whatever (well to a certain extent)
special formatting is there.
FYI: My mission is currently to evaluate BizTalk to see how well it deliver
a solution for our hospital, and how easy it is to setup the solution and
manage it. Depending on the evaluation, the hospital management may approve
BizTalk or ask for another product.
Thanks for your patience,
--
Francois Piettehttp://www.overbyte.be- Hide quoted text -
- Show quoted text -