Changing formats on ORM messages

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Changing formats on ORM messages

  • Creator
    Topic
  • #51228
    Cynthia Briscoe
    Participant

      I have a vendor – Eclinicalworks that is sending ORM messages different each time they send them across our interface.  One time they send just repeating OBR segments and the next time they will send repeating OBR and DG1 segments alternating.  I have written a variant and translation making the OBR repeating and the DG1 optional and repeating.  My translation I have changed multiple times.  I can either get it to capture all the repeating OBRs and DG1s if the message is sent this way but then the messages with no DG1s fails to send all the repeating OBRs or if I change it to accommodate just repeating OBRs then the messages with alternating repeating OBRs and DG1s fail to send all the data – just sends one OBR.  Below are the two formats that are being sent in the same interface:

      NO DG1

      ORC|NW|135493|||||||20090922103425|||467^Miller^J.^David|

      OBR|1|135493||ABRF^F-ABO/RH|||20090922103425|||||||||467^Miller^J.|||||||||||0

      OBR|2|135493||AERC^F-CULTURE,AEROBIC|||20090922103425|||||||||467^Miller^J.|||||||||||0

      OBR|3|135493||ASTRA^F-BASIC METABOLIC|||20090922103425|||||||||467^Miller^J.|||||||||||0

      OBR|4|135493||BLC^F-BLOOD CULTURE|||20090922103425|||||||||467^Miller^J.|||||||||||0

      OBR|5|135493||CBC^F-COMPLETE BLOOD COUNT W/DIFF|||20090922103425|||||||||467^Miller^J.|||||||||||0

      OBR|6|135493||RUBLA^F-RUBELLASCREEN|||20090922103425|||||||||467^Miller^J.|||||||||||0

      REPEATING ALTERNATE DG1

      ORC|NW|135200|||||||20090922142742|||467^Miller^J.^David|

      OBR|1|135200||TSHT4^F-TSH & T4|||20090922142742|||||||||467^Miller^J.|||||||||||0

      DG1|1||278.01|Morbid obesity|

      OBR|2|135200||VITD^F-VITAMIN D|||20090922142742|||||||||467^Miller^J.|||||||||||0

      DG1|1||327.52|Leg cramps, sleep-related|

      OBR|3|135200||LIPR^F-LIPID PROFILE, FRHG|||20090922142742|||||||||467^Miller^J.|||||||||||0

      DG1|1||327.52|Leg cramps, sleep-related|

      OBR|4|135200||COMPP^F-COMPREHENSIVE METABOLIC|||20090922142742|||||||||467^Miller^J.|||||||||||0

      DG1|1||327.52|Leg cramps, sleep-related|

      OBR|5|135200||CBC^F-COMPLETE BLOOD COUNT W/DIFF|||20090922142742|||||||||467^Miller^J.|||||||||||0

      DG1|1||704.8|Folliculitis|

      attached is a screen shot of the current version of the xlate.

    Viewing 6 reply threads
    • Author
      Replies
      • #69282
        Robert Kersemakers
        Participant

          Hi Cynthia,

          Hmmm… Normally there is only one OBR and an optional DG1 for each occurrence of ORC. So not sure if there is a problem there…

          But you should be able to handle these messages with one variant and one translation.

          Your variant should look like this (only mentioning the segments you already talked about):

          Code:

          ORC
          [
           {
             OBR
             [DG1]
           }
          ]

          Next you need to take a good look at your translation and the place where you use your %g1. In the printscreen you sent, you use ‘2(%g1).1(0).0(0).OBR(0)’ after the first ITERATE. This can’t work at all: it should be something like ‘2(0).1(0).0(%g1).OBR(0)’.

          With the above format you only need one ITERATE over the group OBR/DG1. Then you can handle the OBR and check if there is a DG1 segment as well in this group.

          Hope this helps.

          Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

        • #69283
          Cynthia Briscoe
          Participant

            I made the suggested changes in my HL7 variant

            [

                 {

                    OBR

                   [DG1]

                 }

            }

            and moved the %g1 to the indicated position but now it is only displaying the first OBR and first DG1 and not picking up the repeating segments.

            Suggestions?

          • #69284
            Rob Parnell
            Participant

              It might help to run it through your testing tool with just the variant and see how it is displaying and play with it before you get to the translation

            • #69285
              Robert Milfajt
              Participant

                I could go a couple of ways on what the problem is, and that all depends on your outbound variant.  Can you please include the full inbound and outbound message variants here?

                Thanks,

                Robert Milfajt
                Northwestern Medicine
                Chicago, IL

              • #69286
                Cynthia Briscoe
                Participant

                  I have tested my variants and they work as desired so I think the problem is in the xlate.  attached are the variants.

                • #69287
                  Robert Milfajt
                  Participant

                    Here is a screen shot of an Xlate I mocked up that takes your multiple OBR/DG1 message and orders it so all the OBRs are first, followed by all the DG1s.  I think that is what you meant to accomplish.  The screen shot shows only the ITERATE and subsequents commands.  Take special notice of the following:

                    1.  Iterate basis, I think Robert already addressed this.

                    2.  You do not need a second iterate for the DG1s as they are already in the same group as the OBRs.

                    Hope this helps,

                    Robert Milfajt
                    Northwestern Medicine
                    Chicago, IL

                  • #69288
                    Cynthia Briscoe
                    Participant

                      Thanks Robert.  This appears to have done the trick.  The outbound is trying to create DG1 in cases where there were none inbound but it is 100% better than I had!!

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