Development of a Web-based, Multimedia Database for Collection, Organization and Analysis of...

26
Development of a Web-based, Development of a Web-based, Multimedia Database for Multimedia Database for Collection, Organization and Collection, Organization and Analysis of Biomedical Signals Analysis of Biomedical Signals M.S.C.S. Problem Report Defense M.S.C.S. Problem Report Defense Lan Guo Lan Guo Advisor: Dr. Stephanie Schuckers Committee: Dr. Wils Cooley Dr. Bojan Cukic Dr. George Trapp Computer Science and Electrical Engineering West Virginia University Morgantown, WV

Transcript of Development of a Web-based, Multimedia Database for Collection, Organization and Analysis of...

Development of a Web-Development of a Web-based, Multimedia based, Multimedia

Database for Collection, Database for Collection, Organization and Organization and

Analysis of Biomedical Analysis of Biomedical SignalsSignalsM.S.C.S. Problem Report DefenseM.S.C.S. Problem Report Defense

Lan GuoLan Guo

Advisor: Dr. Stephanie SchuckersCommittee: Dr. Wils Cooley

Dr. Bojan CukicDr. George Trapp

Computer Science and Electrical EngineeringWest Virginia University

Morgantown, WV

Background: Biomedical Background: Biomedical Signal (ECG) with an Event Signal (ECG) with an Event (VF)(VF)

-800.00

-600.00

-400.00

-200.00

0.00

200.00

400.00

0 100 200 300 400 500 600 700 800 900 1000

-7.00E+02-6.00E+02-5.00E+02-4.00E+02-3.00E+02-2.00E+02-1.00E+020.00E+001.00E+022.00E+023.00E+024.00E+02

0 100 200 300 400 500 600 700 800 900 1000

-7.00E+02-6.00E+02-5.00E+02-4.00E+02-3.00E+02-2.00E+02-1.00E+020.00E+001.00E+022.00E+023.00E+024.00E+02

0 100 200 300 400 500 600 700 800 900 1000-800.00

-600.00

-400.00

-200.00

0.00

200.00

400.00

0 100 200 300 400 500 600 700 800 900 1000-800.00

-600.00

-400.00

-200.00

0.00

200.00

400.00

0 100 200 300 400 500 600 700 800 900 1000

Normal VF

Normal

-5

0

5Surface ECG

-10

0

10Intracardiac ECG

-5

0

5Surface ECG

0 2 4 6 8 10 12 14 16 18 20-10

0

10Intracardiac ECG

time (second)

Continuous-time monitoringContinuous-time monitoring Analysis of large time-series Analysis of large time-series

datasetsdatasets Data mining, OracleData mining, Oracle Prediction and preventionPrediction and prevention

Biomedical Signal AnalysisBiomedical Signal Analysis

Prediction of Sudden Cardiac Prediction of Sudden Cardiac DeathDeath

CSEECSEECEMRCEMR

Storage and Processing of Signals

Collection of Biomedical Signals

Example of Biomedical Signals

ObjectivesObjectives

To build a web-based database which provides efficient management on data collected by Biomedical Signal Analysis Laboratory

To provide these signals to students through web-based front-end to facilitate application-oriented class projects

To provide these signals to the public for outreach purposes.

To utilize database structure for analysis of signals -- temporal data mining

Project OutlineProject Outline

Redesign and implement the back-end Redesign and implement the back-end database to incorporate other database to incorporate other biomedical signal besides ECG signalbiomedical signal besides ECG signal

Recreate a user-friendly web-based Recreate a user-friendly web-based interface for data insert and data queryinterface for data insert and data query

Develop a secure FTP method which Develop a secure FTP method which shields the HP9000 data server from shields the HP9000 data server from public accesspublic access

Develop an Oracle/Java interface to Develop an Oracle/Java interface to dynamically display signal on-linedynamically display signal on-line

Project OverviewProject Overview Three tiered web-based database Three tiered web-based database

applicationapplication HP9000HP9000 DataData ServerServer

OracleOracle 8i8i DatabaseDatabase

Database linkDatabase link

WebDBWebDB

ClientClient ClientClient ClientClient

J D B C

Java AppletServletServlet ServletServlet

WebWeb ServerServer

WindowsWindows NTNT

Features of Back-endFeatures of Back-end

Includes several Large Object (LOB) types, Includes several Large Object (LOB) types, BFILE, which point to biomedical signal file BFILE, which point to biomedical signal file and associated files and associated files

Provides relevant information regarding Provides relevant information regarding the biomedical signals and corresponding the biomedical signals and corresponding signal processing datasignal processing data

Includes mapping of events within a file Includes mapping of events within a file and relationship of events to similar and relationship of events to similar events in other filesevents in other files

A small database managing a terabyte of A small database managing a terabyte of data on HP 9000 serverdata on HP 9000 server

Back-end Implementation Back-end Implementation (1)(1)

Data structure was redesigned to Data structure was redesigned to incorporate other biomedical signals incorporate other biomedical signals besides ECG signalbesides ECG signal

Tables were recreated to enable Tables were recreated to enable users to query both multiple data users to query both multiple data files and multiplexed data files files and multiplexed data files which contain multiple channelswhich contain multiple channels

Event tables were modified for Event tables were modified for querying same events in multiple querying same events in multiple locations within a data file locations within a data file

Back-end Implementation Back-end Implementation (2)(2)

Views were created for different user groups Views were created for different user groups to query database based on given privilegesto query database based on given privileges

Views were created for joining all tables for Views were created for joining all tables for displaying all data associated with a specific displaying all data associated with a specific biomedical signalbiomedical signal

Indexes were created for primary key, Indexes were created for primary key, foreign key, and unique constraintforeign key, and unique constraint

Synonyms were created for each tableSynonyms were created for each table Sequences were created for each primary Sequences were created for each primary

key key

UIDType_of_Signal

Signal

ECG_IDCollector_IDSubject_IDProperty_IDStart_DateEnd_DateChannel_IDInstrumentationWay_to_CollectFormatAccess_levelMemoECG_File

ECG_Signal

Collector_IDLast_NameFirst_NameStatusPhonee-mail

Collector

Event_IDEvent_NameBeat_FileClassAccess_levelDescription

Event

Event_IDECG_IDLocation Description

Event_location

Channel_IDNum_ChannelDescription

Channel

IC_Channel_IDChannel_IDIC_Channel_NameAnodeCathodeDescription

IC_Channel

Surface_Channel_IDChannel_IDSurface_Channel_Name

Surface_Channel

Property_IDLength_TimeS/N_RationSample_RateInput_RangeResolutionAmplification

Property

Subject_IDLast_NameFirst_NameTypeAgeSexDescription

Subject

Subject_IDLocation_ID

Subject_Location

Location_IDCollector_ID

Collector_Location

Location_IDAddress1Address2CityStateZip_Code

Location

IDType_of_Signal

Other_Signal

Table Layout of ECG Signal Databaseby Chuanyin Dong 09/06/1999

Features of Front-end(1)Features of Front-end(1)

A front-end web site was developed in A front-end web site was developed in Oracle WebDB Oracle WebDB

The web server is a Windows NTThe web server is a Windows NT Users are categorized as public, Users are categorized as public,

student, and lab employee with student, and lab employee with different access privileges to different access privileges to databasedatabase

Provides query capability and user-Provides query capability and user-friendly data insert interface friendly data insert interface including BFILE insertincluding BFILE insert

Features of Front-end(2)Features of Front-end(2)

Client can download signal data files Client can download signal data files from query result by secure FTP from query result by secure FTP methodmethod

Client can view the ECG Signal on-Client can view the ECG Signal on-line based on query resultline based on query result

Client can view all data stored in the Client can view all data stored in the database associated with a specific database associated with a specific biomedical signal to which he/she biomedical signal to which he/she has accesshas access

Front-end Front-end Implementation(1)Implementation(1)

Oracle 8i database biomed was Oracle 8i database biomed was created on the web servercreated on the web server

Oracle WebDB was installed into the Oracle WebDB was installed into the biomed database biomed database

Three Data Access Descriptors (DAD) Three Data Access Descriptors (DAD) were created to manage three were created to manage three different user groupsdifferent user groups

Different accounts were created for Different accounts were created for different user groups with different user groups with corresponding privilegescorresponding privileges

Front-end Front-end Implementation(2)Implementation(2)

A database link and views were created for A database link and views were created for transferring data between the data server transferring data between the data server and web serverand web server

PL/SQL procedures were developed and PL/SQL procedures were developed and WebDB was explored for developing a web-WebDB was explored for developing a web-based interfacebased interface

Java Applets were upgraded to receive Java Applets were upgraded to receive parametersparameters

Java Servlets with JDBC were created as an Java Servlets with JDBC were created as an Oracle/Java interface for secure FTP and Oracle/Java interface for secure FTP and dynamic signal displayingdynamic signal displaying

Interface to Manage User GroupsInterface to Manage User Groups

Restrict Restrict access to access to interface for interface for student and student and lab employee lab employee by checking by checking login login informationinformation

Interface to Insert DataInterface to Insert Data

Provides a user-Provides a user-friendly interface friendly interface to insert data, to insert data, including BFILEincluding BFILE

Data referential Data referential integrity is integrity is reinforced by reinforced by displaying displaying foreign keys as foreign keys as LOV, which LOV, which dynamicallydynamically select the select the current entry current entry being referencedbeing referenced

Interface to Query DatabaseInterface to Query Database

Can query Can query database fields by database fields by different condition, different condition, such as =, >, <, in, such as =, >, <, in, not in, etc.not in, etc.

Can dynamically Can dynamically query database on query database on various criteriavarious criteria

Can select the Can select the output format, output format, including file including file format and report format and report formatformat

Interface to View Query ResultInterface to View Query Result

Can view the Can view the query result and query result and choose choose biomedical biomedical signal for signal for further further information and information and operationsoperations

Interface to Perform Various Interface to Perform Various OperationsOperations

Can choose to Can choose to download signal files download signal files associated with a associated with a specific biomedical specific biomedical signal signal

Can choose to view Can choose to view biomedical signals biomedical signals in all channels for a in all channels for a specific signal recordspecific signal record

Can choose to view Can choose to view all information in all information in database regarding database regarding a specific biomedical a specific biomedical signalsignal

Download Signal FileDownload Signal File

Can choose Can choose channel to channel to download download corresponding corresponding signal filesignal file

Can only Can only download files download files from the web from the web server without server without knowing the knowing the actual data actual data sourcesource

Interface to View Signal Interface to View Signal DataData

.

Can select channel Can select channel to view signal at to view signal at different speed and different speed and different amplitudedifferent amplitude

Can manually Can manually measure signal at measure signal at both time and both time and amplitude directionamplitude direction

Information is Information is dynamically passed dynamically passed to Java Applet from to Java Applet from PL/SQL front-end PL/SQL front-end interfaceinterface by Servletby Servlet

This database project provides an efficient This database project provides an efficient means to organize the biomedical signal means to organize the biomedical signal files and related informationfiles and related information

The web-based database system built in The web-based database system built in this project provides a seamless this project provides a seamless mechanism to search and view the mechanism to search and view the information, and to view the signal on-lineinformation, and to view the signal on-line

The database provides information about The database provides information about particular medical events which can occur particular medical events which can occur in multiple locations within a file and in in multiple locations within a file and in different filesdifferent files

Conclusions (1)Conclusions (1)

Conclusions (2)Conclusions (2)

The framework of organization will allow The framework of organization will allow analysis of biomedical signal for research analysis of biomedical signal for research conducted in the Biomedical Signal conducted in the Biomedical Signal Analysis LaboratoryAnalysis Laboratory

The web-based database project The web-based database project supports on-line class teaching in the supports on-line class teaching in the area of biomedical signal processingarea of biomedical signal processing

The web-based database project The web-based database project provides secure public access to a provides secure public access to a portion of the signal databaseportion of the signal database

Future Work

Link events that occur during one signal file with the Link events that occur during one signal file with the graphical interfacegraphical interface

Upgrade Java Applet to display more than two Upgrade Java Applet to display more than two channels at the same time for DSI formatchannels at the same time for DSI format

Upgrade Java Applet to display data file of size Upgrade Java Applet to display data file of size greater than 1 MB for ASCII formatgreater than 1 MB for ASCII format

Develop automatic insert routines which both scan Develop automatic insert routines which both scan the data for relevant information, interpret, and the data for relevant information, interpret, and insert into the databaseinsert into the database

Apply temporal data mining techniques to further Apply temporal data mining techniques to further researchresearch

AcknowledgementsAcknowledgements

Dr. Wils CooleyDr. Wils Cooley Dr. Bojan CukicDr. Bojan Cukic Dr. Stephanie Schuckers Dr. Stephanie Schuckers

(Chair)(Chair) Dr. George TrappDr. George Trapp

Dr. John AtkinsDr. John Atkins Alan ButcherAlan Butcher Dr. Juggy JagannathanDr. Juggy Jagannathan

Qunying FanQunying Fan Wei HuangWei Huang

Members in Dr. Members in Dr. Schuckers’ labSchuckers’ lab