Skip to content
Benten559 edited this page Dec 10, 2020 · 52 revisions

Software Requirements Specification for Wellness Support Center

Prepared by
Group Name: Healers (Team 10)
Upkar Singh 109965602 [email protected]
Pranav Arora 110663117 [email protected]
Ben Corrales 11068948. [email protected]
Vraj Mistry 109951458 [email protected]
Angel Valdez 109388402 [email protected]

Instructor: Dr. Alex Lui
Course: CSCI 150
Lab Section: Section 2 - Thursday (3:30 - 4:20PM)
Teaching Assistant: Joshly Johnson

Contents

CONTENTS II
REVISIONS II
1 [Introduction]
1.1 Document Purpose 1
1.2 Product Scope 1
1.3 Intended Audience and Document Overview
1.4 Definitions, Acronyms, and Abbreviations
1.5 Document Conventions
1.6 References and Acknowledgments
2 OVERALL DESCRIPTION
2.1 Product Overview
2.2 Product Functionality
2.3 Design and Implementation Constraints
2.4 Assumptions and Dependencies
3 SPECIFIC REQUIREMENTS
3.1 External Interface Requirements
3.2 Functional Requirements
3.3 Use Case Model
4 OTHER NON-FUNCTIONAL REQUIREMENTS
4.1 Performance Requirements
4.2 Safety and Security Requirements
4.3 Software Quality Attributes
5 OTHER REQUIREMENTS
APPENDIX A – DATA DICTIONARY
APPENDIX B - GROUP LOG

Introduction

Document Purpose:

Wellness Support Center (WSC) is a web application that allows its users to run features containing medical information resources

Product Scope

Many individuals initially experiencing changes in health are not always equipped with the knowledge of treatment pathways. The Wellness Support Center is a hub for health information resources. By utilizing the power of data science the WSC benefits individuals looking to facilitate some of the legwork within health care. It provides users with the functionality to diagnose symptoms and provides the resources to efficiently continue investigating health issues.

Each user has the ability to log in and is provided access to supervised learning models. The functionality of providing queries to our symptom classifier helps users identify unknown health issues. Our health clinic recommendation system allows for a pertinent professional to now be contacted for further consultation. Thus far these features should not be considered and are not substitute for professional advice. The data sets were acquired from public sources; for pill classification the pill image data came from the national library of medicine https://lhncbc.nlm.nih.gov/news/pill-image-collection-available-open-access-download, For the diagnosing feature we acquired a symptom-disease data set from: https://www.kaggle.com/data/55703


Intended Audience and Document Overview

This wiki works to cover the main perspective of the document i.e documentation. This documentation is focused on breaking the section down to better illustrate the purpose and functioning of the application. The requirements are considered in the beginning and then the steps are broken down to achieve the required application.

References and Acknowledgments https://www.perforce.com/blog/alm/how-write-software-requirements-specification-srs-document https://krazytech.com/projects/sample-software-requirements-specificationsrs-report-airline-database

2 Overall Description

2.1 Product Overview

A unique approach to the interface between statistical classifiers, the founding idea of the Wellness Support Center is closely paralleled to the likes of WebMD. It stands to be a hub for various health-related information resources. This application however is self-contained and corresponds only to itself. The entirety of WSC as a web application consists of just three main components; a client, server, and database.

2.1.1 The Client

The client acts in the form of a dynamic web page. User experience and input are made more interactive through standard styling techniques. Once logged in, a user is given a selection of features in order to submit queries on existing supervised learning agents.

2.1.2 The Server

Interactions with a user are the largest task within WSC, for the purpose of dealing with serialized learning agents, the micro-framework Flask was chosen. Flask is responsible for handling all incoming requests between the client and the database and just to the client alone. This unique framework allowed the inclusion of many helpful libraries to facilitate workflow.

2.1.3 The Database

The current database utilizes the SQLite library for a lightweight yet effective SQL database. This is where user accounts are stored. The accompanying result vectors from model queries are also stored within different tables of the database with a user identifier as a key amongst tables.

2.2 Product Functionality

The Wellness Support Center is a website that lets user:
#Find nearby hospitals.
#Check their symptoms for potential disease.
#Use ML model to identify any medicines once the user uploads the picture.

3 Specific Requirements

3.1 External Interface Requirements

3.1.1 User Interfaces

Login/Sign-up page, feature selection page, feature input pages, result pages.

ID: UIR1

Initial login/sign-up page: Description: A user arriving at the hosted landing page will be prompted to sign up or use an existing log-in.
Rationale: For the allowed use of model queries.
Dependency: None

ID:UIR2

Main page: Description: Given a user has successfully logged in, they will be prompted to review previously administered outputs as well as select a feature to query.
Rationale: For the user to select application functionalities.
Dependency: UIR1

ID:UIR3

Model page: Description: Given a user selects a specific model to use, this provides them the appropriate input means and acts to display model output.
Rationale: In order for the user to interact with models.
Dependency: UIR2

ID:UIR4

Clinician Recommendation page: Description: Given a user has recently or at one point successfully used the diagnosing feature, a doctor's office recommendation is displayed after.
Rationale: For the user to have a start point in locating the appropriate clinician.
Dependency: UIR3

ID:UIR5

Overview page: Description: A summary of past recommendations and model results for user to reference
Rationale: In order to retrieve past executed episodes
Dependency: UIR4

3.2 Functional Requirements

ID: FR1

User Registration Description: Given a user has navigated to the landing page for the first time, they must create a user log-in.
Rationale: For access to site login.
Dependency: None

ID: FR2

User Log-in Description: Given a user has created a log-in, they must be provided input fields to be validated by database values
Rationale: To receive access to application feature functionalities
Dependency: FR1

ID: FR3

Diagnosing Feature Description: Users select from a range of possible symptoms. This information is then used to query a decision tree model.
Rationale: In order for a user to receive medical information of possible disease
Dependency: FR2

ID: FR4

Pill Classification Feature Description: Users may submit personal images of their own or found pills in order to receive information on their use and side effects.
Rationale: In order for the user to identify medication
Dependency: FR2

ID: FR5

Clinician Recommendation Description: Given users have successfully completed the Diagnosing Feature it will prompt a search for clinicians with the most skill relative to the prognosis given.
Rationale: To find the next possible treatment pathway of a user
Dependency: FR3

4. OTHER NON-Functional Requirements

4.1 Performance Requirements

This is a web application, so the requirement is a browser, preferably Google Chrome, because all the testing of the front-end was done on it. The IDE we used is Visual Studio Code. Software requirements are:

  • Anaconda Navigator
  • Python 3.7
  • Visual studio code
  • SQLlite

4.2

Safety and Security Requirements

NFR 2: Password must have at least 8 characters long with at least one uppercase letter, one lowercase letter, one number, and one unique symbol

4.3 Software Quality Attributes

NFR 3:

Symptom list presented as a scroll capable checkbox form

Use Case Model

Class Diagram

Sequence Diagrams

Machine Learning Model

Sequence Diagrams

Google Map API