An expert system is an intelligent computer program that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solution. Every expert system consists of two principal parts: the knowledge base and the inference engine. The knowledge base contains both factual and heuristic knowledge. Factual knowledge consists of items commonly agreed upon by spokesmen in a particular field. Heuristic knowledge is the less rigorous, more experiential and more judgmental knowledge of performance or what commonly constitutes the rules of "good judgement" or the art of "good guessing" in a field. A wisely used representation for the knowledge base is the rule or if /then statement. The "if part" lists a set of conditions in some logical combination. Once the "if part" of the rule is satisfied, the "then part" can be concluded or problem solving action taken. Expert systems with knowledge represented in rule form are called rule-based systems. The inference engine makes inferences by determining which rules are satisfied by facts, ordering the satisfied rules, and executing the rule with the highest priority.
Expert data editing systems make so-called intelligent imputations based on a specified hierarchy of methods to be used in imputing an item. One item may use a deterministic approach followed by a hot-deck approach, while another item might require a model-based approach. Each item on the questionnaire would be resolved according to its own hierarchy of approaches, the next being automatically tried when the previous method has failed.