
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. Load configuration files
If you are testing component, say InputProcessor, you need to use prjRemote to load the corresponding CreateInputProcessor.xml under sis/xml/InitXML directory, then click 'send'.
Multiple xmls need to be loaded if you are testing more than one type of components.
You can also load all the xmls under xml/InitXML to be compatible with the following runAllComp.bat.  This will include InputProcessor, DBUploader, components g1 to g9a to be initialized.

8. 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

9. 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.

10. 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.

11. 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]