[Edu-sig] Programming for non-programmer IT professionals
Fri, 17 Nov 2000 05:18:41 -0800
>I think the use of Python in this way would also be an advantage in similar
>educational settings outside of medical informatics. The initial month of
>the course I plan should be fairly generic and might be useful to others (or
>others might inform me of useful approaches--I plan on looking at Jeff
>Elkner's Python version of "How to think..." in some detail). If any list
>members are interested in this type of teaching, or in the application of
>Python in medical settings, I'd be happy to correspond with them and perhaps
I'd like to keep in touch with you on this. I've done a lot
of database design and programming around outcomes research,
collecting data from cath labs and cardiac operating rooms
in particular (but work in other areas as well, including
group health insurance and data mining in non-cardiac clinical
Mostly I've found the concepts of relational database management
to be front and center, with OOP and RDBMS having many ways
of fitting together. Visual FoxPro (VFP), easier and higher
level than C++, and focused around data tables, has been one
of my bread and butter languages in this regard. Like Python,
VFP features an interpreted command line environment -- a big
plus when it comes to learning a language (because you can
test things quickly).
Before I learned Python, I was trying to do my curriculum writing
around VFP (instead of the more used VB). But of course Python
has many advantages, not the least of which is the open, sharing,
royalty-free space it comes in -- and also its non-Windows
transportability (to UNIX and Linux in particular).
I've mostly worked in data collection and data warehousing,
while end-users of the data are more likely to be involved
in statistical work, e.g. using SPSS.
Python could provide more transparency in this realm,
especially if we add some ODBC and SQL to the picture
(Python add-ons), plus maybe some Numeric Python. The
idea here would be to access some large data tables and
do some analysis on them.
Brainstorming around the idea of an electronic medical
record defined using OO principles might be another focus,
combined with Python's evolving powers in the realm of
XML. The idea here is to open the world of structured
information, and around something so complicated as
medical histories. How do you structure the relationship
between patients, procedures, outcomes? Plus there's the
whole financial side (where clinical info sometimes gets
mixed in, i.e. ICD9 codes + specific medications).
Of course issues of privacy and data encryption might
enter at this juncture.
I would agree with you that a year of C could give a
more warpedly and less useful approach to medical
informatics in that you'd probably get less direct
hands-on experience of direct relevance to your field
by the end this year. I curriculum that mixing pre-
written modules with exercises requiring student
programming (in Python) might easily go deeper into
the subject area (medical informatics), leaving the
intricacies of C programming to a subset of students
those choosing to specialize in this direction.
What's important is, as you've indicated in your post,
a kind fluency, an ability to think like a programmer
in _some_ language. Python is an excellent language
for developing this fluency, gaining this style of
thought. From here, it's a hop to Java, and then
maybe to C++. But even without jumping C++, Python
already gives you entre into many conversations and
experiences of direct relevence to medical informatics.