changing an A40 message type to A18

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.