Rehabilitation Training System

Our team is building a software that helps occupational therapists with the rehabilitation process of a stroke patient. With the software the therapist can create game based routines that support and accelerate the patient’s recovery. Having game based routines makes the process more engaging and motivates the patient to practice more.

Problem Definition
The goal of this project is to make the rehabilitation process of stroke victims more automated and simpler for the occupational therapists, and at the same time be fun and engaging for the patients.

Project Requirements

 * Easy/quick to setup and use
 * Intuitive displays for configuration and visual feedback
 * Real-time feedback of performance indicators as well as aggregated performance metrics
 * Unilateral and bilateral mirrored movement and anti-phase movement capability
 * Corrective guidance when user lags or moves incorrectly
 * Data storage for off-line computation

Background
In the stroke rehabilitation industry today, occupational therapists must sit with their patients and walk them through a set of movements that are designed to give them back their ability to control their muscles. There are many different ways in which this process can be improved.

Creating video games in which patients can mimic those motions not only makes the process more enjoyable but it can also motivate them to push themselves further. Including things like a rewards system and displaying graphs of their progress can be excellent motivation.

This is also a very time consuming process for the occupational therapists who are in charge of the patient's rehabilitation. They must sit with the patient and walk them through a specific set of motions designed to retrain their brain's muscle memory. Creating a system in which the therapist could create a regiment of games designed for a specific patient's needs and hand it off to them to run through on their own would make this whole process easier and more fun for the patient.

Detailed Specifications
Our group met with our client Doug Weeks who is the research director at St. Luke's Rehabilitation Institute and were able to discuss with him the kind of project that he wanted us to create. Below is a list of requirements that we collectively decided on after our interview with him:  Patient records must be private, in accordance with HIPAA. The program needs to cover three areas of rehabilitation: cognitive, visual and upper mobility. The games should be compatible with a variety of devices. The graphics should be 2D. The difficulty should be adjustable by the therapist. Statistics regarding the performance of the patient should be recorded. These statistics should be as objective as possible. Patients need to receive feedback telling them how they are improving. The games should be relevant to older people, as this is the main audience.</li> </li>

Based off of Doug's suggestions and our own brainstorming, we came up with a few games we would like to start off with and time permitting we may add some more to make sure all aspects of a stroke victim's rehabilitation can be covered.


 * Maze Game:
 * A game where the patient needs to ﬁnd their way through a maze; this would help with cognitive impairment and also exercise ﬁne motor skills.


 * Card Game:
 * A matching game where the patient would be asked to remember a combination of cards. This helps with the patient’s memory.


 * Finder/“I-Spy”:
 * The patient would be tasked with ﬁnding a certain object within a bunch of colorful objects. This is intended for both cognitive and vision rehabilitation.

Project Learning
We have had many discussions on how we would like to implement out project and here are a few things we have made sure to cover to make sure the project will be put together as efficiently and skillfully as possible:
 * Roles
 * Quality Control
 * Project Manager
 * Code Specification
 * GitHub Etiquette
 * Taking age of users into account
 * Creating UI's in each game that are similar
 * Following HIPAA's patient confidentiality requirements

Semester Progress as of 11/15/15
This section will describe in detail the progress that has been made to the project over the course of the semester.

Menu System
The menu system itself consists of multiple different screens that the user can navigate through.

The first screen is the therapist login. It prompts the user for a username and password. From this screen the therapist can either login or exit the application.

The next screen is where the therapist will pick a patient of theirs or create a new one. After the patient is chosen, the application will lookup and load that specific patients file. This file will have their saved routines and information that the therapist has entered upon the patient's creation.

The patient creation screen will have many different information fields and drop down menus that the therapist can use to report specific details about the patient and their history. There are some test that therapist run on their patients that have a certain score to report the patient's progress. The patient creation/edit screen will allow the therapist to log this information, and any other information they find relevant.

Once the patient is logged in, there will be a number of patient-specific options that the therapist will have. They will be go to a "manage routines" screen (described below). There will also be a "manage patient option". The therapist will also be able to logout the patient here to be able to return to the patient login screen. Finally there will be the "load routine" and "new routine" options that will load or create the patient-specific routines that the therapist will be able to modify.

The "manage routines" screen will give the therapist the option to edit the routines they have created. This may be changed so that the routine will be editable when loading, we will see how the menu looks and feels.

The "manage patient" screen will be where the therapist can edit or delete the current patient. When the patient is deleted, all of their information will be wiped as to make sure their information is kept private. The options that are available to the therapist in the patient creation screen are the same options that will be available in the edit patient screen.

"I-Spy" Game
The "I-Spy" game will focus on testing the patient's ability to locate items on a screen. There are a number of customizable parameters that will make sure this game can be tailored to the patient's specific needs. "Easy" mode will consist of the patient locating colors. "Medium" difficulty will be where the patient is trying to find different shapes. "Hard" mode will be where the patient is trying to locate numbers and letters.

The quadrant of the screen that these items show up in will also make the game easier or more difficult depending on where they are struggling. This will be up to the discretion of the therapist.

Card Match Game
The point of this game is for the patient to pair up a number of cards that are displayed face-down on screen. When they click on a card, it will flip over and they will be able to see what is on the card for a second or two(customizable). The card will then flip back over and they will have to find its pair. Much like with the "I-Spy" game, the difficulty will depend on what is on the card and what quadrant of the screen it is on.

Maze Game
The maze game is where the patient will need to navigate through a maze to get to the exit. They will have a top-down view of the maze and will be tasked with navigating out of it. Things like time limits and size of the maze will determine the difficulty of the game.

Semester Progress as of 03/08/16
Up until now we have made a number of changes to the Rehabilitation Training System. They are as follows:

Menu System
-Added Routes to -Create Therapist -Create Patient -Load Patient -Patient Information -Added a file I/O system in order to load and save patient/therapist information -Added a place for the therapist to enter in information about the tests the patients have taken

I Spy Game
-Made cards a rectangular shape -Added more diversity to the existing cards -Clarified instructions and score -Board shuffles after each click

Memory Game
-Cards shift to different parts of the screen upon completion of a round -Cards stay visible for 2 seconds after second has been clicked -Screen resolution size issue has been fixed

Maze Game
-Maze randomly generated with walls and floor tiles -Avatar to be moved around is in progress...

Team Members
Chase Guyer - I am a senior in Computer Science and will be graduating in the spring of 2016. I enjoy programming in any and all fields. I look forward to helping out in Team RTS however I can.

Kendall Gregory - I'm a senior studying Computer Science. My interests include Evolutionary Computation, Machine Learning, and Software Engineering.

Michael Mueller - Michael is a Computer Science major as well. He enjoys programming up his own video game projects in his spare time.

Katja Schumacher - I am studying “Management & Engineering” at the Leuphana University in Germany. This fall semester I am an exchange student at the University of Idaho and I am happy to support the project and be part of Team RTS