## 3 Overview of Information Systems
### Stages of Implementing an Information System
This diagram presents an overview of the medical information system's functionality and the interactions among various actors and use cases. * Activity diagram illustrates the activities undertaken in a workflow. In Figure 5 is a basic example of a medical appointment booking system. In this activity diagram:  
* The process starts with the \"Start Process\" activity. * The user chooses the patient for whom they want to book an appointment. * The user enters patient information or searches for an existing patient record. * The system searches for the patient's record. * The user selects the patient's record from the search results. * The user chooses the appointment date and time. * The user confirms the appointment. * The system notifies the patient about the appointment. * The process ends. Each activity represents a specific task or action within the system, and the arrows show the flow of control from one activity to the next. This activity diagram provides a visual representation of the steps involved in booking a medical appointment within the system. * Data flow diagram represents the flow of data within the system (as presented in Figure 6), illustrating how data move from input to processing and output. DFDs can be used to model both high-level and detailed data processes. In this DFD:  
* Appointment Booking--the process represents the main function of the system, where users can book appointments. * Patient Registration--the process handles the registration of new patients. Figure 5: Activity diagram for medical information system. Figure 6: Data flow diagram for an appointment booking in a medical information system. * Patient Information--the process manages patient information, including updating and retrieving patient records. * Doctor Availability--the process deals with the availability of doctors and their schedules. * Available Appointments--the process determines the available appointments based on doctor availability and existing bookings. * Booked Appointments--the process manages the booked appointments, including storing and updating appointment details. The arrows represent the flow of data between the processes. For example, data flow from the \"Appointment Booking\" process to the \"Patient Registration\" process when a new patient registers for an appointment. Similarly, data flow from the \"Available Appointments\" process to the \"Booked Appointments\" process when an appointment is booked. This DFD provides a high-level overview of the data flow and the processes involved in the medical appointment booking system, helping to understand how information moves through the system. * Class diagram identifies the objects to be used and their interaction. Example of this kind of diagram is presented in Figure 7.  
In this class diagram:  
* Medical system represents the main class that holds the collections of patients and doctors. * Patient represents a patient with attributes such as id, name, gender, and age. * Doctor represents a doctor with attributes such as id, name, and specialty. * Appointment represents an appointment with attributes such as id, date, time, patient, and doctor. * Schedule represents a schedule that holds a collection of appointments. The arrows indicate associations between classes. For example:  
* Each medical system can have multiple patients and doctors. * Each appointment is associated with one patient and one doctor. * The schedule class aggregates a collection of appointments. This class diagram provides a basic representation of the main classes and their associations in the medical appointment booking system. Depending on the requirements and complexity of the system, additional classes and relationships may be needed. * Package diagram--groups multiple classes creating subsystems that can be developed in parallel. Diagram example is presented in Figure 8.  
Figure 7: Class diagram for an appointment booking in a medical information system. In this package diagram:  
* Medical system represents the main package or module of the system.