Changing MEssage Types

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Changing MEssage Types

  • Creator
    Topic
  • #51684
    Sandi Meyers
    Participant

      This may have been asked before but coudl some one point me in the right format.

      I would like to use the GUI xlate function to change a A31 message to an A01 because the receiving system does not accept A31.  I was told I could right IF A31 in MSH 9.2 then copy A01.  Problem is when I use the GUI and choose the segment in the message there is no 9.2.  I am getting segment not found errors when testing.  COuld some one explain/show me how I can do this.  I know it is simple but I just can’t get it.

    Viewing 6 reply threads
    • Author
      Replies
      • #71273
        Nick Stainback
        Participant

          When you are setting up the Xlate in the GUI and you select “New” choose the “Inbund Record Format” of ADT_A31 and the “Outbound Record Format” of ADT_A01.

        • #71274
          Jim Kosloskey
          Participant

            Sandi,

            Just add the component notation on the field address path like this:

            0(0).MSH(0).#9(0).[1]  

            The .[1] at the end is the component notation for the second component (MSH-9.2 in this case).

            email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

          • #71275
            Sandi Meyers
            Participant

              tried that and still got an error.  Here are screen shots of the xlate and error

            • #71276
              Charlie Bursell
              Participant

                Seems to me people are making this *MUCH* more complicated than it should be.

                Assuming you are only changing event type from A31 to A01 you need to define the input and the output as A31.  Otherwise your message will not match.

                Then the entire Xlate consists of 3 statements

                1. BULKCOPY

                2. =A01 => 0(0).MSH(0).#9.[1]

                3. =A01 => 0(0).EVN(0).#1

                Here is the entire xlt file:

                Code:



                prologue
                   xlt_infile: hl7 2.3  ADT_A31
                   who:        charlie
                   date:       April 9, 2010 8:42:25 AM CDT
                   xlt_outfile:        hl7 2.3  ADT_A31
                   type:       xlt
                   version:    7.0
                end_prologue

                { { OP BULKCOPY }
                   { ERR 0 }
                }
                { { OP COPY }
                   { ERR 0 }
                   { IN =A01 }
                   { OUT {{0(0).MSH(0).#9.[1]}} }
                }
                { { OP COPY }
                   { ERR 0 }
                   { IN =A01 }
                   { OUT 0(0).EVN(0).#1 }
                }

              • #71277
                Sandi Meyers
                Participant

                  Thanks I thought of that but using the bulkcopy what of my other ADT messages?  The only ones they don’t accept are A31.  Still need all the others.

                • #71278
                  Gary Atkinson
                  Participant

                    You only said you need to change A31 to A01.  If you need to use other message types will need to set a separate route for those.  You could use wild card routing or custom trxid proc; your choice.

                  • #71279
                    Robert Kersemakers
                    Participant

                      You can do this with one Xlate and one routing by making a ‘generic’ ADT-variant. I made a variant called ‘ADT’ and used this variant as the input and output variant. Then just BULKCOPY everything and check if the message is an A31. If so, change message type into A10 (see Charlie’s advice).

                      Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

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