Protégé as a Guideline Modeling Tool
Protégé is a free, open source ontology editor and knowledge-base framework developed at Stanford University. Protégé is based on Java, is extensible, and provides a plug-and-play environment that makes it a flexible base for rapid prototyping and application development. Protégé allows a user to create a knowledge base by first defining the conceptual entities in the domain—modeled as classes in a frame-based or description-logic–based representation formalism. Then, using these class definitions, Protégé automatically creates a domain-specific user interface that developers use to describe instances of classes (e.g., particular instances of guidelines that are consistent with a give class).
In the figure below, we show the SAGE Guideline Model class hierarchy in the class browser pane of the Classes tab. The Guideline class is selected. The details of the Guideline class is shown in the class editor pane on the right. Properties of a guideline are defined in terms of a collection of template slots (lower part of the class editor). In addition textual label and description slots, each guideline has metaclass, a set of enrollment criteria, a set of de-enrollment criteria, a set of configuration parameters, evidence statements, and a collection of recommendation sets.
Detailed documentation for Protégé
Protégé allows further description of a property such as recommendation_set. The figure below shows that recommendation_set is a relationship between instances of the Guideline class (domain of the property) and instances of the Recommendation_Set class (allowed class of property value). For each instance of Guideline, there must be at least one instance of Recommendation_Set (cardinality at least 1).
Based on the definition of a class and on the specifications of its properties, Protégé automatically creates a form for entering information about instances of that class. The figure below shows the instance form for the Guideline class, with data about the SAGE Diabetes Guideline entered as property values of the instance.