Assignment: Intelligent Hospital Management System (IHMS) Objective To assess your understanding and application of various software design methodologies, principles, and design patterns in a real-world scenario, challenging you to devise a resilient and adaptive software design solution. Scenario: Intelligent Hospital Management System (IHMS) A local government health agency has recognized the need to overhaul its current Hospital Management System to accommodate the growing technological advancements and provide seamless healthcare experiences. The new system, termed as the Intelligent Hospital Management System (IHMS), aims to streamline healthcare processes, enable efficient management of hospital resources, and enhance patient care through intelligent solutions. System Goals • • • Efficient Resource Management: Manage hospital resources such as medical staff, equipment, and rooms efficiently. Integrated Healthcare Processes: Integrate diverse healthcare processes like patient registrations, doctor appointments, medical history maintenance, and billing into a unified platform. Enhanced User Experience: Provide intuitive interfaces and processes for different user roles like patients, doctors, administrators, and pharmacists. User Roles & Interactions 1. Patients: Can register, book appointments, view medical history, receive notifications, and make payments. 2. Doctors: Can view their schedules, update availability, access patient medical history, and receive notifications. 3. Admins: Oversee the entire system, manage user roles and access, and handle system configurations and updates. 4. Pharmacists: Manage medicine stock, receive notifications about stock levels, and interact with suppliers. Subsystems & External Interactions • • • pg. 1 Patient Notification System: Sends automated notifications to patients regarding appointments, billing, and medicine availability. Pharmacies Stock Management System: Monitors medicine stock levels and triggers alerts and orders as necessary. Payment Gateway: Handles billing and supports different payment methods, ensuring secure and swift transactions. Detailed Workflow 1. Registration & Authentication: o o New users register through a secure registration process, involving identity verification. Returning users log in using secure multi-factor authentication. 2. Appointment Booking & Management: o o o Patients can view available time slots and book appointments with preferred doctors. Doctors can confirm or reschedule appointments based on their availability. A real-time updating mechanism reflects the changes immediately across all user interfaces. 3. Medical History Maintenance: o o Doctors can access and update patient’s medical histories, adding diagnoses, prescriptions, and notes. Patients can view their medical history but cannot modify it. 4. Billing & Payments: o o o The system generates bills automatically based on the services provided. Patients can view and pay bills using various payment methods through an integrated payment gateway. The system sends immediate notifications upon successful payment or in case of any issues. 5. Notifications & Alerts: o o Patients receive timely notifications about appointment confirmations, cancellations, rescheduling, and upcoming appointments. Both doctors and pharmacists receive alerts about low medicine stock levels, enabling them to act promptly. 6. Medicine Stock Management: o o The system maintains real-time data about medicine stock levels in connected pharmacies. It generates automated orders to suppliers when stock levels reach a predefined threshold. 7. System Configuration & Management: o o Admins can configure system parameters, manage user access rights, and deploy updates to the system. The system logs all user activities and system events for auditing and analysis. Technical Constraints & Requirements • • • pg. 2 The system must adhere to the highest standards of data security and privacy, complying with relevant healthcare data protection regulations. It should be scalable to accommodate growing numbers of users and expanding healthcare services. The system should be designed to support seamless interactions with external systems, ensuring data consistency and integrity across subsystems. Integrating Scenario with Assignment The enhanced details provided in this scenario are to be carefully considered while addressing each task in the assignment. The design should illustrate a deep understanding of the complexities and challenges involved in such a comprehensive system, with adequate attention given to the interactions between different components and the application of design principles and patterns. Assignment Tasks 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Propose an object-oriented design to handle the different entities and functionalities involved in IHMS. Develop a comprehensive design class diagram showcasing all entities, relationships, attributes, methods, and interactions within the system. Identify and design controller classes to manage the flow of data between the user interface and the system. Identify and design boundary classes for interaction between the system and the external entities. Identify and design entity classes representing the main actors and objects in the scenario. Clearly define the responsibility of each object within your design. Ensure that every class and method has a single responsibility and there is a clear separation of concerns. Implement stable intermediary structures to absorb the variations in your design. Use intermediary objects to mediate between different components of the system. Your design should minimize dependency between classes. Maximize the relatedness of methods within a class. Integrate the Adapter design pattern to make the IHMS interface compatible with external systems, like the Patient Notification System. Employ the Factory design pattern to create objects within the system. Use the Singleton design pattern to ensure a class has only one instance, e.g., for logging or configuration management. Apply the Iterator design pattern to access the elements of a collection object in sequential manner without needing to know its underlying representation. Submission Guidelines • • • • pg. 3 Submit a detailed design document illustrating the application of the above-mentioned concepts, along with relevant diagrams, class definitions, method signatures, and their relationships. Include a comprehensive explanation of how each concept is integrated into your design, justifying your choices and explaining the trade-offs made. Provide detailed explanations of the interaction between different components and external systems. Use appropriate UML notation, and ensure that the document is well-organized and coherent. Evaluation Criteria • • • • • • Comprehensiveness and Clarity of the design document. Correct Application of object-oriented design principles and design patterns. Robustness and Scalability of the proposed design. Justification of the design choices made. Quality of Interaction between different components and subsystems. Adherence to Submission Guidelines. Deadline Submit your design document in PDF format via the course submission portal (Moodle) by October 15th, 11:59 PM. Note This assignment is complex and requires a deep understanding of software design methodologies, design patterns, and principles. You are encouraged to discuss ideas with your peers; however, the final submission should be your own, original work. Plagiarism will result in a failing grade for this assignment. pg. 4