Hacker News new | ask | show | jobs
by cantrevealname 3768 days ago
> medicine feels not just like debugging a very complex non linear machine

One way in which medicine is not like debugging is the hours spent by a physician vs a programmer. I (as a programmer) have sometimes spent 100 hours tracking down a bug whereas I've never seen a physician spend more than a few minutes trying to diagnose an illness.

Even with a gravely ill person, my experience has been that an attending physician has never spent more than about 15 minutes on the diagnosis (or to be a bit more generous, let's say several 15-minute re-evaluations as new information came to light, such as blood test results).

It's a strange contrast. I considered my bugs to be serious bugs, and it was worth 100 hours to diagnose it correctly. But my bugs are nothing compared to a human life. Why is our medical system OK with quick diagnosis? Does it all come down to money or would more time available to the physician make no difference because [medicine is art not science / some other reason]?

7 comments

I don't think that's a fair comparison. For complex cases, a medical diagnosis would order a battery of tests in that first 15 minute consultation. Then, a different group of healthcare specialists would spend several hours running requested tests, and send the results back to the original Doctor. This would be the equivalent to the programmer setting up and running a number of tests to learn more about the program, which would take several hours of the programmer's time. The only difference between programming and medicine is that testing and diagnosis is done by the same person with programming.
It's easy to spend 100 hours when you know there has got to be something to find. Medicine isn't like that. With experience you get a feeling for when you are missing something, and then invest the time to investigate in more detail. I could spend a 100 hours trying to understand why my grandma collapsed in the lounge, but 50% of the time I won't find anything at all.
The analogy is not apt. A closer analogy is not a programmer - the doctor is in IT support ... and is dealing with a unique combination of bespoke hardware and software for each case ... and has no makers documentation available.
I wouldn't say bespoke (which implies written from the ground up from scratch), but with possibly different environment and other configuration variables and, occasionally, slightly different shared library files.

And while there is no official documentation available, there is plenty of good guesses from hordes of brilliant reverse engineers.

Still, there are only a handful of error codes that are thrown, and you have to make your first guesses from those and the logging is pretty terrible when you do decide to dig a bit deeper.

And inserting your own code into the spaghetti mess is a bit of a crapshoot.

A lot of this is front-loaded in the 4 years of undergraduate training, 4 years of medical school, and 4-6 years of residency training that physicians do.

Physicians are trained to preload all possible diagnoses based on a certain set of initial symptoms--they have ideas about what the potential answer might be when you inform them of their symptoms, but in order to narrow that space down, additional workup needs to be performed (tests, imaging, etc) and until those results come back, anything else they say is speculation.

(edited, fixed a typo)

Very interesting comment. We do have to realize for semi-complex to complex diagnoses, many different doctors will be playing different parts. If you have a complex/rare form of cancer, it's common for a group of 3-6 physicians of varying specialty to sit in a room and discuss your case.

Additionally, when you work on a software-bug you probably try a bunch of different solutions. Try it to see if it works, repeat. There's only so much information on a patient, doc spends some time reviewing and makes a diagnosis/treatment decision/orders tests. Wait a day or a couple weeks for results, then repeat.

And doctor resources are scarcer than programmers. It would be great to have 2-4x as much time with a physician when you are sick, but $$$.

>I've never seen a physician spend more than a few minutes trying to diagnose an illness.

I have. The physician's debug loop just takes a lot longer than a programmer's. He orders tests, then waits days for them to come back before ordering more tests. This can go on for months. Then he prescribes something, and has you take it for a few weeks. Did that help? No? Try this instead. Etc.