web stats
HIPAA X12 hierarchical modelling - Mirth Community

Go Back   Mirth Community > Mirth Connect > Support

Reply
 
Thread Tools Display Modes
  #1  
Old 05-07-2010, 07:03 AM
jklyce jklyce is offline
What's HL7?
 
Join Date: May 2010
Posts: 5
jklyce is on a distinguished road
Default 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
Reply With Quote
  #2  
Old 05-07-2010, 07:31 AM
dans dans is offline
Mirth Employee
 
Join Date: Apr 2007
Location: Irvine, CA
Posts: 590
dans is an unknown quantity at this point
Default

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!
Reply With Quote
  #3  
Old 05-07-2010, 10:03 AM
jklyce jklyce is offline
What's HL7?
 
Join Date: May 2010
Posts: 5
jklyce is on a distinguished road
Default

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
Reply With Quote
  #4  
Old 05-07-2010, 10:12 AM
dans dans is offline
Mirth Employee
 
Join Date: Apr 2007
Location: Irvine, CA
Posts: 590
dans is an unknown quantity at this point
Default

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.
__________________
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!

Last edited by dans; 05-07-2010 at 10:14 AM.
Reply With Quote
  #5  
Old 05-07-2010, 10:46 AM
jklyce jklyce is offline
What's HL7?
 
Join Date: May 2010
Posts: 5
jklyce is on a distinguished road
Default

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
Reply With Quote
  #6  
Old 05-07-2010, 11:18 AM
dans dans is offline
Mirth Employee
 
Join Date: Apr 2007
Location: Irvine, CA
Posts: 590
dans is an unknown quantity at this point
Default

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!
Reply With Quote
  #7  
Old 05-10-2010, 10:08 AM
jklyce jklyce is offline
What's HL7?
 
Join Date: May 2010
Posts: 5
jklyce is on a distinguished road
Default

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
Reply With Quote
  #8  
Old 05-10-2010, 10:20 AM
dans dans is offline
Mirth Employee
 
Join Date: Apr 2007
Location: Irvine, CA
Posts: 590
dans is an unknown quantity at this point
Default

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!
Reply With Quote
  #9  
Old 05-10-2010, 10:34 AM
jklyce jklyce is offline
What's HL7?
 
Join Date: May 2010
Posts: 5
jklyce is on a distinguished road
Default

You have my vote!

Thanks,

Jeff
Reply With Quote
  #10  
Old 08-11-2010, 09:49 AM
Johnrp45 Johnrp45 is offline
What's HL7?
 
Join Date: Aug 2010
Posts: 1
Johnrp45 is on a distinguished road
Default

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.
Reply With Quote
Reply

Tags
data model, hipaa, x12, xml

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 01:27 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Mirth Corporation