Rick Tharp, Pharmacist
Certified Software Developer

Delphi Pro HTML Pro Rick's Rants, a blog

This page is for those who are curious about my background and how I came to develop these programs.

I have been a practicing hospital pharmacist since graduating from the University of Kansas in 1980. For ten years I worked for HPI Health Care Services as a director of pharmacy in a small hospital while also consulting for a long term care facility. For the past few years I have been staffing at a larger hospital while working on my PharmD degree through Creighton University. My practice interests are pharmacokinetics, geriatrics, and infectious diseases.

Computer geek

My initial training in computers came at the expense of Uncle Sam and the US Air Force. I followed the footsteps of my guitar hero, Jimi Hendrix, and joined the AF after high school. My tour of duty was spent troubleshooting and repairing computerized navigation systems in fighter jets. My dislike of the military life and my recent marriage led me to consider pharmacy as a stable career. While in the Air Force, I worked nights and went to college during the day, and was able to complete my pre-pharmacy class work. After an honorable discharge, my pharmacy school years were supported again by our benevolent Uncle Sam and his GI Bill.

The first personal computer I owned was a Timex Sinclair ZX81. The name came from the fact that it had a Z80 processor with 1k of internal RAM (an optional 16K RAM pack could be plugged in the back). Advertised as the first computer for under $100, it cost $99 (a lot for a poor college student), about all you could do with the Sinclair was to write programs, it came with BASIC burned into the chip. I've always been a "learn as you go" type, willing to jump into something before knowing everything about it. I played around with the little Sinclair for weeks until one day it all clicked, and I was able to write programs that actually did what I wanted. My first portable computer was the Sharp EL-5500 II programmable calculator. I still have both of these.

Planting the seed

Who said "necessity is the mother of invention"? (no, it wasn't Frank Zappa!) In the early 80's our well-worn TI-59 had fizzled out and we couldn't find a replacement. One of the first practical programming projects I completed on the Sinclair was the conversion of the TI-59 aminoglycoside dosing program to BASIC. This was the genesis of the Kinetics© program. I became a programmer, chained to this posture-robbing desk, more from necessity than choice.

In the mid-80s our pharmacy became "computerized" when we acquired an IBM PC/XT with a green screen monitor and a whopping 20MB hard drive. I soon discovered that PC-DOS had a decent version of BASIC and I was able to convert my Sinclair code. On one of his visits to my unit, I showed the program to my regional director, Russ Collins. He encouraged me to continue to work on the program and he spread the word to his other pharmacists that I had written a PC dosing program for aminoglycosides. Soon pharmacists were calling from all over the country.

Shortly thereafter, a couple of friends and colleagues in HPI, Jimmy Williamson and Jim Sears, asked me to add aminophylline, heparin, and vancomycin dosing to the program. Also at this time, a buzz about "renal dosing" began to make the rounds at the clinical meetings and in the literature. I thought it would be a neat feature to incorporate into Kinetics©.

The next evolutionary step was the move to TurboBASIC, which, in my opinion, was (and still is) the best DOS BASIC ever written. TurboBASIC programs are compiled to machine code (just like C & Pascal) and the exe's are small and fast as lightening. At this time the IBM PC was being cloned and becoming very affordable. PC's were hot and pharmacists were buying these new toys for themselves and scrambling for software to use on them.

Spreading the word

At the 1988 ASHP Midyear in Dallas I presented a paper describing how we used the software to assist in our clinical interventions program. Shortly thereafter, a review of Kinetics© was published in Lippincott's Hospital Pharmacy.

Before the internet explosion, and before Cerner appropriated the name, ASHP's Pharm-Net was a popular BBS, an electronic meeting ground and forum for exchange of ideas. Renato Cataldo who was with ASHP at the time asked me to post Kinetics© in the download area of Pharm-Net and soon many more pharmacists were using the software. I miss Pharm-Net.

With the introduction of Windows 95, a major paradigm shift occured in the PC world. Suddenly everyone wanted all their software to have a pretty point and click GUI. I obliged with a Windows version using Visual BASIC. First with 16-bit VB3, then VB4 (which compiled to both 16- and 32-bit), then VB6. It is slow and bloated and has many limitations, but it sure is pretty, isn't it? I've since discovered Delphi which is Borland's object-based Visual Pascal and I love it. Delphi is fast, flexible and powerful.

We are now in the hand held device era and pharmacists are again at the forefront of this evolution. It's hard to believe we now have the power of that 80's era IBM PC in the palm of our hand. And the program has gone the full circle, Antibiotic Kinetics© for Palm OS and Windows CE is a subset of the Kinetics© program which supports one-compartment models only, just like that original TI-59 replacement program I wrote twenty four years ago. During this long journey many pharmacists have offered their advice, encouragement, and ideas for new program features. Keeping the price low and providing free updates is my way of thanking those pharmacists who have helped shape this clinical tool.

I have never advertised Kinetics©, all of my customers are referrals from other pharmacists. I believe that single fact speaks volumes about the quality and practicality of the program. I use the Kinetics© program almost daily in my practice and continue to tweak and refine the program. Kinetics© for Windows is the latest child of this nearly twenty year evolutionary process. It combines the proven performance of the legacy DOS code with the speed and simplicity of the point and click Windows environment. Okay, so this ugly duckling may have been born with a few imperfections, but it's turning into a swan before your eyes.

Eating your own dog food

Dog food is sold to the owners who buy it, not to the dogs who have to eat it. "Eating your own dog food" is a metaphor for a programmer who uses the system he or she is working on. Is it yet functional enough for real work? Would you trust it not to crash and lose your data? Does it have rough edges that scour your hand every time you use a particular feature? Would you use it yourself by choice?

Yes, I eat my own dog food. And I believe that the Kinetics© program is easier for the working pharmacist to follow than a program written by a non-pharmacist. My programming credo has always been to "keep it simple stupid". My goal for the Kinetics© program has always been to give the user quickest path to the correct result, and I'm still trying to achieve it.

My favorite programming tools

Powered by Delphi Delphi
I just can't say enough good things about Delphi. An awesome Windows programming language for creating small, fast exe's. It's everything VB should have been. The program Antibiotic Kinetics© for Windows was written in Delphi.

Visual Basic Visual Basic
Okay, so it's slow and bloated and "real" programmers don't use it, but, when combined with the MS Jet database there is no better RAD tool for creating a database front-end. Incredibly Microsoft still supports apps developed in VB on their latest desktop OS's.

NsBasic NSBasic
When the Palm Pilot first became popular, the development tools were sparse and hard to use. I purchased CodeWarrior C++ for Palm but, after months of struggle, I was only able to get one form to display. I could not figure out how to switch forms or how to program a database, and I never came close to writing any pk functions! Then a friend of mine told me about NSBasic, what a fantastic find. This is a great little RAD tool for Palm development. I was finally able to focus on the application itself, instead of all that tedious C++ coding, and wrote my first application in one weekend. The current generation of processors used in Palm devices are a little slow for complex math routines, but with a little coaxing and a lot of patience, they will crunch numbers. The program Antibiotic Kinetics© for Palm was written with NsBasic.

eMbedded VB eMbedded Visual Basic
After starting late in the Handheld PC arena, Microsoft is now following their standard practice of "borrowing" an idea, improving on it, and then using an all out marketing blitz to kill off the competition. Although I have been impressed with some features of WinCE devices, I personally prefer PalmOS for it's simplicity and easy of use.

The program Antibiotic Kinetics© for Windows CE was written with eVB. Because they started late in the handheld arena, MS had to jump start application development on these devices by giving away this tool. Yes, that's right, Microsoft actually gave away a piece of development software! Just look at what happened when they gave away Internet Explorer. In the blink of an eye, MS became "the internet", effective killing Netscape. But this lesson was lost on the corporate behemoth. Believe it or not they have killed eVB, it is no longer included in the PocketPC 2003 ROM and it will no longer be supported in future versions of Windows Mobile. Incredible short-sightedness, MS wants to squeeze every dime out of every person who tries to help others use their software.

Borland, circa 1988, the best DOS BASIC ever written. TurboBASIC programs are compiled to machine code and the exe's are small and fast as lightening. The program Antibiotic Kinetics© for DOS was written with TurboBasic.

Just for fun

For more wasted bandwidth visit:

[ Return to RxKinetics Home ]