Software Requirements Specifications - SubarnaSaha08/JUMCMS-Jahangirnagar-University-Medical-Center-Management-System GitHub Wiki

Software Requirements Specification

for

JU Medical Center Management System

Prepared by:

Subarna Saha (Roll: 349)

Hasan Al Mamun (Roll: 399)

Fatima Binte Aziz (Roll: 367)

Sudipta Singha (Roll: 408)

Shabrina Akter Shahana (Roll: 2147)

Saud Al Nahian (Roll: 2149)

Department of Computer Science and Engineering
Jahangirnagar University, Savar, Dhaka

August 31, 2023

Download it as PDF

1 Introduction

1.1 Purpose

This Software Requirements Specification (SRS) aims to give readers a thorough understanding of the Jahangirnagar University Medical Centre Management System. This SRS document describes how the system operates. For the medical administrators, staffs, doctors and patients who need to streamline and mechanize their manual processes regarding the medical center, the "Jahangirnagar University Medical Centre Management System" is a clinical management system that offers a comprehensive and systematic approach to simplify clinical tasks by automating various processes, including making appointments, prescribing patients, stock management and certifying fundraiser unlike traditional manual systems that require extensive manual handling and can be error-prone.

1.2 Intended Audience

The Software Requirements Specification (SRS) for the Jahangirnagar University Medical Centre Management System is crafted to address the needs of a diverse group of stakeholders involved in the development, testing, management, and utilization of the system. The primary stakeholders include:

  • Stakeholders and Hospital Management Authorities: Responsible for system management.
  • Project Developers: Engaged in coding and implementation.
  • Project Managers: Overseeing the development process objectives, to effectively oversee the develop-ment and deployment process.
  • End Users(Patients and Doctors): Interacting with the user-end or patients and doctors.
  • Project Testers: Responsible for validating system functionality.
  • Marketing Personnel: Responsible for promoting the whole system.

By addressing the specific needs of each group, this SRS aims to foster a shared understanding among all stakeholders involved in the development and utilization of the Jahangirnagar University Medical Centre Management System.

1.3 Intended Use

The Software Requirements Specification (SRS) for the JU Medical Center project is designed to serve as a comprehensive guide for various stakeholders involved in the development and implementation of a state-of-the-art healthcare facility. To provide a detailed and structured description of the system’s functionalities, requirements, and design specifications. This document is designed to serve as a comprehensive guide for various stakeholders throughout the development and implementation process. The intended uses of this SRS include:

  • Stakeholders and Hospital Management Authorities: They will use this document to understand the system’s functionalities, benefits, and potential impact on the healthcare facility, facilitating informed decision-making.
  • Project Developers: The SRS provides project managers with an overview of the project’s scope, objectives, and features, enabling them to effectively manage the development process and ensure that it meets organizational goals.
  • Project Managers: For users (Patients and Doctors), their interaction with the system primarily occurs through the functional requirements.
  • End Users(Patients and Doctors): Requires a thorough and secure dashboard to monitor system functions.
  • Project Testers: Project testers will rely on this SRS to create effective testing strategies, develop test cases, and ensure the system’s performance and reliability align with the specified requirements.
  • Marketing Personnel: Marketing teams will refer to the SRS to accurately convey the system’s features and advantages, helping to promote the system effectively.

In summary, this SRS ensures that all parties involved—stakeholders, developers, managers, end users, testers, and marketing personnel—have a clear and consistent understanding of the system’s requirements and objectives. This clarity will aid in the smooth development, testing, management, and communication processes throughout the project lifecycle.

1.4 Product Scope

Currently, the Jahangirnagar University Medical Center operates using a manual system to manage its treat- ment processes. Upon arrival, patients must book an appointment at the reception to consult with a doctor, and these appointments are logged manually in physical files. The details of patients’ diagnosed symptoms, related diseases, and other essential medical information are also recorded manually and stored in register books. Ambulance services, bed bookings, patient referrals, and all other critical tasks are similarly handled through manual processes. This manual system places a significant burden on the medical center’s management, requiring considerable effort to maintain accurate and up-to-date records for students and staff. These records are vulnerable to various risks, including damage from fire, insects, and natural disasters, as well as potential data loss due to misplacement. Additionally, the limited storage capacity for physical files further complicates manual record- keeping. To address these challenges, we propose the development of a standalone application designed to manage the core functions of the Jahangirnagar University Medical Center Management System. This system aims to digitalize existing processes, ensuring more efficient and secure management of patient information, and reducing the risks associated with manual record-keeping. By transitioning to a digital platform, the medical center will be better equipped to handle its operations with improved accuracy, security, and efficiency.

1.5 Risk Definition

Risks are potential problems or uncertainties that could negatively impact the successful completion of this project. Identifying and documenting risks in the system is essential to anticipate challenges and plan mitigation strategies. Some risks associated with this system include:

1.5.1 Technical Risks

The system may encounter performance bottlenecks if a large number of concurrent users access the appointment scheduling and medical report retrieval features. In the system codebase, reliance on third-party libraries and tools may introduce risks if those dependencies become outdated or unsupported.

1.5.2 Security Risks

The system deals with sensitive medical information, so there is a risk of data breaches if proper security measures are not implemented. The need for different access levels for doctors, admins, and patients poses a risk if role-based access control is not properly enforced, potentially leading to unauthorized access.

1.5.3 Usability Risks

Although the system aims to have an intuitive interface, there is a risk that some users, especially those not highly technical, may find the system difficult to use. Storekeepers and lab technicians might make mistakes when inputting data into stock information and test reports.

1.5.4 Operational Risks

The system may experience downtime due to server issues, impacting critical functionalities like appointment scheduling, prescription access, and emergency services.

1.5.5 Compliance and regulatory risks

The system must comply with healthcare regulations regarding the handling of medical data. Failing to meet these regulations could result in legal consequences.

1.5.6 Maintenance and Support Risks

The system will require ongoing maintenance and updates to fix bugs and patch security vulnerabilities, which could be resource intensive.

2 Overall Description

2.1 User Classes and Characteristics

2.1.1 Administrator

Responsible for overall system management, including user management, configuration, and supervising operations.

Characteristics:

  • Role: System supervisor
  • Technical Expertise: High; familiar with system configuration and management tasks.
  • Tasks: Account authentication, user management, system maintenance, access control.
  • Special Needs: Requires a thorough and secure dashboard to monitor system functions.

2.1.2 Doctor

Use the system to manage patient records, write prescriptions, and view medical histories.

Characteristics:

  • Role: The primary healthcare providers within the system.
  • Technical Expertise: Moderate to high; familiar with electronic health records and medical software.
  • Tasks: Access and update patient records, prescribe medications and tests, schedule and manage appointments.
  • Special Needs: Requires quick access to patient histories and decision-support tools.

2.1.3 Laboratory Technician

Enter, organize, and maintain lab results, as well as reschedule test appointments.

Characteristics:

  • Role: Employee who manages lab tests and test appointments.
  • Technical Expertise: Moderate; experienced with lab management software.
  • Tasks: Input test reports, manage lab workflows, schedule test appointments.

2.1.4 Store Manager

Manage and dispense medications according to prescriptions and handle inventory.

Characteristics:

  • Role: Employee who is in charge of the medical store.
  • Technical Expertise: Moderate; knowledgeable in prescription management and inventory control.
  • Tasks: Dispense medications, manage and update inventory.
  • Special Needs: Needs accurate and up-to-date prescription data and inventory tracking.

2.1.5 Patient

Access their medical records, schedule appointments, and receive notifications or updates.

Characteristics:

  • Role: Individuals receiving medical care within the system.
  • Technical Expertise: Varies; Some people might not have much technological experience.
  • Tasks: Schedule appointments, view medical records, collect prescriptions and test reports, receive notifications.
  • Special Needs: Requires a simple, accessible interface with clear instructions and support.

2.2 User Needs

Our system will provide smart functionalities for scheduling doctor appointments by digitizing the old traditional system. It will also facilitate doctors and lab technicians by using digital prescriptions and digital lab reports. Inventory management of medicines and other medical supplies will also be benefited by this system. Some specific user needs of this system include:

2.2.1 General User:

  • Users require secure login functionality to protect their sensitive medical information, with different access levels for doctors, admins, and patients.
  • Users need an intuitive and easy-to-use interface, considering that users may not be highly technical.
  • Users need the ability to easily access and read vlogs published by the admin about seasonal diseases without requiring any login or access permissions.
  • Users need a contact with ambulance drivers page so that they can communicate with ambulance drivers in case of emergency.

2.2.2 Doctors:

  • Doctors require an intuitive interface for watching patient queues, schedules, and canceling appointments.
  • Doctors need an intuitive interface for prescribing medications, tests, and suggestions to patients.

2.2.3 Patients:

  • Patients need the ability to schedule appointments with doctors for treatment and with lab technicians for testing medical conditions.
  • Patients need easy retrieval of medical reports and prescriptions using the system.
  • Patients need the ability to apply for an emergency medical certificate for financial help.

2.2.4 Storekeeper:

  • Store keepers will be able to directly dispense medicines to patients and keep logs of it in the system.
  • Storekeepers need the ability to update stock information in the system and track the availability of medicines and medical supplies.

2.2.5 Laboratory Technician:

  • Laboratory technicians will need the ability to create test reports and publish them to the system so that authorized patients can view them.
  • Lab technicians require an easy-to-use interface for checking , scheduling, and rescheduling appointments with patients for medical tests.

2.2.6 Administrator:

  • Administrators need access to manage system accounts and authenticate new users.
  • Administrators need the ability to add blogs and articles about seasonal diseases, tips, and suggestions.
  • Administrators need the ability to certify and authorize medical certificates to legitimate patients in need of financial help.

2.3 Operating Environment

2.3.1 Hardware Platform

The system is intended to function on common hardware, such as:

  • Desktops: Intel Core i5 processor or equivalent, 8GB RAM.
  • Laptops: Intel Core i3 processor or equivalent, 4GB RAM.
  • Mobile Devices: iOS devices, Android devices.

2.3.2 Operating Systems

The system is compatible with the following operating systems:

  • Windows: Windows 10 (64-bit) or later.
  • macOS: macOS Catalina (10.15) and above.
  • Linux: Ubuntu 20.04 LTS or later, Debian 10 or later and Fedora 34 or later.
  • Mobile: iOS 11.0 and above, Android 9.0 and above.

2.3.3 Database Compatibility

Relational databases are supported by the system, including:

  • SQLite: Version 3.34 or later (default for lightweight applications).
  • PostgreSQL: Version 13 or later.
  • MySQL: Version 8.0 or later.
  • MariaDB: Version 10.5 or later.

2.3.4 Development tools

Relational databases are supported by the system, including:

  • Python: Version 3.11 or later.
  • Django: Version 4.2 or later.
  • virtualenv: Version 20.4.0 or later (optional, but widely used).
  • Git: Version 2.30 or later.
  • Docker: Version 20.10.7 or later.
  • Docker Compose: Version 1.29.2 or later.

2.3.5 Softwares

The technology works well with latest web browsers:

  • Microsoft Edge.
  • Google Chrome.
  • Mozilla Firefox.

2.4 Constraints

2.4.1 Technical Constraints

  • Utilization of role-based access control (RBAC) to restrict access to confidential data according to user roles.
  • Customizing the system to handle a high number of concurrent users without performance degradation.
  • Designing a user-friendly interface that is intuitive for patients and healthcare professionals.

2.4.2 Time Constraints

  • Having low latency, particularly for critical tasks such as patient record retrieval.
  • Maintaining high availability, ensuring it is operational and accessible at all times, with minimal downtime.

2.4.3 Security Constraints

  • Complying with all the laws and regulations to ensure security and confidentiality of patient data.
  • Ensuring all input data is validated and sanitized to prevent SQL injection, cross-site scripting (XSS), and other injection attacks.
  • Implementation of secure session management practices, including timeouts and invalidation after inactivity.

2.5 Assumptions

2.5.1 Medical Staff Training

It is assumed that all medical personnel, including doctors, nurses, and administrative staff, will have undergone sufficient training on the system’s functionalities. This will ensure efficient and accurate use of the system’s modules, reducing user error.

2.5.2 Server Availability

The system is dependent on continuous server availability. It is assumed that the server hosting the JUMCMS will be running at all times with minimal downtime. Proper server monitoring and maintenance will be implemented to ensure optimal performance and uptime.

2.5.3 Stable Internet Connection

Users are assumed to have access to a reliable and stable internet connection to interact with the system seamlessly. A minimum internet speed threshold will be recommended to ensure smooth operation and prevent interruptions during data transfer or system updates.

2.5.4 Regular Data Backups

It is assumed that routine data backups will be scheduled and executed to safeguard against accidental data loss. These backups will be performed automatically by the system and stored in a secure off-site location, ensuring data integrity in case of system failures or security breaches.Chapter 2: Overall Description

2.5.5 System Compatibility

The system will be compatible with common modern web browsers and operating systems. It is assumed that users will access the system through supported platforms to ensure consistent user experience and functionality.

2.5.6 Security Protocols

It is assumed that all necessary security measures, such as encryption, authentication, and role-based access controls, will be in place to ensure the safety and privacy of patient data, as well as compliance with relevant regulations.

3 Requirements

3.1 Functional Requirements

3.1.1 Sign Up

As a User, I want to create an account in the system, so that I become a registered user in the system.

Confirmation

Success:

  • If all the required information is correctly filled out and valid, the system will successfully submit account creation form to the admin.
  • If admin verifies the account, the system will automatically send a verification link to the user’s provided email address.
  • If the user verifies the email address, the system shows “Verification complete” and displays the option to log in.

Failure:

  • If any of the required information is missing after submitting the account creation form, the system will show the message “Please enter the required information first” and highlight the specific information that is missing.
  • If the email address given by the user is already registered, the system will show a message “This email is associated with another account” and provide an option for resetting the password and logging in.
  • If the phone number given by the user is already registered, the system will show a message “This phone number is associated with another account” and provide an option for resetting the password and logging in.
  • If the email entered is not in a valid format or non-existent, the system will display the message: “Invalid email address” and prompt the user to re-enter a valid email address.The system will also provide an inline message explaining the correct format.
  • If the password does not meet the system’s requirements. The system will display a message on how to strengthen it and provide real-time feedback on password strength.

3.1.2 Log in

As a user, I want to log into the system so that access my personal account securely and carry out tasks making use of the services that are accessible to authorized users.

Confirmation

Success:

  • If the user ticks "Remember me" option before logging into the system, the system will automatic login next time.
  • If the user doesn't tick "Remember me" option before logging into the system , the system will force login next time.
  • If the user logs into the system successfully, the system will display their personal dashboard and grant access to certain facilities.

Failure:

  • If the email address entered by the user isn't registered yet, the system will show a message: "Not registered yet?" and provide an option to create an account.
  • If the user account authorization is still pending, the system will show a message: "Authorization is still in progress for your account".
  • If the user forgets their password, they can select the "Reset password" option to reset the password using the registered email address.
  • If the password entered by the user isn't correct, the system will show a message: "Invalid username/password" and provide an option to enter the correct credentials.
  • If the user's account has been inactive for a certain period (e.g., six months), the system requires the user to reset their password or verify their email before allowing login.
  • If the user enters the wrong password more than three times, the system will send a verification code to the user's email address and ask the user to enter the code to log in.

3.1.3 See the information of waiting patients

As a doctor, I want to see the information of waiting patients so that I can effectively evaluate their medical history, get ready for appointments, and deliver quick, well-informed care.

Confirmation

Success:

  • If the Doctor selects a patient from the waiting list, the system displays the patient's details along with the reason for the visit and any medical history available.
  • If the Doctor selects "Contact Patient", the system offers options to send an email if remote consultation is needed.
  • If the Doctor selects "Start Consultation", the system initiates a session where the doctor can create prescriptions or treatment plans for the patient.
  • If the Doctor selects "Cancel Appointment", the system removes the patient from the waiting list and sends a cancellation notification to the patient via email.
  • If the Doctor views "Emergency Cases First", the system sorts the waiting list to show patients with critical or emergency cases (e.g., victim of road accident) at the top, ensuring that they are attended to first.

Failure:

  • If the system fails to retrieve or display the list of waiting patients due to technical issue, the doctor may not be able to know about the upcoming appointments.

3.1.4 Prescribe medicines and tests for a patient

As a doctor, I want to prescribe medicines and tests for a patient so that I can make sure the patient gets the right care and evaluations that are specific to their health.

Confirmation

Success:

  • If the Doctor selects the "View Patient History" option, the system redirects him to a page for displaying the patient's medical history, including previous diagnoses and prescriptions.
  • If Doctor selects the "Prescribe the patient" button from the list of waiting patients for him, system displays a form to prescribe to the patient.
  • If the Doctor selects "Assign bed" option, system displays the information of available beds.
  • If the Doctor selects the "Refer to Specialist" option, the system will display a list of doctors from nearby hospitals.
  • If the Doctor selects the "Discharge Patient" option, the system updates the information of previously occupied bed.
  • If the Doctor selects the "Exit" option, the system returns him/her to the home screen without saving any changes.
  • If the Doctor selects "Save" option, system stores the prescription in Database with an unique prescription id and sends the prescription the patient through email.

Failure:

  • If the prescription form cannot be submitted due to a system error or incomplete data, the doctor may be unable to prescribe medicines or tests.
  • If the system fails to retrieve or display the patient's medical history due to technical issue, the doctor may not have access to essential information for making informed decisions.
  • If the system is down or experiencing technical issues at the time of prescribing, the doctor may be unable to complete the prescription process or access necessary functionalities.
  • If the system fails to save the prescription in the database or encounters issues while sending the prescription to the patient via email, it could lead to the patient not receiving the necessary medication instructions.

3.1.5 Dispense Medicines to Patients

As a storekeeper, I want to dispense prescribed medicines to patients, so that patients can receive the correct medications efficiently and on time.

Confirmation

Success:

  • If the patient is registered in the system, the patient’s prescription will be available on the storekeeper’s dashboard and automatically loaded to the system for dispensing.
  • If the medicines are available, the storekeeper confirms the availability by selecting the medicines and preparing them for dispatch.
  • If the storekeeper clicks the cancel button, the system will be redirected to the storekeeper dashboard.
  • If the storekeeper clicks the dispatch button, the system will generate a record and add it to the system logs. Also, the system updates the inventory.

Failure:

  • If the patient is not registered in the system, the system will allow the storekeeper to enter medicine names manually.
  • If the medicines are not available in the inventory, the storekeeper records the unavailable medicines in the system.

3.1.6 Update Stock Information

As a storekeeper, I want to update the stock information after dispensing or receiving new sup- plies, so that the inventory reflects accurate stock levels and prevents shortages or overstocking.

Confirmation

Success

  • If the medicine information is already in the system, the system will prompt the storekeeper to enter quantity for adding.
  • If the medicine information is not in the system, the system will provide an interface to the storekeeper to add new medicine information.
  • If the storekeeper clicks the "cancel" button during the update process, the system will return to the main dashboard without saving changes.
  • If the storekeeper clicks the "confirm" button, the system will update the inventory records, generate a stock update log, and store the information in the system logs.

Failure

  • The storekeeper enters an invalid or negative quantity for the medicine. The system will display an error message, prompting the storekeeper to enter a valid quantity.
  • If the system encounters an error while trying to save the stock information(due to network issues or malfunction), it displays an error message.

3.1.7 Certify Patients for Public Fund Collection

As an admin, I want to certify patients who require financial assistance for treatment, so that they can collect public donations with an official certification from the institution.

Confirmation

Success:

  • If the admin clicks the "Certify Patient" button, the system will provide a textbox to enter the patient’s ID.
  • If the admin doesn't have the patient’s ID, they can use the search option to find the patient by name or other identifiers.
  • If the patient is registered in the system, the system will display their full medical treatment records, including diagnostic details, treatment plans, and associated costs.
  • If the patient has financial need, the system will display their financial history (e.g., unpaid medical bills, financial aid applications).
  • If the admin approves the certification, the system will auto-generate a certification letter containing:
    • Patient’s name, ID, and treatment details.
    • Financial need assessment.
    • Official seal of the institution.
    • Signature line for the authorized official.
    • A unique QR code for verification online.
  • If needed, the admin can edit the letter’s content before confirming, including adding custom notes or additional instructions.
  • If the admin clicks "Confirm":
    • The certification letter will be saved in the system and marked as “Completed” in the logs.
    • The system will send a notification to the patient, informing them that their certification has been approved.
    • The system will redirect the admin to the main dashboard.
  • After generating the certification, the admin will have an option to print the certification directly from the system.

Failure:

  • If the admin enters an invalid or incomplete patient ID, the system will display an error message prompting the admin to re-enter a valid ID or use the search function to find the patient.
  • If the admin attempts to certify a patient whose financial need is not documented in the system (e.g., no unpaid bills or financial aid applications), the system will block the certification and display a message: "Financial need not verified. Certification cannot proceed."
  • If the certification letter fails to generate due to missing mandatory details (e.g., treatment details or financial need assessment), the system will prompt the admin to complete the missing information before proceeding.
  • If there is a network or server issue during the certification process, the system will notify the admin, and the certification process will be paused, with the option to retry later.
  • If the admin tries to certify a patient who has already been certified for public funds within a restricted time frame, the system will prevent the action and display a message: "Patient certification already completed within the allowed period."

3.1.8 Publish Information and Preventive Measures for Seasonal Diseases

As an admin, I want to publish information and preventive measures related to seasonal diseases, so that patients and the public can stay informed and reduce the impact of these diseases.

Confirmation

Success:

  • If the admin clicks the "Create Post" button, the system will provide options to create a blog post, upload a poster, or embed a video.
  • If the admin selects the Blog Post option, the system will display a rich-text editor where the admin can draft and format the content.
  • If the admin selects the Poster or Video option, the system will provide a file upload feature where the admin can upload a poster image or video file.
  • If the admin uploads a video, the system will allow embedding a video link from platforms like YouTube.
  • If the content is created or uploaded, the system will prompt the admin to categorize the post by disease type (e.g., Dengue, Influenza) and select relevant tags (e.g., prevention tips, symptoms, treatment).
  • If the admin clicks the "Publish" button, the content will be made visible on the health center’s public dashboard and through other communication channels.

Failure:

  • If the admin tries to publish the content without selecting a disease type or tags, the system will display an error message prompting the admin to complete these required fields.
  • If the admin uploads a file that exceeds the system’s file size limit or an unsupported format, an error message will appear, and the admin will be asked to upload a valid file.
  • If there is a network connectivity issue while publishing the content, the system will save the post as a draft and notify the admin that the action couldn't be completed due to connectivity issues.
  • If the system encounters an internal error while processing the post, the admin will be notified, and the content will be saved as a draft for later review and publication.

3.1.9 Schedule Appointment for Doctors and Lab Tests

As a patient, I want to schedule an appointment with a doctor or for a lab test, so that I can receive medical consultation or lab services at a convenient time.

Confirmation:

Success:

  • If the patient clicks "Make Appointment," the system will display available doctors and their time slots, as well as available lab tests and their respective time slots.
  • The system will allow the patient to:
    • Select a doctor and an available time for consultation.
    • Or, choose a lab test and an available time for the procedure.
    • Confirm the selected appointment (either for a doctor or lab test).
  • If the patient selects a time slot, the system will send a confirmation message via email or SMS with the appointment details (for both doctor and lab test appointments).
  • The system will update the doctor's or lab's schedule and prevent overlapping appointments.

Failure:

  • If the patient tries to schedule an appointment but all available time slots are already booked, the system will display a message: "No available time slots. Please choose another doctor, lab test, or date."
  • If the patient selects an invalid time (e.g., outside of the doctor’s working hours or lab operation hours), the system will show an error message: "Invalid time selection. Please select a valid time slot."
  • If there is a system issue preventing the appointment from being saved, the system will notify the patient with an error message: "Appointment could not be scheduled due to a system error. Please try again later."
  • If the patient enters incomplete or invalid personal details (e.g., missing contact information), the system will prompt them to correct the information before proceeding.
  • If there is a network issue, the system will notify the patient that the process could not be completed, and the appointment will not be saved. The patient can then retry once the issue is resolved.

3.1.10 Collect Test Reports and Prescriptions

As a patient, I want to access my test reports and prescriptions online, so that I can easily view and download my medical information.

Confirmation

Success:

  • If the patient clicks "View Reports & Prescriptions," the system will display a list of available test reports and prescriptions based on their medical records.
  • The system will allow the patient to select and download the desired reports or prescriptions in PDF format.
  • If a test report or prescription is not yet available, the system will display a message indicating the expected availability date.
  • The system will send a notification to the patient when new test reports or prescriptions are added.

Failure:

  • If the patient tries to access test reports or prescriptions but none are available in their medical records, the system will display a message: "No test reports or prescriptions available at this time."
  • If there is a system error while retrieving the reports or prescriptions, the system will display an error message: "Unable to retrieve medical records. Please try again later."
  • If the patient selects a report or prescription but the file is corrupted or missing, the system will notify the patient with an error message: "File not available or corrupted. Please contact support."
  • If there is a network or server issue during the download process, the system will notify the patient that the download failed and offer an option to retry once the issue is resolved.

3.1.11 Reschedule test appointments

As a lab technician, I want to reschedule a test appointment, so that I can ensure the patient receives their test at a more convenient time if needed.

Confirmation

Success:

  • If the lab technician initiates the reschedule process, the system will display available time slots.
  • If the lab technician selects a new time and confirms the reschedule, the system will update the appoint- ment in the database.
  • If the appointment is successfully rescheduled, the system will send a confirmation email to the patient with the new appointment details.
  • If the appointment is successfully rescheduled, the system will update the lab’s schedule to reflect the new appointment time.
  • If the appointment is successfully rescheduled, the system will maintain an audit trail, recording the original and new appointment details, as well as the identity of the lab technician.

Failure:

  • If the lab technician attempts to reschedule but the time slots are unavailable, the system will display an error message.
  • If there is a system error during rescheduling, the system will display an error message to the lab technician.
  • If the lab technician cancels the rescheduling process, the system will revert to the previous screen without saving any changes.

3.1.12 Submit Test Report

As a lab technician, I want to submit the prepared lab report, so that the report can be made available for the patient to review and download.

Confirmation

Success:

  • If the lab technician submits the report, the system will display a confirmation message indicating that the report has been successfully submitted.
  • If the lab technician submits the report, the system will update the status of the test report to “Ready”.
  • If the report is successfully submitted, the system will send an email notification to the patient informing them that the report is ready.
  • If the report is successfully submitted, the patient will be able to download the test report in PDF format.

Failure:

  • If there is an error during the report submission process, the system will display an error message and the report will not be saved.

3.1.13 Visit the Seasonal Diseases Portal

As a lab technician, I want to access the Seasonal Diseases Portal, so that I can view important information regarding current seasonal diseases and provide relevant guidance to patients.

Confirmation

Success:

  • If the lab technician or patient initiates the process to visit the Seasonal Diseases Portal, the system will display a list of seasonal diseases relevant to the user’s location and the current time of year.
  • If the lab technician or patient selects a seasonal disease from the list, the system will show detailed information including symptoms, treatment options, and preventive measures.
  • If the user navigates to the "Resources" section, the system will display downloadable educational materials, such as brochures and infographics, on seasonal diseases.
  • If the lab technician or patient accesses a vaccination schedule or prevention tips related to a specific seasonal disease, the system will present up-to-date guidance and recommendations.
  • If the user searches for a specific seasonal disease, the system will retrieve and display relevant information, allowing the user to explore detailed resources.

Failure:

  • If the system is unable to access the Seasonal Diseases Portal due to network or server issues, it will display an error message and suggest the user try again later.

3.1.14 View Ambulance Information

As a lab technician, I want to view ambulance information, so that I can quickly access details about available ambulances in case of emergencies or patient transportation needs.

Confirmation

Success:

  • If the lab technician initiates the process to view ambulance information, the system will display a list of available ambulances, including details such as ambulance ID, location, availability status, and contact information.
  • If the lab technician filters the ambulance information by location, the system will present only the ambulances available within the selected area.
  • If the lab technician selects an ambulance from the list, the system will display additional details such as the ambulance type (basic life support, advanced life support), driver contact, and estimated time to reach the facility or patient.
  • If the lab technician views an ambulance’s real-time location, the system will display the current GPS coordinates on a map.
  • The system will log the lab technician’s action of viewing ambulance information for audit purposes.

Failure:

  • If the system is unable to retrieve ambulance information due to network or server issues, it will display an error message and suggest retrying.
  • If no ambulances are available in the selected location, the system will notify the lab technician and provide alternate contact information for nearby emergency services.

3.2 Non Functional Requirements

3.2.1 Security

  • Data Encryption: Every sensitive patient data must be secured while it's at rest and while it's in transit (using TLS).
  • Authentication and Authorization: To guarantee that only authorized users (such as administrators, doctors, lab-technicians, and patients) can access particular areas of the system, multi-factor authentication (MFA) and role-based access control (RBAC) must be implemented by the system.
  • Audit Trails: For the sake of accountability and compliance with the law, the system must keep track of all access to and modifications made to patient records.

3.2.2 Performance

  • Response Time: For routine tasks (such as collecting patient records and booking appointments), the system should respond to user inputs in less than two seconds.
  • Transaction Throughput: Without noticeably degrading performance, the system should be able to manage at least 50 concurrent transactions (such as patient check-ins and record modifications).

3.2.3 Reliability

  • Uptime: In order to guarantee availability during crucial operations, especially during emergencies, the system's uptime must be at least 99.9%.
  • Backup and Recovery: Patients' data must be automatically backed up every day, and in the event of a breakdown, the system must be able to be restored in an hour.

3.2.4 Scalability

  • Horizontal Scalability: To handle growing numbers of users or transactions, the system must be able to accommodate the addition of additional servers or cloud resources without requiring large code changes.
  • Database Scalability: Over time, the database should be able to handle the increasing volume of patient records and medical data without experiencing any performance issues.

3.2.5 Usability

  • User Interface: For various user roles (such as doctors, patients, and lab technicians), the system should have an intuitive, user-friendly interface that requires little training.
  • Accessibility: To guarantee that people with impairments can use the system, it must adhere to accessibility standards (such as WCAG).

3.2.6 Interoperability

  • System Integration: Using common protocols like HL7 or FHIR, the system should interface with other systems like laboratory software, pharmaceutical systems, and insurance providers with ease.
  • API Availability: Provide safe APIs so that you can integrate with other healthcare systems and guarantee real-time data exchange.

3.2.7 Compliance

  • Regulatory Compliance: Healthcare-related regulations like the Digital Security Act, 2018 and Bangladesh Medical and Dental Council Act, 2010 must be complied with by the system in order to safeguard patient privacy.
  • Legal Compliance: Verify that the system complies with regional legislation regarding data exchange, insurance processing, and the maintenance of medical records.

3.2.8 Maintainability

  • Modular Architecture: Modular systems enable quick updates or replacements of specific parts without impacting the system as a whole.
  • Code Documentation: To make it simple for upcoming developers to comprehend and alter the system, all code needs to be thoroughly documented.

3.2.9 Data Integrity

  • Consistency Checks: By preventing data loss or corruption and carrying out routine data consistency checks, the system must guarantee the integrity of medical records.
⚠️ **GitHub.com Fallback** ⚠️