Yeah there is. Programming is static. Doctors are updated constantly, in every interaction. If you want your program to be as up to date as a doctor, then you need to update as often as a doctor, which means keeping up the same social and professional interactions as a doctor. Given that you're having to do all that, what exactly is the advantage the computer has, that a doctor using a computer index doesn't?
Uhm, this is a pretty bizarre line of reasoning, I'm sorry.
First of all, programming is actually; depending on the type of software; updated far more often than a doctor's knowledge or skill. A doctor's knowledge is *not* "updated constantly, in every interaction". A doctor might receive new information about a patient that helps him make a more accurate diagnosis, but this is *not* equivalent to a software update: the underlying algorithms/database with which the doctor makes the diagnosis (his medical knowledge), remains the same. One can argue that repeated experience hones the doctor's skill and that this is a constant process; but the 'constant' part of said argument is questionable, and there's only so much that experience itself can do. Software, on the other hand, could (and often is) be updated on a daily basis, with these updates bringing improvements leading to increased efficiency, new knowledge for its database, and so on; whereas for the doctor there is a point of diminishing return: the experience he gains over time will at some point stop leading to increased efficiency as age and lack of updated knowledge become more of a detriment. Computers do not suffer from this problem, at least not as compared to humans.
Secondly, it is simply false to say that programming is static; even if we take human-written updates out of the equation. Self-modifying code is *not* science-fiction, and comes in a wide range of forms. We've had computers capable of optimizing their own programming since well before I was born, and this technology is constantly getting better and more refined.
Finally, why on earth would you think that for a program to be as up to date as a doctor, it needs to keep up the same social and professional interactions as a doctor? That would be horribly inefficient. It would just need to download the latest version of the central medical database, and it would instantly be up to do date, and be so far beyond what a single human doctor is capable of. Social interaction is not required. Social interaction with the patient would be fairly minimal, as scanning technology sufficiently advanced could bypass entirely the need for a patient to explain what symptoms they're feeling; however, assuming the scanning technology doesn't get to that point, the computer still has a distinct advantage over the human doctor: a human doctor can only hold one conversation at a time, and has imperfect memory of past conversations. A computer has no theoretical limit to the number of social interactions it can have at a time, and it has perfect recall over past such interactions which can be studied and included in its diagnostic routines.
So, no. You have not identified a fundamental reason why technology can't become advanced enough to completely replace doctors. Nor some fundamental aspect that makes human doctors just as good as a theoretical future medical machine.