[Edu-sig] Programming for non-programmer IT professionals (in healthcare)

Kirby Urner pdx4d@teleport.com
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
>share resources. 
>Jim Harrison

Jim --

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.