Of course. They're called expert systems [1]. Yesterday on HN someone posted a link to a book [2] on probabilistic models of cognition which includes a section [3] on medical diagnosis.
For coders - Peter Norvig's PAIP (which might be The Best Programming Book, but no room to get into that here) talks about these and leads you through building something like EMYCIN, the base of a functioning expert system without anything particularly domain-specific.
But Norvig also put them in context, and left me with the impression that Expert Systems were proven inferior to Bayesian approaches for a lot of the problems they had been developed for.
I can well imagine, though, that there are problems where expert systems are a good fit.
As an interaction model and as a way of guiding control flow, as a weird and different way of handling user interaction and building extensible applications, I think the EMYCIN example from PAIP is pretty cool. I've wondered how possible it could be to use something like EMYCIN to write webapps ...
We should get in touch, I've started translating Mycin into CoffeeScript, with the hopes of creating a crowdsourced medical expert system within the summer.
Yes, it will be open sourced! I want to show engineers just how inanely dumb some of the algorithms in medicine are, and how (I believe) we can start creating publicly usable algorithms to pipe knowledge to the consumers once they get access to a bunch of data from consumer medical devices. Lofty goals, but I will attempt to execute on the idea!
Thanks Rob! Would love for you to participate and help me iterate once I release a prototype in a week or two. I have a colleague at Weill Cornell who may help test drive the system as well. Got your email in my notebook!
[1] http://en.wikipedia.org/wiki/Expert_system [2] https://probmods.org/ [3] https://probmods.org/conditioning.html#example-causal-infere...