An inference engine must also be developed to perform reasoning within the system. An expert system's knowledge is often incorporated into a knowledge base that is a collection of facts, heuristics, and models for problem solving. The knowledge base is then applied to problem solving via the expert system. The extent of a human's knowledge base separates a novice from an expert. Acquiring and representing knowledge often requires a knowledge engineer.
Knowledge acquisition can be manual, such as abstracting patient data or reading literature reviews.
Knowledge acquisition can be automated by collecting information from electronic records or laboratory systems. Validation and testing are necessary components of acquiring knowledge. The representation of knowledge may be accomplished by the development of rules, hierarchies, and through pattern matching. Estimating the value or utility of a treatment. This may be done by the system developer or by having patients estimate the value.