Thursday, December 24, 2015

xkcd: A Guide To The Medical Diagnostic And Treatment Algorithm Used By IBM's Watson Computer System

Good fun for the kids, see if they can get from top left to "Discharge patient".
Via the true believers at Explain xkcd:


IBM's Watson is a natural language system designed to answer questions posed by humans. Recently, IBM has extended Watson to act as a clinical decision support system, using image analytics to aid physicians in medical decision making. In this comic, Randall shows a flowchart representing a possible algorithm for Watson, including bizarre techniques including surgical alteration of a patient to match a height and weight chart and squeezing the patient to remove yellow fluids. Like 416: Zealous Autoconfig, this comic pokes fun at a rigid, poorly-designed setup that ends up potentially doing more harm than good.

Modern medicine involves both standard processes and clinical judgement based around years of advanced training. An algorithm like this would have to be incredibly complicated in order to simulate the clinical judgement of a good doctor.

The algorithm depicted treats a patient as more of a machine or mechanical system than a living being, especially through decisions such as:
  • Injecting oxygen into patients with low oxygen saturation, rather than treating the root cause.
  • Removing and inspecting a skeleton, then diagnosing the patient's condition with a bone count.
  • Dissecting a doctor "for parts" after consulting him or her for advice.
  • Removing extra limbs from a patient if the count is 100 or more (This might be a reference to different number systems used in computers, as 100 is read in binary as four.)
  • Determining whether the "build environment" of the patient is sane. This is most probably a reference to the configure script used in the GNU build system, which emits "checking whether build environment is sane" as one of its status messages.
  • Rinsing the whole patient with a saline solution.
  • Removing organs from a patient regardless of response to an organ donation request.
Other decisions appear to be entirely unrelated to the conditions upon which they are predicated:
  • If the patient doesn't rate their pain on a scale from 0-10, sequence their genome, apply a tourniquet, and perform an autopsy
  • If the patient's phone's battery is low, defibrillate until the battery is charged, sync photos, then administer general anesthesia
  • If the patient is successfully comforted after an oxygen injection, check their medical history and apply skin grafts
  • If green fluid is released from the patient, begin to cauterize
  • If the patient has less than 100 limbs, check their Vitamin D level
The title text implies that, if the patient is so lucky to ever reach one of the two places with the option "discharge patient," a minor glitch will cause to program to go back to the hunt down and capture patient option which thus force the patient and the program to repeat the process again in an infinite cycle, that will only end once the patient give another rating of their pain level than on the 0-10 scale.

Then the program will start to sequence their genome then apply a tourniquet and finally perform an autopsy, on what will in the end for certain be a deceased patient, but maybe not when the autopsy began. This will finally cause the patient to leave the cycle as a corpse.

This is one of many comics with flowcharts, amongst other a recent comic with that very name: 1488: Flowcharts.

This is the second comic in a row about health issues with the last comic being 1618: Cold Medicine.
The computer's behavior in this comic can be compared to the healthcare robot named Baymax in the movie Big Hero 6 (film).

The comic was updated after it was first posted: the decisions for number of limbs were swapped.

[edit] Transcript and Discussion of Medical Appropriateness...