As data elements are collected, they will be loaded into the data element manager. This module will track temporally-dependent values, and act as the repository for data collection during a single CMS traversal session. The engine will also determine missing data elements at any given CMS, and will detect non-mutually exclusive CMS outcomes and other conditions that affect the user's interaction with the system. Various suites of selectors will be specified, where each suite represents a protocol for interaction with a specific type of component. When authoring, it would be very nice to be able to manipulate boxes on the screen graphically rather than work through forms and tables.
Canonical terms are very important.
Should always always always allow the physician to annotate choices or override normal behavior easily. Should ultimately allow physicians to change the guidelines themselves as they are working, perhaps resulting in a version that is used privately. In any case, need to allow feedback at any time, iterative refinements, and must acknowledge that these things are constantly evolving.