Figure 4.5. (below) is the state diagram for the TreatmentManager class. Each of the round-tangles represents a possible state of the object. The arrows between these round- tangles are the transitions by which the object changes states. These transitions are labeled with the action that causes the transition as well as any conditions that must be satisfied in order for the transition to occur. Initially whenever the TreatmentManager is launched it enters the Analyze state. In this state various checks and analyses are performed such as confirming the user‟s diagnosis and in the event of a MRSA diagnosis determining the type of MRSA the patient may have. Once these steps are complete the TreatmentManager transitions into the View Treatment Plan/Progress state. From here the user can view the progress of treatments that have already been carried out, see a list of upcoming treatments, view a list of relevant clinical trials, as well as choose to schedule a new treatment for the patient. If the user chooses to view the progress of a treatment that has already been scheduled the TreatmentManager enters the Detailed View state and from here the user can view more detailed information about the treatment as well as any artifacts if the treatment has already been completed. If the user chooses to schedule a treatment, then the TreatmentManager enters the Schedule Treatment state and the user can then schedule a new treatment.
view()[Artifact != NULL] / viewArtifact
View Treatment Plan/Progress
checkForHAMRSA()[diagnosis == MRSA]
checkForEMRSA()[diagnosis == MRSA]
Figure 4.5. TreatmentManager State Diagram
Template based on IEEE Std 830-1998 for SRS. Modifications (content and ordering of information) have been made by Betty H.C. Cheng, Michigan State University (chengb at chengb.cse.msu.edu)