I am working on processing CDA messages for a Java application. CDA is yet another XML standard for sending medical information, it is closely related to CCD and HL7v3.
I have already reviewed the following libraries and found them lacking, promising, but lacking.
- JAXB - Feed it a CDA XSD and let it generate classes. It'll work, but it doesn't really provide much more than a Java layer to access the XML
- HL7 JavaSIG from Regenstreif - Promising, but half the project appears to be hidden under the label "encumbered" with little information about how to gain access or get that data through proper channels.
- MDHT - Early releases, tightly bound to the modeling tools in Eclipse. Seems like it'll work, but very steep learning curve.
I do have access to resources at HL7.org.
Any ideas for other libraries to look at? Communities to visit to ask experts?
You might find this project more focused (e.g. less learning curve than MDHT)
https://openhealthworkbench.projects.openhealthtools.org/
If you are looking for an excellent library for generating CCDs then I would suggest contacting Mirth Corp. I just finished working on a project with their CDAPI library. It is basically a wrapper around the Eclipse MDHT library for which they provide clinical data models that you can easily populate and then generate a document (or read/parse a CCD). Not sure about the price, but whatever it is it is worth it! This library will save you very much time and hassle trying to figure out the CCD specification/requirements on your own.
http://www.mirthcorp.com/community/wiki/display/MR/CDAPI+User+Guide
There is also jHL7v3lib which allow HL7 messages and CDA parsing / generation.
Two options are creeping to the top of my list:
MDHT - https://www.projects.openhealthtools.org/sf/projects/mdht/
Braid - http://braid.sourceforge.net
MDHT has a lot of extras on it beyond what one NEEDS to produce or consume and utilize CDA/CCD messages. Braid is purportedly proven, having participated in a few IHE Connectathons.
I'll keep posting here until I give up or find an answer.
It is infuriating that these standards are published without a useful reference library in a major language, but thats another thread.