Patient View - SENG-350-2024-fall/Team-11 GitHub Wiki
Patient View
Primary Presentation:
Diagram: This would show the patient interacting with the system. The patient submits their symptoms through an interface, which is processed by the SymptomEvaluator class. Based on the evaluation, the system provides a recommendation.
Notation: UML Use Case Diagram.
Element Catalog:
SymptomEvaluator: The base class for evaluating symptoms using the Template Method design pattern. It manages the flow of steps for the evaluation.
StateMachine: Represents the logged-in and logged-out states of the user, allowing for different views and interactions based on the patient's authentication state.
SymptomRecommendation: Displays the result of the symptom evaluation, providing treatment recommendations to the patient.
Context Diagram:
Context: The patient is the central entity interacting with the system, and external entities like the ED, GPs, and pharmacists are indirectly involved as part of the recommendation process.
External Entities: ED, GP, Pharmacist (only through prescriptions or recommendations).
Variability Guide:
Variability: The recommendation provided to the patient can change depending on the evaluation results, severity of symptoms, and the patient's state (logged in vs. logged out).
Runtime Variability: Adjustments based on symptom input and system availability.
Rationale:
Rationale: The patient view ensures a simple, easy-to-use interface that focuses on symptom input and receiving recommendations. The decision to allow state-dependent views (logged-in vs. logged-out) helps ensure secure and personalized experiences.
Rejected Alternatives: Complex, multi-step evaluation interfaces were rejected in favor of a simple flow.