Online Health Monitoring System

High Level Design

COP 4331, Fall, 2014

 

Modification history: 

Version

Date

Who

Comment

v0.0

08/15/00

G. H. Walton

Template

v1.0

10/22/14

C. N. McCue

First Draft

Team Name: Team 14

Team Members:


Contents of this Document

High-Level Architecture

Design Issues


High-level Architecture:

For High-Level design, the team organized the operational features from the Concept of Operations in logical order.  Functionality was divided between two users:  doctors and patients.  Functionality was furthered divided into modules, such as chat and pill/appointment manager.  At this point, we essentially have the front end modules. 

We then sketched a diagram of the user interfaces and the flow from one to another.  Button, list boxes and other controls were discussed and added to these blocks.  However, in the detailed design phase, more thought will be given to these controls.  Below is a visualization of a user interface screen with the Navigator tabs: 

Visualization of User Interface (Doctor View)

 

 

In the sketch, it was determined that Settings, Login and New Account management would also be needed.  At this point, we have a diagram of the front end. 

Diagram of Front End User Interface Flow

Additionally, back end modules need to be considered.  The Database and Database Manager are central to this system.  Also, there must be an SMS Alert module in the back end. 

Diagram with Back End Modules

In the end, it was determined that Login is intimately tied with the Database and Settings.  Therefore, the Database, Database Manager, Login and Settings are considered one module.  This is the central module of the whole system.  Hence, there are six modules.  These are described in detail in the next section.

1.        Database/Database Manager/Login/Settings (James)

 

Accessibility:  Neither doctors nor patients use this back end module directly.

 

Functionality:

·         Login:  Creates login session.  User logs in with id and password.

·         Settings:  Users can change settings of this system.

·         Database Manager:  Stores and retrieves information from the database.

·         Database:  This is the central storage for all modules.

 

Interface with:

·         Database interfaces with every module except Video Chat

·         Other team members will use James’ work as a “template”.

2.        Navigator (Ethan)

 

Accessibility:  This is the main interface for both doctors and patients alike.

 

Functionality:

·         This will be the “template” into which are modules fit.  The Navigator is the style of the user interface more than a module.

 

Interfaces with:

·         The Navigator interfaces with the Chat Manager, Pill/Appointment Manager, Calendar and, possibly, the Video Chat.  Integration is as simple as calling up a HTML page.

·         The Navigator also interfaces with the Login screen.  The login screen will call the Navigator page.

 

Macintosh HD:Users:ethanempe:Dropbox:School:COP4331:Group Site:Deliverable 2:menu-design-selection.png

 

3.        Chat Manager (Jon)

 

Accessibility:  Both doctor and patient use

 

Functionality:

·         Patients must be able to read, delete, reply, etc. to one doctor

·         Doctors must be able to read, delete, reply, etc. to multiple patients

 

Interfaces with:

·         Database Manager- Receive messages from database.  Send messages to database.

·         Navigator, or Session Manager- Chat Manager integrates with Navigator. 

·         See next page for diagram.

 

Development Stages:

·         During prototyping stage, get chat information from data file.  Emphasis on functionality, not design.  No need to follow Ethan’s design scheme.

·         During integration stage, get information from database.  Use Ethan’s design scheme.

 

4.        Calendar (Chris C.)

 

Accessibility:  Only patient uses this

 

Functionality: 

·         Calendar will be filled in with pill times and medical appointments. 

·         Navigate forward and backwards to different months. 

·         This will be implemented with a plug in API calendar.  Tentatively, http://arshaw.com/fullcalendar will be implemented.  An example of this calendar is shown below:

 

Interfaces with:

·         Database Manager- Read database information and place on calendar.  No need to write to database.

·         Navigator, or Session Manager- Navigator will place Calendar in blank area of Navigator.

 

Development Stages:

·         During prototype stage, get information from a data file to fill in calendar

·         During integration state, will need to get data from database and place in Ethan’s design

 

5.        Pill/Appointment Manager (Chris M.)

 

Accessibility:  Only doctor uses this.

 

Functionality:

·         Use list boxes, buttons and other controls to create pill schedules.

·         Use list boxes, buttons and other controls to create appointments.

 

Interfaces with:

·         Database Manager- Database information is read in to fill in previous appointments and pill schedules.  New appointments and pills schedules are stored in the database.

·         Navigator, or Session Manager- This module is integrated into the Navigator tab scheme. 

·         See diagram on next page.

 

Development Stages:

·         During prototype stage, get information to fill in forms from data file and store information in that same data file

·         During integration stage, get information from and send information to database.  Also, integrate with Ethan’s design.

 

6.        Alert Manager (David)

 

Accessibility:  Neither doctors nor patients interact with this.  Text alerts are automatically sent to patient’s cell phone.

 

 

 

Functionality: 

·         Send automatic SMS texts to patients based on pill schedule.

·         Send automatic SMS texts to patients based on appointments.

 

Interfaces with: 

·         Database Manager- Queries database and auto generates alerts accordingly.

·         SMS devices- Sends SMS texts to devices, such as cell phones.

Development Stages:

·         During prototype stage, the main focus should be on using a computer to send a text to a cell phone.

·         During integration stage, constantly query database and send alerts based on these queries. 

 

7.        Video Chat (optional)

 

At this point, we will not be implementing video chat.

 


Design Issues:

Issues relative to this project include safety, ease-of-use, performance and portability.  Since this is a health-related product, failure could result in harm or death to the user.  Pill schedules can become a life and death issue.  Doctors could enter pill schedules wrong or software could fail causing botched pill schedules.  Appointments are a crucial issue.  If one misses an appointment, it may be weeks or months before one can reschedule.  Waiting is not an option when one is sick.  It is important that there is no software failure.  Otherwise, the patient’s life could be endangered.

Ease-of-use is related to safety.  If the system is easy to use, doctors will be able to enter pill schedule and appointment data correctly.  We want to eliminate the possibility of doctors entering bad pill schedules because of complicated controls.  In addition, ease-of-use is important in itself.  Many patients will be elderly or vulnerable since they are sick.  Therefore, the Navigator must be as simple as possible.  A user should be able to understand how to use the Online Health Monitoring System in 10 minutes or less.  Buttons and selections in the user interface must be very clear so that users will not be confused on what they are selecting.  The user interface visualization demonstrates that the user controls are configured in a standard format that users would already be familiar with.  Since this is an online application it must be portable.  Since this system deals with many patients and patient data, it is important that it have high performance.  Storage and retrieval of information should occur within 3 seconds.  Otherwise, users will become frustrated with the poor performance. 

Future relevant issues include reusability and maintainability.  Certainly, other features would be added to this as time goes on.  Therefore, it would need to have reusability.  The Navigator should allow for more tabs to be added.  The database should be capable of handling more data.  Maintainability would also be crucial.  The pill and appointment data sent and retrieved from the database must be perpetually maintained.  This data is safety critical.  At some point, database capabilities would need to be expanded.  Realistically, a health monitoring product has a great deal of liability and risk.  It would be difficult to use this product in the real world.  Doctors would not want to waste their time on a new product.  Therefore, the issues of reusability and maintainability are not realistic.                

Due to time constraints, it is not feasible to consider alternative design strategies.  Our prototyping is solely for the purpose of stepping towards integration.  Since we are using an incremental phased development approach, we plan to make prototypes of each of the modules.  Then we will integrate these modules one by one.  The Calendar, Pill/Appointment Manager and Chat Manager will be integrated with the Database Manager.  These will then be integrated with the Navigator.  In the meantime, the Navigator will be integrated with Login.  Finally, the SMS Alert Manager will be integrated with the Database Manager. 

We expect most of our technical difficulties to come from integration with the Database Manager.  Most of the team is inexperienced with databases.  However, James does have database experience.  He will help us integrate our modules with the database.  He is planning on making wrappers to make integration easier for other team members.  Still, this does pose a challenge.  Other technical difficulties are team inexperience with JavaScript, SMS messaging and video chat.  Our solution to all the difficulties was to start research early.  We started learning JavaScript early in the project.  David started researching SMS messaging early in the project as well.  Although James did some video chat research early in the project, this is optional.  Due to time constraints, it is unlikely that we will implement this option.           

Our architecture style is a hybrid of client-server and repositories architectures.  Since this is an online project, the client-server was an obvious choice of architecture.  Due to this system storing and retrieving data from a database, the repositories architecture was also used.  There were no design trade-offs in this selection of architecture.  This project is straightforward.  We are just using the established tools and techniques for this sort of problem.  Again, the technical risks are team member inexperience with databases.  However, James does have database experience.  He is planning to help each team member with database integration.  Communication from other team members and James will be crucial for the coding phase of this system.


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

This page last modified by Christopher McCue (christopher.mccue@knights.ucf.edu) on October 22, 2014