Case-based reasoning has been formalized for purposes of computer reasoning as a four-step process[1]:
- Retrieve: Given a target problem, retrieve cases from memory that are relevant to solving it. A case consists of a problem, its solution, and, typically, annotations about how the solution was derived.
- Reuse: Map the solution from the previous case to the target problem. This may involve adapting the solution as needed to fit the new situation.
- Revise: Having mapped the previous solution to the target situation, test the new solution in the real world (or a simulation) and, if necessary, revise.
- Retain: After the solution has been successfully adapted to the target problem, store the resulting experience as a new case in memory.
The complexities associated with programming and implementation of a knowledge management system based on case histories is both non-obvious and difficult, but ironically this is the actual process that an expert physician uses in his day to day clinical work.
Good intentions do not necessarily lead to good results.
