changing an A40 message type to A18

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf changing an A40 message type to A18

  • Creator
    Topic
  • #49574
    John Harvey
    Participant

    Hi,

    I have an issue where I am told I need to take an A40 type message and convert it to an A18.  the vendor system I’m sending to is very sensitive and needs to see mrn merges as an A18 message type.  The source vendor wont do this and so it’s left to me.  I am using a tcl program to do this.  

    Doing this in tcl was not the problem, but what is would be the xlate messages I’m getting back during ACK creation:

    a mtype = A40 changed to A18

    MSH {^~&} {} . {} {} 200710100829 {} ADT^A18 TRNS-ADT.1.95553 P 2.3

    EVN A18 200710100829 {} {} {} 200710091816

    [xlt :rout:ERR /0:   comm_xlate] No routes defined for TrxId ‘ADT_A18’

    Whenever I have to flag the thread off and on, ACK messages queue up and do not send, likely because of this error I’m getting.  Where is this last message generated and how can I modify it to recognize an A18 event?  

    The ADT interface used at the source is version 2.3, as is the thread set up to read 2.3…

    Thanks!

Viewing 10 reply threads
  • Author
    Replies
    • #62543
      Rob Abbott
      Keymaster

      The error message isn’t occurring in Tcl, it’s happening when the message is routed.

      Make sure you have ADT_A18 as a trxid in your routing table.

      Rob Abbott
      Cloverleaf Emeritus

    • #62544
      John Harvey
      Participant

      How do I do that?

    • #62545
      Tom Rioux
      Participant

      Look in the inbound tab of the inbound thread and check the trxid determination format.  You may have a tcl proc there that needs to be modified to send an ADT_A18.  

      How are you determining the routing for messages?

    • #62546
      John Harvey
      Participant

      Thanks for your input.  

      My trx ID Determination format is set at hl7 version 2.3 with no variant.  Should I create an A18 variant and apply it here?

    • #62547
      Chris Williams
      Participant

      Your error message is telling you that CL does not know how to route the message. From the error it also appears that your TrxID determination is fine. The routing table that Rob referrs to is on the Route Messages tab of the inbound thread.

      The Route Name is usually configured as the message type or whatever is returned by the process selected for TrxID Determination. In this particular message it is “ADT_A18”. Note that the notation used in the Route Name field is Regular Expression format rather than the more familiar Glob style. If you are using wildcarding you must check the “wildcard route” box.

      Glob style is more familiar to people as the way you specify wildcards when getting a directory listing. To specify all files in a directory that begin with ADT you would use “ADT*”. This does not work here.

      The Regular Expression format, which can be more complex, would be “ADT.*” which means everything beginning with ADT optionally followed by none or more characters. You can get lots of information by Googling for Regular Expression or regexp or regex.

      Make sure you have a route listed under the Route Messages tab that would include ADT_A18.

      Here are a couple links for info on using Regular Expressions:

      http://www.regular-expressions.info/reference.html” class=”bbcode_url”>http://www.regular-expressions.info/reference.html

      http://en.wikipedia.org/wiki/Regular_expression” class=”bbcode_url”>http://en.wikipedia.org/wiki/Regular_expression

    • #62548
      John Harvey
      Participant

      OK thanks all, I’m still not sure I got it right, however.  To clarify, this particular interface needs to send A08 as is and translate an A40 to an A18.  These are the only message types created.

      I have created an xlate to bulk copy an A08 as is.

      I created a second to convert an A40 to an A18.

      for the most part, only A18’s cross.  So now, with two xlates created and attached to the route messages tab, I am still seeing this message (and I’m sure a similar one will be created when an A18 is encountered):

      10/10/2007 15:06:23

      [xlt :rout:ERR /0:   comm_xlate] No routes defined for TrxId ‘ADT_A08’

      is this normal behavior, or am I still doing something wrong?

      Thanks again to everyone helping out!!

      😛

    • #62549
      Chris Williams
      Participant

      John,

      Can you tell us exactly what the route names are on the Route Messages tab? A screen shot could also be helpful. This may turn out just to be a typo.

    • #62550
      Rob Abbott
      Keymaster

      John Harvey wrote:


      I have created an xlate to bulk copy an A08 as is.

      I created a second to convert an A40 to an A18.

      An xlate with BULKCOPY “as-is” is very expensive in terms of processing.  If you don’t need to modify the message, use a raw route.

      It sounds like you already converted the A40 to an A18 with Tcl?  If you have other modifications to the message in a translation that’s fine, use it, otherwise use a raw route.

      As Chris said please list your transaction IDs under the Route Messages tab.  you should have at least two:  ADT_A08 and ADT_A18.

      If no translation at all is required you can use a raw static route and forget about the transaction IDs.

      Rob Abbott
      Cloverleaf Emeritus

    • #62551
      John Harvey
      Participant

      Yes, Hi… I see I confused things here.  OK then, I’ve attached a document with screen shots.  The first image is for the A40 to A18 conversion, the second handles A08.  In the case of the A08 (which is the bulk of the data crossing, not A18…those are rare…sorry!), I am still seeing this in the log file over and over:

      10/11/2007 12:55:29

      [xlt :rout:ERR /0:   comm_xlate] No routes defined for TrxId ‘ADT_A08’

      These messages are bogging down my log file and so I don’t know how to make them stop. I expect to see a similar message when an A40 gets converted…

    • #62552
      Chris Williams
      Participant

      In the Route Messages tab, click on “New id”.

      You will see an edit box in the upper right corner. Change “New id” to say “ADT.*” (without the quotes of course).

      Check the box that says “wildcard route”.

      The string that is returned by the TrxID proc, in your case, is “ADT_A18”. The text that currently says “New id” has to be a Regular Expression that will encompass the “ADT_A18”, for example, “ADT.*”

    • #62553
      John Harvey
      Participant

      Ok, I believe I understand the concept there.  I can let the A08’s pass as raw data under it’s own route (which is all I want it to do) and have a second route to handle the A40’s conversion?  I believe I’ll be able to set this up right once I actually get a successful translation configuration built for the A40 to an A18.  I’m combining different tecniques and have failed every time so far.  I can’t seem to get all the data to move from point A to point B.  

      What’s happening, no matter my experiments, my xlt build is stripping out fields with nil data, therefore, important fields like MSH|10 end up at MSH|4 and the vendor chokes on the message.

      I’m going to have to play around more I guess!

Viewing 10 reply threads
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,126
Forums
28
Topics
9,296
Replies
34,439
Topic Tags
287
Empty Topic Tags
10