HL7 Variant quirk….

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf HL7 Variant quirk….

  • Creator
    Topic
  • #50571
    Tom Rioux
    Participant

    Maybe I’ve just never encountered this before or never realized that syntax is everything but here is an issue I just ran into.   I have a variant built with an AL1, ZAL repeating group.  I needed to do some translations on the AL1.3 field based on allergy type in AL1.2.  Simple enough.  However, in some of my test messages only the first AL1 segment was showing up.  It would never hit the others.  I searched long and hard in my code making sure I had all of my iterate variables in place and made sure I had no typos.  Everything looked good.

    Then I noticed that the A08’s were working fine but the A04’s and A31’s weren’t.  The layout up to those segments are pretty much the same in this variant for all 3 messages.  So, if I use an A08 as my message format for my xlate, I was safe to assume that it should be working properly.  However, finally I went to take a look at the structure defined in the variant for each type of message.  Here is what I found:

    The A08 group was set up as below with the corresponding layout in the xlate:

    [                     Layout in xlate:  1(0).0(0)….

    {                                            1(0).0(1)…and so on

      AL1

      [ZAL]

     }

    ]

    The A04 group was set up as below with the corresponding layout in the xlate:

    {                     Layout in xlate:  1(0).0(0)….

     [                                            1(1).0(0)…and so on

      AL1

      [ZAL]

     ]

    }

    Can someone explain to me why whether the curly brace or the bracket came first made such a difference in the way the xlate translated the message?

    Thanks…

    Tom Rioux

    Baylor Health Care System

Viewing 3 reply threads
  • Author
    Replies
    • #66654
      Jim Kosloskey
      Participant

      Tom,

      I don’t think it should matter.

      Try changing the variant so that the indicators are reversed and retry your Xlate. If it still fails, then it must be the Xlate.

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

    • #66655
      Tom Rioux
      Participant

      Thanks Jim.  I made the A08, the A04, and the A31 look all the same when it applies to that particular grouping.  All messages started working.  Is this some sort of HL7 bug?  A Cloverleaf translation bug?  Or am I just buggy?  (no comments from the peanut gallery John Hamilton!)

      Thanks…

      Tom Rioux

      Baylor Health Care Systems

    • #66656
      Jim Kosloskey
      Participant

      Tom,

      I do not think that is an HL/7 restriction. To be sure I did some research and I cannot find anything that specifies whether the brace or bracket needs to come first.

      So if the order does cause an issue, my suspicion would be sensitivity of the parser.

      If the parser is pickey, the the configuration tool shoulld not allow invalid configuration.

      However, I note that message structures as delivered have both constructs.

      Thus I am unsure if this is true whether it is by design (restricted order) or a bug.

      If it is true and by design than the HL/7 Configurator Gui has a bug and should not allow invalid notation.

      Those are my thoughts anyway.

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

    • #66657
      Jennifer Hardesty
      Participant

      Well, they are quite different actually.

      One reads that the repeating group is optional and the other reads that the optional group is repeating.  It’s a very subtle difference but the latter is likely invalid, especially if the message the parser encounters has no AL1 or ZAL — you can’t repeat nothing; it’d be like dividing 0 by something.

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

Forum Statistics

Registered Users
5,115
Forums
28
Topics
9,290
Replies
34,422
Topic Tags
286
Empty Topic Tags
10