Vision Statement
RHIMS provides a modular interface for healthcare providers to view health care information of remote patients. RHIMS collects vital sign information such as blood pressure, oxidation levels, and pulse. Using a standard representation of this data makes the data accessible in a standard format on a database. This standard format of healthcare data allows RHIMS to provide an interface for accessing healthcare data through a web interface in the forms of graphs and patient alert color schemes. RHIMS also allows healthcare providers to monitor multiple patients at a single time as well as forward necessary information to patient family members.
Requirements and Features
RHIMS provides a modular interface for healthcare providers to view health care information of remote patients. RHIMS collects vital sign information such as blood pressure, oxidation levels, and pulse. Using a standard representation of this data makes the data accessible in a standard format on a database. This standard format of healthcare data allows RHIMS to provide an interface for accessing healthcare data through a web interface in the forms of graphs and patient alert color schemes. RHIMS also allows healthcare providers to monitor multiple patients at a single time as well as forward necessary information to patient family members.
- Must have 3 components of design
- Hardware interface
- Database/server backend
- Web interface for viewing patient information
- Graphs that contain data trends for each patient
- Alert system if data received is outside of medically accepted range
- Possible calibration of data for each patient
- Should be able to log trends of each client and a group of clients into a database
- Define or use existing medical standard for data representation
- Modular design allowing for easy addition or removing of health information gathering devices
- Data and web interface should be password protected
- Display heart and temperature as the base modules
- Multiple Client/Patient view
- Easy to use and Simple GUI
Graphical User Interface
Single Patient View

Multiple Patient View

Domain Model
Patient, Monitoring Device, Receiver
The patient has a medical monitoring device attached to them that
continuously acquires physiological vital signs and transmits this
data to a receiver. The receiver sends patient data to the server.
Doctor/Nurse
The doctor, nurse, or other medical professional that are responsible
for health of their patients use the software to view the medical data
collected by the monitoring device and receive alerts from the server
when a patient enters a critical range. Doctors and Nurses also are
responsible for creating patient groups if they desire to monitor
patient group trends.
Healthcare Provider
The healthcare provider is responsible for assigning patients to
doctors/nurses and managing users of the software system. They are
also responsible for setting up the monitoring device and configuring
the software system to accept and monitor the patients.
Actors
Patient - the patient is the individual whose vital signs are being monitored and analyzed
Monitoring Device - the physical medical device that monitors and transmits the patient's vital signs
Database - stores physiological data for all patients that is gathered by the monitoring device(s)
Web Server - the server handles interaction between the monitoring devices, the user interface, and the database, in addition to managing users and patients
Web Interface - the web based GUI that allows users to view and manage patients, along with displaying graphs and patient status
Nurse/Doctor - the medical professionals who are responsible for taking care of the patients
Health Care Provider - the management organization for the nurses, doctors, and patients
Use-cases
Administrator Login
Primary Actors: Health Care Provider
Secondary Actors: Web Interface, Server
Goal: Login with Administrator rights
Main Path:
- Enter administrator login information
- Validate login information
- If correct, display list of administrator options
Primary Actors: Health Care Provider
Secondary Actors: Web Interface, Serer
Goal: Create a new Nurse/Doctor user
Pre-condition: Administrator Login
Main Path:
- Select create new user option
- Enter new user information
- Check if user does not already exist
- If user does no already exist, create user and add to user list
- If need be, restrict or expand user options
Primary Actor: Health Care Provider
Secondary Actors: Web Interface, Server
Goal: Add a patient to the system
Pre-condition: Administrator Login
Main Path:
- Select create a new patient option
- Enter new patient information
- Check if user does not already exist
- If patient does not already exist, create patient and add to patient list
- Assign patient to a user (doctor/nurse)
Primary Actor: Health Care Provider
Secondary Actors: Web Interface, Server
Goal: Remove patient from the system
Pre-condition: Administrator Login
Main Path:
- Select remove patient option
- Enter patient information
- Check if the user does already exist
- If patient does exist, remove patient from user(s) (doctor/nurse)
- Remove patient from patient list
Primary Actor: Doctor/Nurse
Secondary Actors: Web Interface, Server
Goal: Login as a Doctor or Nurse
Pre-condition: Doctor or Nurse user has already been created
Main Path:
- Enter user login infromation
- Validate login information
- If correct, display list of user options
Primary Actor: Doctor/Nurse
Secondary Actors: Web Interface, Server, and Patient
Goal: View Patient Data
Pre-conditions: User Login, patient assigned to user
Main Path:
- Select create view patient list option
- Select patient
- Receive most current patient data and trends
Primary Actor: Doctor/Nurse
Secondary Actors: Web Interface, Server
Goal: Add a patient group user patient list
Pre-condition: User Login
Main Path:
- Select create new patient group option
- Enter new patient information
- Check if patient group does not already exist
- If patient group does not already exist, create patient group and add to patient list
Primary Actor: Nurse/Doctor
Secondary Actors: Web Interface, Server
Goal: Add a patient to a patient group
Pre-condition: User Login, Patient Group Created, Patient in User Patient List
Main Path:
- Select patient list
- Select patient group
- Select add patient to patient group
- Input patient information
- Check if patient is in patient list
- If patient is in patient list, add to patient group
Primary Actor: Doctor/Nurse
Secondary Actors: Web Interface, Server, and Patient
Goal: View patient group
Pre-conditions: User Login, Patient group existed
Main Path:
- Select view patient list option
- Select patient group
- Receive most current patient group data and trends
Primary Actor: Doctor/Nurse
Secondary Actors: Web Interface, Server, and Patient
Goal: Calibrate Data for a patient
Pre-conditions: User Login, Patient assigned to user
Main Path:
- Select view patient list option
- Select patient
- Receive most current patient group data and trends
- Give new parameters for accepted range based on old group trends
Primary Actor: Patient
Secondary Actors: Web Interface, Server
Goal: Place patient data in database
Pre-conditions: Patient is assigned to user
Main Path:
- Patient device gathers data
- Device formats data for transmission to server
- Server receives data and assigns it to the patient
- Server checks if data is within acceptable range
- If it is in acceptable range
Patient Physiological Data - Critical
Primary Actor: Patient
Secondary Actors: Web Interface, Server, Doctor/Nurse
Goal: Place patient data in database
Pre-conditions: Patient is assigned to user
Main Path:
- Patient device gathers data
- Device formats data for transmission to server
- Server receives data and assigns it to the patient
- Server checks if data is within acceptable range
- If it is not in acceptable range flag patient
- If patient is flagged, send alert to assigned doctor or nurse via email
Activity Diagram
Use Case: Patient Physiological Data - Critical
Architecture
This project is going to be a web based application using the J2EE platform that follows the three-tier architecture.
- Device Interface
- This contains components responsible for interfacing with the actual medical devices that record the physiological data. It sends this data to the server in an asynchronous manner (data is sent to the server as soon as it is received from the device). The device itself may actually be simulated for this project to facilitate rapid development and testing.
- Data Formatting/Transport
- Components that encapsulate the medical data in a well defined standard to allow for easy movement and processing of medical data between different segments of the application.
- Server
- The components in the server package are responsible for
- receiving medical data from the device interface and entering it into the database
- processing and analyzing medical data to determine trends and patient status (whether their vitals indicate they are healthy or whether they are not)
- retrieving data from the database when requested by the user interface
- storing user accounts and performing user validation
- sending email or text message alerts to the appropriate users when a patient enters a critical condition
- The components in the server package are responsible for
- User Interface
- This package contains components to:
- Manage user accounts, such as creation and login/logout
- Display single patient profiles and graphs of physiological data, including timeline of triggered alerts
- Display multiple patient overview
- Manage patients associated with user
- This package contains components to:
- Database
- A MySQL database is used to record all of the acquired medical data. The server components will be responsible for interacting with the database, such as entering data and providing queries.
Resources
We will use several resourses to assist in our development. Java ServerFaces (JSF) will be used to help develop the web based user interface. We will also be using multiple JBoss products throughout our development. We will use EJB3 to help support application logic, Seam to integrate JSF and the EJB3 components, and the JBoss Application Server. We will also be using MySQL to manage our medical data, and will also integrate JDBC for communications with the database. More information about these technologies can be found below.