proteus logo
Basic Tutorial Chapters

Executing a Guideline

With the guideline loaded, click on the [Run] button on the toolbar. This launches the guideline. A Proteus guideline in Protean starts execution by identifying those KCs within it that are to be launched first - KCs that are not targets of any links. If a launched KC is a PKC, it repeats the process within itself, so on and so forth, until a PKC finds an AKC to be launched. When the process KC launches the AKC, the AKC shows itself as a dialog box with its contained data elements shown as fields, for the user to record the findings of the patient as the values of the fields.  Each field, when selected shows instructions that are associated with it, in a panel in the lower part of the AKC dialog.  Next to the field is a checkbox, which has to be checked to make the KC register the value entered. The purpose of the checkbox is to indicate that the value was looked but is still null or empty, this fact would be registered (“Liver Enlarged? = No” is different from “Liver Enlarged? = Not checked”)

The PKCs that have been activated are shown in orange color and the activated AKCs are shown as yellow, both with red borders.  Additionally, the top-left corner of KCs shows an hourglass icon.

Figure 1.


Once the findings are submitted, by clicking of the “OK” button on the AKC dialog, the AKC finishes executing and the values entered in the dialog are now visible in the AKC. When the AKC recognizes the values of its data elements have changed, it triggers off the abstraction cascade, a process by which the implications of the change are propagated to all the containers of the AKC. As a first step, the Abstraction Inference Tool (AbIT) of the AKC creates its abstraction. Since the AKC’s value changes it container PKC’s AbIT is alerted, which creates or modifies the container PKC’s abstraction. This process is repeated for each of the container PKC, successively moving to outer containers until the abstraction of the highest-level KC, the guideline, is changed, which completes the abstraction cascade. After the abstraction cascade is done, control passes back to the process KC containing the AKC that triggered the abstraction process. The process KC selects from the links emanating from the last finished AKC, to decide which have to be executed. If a link is of the sequential type, it is directly included, however if it is an inferential link, the action inference tool of the KC is invoked to decide if it is to be included or not. After the links have been picked up from all those that emanate from the KC, they are all activated simultaneously. The links that are activated launch the KCs that are their targets.

Figure 2.

In the sample guideline loaded for this exercise, the “Magsulf Loading” PKC is the first KC to be triggered, since it is the only one directly nested in the guideline that is not a target of any PAL. The PKC contains “Convulsions eval” as the only KC that is not a target of any PAL, so it launches the AKC. The AKC has just one data element of the Boolean (Yes or No) type, which is displayed as a checkbox in the dialog box for the AKC.  Check the checkbox to indicate that the patient does have convulsions, and then click the “Ok” button.  You will see that the AKC shows the value of “Convulsion” you just entered, “Yes” or “No”. At the same time, the AKC’s value is also changed to “Present” or “Absent” depending upon what value you had entered for “Convulsion” data element. The color of the AKC turns to gray, indicating that it is done executing. The value of the PKC, which is the container of the AKC that just finished, is also changed and so is the value of the topmost container, the guideline itself. You just witnessed a Proteus Abstraction Cascade complete.

Action Inference

At the time when abstraction took place, you would have noticed another AKC dialog opening up representing the AKC, “Intravenous”. Actually, the dialog opens after the abstraction has finished, but since it occurs so fast, they appear to be simultaneous. This is the consequence of the triggering of the inferential PAL leading from the AKC, “Convulsions eval” to the AKC “Intravenous”. The triggering of this PAL was decided by another inference tool that PKCs can possess – Action Inference Tool (AcIT). The AcIT is the tool that decides if an inferential PAL has to be triggered or not. Therefore, it is not the AKC in which the data was entered previously, which decides what activity has follows but its container PKC, which decides the subsequent activity by means of its AcIT.

Figure 3.

Sequential Triggering

If in the previous step you had chosen “Yes” for “Convulsion”, the AKC, “Intravenous” would have launched, instructing you to administer magsulf intravenously. Once you enter the data indicating that this has been done and submit the AKC, the AKC, “Intramuscular” is triggered, instructing you to give magsulf intramuscularly. The latter AKC was triggered by a sequential PAL, implying that its triggering was not controlled by any inference making but simply because the author of the PKC had wired the contained AKCs in this manner.

Parallel Execution

Another commonly used PAL is called synchronous PAL, which is not used in the current guideline. The synchronous PAL ensures that the trigger KC and the target KC are launched simultaneously. The synchronous PAL, like the sequential PAL also does not require any inferencing. The arrows depicting synchronous PALs have a ball at the trigger end.

Delayed Activation

After the upper PKC finishes execution, the lower PKC, “Magsulf Followup”, should be launched by the sequential PAL that leads from the former to the latter. However, since sequential PAL has a delay, the “Magsulf Followup” will not be launched immediately, but after the delay of one hour specified in the sequential PAL is over. A countdown timer starts to indicate the time left for the launch of a KC that is at the target end of a PAL that has a delay. You can interrupt the delay by checking off the checkbox, “Skip Delays” on the toolbar.

Figure 4.

Just-in-Time Information Retrieval during Execution

Since the information has changed in some of the AKCs, we can now test the JIT functionalities capability of dynamically generating questions. Click on the same AKC, “Intramuscular” to select it and click on the Jitton again. You will notice that the questions that created by the JIT functionality are different from the ones that were created previously.

In addition, all the AKC dialogs carry a Jitton too, to allow easy access to the same functionality.

Conclusion of the Basic Tutorial

With this step, you have completed the basic tutorial. In the process, you have learnt some important concepts about Proteus and the Protean tools. This qualifies you to move on to the more advanced tutorial, where you will learn how easy it is to create new KCs and executable guidelines. You will also learn how to reuse previously created KCs in other guidelines. You will find out how to create rules that control the behavior of KCs during execution.