Online Health Monitoring System

Software Requirements Specification

COP 4331, Fall, 2014

 

Modification history:

Version

Date

Who

Comment

v0.0

9/1/2014

Jon Carelli

Uploaded Template

v0.1

9/1/2014

Jon Carelli

Added title details, team contact info, acronym descriptions, and product assumptions.

v0.2

9/3/2014

Jon Carelli

 Added stakeholders, event table

v0.3

9/3/2014

David Gundler

 Started 3.1,3.3

v0.4

9/5/2014

Jon Carelli

Added the Use Case Diagram

v0.5

9/7/2014

Jon Carelli

Continued work on Event Table.

v0.6

9/10/2014

David Gundler

Continued work on requirements 3.1 – 3.7

v0.7

9/10/2014

Jon Carelli

Cleaned up formatting, changed UCD requirements per client request, and edited Event Table.

v0.8

9/11/2014

Jon Carelli

Created Use Case Diagram descriptions and Section 4.0 Supporting Material

v0.8

9/13/2014

Jon Carelli

Grammar check, finalized requirements 3.1-3.7

v0.9

9/16/2014

C. N. McCue

Completed “evaluations” sections

v1.0

9/17/2014

D. Gundler

Completed “dependency” sections

v2.0

10/3/2014

C. N. McCue

Modified sections 3.1, 3.2, 3.6, 3.9, Event Table and Use Case Descriptions

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Team Name: Team 14

Team Members:

·         Jon Carelli - email - web page

·         Chris McCue - email - web page

·         Chris Chaffin - email - web page

·         Ethan Pitts - email - web page

·         David Gundler - email - web page

·         James Luke - email - web page


Contents of this Document

Introduction

Definition, Acronyms, and Abbreviations

Product Overview

Specific Requirements

Supporting Material


SECTION 1: Introduction

Software to be produced:

The online health monitoring tool is an environment in which a patient can keep track of their scheduled medicine doses coupled with an alert system to their phone or email. The system encourages collaboration via email or video chat to the patient’s physician and can be helpful for the physician to keep track of what they have prescribed and to whom. The goal of the system is to be simple and easy to use in order to make the website accessible and frequently utilized by patients.

Reference Documents:

Applicable Standards:

·         RFC 2616. Hypertext Transfer Protocol -- HTTP/1.1, June 1999. Published by the Internet Engineering Task Force (http://www.ietf.org/rfc/rfc2616.txt).

 Definitions, Acronyms, and Abbreviations:

  • HTML – Hypertext Markup Language, a language to create a layout for a webpage
  • HTTP – Hypertext Transfer Protocol, the protocol used by web servers and web browsers to communicate
  • PHP – A programming language used to create dynamic websites.
  • SMS – Short Message Service, the protocol used in most cell-phones for the exchange of short messages. This will be used to notify patients when to take their medicine.
  • MySQL – An open source database management program. This will store user accounts and passwords.
  • jQuery A library for JavaScript that cuts down on the amount of code needing to be written.

SECTION 2: Product Overview

Assumptions:

  • The developers assume the users and physician will be using a modern web browser such as Google Chrome, IE 8+, Firefox or Opera. We assume the website will be running on a single dedicated server, and that there is a system admin who has access to that server.

Stakeholders:

  • Client: Dr. Turgut / Gurkan Solmaz gave the idea for the project and will be acting as client to decide what features will be implemented.
  • Patients: Looking for an easy way to find out when to take medicine and be notified via SMS.
  • Physician: Want an easy tool to keep track of patient’s medicine intake.
  • Developers: Want an efficient system as quickly as possible.

Event Table:

Event Name

External Stimuli

External Responses

Internal data and state

 Patient Create Account

Clicking on “Patient Registration” button on the front page

Redirects to “New Patient” form

Creates a new Patient Node in respective database. User login and password are encrypted. Fill with provided information.

 Log In Account

 Entering account information in the appropriate area on the front page and pressing the “Log In” button.

Directs user to “User Page” page.

Access Patient Node in database. User supplied information is encrypted. Check credentials against those on file. Allows user access to their respective user page. Event manager updates user Calendar.

Physician Create Account

Clicking on “Physician Registration” button on the front page

Redirects to “New Physician” form

Creates a new Physician Node in respective database. Physician login and password are encrypted. Fill with provided information.

 Physician Log In

Clicking the Physician Log In link, then entering information and pressing the “Log In” button.

Directs user to “Physician Page” page.

 Access Physician Node in database. User supplied information is encrypted. Check credentials against those on file. Allows user access to their respective user page.

Assign Pill Schedule

Finding patients name using drop down list, entering medicine name, entering date and time patient must take the medicine, clicking the ‘Assign Medicine’ button.

Directs physician to a completed request page, then auto re-loads the physician page.

Accesses the patient’s user node in database and updates medicine list and when it should be taken. Will also send information to SMS tool and queue based on time to send SMS message.

Add Appointment

Finding patients name using drop down list, entering appointment date and time patient must arrive, clicking the ‘Add Appointment’ button.

Directs physician to a completed request page, then auto re-loads the physician page.

Accesses the patient’s user node in database and updates appointment list and when it should be taken.

Send Message

Selecting a patient in a drop down list, entering a message in the text field and clicking the ‘Send Message’ button.

Showing a ‘Message Sent’ alert to the user.

Contacts the message handler with the Sender ID and Receiver ID, message handler begins process to send message to the Receiver ID.

Receive Message

No action needed

User will see a popup on their page displaying the message.

Message Handler finds user ID, runs script to display message on user’s page.

View Calendar

Log into patient page

Calendar will display on the patient page automatically with when the patient needs to take medicine.

Calendar updater will run when patient loads the patient page. Will check patient database for patient medicine schedule and update accordingly.

Video Chat

Log into patient page, click ‘Video Chat’ button, redirects to video chat page, can request a video chat with a physician.

The physician can choose to accept or not. If accepted, a video chat box will pop up and automatically connect the patient and physician.

None

Use Case Diagram:

Use Case Descriptions:

Register Account:
Prompts the user for a username, password and email. Creates a user account with the given information.
Exceptions:
See Functional Requirements 3.1.1

Patient Log In Account:
Prompts the user for a username, password. Log’s into the Patient Login Page.
Exceptions:
See Functional Requirements 3.1.2

Physician Log In Account:
Prompts the user for a username, password. Log’s into the Physician Login Page.
Exceptions:
See Functional Requirements 3.1.3

Manage Account:
Allows user to edit phone, name, email, and video chat credentials.
Exceptions:
Requesting user is not logged in or registered

Enter Name:
Allows the user to edit the name recorded in the database.
Exceptions:
Invalid name characters or length

Enter Phone Number:
Allows the user to edit the phone number recorded in the database.
Exceptions:
Invalid characters entered

Enter Email Address:
Allows the user to edit the email address recorded in the database.
Exceptions:
String is not an email address

Enter Video Chat Credentials:
Allows the user to edit or input their video chat credentials.
Exceptions:
Invalid credentials.

Send Message:
Allows the Physician to send a message to a patient
Exceptions:
Message too long

Receive Message:
Allows the Patient to receive a message.
Exceptions:
None

Message Handler:
Handles the sent message and passes it along to the patient
Exceptions:
None

Assign Patient Medicine:
Allows the Physician to assign medicine to an individual patient.
Exceptions:
Medicine name too long
Patient is already taking medicine at that time
Patient is already taking that medicine

Patient Database:
Stores patient information, including when and what medicine to take.
Exceptions:
None

Calendar Updater:
Checks patient database for newly added medicine, pushes update to patient Calandar.
Exceptions:
None

View Calendar:
Automatically loads calendar on patient log in page.
Exceptions:
Patient not logged in.

Request Video Chat
Patient clicks a link that opens video chat program, and automatically calls the Physician.
Exceptions:
Physician not online

Video Chat
A successful video chat begins
Exceptions:
None


SECTION 3: Specific Requirements 

3.1 Functional Requirements:

No: 1

Statement: Creating new user Node in respective database and filling with the needed information.

Source: Creation of a new Account.

Dependency: No. 10

Conflicts: None

Supporting Materials: UML

Evaluation Method:  When the program runs successfully, it creates the user node and fills out the newly created node with the given data.

Revision History: David Gundler , 9/07/2014 , Statement/Source/Supporting Materials

 

No: 2

Statement: Log patient into existing account by accepting information in appropriate area on the front page and comparing it to account information on the Users Node in the database.

Source: Patient login.

Dependency: No. 10

Conflicts: None

Supporting Materials: UML

Evaluation Method: When it runs, it can successfully compare the information and log in the patient.

Revision History: David Gundler , 9/07/2014 , Statement/Source/Supporting Materials

 

No: 3

Statement: Log patient into existing account by accepting information in appropriate area on the front page and comparing it to account information on the Physician Node in the database.

Source: Physician login.

Dependency: No. 10

Conflicts: None

Supporting Materials: UML

Evaluation Method: When it runs, it can successfully compare the information and log in the physician.

Revision History: David Gundler , 9/07/2014 , Statement/Source/Supporting Materials

 

No: 4

Statement: Physician must be able to add patient appointments and assign pills schedules.

Source: Doctor Manager.

Dependency: No. 10; No. 9

Conflicts: None

Supporting Materials: UML

Evaluation Method: See if the Physician can access and modify the patient’s calendar.

Revision History: David Gundler , 9/07/2014 , Statement/Source

 

No: 5

Statement: Patients access to calendar.

Source: Calendar Viewing.

Dependency: No. 10; No. 8

Conflicts: None

Supporting Materials: UML 

Evaluation Method: When logged in as patient, see if a patient can access and view calendar.

Revision History: David Gundler , 9/07/2014 , Statement/Source

 

No: 6

Statement: Sending and receiving messages from Patients and Physician.

Source: Message Handler.

Dependency: None

Conflicts: None

Supporting Materials: UML 

Evaluation Method: Test the systems capability to send and receive messages.

Revision History: David Gundler , 9/07/2014 , Statement/Source

 

No: 7

Statement: Handling live video chat between Patients and Physician.

Source: Video Chat

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Test the systems capability to connect to the video chat.

Revision History: David Gundler , 9/07/2014 , Statement/Source

 

3.2 Interface Requirements:

No: 8

Specific interface for the Patients.

Source: Patient interface

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Testing all the capability of the patient-users interface.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 9

Specific interface for the Physician.  See specifications below.

Source: Patient interface

Dependency: Node

Conflicts: None

Supporting Materials: UML

Evaluation Method: Testing all the capability of the Physician-users interface.

Revision History: David Gundler , 9/09/2014, Statement/Source/Supporting Materials

 

Data Specifications for Pill Scheduling

Date Related

Control

Range of Values

dateStart

Drop-down lists

Month 1-12; Day 1-31; current or next year

dateDuration

Text field

0-365 days

dateFrequency

Drop-down list

Every ____ days (1-10)

 

 

 

Time Related

 

 

timeStart

Drop-down list

00:00-24:00; 30 minute increments

timeFrequency

Drop-down list

1-10 times/day

timeEnd

Drop-down list

00:00-24:00; 30 minute increments

timeInterval

Drop-down list

Every ___ hours (1-12)

 

 

 

Pill Related

 

 

pillName

Text field

Up to 80 characters

numberPillsToTake

Drop-down list

1-10 pills at a time

pillsLeft

Text field

0-999 pills

 

Data Specifications for Appointment Scheduling

Field

Control

Range of Values

appointmentDate

Drop-down lists

Month 1-12; Day 1-31; current or next year

appointmentTime

Drop-down list

00:00-24:00; 30 minute increments

recurringFrequency

Drop-down list

Daily, weekly, bi-weekly, tri-weekly, monthly, bi-monthly, tri-monthly

endRecurrence

Drop-down lists

Month 1-12; Day 1-31; current or next year

 


3.3Physical Environment Requirements:

No: 10

Statement: Server that is capable of holding all necessary data.

Source: Website

Dependency: No. 11

Conflicts: None

Supporting Materials: UML

Evaluation Method: Seeing if the program fits on the server and runs.

Revision History: David Gundler , 9/07/2014, Statement/Source/Supporting Materials

 

No: 11

Statement: Secure space for Server that has temperature control, safety from all liquids and air quality maintained (dust / humidity).

Source: Server Maintenance

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Research into server location and review uptime and safety precautions.

Revision History: Jon Carelli , 9/13/2014, Statement

 

No: 12

Statement: Device that is capable of accessing website (computer/smartphone/tablet etc.).

Source: Website access.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Taking a device and see if it can successfully access the site and run.

Revision History: David Gundler , 9/07/2014, Statement/Source/Supporting Materials

 

No: 13

Statement: Location that has access to the internet.

Source: Website access.

Dependency: No. 12

Conflicts: None

Supporting Materials: UML

Evaluation Method:  Checking if environment has hotspot or Ethernet connection.

Revision History: Jon Carelli, 9/13/2014

 3.4 Users and Human Factors Requirements:

No: 14

Statement: Users-Patients must have basic understanding of web navigation and filling out form documentation for account creation.   Must have steps to filling out form documentation.

Source: Users-Patients.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Take feedback from  Patients

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 15

Statement: Users-Physician must have understanding of web navigation, documentation, and the ability to edit calendar information.   Documentation of how to edit and modify calendar information.

Source: Users-Physician.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Take feedback from physicians

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 17

Statement:  Software must maintain control of the access dependent on the type of user.

Source: Users-Access

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method:  Test different logins for each type of user.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

3.5 Documentation Requirements:

No: 18

Statement:  On-line documentation for the patients for filling out the form and account editing.

Source: Users-Patients

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method:  “Help” button click opens up online help pdf.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 19

Statement:  On-line documentation for the physician in account editing and calendar editing.

Source: Users-Physician

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method:  “Help” button click opens up online help pdf.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

3.6 Data Requirements:

No: 20

Statement:  Retaining the data of the user account information and calendar information.   Must be retained for authentication for accessing one's account and maintaining all calendar information that will inform the patients of important events.

Source: Information/Servers

Dependency: No. 10

Conflicts: None

Supporting Materials: UML

Evaluation Method: Random quality reports will be compared with user reports.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

Data protocols for Doctor Manager data fields:

 

Example Data

Date Related

User Data Format

Actual Data Format

dateStart

December 3, 2014

2014:12:03

dateDuration

7 days

7

dateFrequency

Every 1 day

1

 

 

 

Time Related

 

 

timeStart

7:30 a.m.

07:30

timeFrequency

3 times/day

3

timeEnd

10:00 p.m.

22:00

timeInterval

N/A

N/A

 

 

 

Pill Related

 

 

pillName

Aspirin

Aspirin

numberPillsToTake

3

3

pillsLeft

15

15

 

The example data above is converted into the below data format:

 

Aspirin           3           15

2014:12:3         7:30

2014:12:3         15:00

2014:12:3         22:00

2014:12:4         7:30

2014:12:4         15:00

2014:12:4         22:00

2014:12:5         7:30

2014:12:5         15:00

2014:12:5         22:00

2014:12:6         7:30

2014:12:6         15:00

2014:12:6         22:00

2014:12:7         7:30

2014:12:7         15:00

2014:12:7         22:00

2014:12:8         7:30

2014:12:8         15:00

2014:12:8         22:00

2014:12:9         7:30

2014:12:9         15:00

2014:12:9         22:00

3.7 Resource Requirements:

No: 21

Statement:  Admin to maintain the system.

Source: User-Admin

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Admin to support monthly reports for accountability purposes.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 22

Statement:  Secure space for Server that has temperature control, safety from all liquids, air quality maintained (dust / humidity) and constant power reliability.

Source: Server

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Trainer to check off this item on installation checklist.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 23

Statement: 

·         Server and the following tools and software.

·        HTML – Hypertext Markup Language, a language to create a layout for a webpage

·        HTTP – Hypertext Transfer Protocol, the protocol used by web servers and web browsers to communicate

·        PHP – A programming language used to create dynamic websites.

·        SMS – Short Message Service, the protocol used in most cell-phones for the exchange of short messages. This will be used to notify patients when to take their medicine.

·        MySQL – An open source database management program. This will store user accounts and passwords.

·        jQuery – A library for JavaScript that cuts down on the amount of code needing to be written.

Source: Server

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Application to show green check for requirements met and red x for unmet.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

3.8 Security Requirements:

No: 23

Statement:  Access must be controlled for patients so that patients may only view their own information.

Source: Security/User-patients

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Attempt to hack into system.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 24

Statement:  Access to all patient files must be totally secure, including calendar, account information, and medicines.

Source: Security/User-patients

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Attempt to hack into system.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 25

Statement:  Access to the server must be secure physical or otherwise.

Source: Security/server

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Attempt to hack into system.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 26

Statement:  Patient and Physician usernames and passwords will be encrypted in the database

Source: Security/user-patients & user-physician

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Attempt to hack into system.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 3.9 Quality Assurance Requirements:

Below is a listing of quality attributes that are relevant to this system:

 

Safety- Failure may result in harm or death to the user.  Include disclaimers.   

Testability- Important to ensure failure does not occur.  See Test Plan.

Ease-of-use- User must be able to use system within 5 minutes.  Controls shall be similar to current user interface controls.

Portability- Must be compatible with the most current web browsers.

Performance- Storage and retrieval of data must occur within 3 seconds.

Maintainability- Maintenance testing to be performed twice daily to ensure smooth operation.

 

No: 27

Statement:  Server reliability and availability must be up 95% of the time and must always be secure.

Source: Server reliability.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Perform quality tests for a week gather statistics.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

.

No: 28

Statement:  Calendar and messaging must have a reliability of 99.99%.

Source: Server reliability.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Test Plan to include 10,000 test cases.  9, 999 of these must pass.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials

 

No: 29

Statement:  Must have 99.99% reliability to reach the Physician.

Source: Reliability.

Dependency: None

Conflicts: None

Supporting Materials: UML

Evaluation Method: Test Plan to include 10,000 test cases.  9, 999 of these must pass.

Revision History: David Gundler , 9/09/2014 , Statement/Source/Supporting Materials


SECTION 4: Supporting Material

  • Questions sent to client and clients response in second hand:


Template created by G. Walton (GWalton@mail.ucf.edu) on Aug 30, 1999 and last updated Aug 15, 2000

This page last modified by Chris McCue (christopher.mccue@knights.ucf.edu) on 9/25/2014