Announcement

Collapse
No announcement yet.

HIPAA X12 hierarchical modelling

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HIPAA X12 hierarchical modelling

    Hi everyone,

    The company I work for is looking at Mirth as a possible solution for reading and writing HIPAA X12 transactions such as 835, 837, etc. to/from a database. The database schema will be organized roughly around the hierarchy of the different X12 transactions that we will be reading/writing. Ideally we would like Mirth to present a hierarchical model of the incoming/outgoing X12 transactions. From my research on Mirth converting to/from XML seems like the most promising option for getting a readily traversable model of the X12 structures. However, from my own tests with sample files and some other threads on this forum, it seems that the XML translation of X12 files flattens the X12 structure. (For writing X12, the flattening will likely not be an issue, but I have not looked into this much yet.)

    I have also looked in the Mirth source and found the following directory:
    http://www.mirthproject.org/svn/trun...model/x12/xml/
    The files contained here seem to have all of the syntax info of the HIPAA X12 implementation guides in a machine readable format (XML) including the hierarchical relationships of the segments. I am not a java programmer and thus do not know what the surrounding files do, but the names sound promising for some kind of more advanced modelling capabilities than are documented. Does anyone know how these XML docs are used in Mirth? Are there other modelling functions besides the default ones for X12? Is there another way to get a complete hierarchical model of the X12 transaction sets besides XML? I have not done any extensive channel development for Mirth yet so it is quite possible that I have missed a lot.

    I have tested with Mirth Connect 1.8.2

    Thank you for your time,

    Jeff

  • #2
    Hi Jeff,

    I believe the xml files are used for x12 vocabulary in the transformers. The internal representation of any message type in Mirth is always xml.

    I have built quite a few x12 channels in the past. Since x12 messages are rather dynamic with various loops etc., I found myself writing a lot e4x javascript to do my database to x12 mapping.
    Daniel Svanstedt
    Software Engineer
    Mirth Corporation

    Want professional services, support, and enterprise or virtual appliances? It's all available from the Mirth Corporation:
    Mirth Support | Mirth Training | Mirth Appliances | Online Training | Developer Q&A

    Don't forget, Mirth Support gives you access to all of our online training videos, and silver support gives you access to developer Q&As!

    Comment


    • #3
      Hi Dan,

      Thanks for your prompt reply.

      When you say that the XML files provide the vocabulary, are you referring to the field descriptions in the message template pane?

      I am also new to X12 (as well as Mirth), but I have read much of the implementation guides which leads me to the following question. When you say "Since x12 messages are rather dynamic with various loops etc." are you saying that for a given X12 transaction one cannot apply a fixed model to its syntax or are you saying that because of variation in the exact implementation of the standard there cannot be one definitive syntax model?

      Thanks,

      Jeff

      Comment


      • #4
        Yes, the vocabulary provides the descriptions in the message template pane.

        Yes, there are repeating segments (or blocks of segments) and elements in the structure of x12. Because of that you can not use a full outbound template that you just map your query results to. Rather you have deal with situations where you have n segments or n elements. Once you get familiar with x12, e4x, and Mirth this should be fairly easy however.

        It also depends on the vendors you are dealing with. Some might only require a simpler more fixed format x12 message. If that is the case, you can use an x12 message as your outbound message template which you fill in by drag and drop from your inbound message template.
        Last edited by dans; 05-07-2010, 10:14 AM.
        Daniel Svanstedt
        Software Engineer
        Mirth Corporation

        Want professional services, support, and enterprise or virtual appliances? It's all available from the Mirth Corporation:
        Mirth Support | Mirth Training | Mirth Appliances | Online Training | Developer Q&A

        Don't forget, Mirth Support gives you access to all of our online training videos, and silver support gives you access to developer Q&As!

        Comment


        • #5
          Sorry, in my previous post I didn't notice that you were specifically talking about writing X12. I am not too concerned there since all we need to do (I think) is write the fields out in the right order. My main concern now is when we are reading in an X12 transaction, how do we make sense of the segments and put them into the correct loops, etc. In any approach, some part of the system has to determine where a loop begins and ends and validate that the overall structure is correct. What I am thinking is that with a data model like the XML files in the Mirth source appear to be, one could use them to enforce the correct interpretation of the stream of segments and create a data structure that represents the loop hierarchy for the given transaction. Does that sound like something possible or is there something I am missing?

          Thanks,

          Jeff

          Comment


          • #6
            The xml internal representation of the x12 message coming in is flat. You would have to iterate of each segment to know what loop the segment is in.
            Daniel Svanstedt
            Software Engineer
            Mirth Corporation

            Want professional services, support, and enterprise or virtual appliances? It's all available from the Mirth Corporation:
            Mirth Support | Mirth Training | Mirth Appliances | Online Training | Developer Q&A

            Don't forget, Mirth Support gives you access to all of our online training videos, and silver support gives you access to developer Q&As!

            Comment


            • #7
              I am now aware that Mirth currently does not support anything more than a flat representation of a X12 transaction. However, what I would like to know is: is there any reason that the XML files in the source would not be sufficient to implement a more structured representation of the transactions? I know that this is a very open-ended question and that any feature to implement this would likely entail a lot of work, but in my opinion, this could be a very high value feature. When we were looking at some commercial products that included what they call "models" or "grammars" for the HIPAA X12 transactions, these would usually cost a few thousand dollars more for the models! From what I can tell, you already have the models of the HIPAA X12 transactions. However, I don't know how far in the direction of a general data modelling tool the Mirth team wants to take Mirth Connect. I would be curious to know others' thoughts on that direction. (This is probably going a bit beyond the subject of the support forum!)

              Thanks,

              Jeff

              Comment


              • #8
                Good points. We are doing similar projects for other message standards at the moment. If there was enough demand and/or funding for such features, I am sure we would add it to Mirth.
                Daniel Svanstedt
                Software Engineer
                Mirth Corporation

                Want professional services, support, and enterprise or virtual appliances? It's all available from the Mirth Corporation:
                Mirth Support | Mirth Training | Mirth Appliances | Online Training | Developer Q&A

                Don't forget, Mirth Support gives you access to all of our online training videos, and silver support gives you access to developer Q&As!

                Comment


                • #9
                  You have my vote!

                  Thanks,

                  Jeff

                  Comment


                  • #10
                    This discussion has helped me alot. I was looking at Mirth for an X12 translation project i was workign on, but not being able to model the data appropriately is a real decision point for me. I have little time to make this work and so while I like the mirth concept alot I may have to go with a commercial product just so i can get the grunt work done for me.

                    Comment


                    • #11
                      More complete support for X12 would help us use Mirth. Right now, as best I can tell, Mirth provides no way to validate specific messages such as HIPAA 834 or 278. For example, if a required field is not populated the message should fail validation and send back a 997 response.

                      Comment

                      Working...
                      X