There's nothing you've mentioned there which appears to be AIR specific, so you can choose either.
On the PDF generation front, you might want to look at AlivePDF
You know what's going to kill you though? The Structured data entry bit. I speak from experience!
You're looking at something like SNOMED CT (http://en.wikipedia.org/wiki/SNOMED_CT), and that baby isn't given away free. Even if you go down the standards based route and choose something like HL7, I fear for your sanity
If you want some advice (as someone who's worked in the healthcare IT industry, and has been a post-grad student), don't overreach with this. The imaging side of things will wipe out a significant chunk of your time. Set the other parts up as reach goals, but seriously drop the structured data entry.
Feel free to contact me off list if you've got questions.
Thank your for your advice!
I read acout AlivePDF, but I was not able to build some of the examples. Therefore I continued looking of a pdf exporter and found iText. Besides, AlivePDF is in a early version (0.1.5). I don't know if it is a good idea to have that as a base for a professional medical reporting system.
I know, that is a big task and it will be not very easy. But we have some clinical experts and surgeons inhouse - so they might help with the structured data entry bit.
Actually, SNOMED_CT is free (for U.S. and other participating countries), as is ICD-9CM and ICD-10CM, as well as RXNorm, and a nascent standard medical terminology. These are available from the National Library of Medicine as part of the UMLS project. They are somewhat difficult to extract, since they are in an RTF document or in the UMLS database, but it can be done. You might also want to check out the HL7 CDA (clinical document architecture), and their other standards for medical documenation. HL7 isn't free, but last time I got my renewal, they had a very inexpensive 'student' membership. National Library of Medicine licensing is free to U.S. and several other nationalities.
The only really necessary medical coding library that isn't free is CPT, which is maintained and licensed by the AMA.
National Library of Medicine:
Heh, yeah UK here, so we never get anything for free!
Has anyone gotten a good working application using SNOMED that does pre and post coordination yet? The last very expensive consultant I talked to couldn't even envisage how it could work properly!
You might want to read up on the trials and tribulations the British NHS has just gone through with the National Program for IT (NPfIT) as a good comparison for what you are wanting to do.
You also might want to consider a different language (heresy coming up) purely because of the MS CUI project
which is only for Silverlight / DotNet. They have some very nice controls for healthcare projects.
And with all things medical, 'perfect' is the enemy of 'good'. Given the imperfect nature of SNOMED, and the subject (humans), evaluating pre and post coordinated entries is as much magic as science. However, the most imperfect algorithm is likely a significant improvement over the current method, which is hoping the clinician can noodle it out of handwritten, non-standard terminology.
And don't get me started on LOINC codes, do we really need a bazillion codes for a Red Blood Cell, none of which have any perceptible relationship to the other? Perfectly identifying how the sample was collected, stored, the method used for measurement, what was actually measured is an admirable goal, but as implemented, just finding all the tests a patient had that included a Red Blood Cell measurement is virtually impossible, even if all the results are correctly LOINC coded.
I was beating my head off SNOMED in 2005 / 6 so I'm glad we can get it free now!
My problem with using structured coding not being perfect, is that the only way structured coding becomes useful is if it is perfect. Simply removing handwritten notes from the equation isn't the point.
Now a human can relate these three following terms
"Broken Left Leg"
"Broken Leg, side = left, position = lower"
"Broken Left Fibula"
But a computer system can't, that's why post-coordination is so important. The fact that it's still virtually impossible to get it working is the massive bugbear when it comes to coding systems.
In medicine, Imperfect == Deaths. Putting aside the moral arguments, purely from a medico-legal position admitting that a patient died because your system couldn't identify that they had a particular condition is going to get you sued into oblivion!
Thanks for making my point - perfect is the enemy of good. We tolerate less capable, less perfect system that are in place now, because of the false expectation that it should be perfect. Incremental improvements are rejected, because they are not perfect. Even an imperfect algorithm can find 'Broken' as a common thread in your example, and highlight them for the clinician to evaluate their impact on the current treatment. This no less likely to miss the connection than a clinician trying to scan through handwritten notes, in the 5 - 10 minutes he/she has to interact with the patient and determine what to do.
Because of legal concerns, incremental but imperfect improvements don't get implemented, so nothing ever moves forward. Imagine if after the Wright Brothers first flight, no improvements were considered acceptable unless they completely eliminated the risk of failure - there wouldn't be any airlines to go bankrupt today!
For the most part, IT has focused on activities where 'perfect' is achievable. Accounting in its various forms have been the primary focus of most IT systems. In that area, the vocabulary is very limited, well defined, and consistent. A debit is always a debit, and a credit is always a credit. Medicine is completely different. It is much larger in scope, poorly defined, the vocabularies are mostly non-existent, and where they exist are incomplete and inconsistent. Despite the huge leaps forward in the last century, there is still more unknown than known about how and why the body works. This environment makes most individuals trained in IT uncomfortable. Until we learn how to deal with 'fuzzy', Healthcare IT is going to be limited to the billing and collection functions that it mostly accomplishes today.
"Accounting in its various forms have been the primary focus of most IT systems."
US systems... (Sorry, couldn't resist the dig)
I think we've gone beyond the scope of the original discussion which was the difficulty in using structured data, and more into the philosophical ramifications of a culture where blame appropriation is a driving factor in decisions.
At least we've given the OP plenty to think about And dredged up plenty of unpleasant memories for SNOMED for me!
Indeed, got on the soapbox a little heavy there, but probably a good exposure for the grad student considering HealthCare IT!
SnoMed is a pain, but compared to LOINC, it is quite useable :-)
I still get to deal with them (and other imperfect acronyms) every single day. I wonder if there is a code for the mental illness I'll end up with.......