Setup and Installation Procedure for Personal Healthcare Test Bed 1. Install device driver for the USB-RS232 adapter If the USB-RS232 adapter is used to connect the health monitor to USB port, the device driver needs to be installed; otherwise, this step can be skipped and proceed with RS232 interface. 1) Click sis/materials/USB_RS232_Installer.exe to install the device driver. 2) Restart the system when the installation is finished. 3) When windows is on, connect the adapter to computer and open Control Panel->Administrative Tools->Computer Management console, then click Device Manager to list all devices in the system. Expand ports node in the device tree. If there is a port called "serialio.com USB to Serial Port" and the windows reports it is working properly, then the device driver has been installed successfully. Note: the usb adaptor must be connected to the left usb port of the netbook. If you want to try other 2 usb ports on the right side. You should modify the first line of runInputProcessor.bat script accordingly, the usb port near the back(Right side) is COM4, and the one near the front is COM5. The internet cable should always be plugged in. 2. Find the serial port name 1) Open Control Panel->Administrative Tools->Computer Management console 2) Click "Device Manager" to list all devices in the system 3) Expand ports node in the device tree 4) If the USB-RS232 adapter is used, keep in mind the port name assigned to "serialio.com USB to Serial Port"; otherwise, keep in mind the system serial port name. The port name is like "COM3". This port name will be used later. 3. Install RXTX Java Serial library 1) Go to JRE directory, which by default is C:\Program Files\Java\jre1.6.***. Let's say JRE. 2) Copy sis\lib\RXTXcomm.jar to JRE\lib\ext 3) Copy sis\lib\rxtxParallel.dll and sis\lib\rxtxSerial.dll to JRE\bin 4. Start the health monitor 1) Turn on the health monitor 2) Connect the device to computer by RS232 cable or RS232 cable plus USB-RS232 adapter. 3) Wait for a little while until the monitor screen shows up. 5. Start the SIS server 1) Go to sis/scripts directory 2) Click runserver.bat 6. Start the remote interface 1) Click prjRemote.exe 2) Enter the IP address and Port number of the server socket, by default they are 127.0.0.1 and 7999 2) Click "Connect" button to connect to the SIS Server 7. Start the Messenger 1) Use the prjRemote, load configuration xml for messenger. I.e. CreateMessenger.xml under xml directory 2) Under scripts directory, double click runMessenger.bat to start the messenger 8. Load configuration files 1) Create a path/name list of configuration xmls which you would like to load in text format. We created a list file called list_InitXML.txt under xml directory, this loads all configuration xmls for Components g1-g8. 2) Type the path/name to your list file in the messenger, then press enter Note: The root directory for the messenger is the SIS directory Note 2: You could also load a list of data xmls to do batch test 9. Start plugin components 1) Go to sis/scripts directory 2) If you want to test only 1 component, go to sis/scripts/runEachComp directory, click on runG*.bat corresponding to the desired component; otherwise, click runAllComp.bat under sis/scripts directory to test all the components 3) click on runInputProcessor.bat and runUploader.bat to start InputProcessor and Uploader 10. Start to measure health data 1) Clamp a finger using SPO2 clip, and wrap around the upper arm with the cuff. 2) Press start button on the health monitor 3) Once the measurement is finished, the input processor will receive the data and send to the SIS server, which will forward to the appropriate monitor. If the monitor found any abnormality, it will send the alert to the SIS server. The SIS server will forward the alert to GUI for display, and to DBUploader which will store into the remote database at KSI. 11. Check database 1) Start "SQL Server Management Studio Express" and connect to the remote Chronobot database server. IP is 64.107.76.51, User Name: Chronobot, Password: Chr0n0b0t 2) Expand SIS database, and open SISDB table. Some abnormality alerts should show in the table. 12. Shut down the SIS system 1) Click "Close" button on all components' windows to shut down all the components 2) Click "Close" button to shut down the remote interface 3) Press "Enter" on SIS Server command window to shut it down 4) Turn off the health monitor Appendix: 1. Install Eclipse sis directory is actually an Eclipse Java project, so Eclipse has to be installed in order to get the whole project built. Eclipse IDE for Java Developers can be downloaded from http://eclipse.org/downloads/ 2. Directory structure System: SIS system files SISServer: SISServer files, which is the main part of the SIS server inputprocessor: InputProcessor files, which reads in data from health monitor uploader: Uploader files, which uploads data to remote database in KSI Components: g1&g2: GUI and SPO2 monitor files g3&g4: Blood Pressure Monitor files g5&g6: Blood Sugar Monitor files g7&g8: EKG Monitor files g9a: General Health Monitor files lib: libraries required to build and run the system jtds-1.2.5.jar: SQL Server JDBC Driver RXTXcomm.jar: RXTX Java serial library rxtxParallel.dll & rxtxSerial.dll: RXTX native library materials: Other stuff related to this system EKGprotocolParser.c: Old EKG protocol parser written in C EKG30sec60bpm1mv.bin: Binary output from old EKG protocol parser, including 30 Sec waveform EKG30sec60bpm1mv.txt: Text output from old EKG protocol parser, including 30 Sec waveform EKG30secForSIS.txt: SIS message including including 30 Sec waveform from old EKG protocol parser RS232 Protocol.pdf: RS232 protocol for the health monitor USB_RS232_Installer.exe: Device driver for the RS232-to-USB adapter scripts: scripts for running the system runserver.bat: script for server start runAllComp.bat: script starting components g1-g9a as specified above runInputProcessor.bat: script for starting Input Processor runUploader.bat: script for starting the DB Uploader xml: xml messages used in SIS InitXML: XML messages for all component configuration DataXML: XML messages between plugin component and SIS server 3. Schema info for remote database at KSI USE [SIS] GO /****** Object: Table [dbo].[SISDB] Script Date: 04/23/2010 15:31:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SISDB]( /* auto-increasing record ID */ [id] [int] IDENTITY(1,1) NOT NULL, /* User ID */ [user_id] [nchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* the name of the component generating the alert message */ [COMPONENT] [nchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Systolic pressure in mmHg */ [SYSTOLIC] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Diastolic pressure in mmHg */ [DIASTOLIC] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Mean Arterial Pressure */ [MAP] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Pulse rate per minute*/ [PULSE] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* percentage of Oxygen Saturation */ [SPO2] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Electrocardiogram data */ [EKG] [image] NULL, /* Blood sugar measurement */ [BLOODSUGAR] [nchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Diagnosis notes */ [DIAGNOSIS] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Suggestions */ [SUGGESTIONS] [nchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, /* Diagnosis date */ [EntryDate] [datetime] NOT NULL CONSTRAINT [DF_SISDB_EntryDate] DEFAULT (getdate()), /* Other notes */ [Note] [nvarchar](2000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]