Clemson Therapy and Rehab Physical Therapy App Team Members: Everett Williams, James Burton Project Title: Clemson Therapy and Rehab Physical Therapy App Target Audience: The target audience is physical therapy patients and caregivers. Also, practitioners (therapists and physicians) will need a way of interacting with the patent through the app. Description: This app is intended to help physical therapists and their patients. Patients will use the app to view instructional videos on how to correctly perform the rehabilitation exercises and to record themselves doing the exercises. This app will allow patients to either record themselves via the front-facing camera or have a caregiver record them through the rear-facing camera. Practitioners will be able to create individual training plans for each patient via an online interface. Practitioners will be able to review the recorded exercises and provide feedback. Benefits: The purpose of this app is to make therapy more convenient, accessible and effective. Patients sometimes lose paper handouts given to them by practitioners. They may be unaware how to properly do exercises, reducing the effectiveness of the therapy. Caregivers may not understand the exercise protocols. Practitioners are rarely able to give feedback on proper form except for during appointments. This project aspires to bring therapy instruction, exercise, and feedback from practitioners into a single convenient application, improving communication between practitioners and caregivers and patients and compliance by patients. The will result in more satisfactory physical therapy outcomes and lower health care costs. Hardware Requirements: This app is for smartphones and tablets. The device must be running Android 4.0 (Ice Cream Sandwich) or later. A camera will be required to use this app. A front facing camera is required for self-recorded videos. A tablet is strongly recommended for self-recorded videos, but they will work on smartphones. User recordings will be stored on external SD Card storage. Description: Deliverables: <<< Very good list of deliverables. External database scripts o MySQL schema o PHP/web scripts Sample exercise videos Web interface for practitioners o Main page o Profile page o Exercise upload o Client page o Exercise plan page User manual Technical manual One minute video preview App o External database access (login, etc) o Database viewing/modification View exercise plan View practitioner information View and edit exercise logs. o Video recording functionality o Video playback functionality Recorded user videos Sample exercise videos o Exercise log “sharing” feature o Internal database scripts Internal/external database synchronization CRUD (Create, Read, Update, Delete) operations Description: An administrator will be able to add practitioner accounts to the system. This will be done through MySQL. A physical therapy practitioner will log into the system via the web interface. From the web interface, there will be a page that allows them to edit their profile. The practitioner profile will contain contact information as well as additional practice and/or biographical information. The web interface will create, read, and update the profile records in the database. The purpose of the practitioner profile is to enable patients to access it through the app and be able to quickly contact the practitioner for assistance, if necessary. The practitioner will also be able to add various exercise videos to the system. There will be an upload tool on the website to upload the videos. The practitioner will also be able to generate exercise videos using the app and upload the video to the webserver. The practitioner can add comments to the videos at selected time marks using either the web tool or the app. When previewing the videos, the patient can pause at the time marks and review the practitioner’s comments. Similarly, the patient can annotate his video clips for review by the practitioner. The videos will be stored as files on the webserver. The website will store the location of the videos as well as any additional comments in the external database. After completing their profile and adding exercises, the practitioner will be able to add a new patient to the system. While the system will support adding additional patient information, adding a new patient will require no more than a username and password. This way, no personally identifiable health information will need to be stored in the system, making HIPAA compliance easier. After adding a new patient, the practitioner will be able to go to another web page to create an exercise plan for the patient. The exercise plan will consist of various exercises to be performed in a certain sequence. The practitioner will also be able to add instructions such as number of repetitions (e.g. do 10 repetitions) or time (e.g. hold position for 30 seconds) as well as additional notes. This will be stored in the external database. The patient will be given a login username and id to log into the system. Upon opening the app for the first time, they will be asked for their login information (username/password). The login information will be stored in the preferences. A user can later change login information by going to the preferences screen. The app will then connect to the external database (via php scripts) and download the patient’s profile information, the profile information of all practitioners associated with the patient, the patients exercise plan, and the location of the instructional videos along with the practitioner notes, and store them in the internal database. The home screen will have three buttons: Exercise plan, Exercise log, and Practitioner information. The Exercise Plan screen view will be a dynamically built table view. This view will show all active tasks in their exercise plan as well as the practitioner notes about each exercise. Additionally each row will have a button that will launch a sample video of the exercise and another button that will begin recording the exercise. The video playing button will launch a screen that launches a video player. The player will download the video from the webserver from the location that is stored in the database. Upon closing the video or returning, the patient will return to the Exercise Plan screen. The recording button will launch another screen that will a video recording session. Users will have the option of being recorded by a caregiver or other third party via the rear camera or self-recording via the front camera. All videos will be saved to app-specific external storage. At the end of the recording session, a new exercise log record will be recorded in the internal database with the id of the exercise performed, the path of the video file, and a timestamp and the user will be taken to the exercise log screen. The Exercise Log screen will be a dynamically generated table view of the exercise log table. They will be able to launch recorded videos and add additional notes. Patients will be able to share their exercise log and video with a practitioner from this screen. They will be able to delete exercises. If an exercise is deleted, the video file will be deleted as well. The sharing functionality will allow users to share a video of their exercise log on dropbox or similar sharing service. Alternatively, it can upload the video to a site on the web server. It will also allow users to email their practitioners the applicable link. Practitioners will be able to review user videos and provide feedback via the web interface. Practitioners will be able to update exercise plans by adding and deleting records. To maintain record integrity, old exercise plan records will not actually be deleted from the external database, but will be marked as “inactive”. Schedule: 24 March: Database tables finalized. (James) Android screens designed w/basic flow (click between screens) and menus. (Everett) User Manual (incr) (Everett), Technical Reference Manual (incr) (James) 31 March: Database access PHP scripts written (Everett) Video download and playback. (James) Video recording (James). User Manual (incr) (Everett), Technical Reference Manual (incr) (James) 7 April: Database/Android interaction (backend) designed (James) Preferences and practitioner view screen. (Everett) User Manual (incr) (Everett), Technical Reference Manual (incr) (James) 14 April: Dynamic table screens functional (James) Practitioner Web interface designed (Everett). User Manual (incr) (Everett), Technical Reference Manual (incr) (James) 21 April: Practitioner Web interface interacting with database (Everett). Video log sharing/video upload (James). User Manual (completed) (Everett), Technical Reference Manual (completed) (James) User interface: Database Tables: External DB: System_user: Name of user in the system. Can be practitioner or patient. patient: Table of patients practitioner: Table of practitioners practitioner_has_patients: List of practitioner/patient relationships exercise: Table of exercises with video location and instructions exercise_plan: Plan for patient created by practioner with exercises Internal DB: android_user: Contains system_userid and patient_id and login information. exercise_log: A log of the user doing an exercise_plan item. Contains exercise_plan_id, video location, user notes, and timestamp. External practitioner, exercise, and exercise_plan tables will be viewable from the Android interface.