Saturday, February 5, 2005

LabTerm--Proof Is the Product, Not the Programming

Today is the final release of our LabTerm unit.

This release finished a rather unsavoury assignment which yielded a rather good result: a custom lab bench computer or, as we say now, "thin client."

The goal was simple: to create a supportable computer which would do all that a lab tech needs to do:
  • provide a full-screen terminal to their homegrown HP MPE LIS (!)
  • provide rapid access to their on-line Lab Manual
  • provide a web browser for the growing number of web-based UIs
  • provide a full-screen terminal to their homegrown order handler
In order to accomplish all of these goals, we decided on the following implementation:

  1. a Linux image to run on old (discarded!) former Windows 95 boxes
  2. a simple X-windows windows manager, "Rat Poison" (kill the mouse)
  3. a custom app to provide a full-screen UI to their Lab Man data
  4. a customized version of the MiniCom terminal emulator
    1. support for MPE line-handling
    2. split-screen support to share the screen (Lab Man or order handler)
    3. scroll-back buffer
    4. copy-and-paste
    5. screen history for each session
  5.  automatic updating for all these components, including the Lab Man
  6. remote viewing of terminal session history
    1. this turned out to be fantastic for providing LIS support
I may have done the last dumb ASCII terminal mankind will ever know, and God knows we didn't break any new ground here, but we produced a product that met the customer's needs. By keeping our eyes on that prize, we succeeded even without the cool factor. And support old hardware meant that we could take cast-off computers from within the organization, so we actually went live with enough hardware to do the job properly.

Engineering can be beautiful, but life often demands ugly and our motto is "beauty is in the eye of the user--not the engineer."

Thursday, July 29, 2004

Coag Clinapp

Added another clinapp today, this one for Special Coagulation reports.

It has been a few years since the first clinapp, the one for flow cytometry, and I really have this down to a science: it took about 4 hours of work to set up and launch this one.

I wonder if and when rich data environments will be come standard in the basic LIS?

Friday, July 16, 2004

Molecular DX Clinapp

Oh, joy, another clinapp, this one for Molecular Diagnostics.

The underlying topic is interesting. The duplicate of previous work is not.

At least the users (techs, residents and attendings) are all quite enthusiastic. Cutting down turn-around-time by 50% and all that.

Wednesday, May 12, 2004

Sysmex CA-500 Automated Analyzer Interface

Today I start another instrument interface. Now the novelty has worn off. I just want to get this puppy up and running.

Still loving the client's homegrown interface framework, but the requirements for these interfaces are pretty strict and the instruments are not very featureful in the output department. These interfaces are a bit of a grind, although it is gratifying to work with users who know exactly what they need and who test so thoroughly. It is also gratifying to be filling such a concrete need.

Friday, March 19, 2004

IFE Clinapp

Banged out another clinapp today, this one for IFE's. Victim of my own success: the client keeps finding new tasks well-suited to this code base. Satisfying to be providing value, but not the most exciting way to make a living: endlessly repeating oneself.

Thursday, February 19, 2004

Cell-Dyn 4000 Automated Analyzer Interface

Today I started work on another automated analyzer interface, this time for the CD4000. I expected that instruments in the same series would be similar, but I was wrong: much like consumer electronics, the individual instruments seem to differ greatly from model to model.

I am still using the same protocol and still using the same very good framework from the client. But this time I will be adding a feature entirely my own: an automated Audit module to support the new-to-the-client feature of....autoverification! Rather behind the industry curve, the client has decided to adopt autoverification but they want strict monitoring and tight control, which is OK by me.

Friday, August 22, 2003

Cell-Dyn 3200 Automated Analyzer Interface

Today I started work on an instrument interface for Abbott's Cell-Dyn 3200 automated analyzer. Most of the work was done for me by the client, whose staff have developed a very solid framework in which to build instrument interfaces.

Automated analyzers are weird: they are sophisticated in every way but the way in which they handle I/O. This has been an introduction to some concepts for me:

  • ASTM E1381/95 a rather outdated, clearly serial protocol rather reminiscent of MS-DOS block-based communication protocols of yesteryear.
  • Worklists for analyzers which are derived from LIS orders
  • Analyzer flags and how to present them
  • Verification UIs
It has also been a pleasure to learn about automated analyzer interfaces from a master,  Steve Wardlaw, MD.