•
But lets face it, not many doctors are very adept at these fields.•
I agree that there is certainly not enough. Which is a very good reason to implement more training in practical medical informatics.
•Only a very small percentage majored in computer science/engineering and I seriously doubt that a very high portion of non tech grads just decided during med school "oh why dont i try to learn C++/Java/Fortran/Basic while i'm here"•
I know of zero that learned Fortran because it is dead in a modern-day scenario. There are 5 in my class of 180 that can code in either C or Java, 4 of which learned while they were here.
•While it is true that you can learn the basics of C++ in 2 weeks, you CAN NOT implement a full fledged GUI database with that amount of knowledge and training.•
Actually one of the best items to learn on is a GUI frontend, since it is rapid and people can see their results quickly. However it is 2001 now, making a GUI database is secondary to wiring it up online instead, at which the student can get an easier ride without the headache of pointers. Macromedia/Allaire Coldfusion is popular (though more pricey than a PHP/ASP), but you can learn enough to wire up an online database in two afternoons (I personally can verify this because I've seen the results at the end of a workshop for the medical professors, who haven't touched the stuff before, but its a simple scripting language, logical syntax, and the things that are actually used are written in a few lines, with all the hard stuff abstracted away). The online database programming course always fills up. Some know some stuff before hand, others come in pretty much cold, with just the basic syntax of HTML. About 3 days should be set aside to learn ANSI SQL though, since that won't ever change: again nothing heavy, just SELECT,FROM,WHERE and a few others: again 80% you will never use, and the extra propreitary stuff just makes it difficult to migrate databases anyways. SQL is actually taught in our first year informatics course so they have that covered already.
Speaking of GUI apps though, first-timers also like Delphi/Kylix for making Windows and Linux apps: a nice gui-based 'hello world' in five minutes. Just drag the components on the form, a line or two of an event handler to set a properties and press a build button. Done. Delphi also ships with integrated database, so just dropping in the wired dropdowns there..a week or so to learn what is needed. Delphi has the drawback of Pascal though, but the object-oriented things are the same regardless.
•There is no way you could program a medical informatics database and distribution system with such minimal exposure. It would take you a good year or more to develop the kind of software programming skills you need to build a medical informatics system from scratch, and thats only for the most techno savvy of people.•
An industry exists in rapid-prototyping software and high level languages now, specifically to shorten the learning curve. Sometimes the software will be non-free, but then again, a doctor's worth per hour is also high, so there is more often a gravitation to high level languages, that don't need a year to learn. Things don't need to be written in assembler any more, computer hardware is at the level that interpreted programs can be run without much noticied difference to a optimized compiled version.
However, 1 year (or better yet spread out over 3 years--in a residency program) could certainly be well-spent improving one's skills, and learning from a mentor in techniques and deployment. Hence the forthcoming of the informatics/medical residency. Most students aren't going to be coming in cold anyways; they will have tried out some programming on their own, found that they like it, and want to train more in that field. This is the same as the other residency options, that the student got an introduction to the field and want to follow that career, and the way that it should be.
•You dont need an MD to do medical informatics, and in fact if medical informatics is what you want to do then you are wasting your time with an MD.•
This misses the critical factor that the physician has an insight into the problem at hand that others with only a technical background don't have. This is why so many of the health service oriented dot-coms failed: there were very skilled technical people creating the software, but it didn't fit the need of what was actually needed in the field.
•All medical informatics is just creating and maintaining data access systems.•
That seems to be a somewhat narrow generalization of medical informatics. Data systems are certainly one important component of the field, but I don't think that covers all the aspects.
•This topic goes back to my earlier post about doctor's use of technology. Everyday I hear of some doctor that is supposedly "revolutionizing" the field of medicine with technology, when in reality all he/she did was use a device or machine on a patient that was designed/built/tested by non MD personnel.•
That seems to be a bit of a generalization also. There are some cases where the physician designs, some cases where the physician is the end user only, and cases some in-between. In all product implementations (not just medical software and hardware) the best people will start to address the problem useing some libraries or components, so that they don't need to spend resources reinventing the wheel, and also to keep the cost of the end product down, since health care costs are so high. There is no reason for me to write a tiff library for a radiology telemedicine app, its been done, just drop it in. Ditto for the digital device, the end cost will be lower if a PC device is used insteed of custom bit of hardware built from scratch for the product. There is little sense in building a new scripting language for the application (though in some cases the physician does anyways), just use a language that exists. Write the software that you want to solve the problem, and enjoy the results.
Best wishes, roo