The overall structure of the Headache Expert System is enforced by the logical ordering on a set of blocks, each of which is associated with a set of questions. The above example shows the questions associated with Block6.
The blocks are represented as subsets of Patients. When the patient is asserted to be in a given block, the rules associated with that block are fired, as if-added rules triggered by (isa ?p Blockn). When the block is complete, (isa ?p Blockn+1) is asserted. Thus, the patient accumulates membership in an increasing set of blocks. Membership is never retracted.
(:taxonomy (Patients . . . (Block6) (Block7) . . . ))
This control structure works provided that the blocks are organized in a loop-free transition net, rather a general finite-state machine. The strategy is consistent with the monotonic nature of Algernon, where information is only accumulated.