©Digital Vision
Web-Based Acquisition, Storage, and Retrieval of Biomedical Signals Methodologies for Making the Internet an Ideal Tool for Integration of/Remote Access to Biomedical Signal Data
Wcentury that “knowledge itself is hen Francis Bacon stated in the 16th
Nigel H. Lovell 1,3, Farah Magrabi 1,3, Branko G. Celler 2,3 , Khang Huynh 2 , Hugh Garsden 3 1
38
Graduate School of Biomedical Engineering, University of New South Wales, Sydney 2 Biomedical Systems Laboratory, School of Electrical Engineering, University of New South Wales 3 Centre for Health Informatics, University of New South Wales
power” he could have had no concept of the dilemma facing professionals in the 21st century. The root of this dilemma is the exponential increase in both data and information, in the absence of any widely adopted international standards for data representation. Accessibility to information is also an issue. As far back as 1962, Marshall McLuhan proposed that society would need to adapt its practices to the world’s communications infrastructure: “the new electronic interdependence recreates the world in the image of a global village” [1]. Societal implications aside, our particular interest in biomedical signals databases is driven by these considerations and the need to manage data from a variety of disparate recording sites. Web technology can greatly facilitate the acquisition and retrieval of these signals. In order to combine these signals from many disparate and proprietary data acquisition devices into a meaningful knowledge base, data storage standards must be developed and adopted. Although an official standard for the storage of biomedical signals exists (ASTM 1467), it has not been widely adopted [2]. Other standards based on the representation of vital signs information (ENV 13734) and the medical information bus (IEEE 1073) have also been promulgated. However, the complexities of adherence and the lack of commercial motivation for adoption of these standards have meant that most clinical meas ur em e n t d e v ic e s u s e th e ir o w n proprietary formats to internally represent data. IEEE ENGINEERING IN MEDICINE AND BIOLOGY
The web allows ubiquitous access to distributed databases through standard browser technology. However, appropriate middleware software needs to be developed to provide the tools both for accessing databases over the web and ensuring that querying the knowledge base is possible [3]. In this article we explore a number of these web technologies and examine a case study based around the acquisition of respiratory flow signals from a web-enabled spirometer.
System Overview In our laboratory we are primarily concerned with home telecare and the provision of continuity of care between the home, primary care physician, and hospital through the sharing of clinical information. In this context we have developed self-administered functional health status measures using questionnaires, remote monitoring of parameters of daily living sensitive to changes in health status, and a number of clinical measurement devices for the recording of ECG, blood pressure, respiration, and movement (triaxial accelerometer) within the home. Data acquisition protocols to support these functions therefore need to accommodate a wide range of data formats from episodic or continuously monitored ECG data to text sequences that represent questionnaire responses. These data need to be stored in a patient database, analyzed for longitudinal trends, and structured in the most appropriate way for presentation to the client and their physician.
Data Acquisition Biomedical data can be collected using a variety of hardware interface methods including data acquisition cards inserted 0739-5175/01/$10.00©2001IEEE
May/June 2001
into the PC bus, hardwired interfaces (RS232, USB etc), or wireless connections to the PC. Data can also be generated within the computer in the form of questionnaire responses or from automated tracking activities such as those generated from web usage logs or intelligent agents. An example of web-enabled data acquisition of biomedical signals is the Win-ECG developed in our laboratory [4]. On the client side, the Win-ECG reviewing and recording program is a “Helper Application” that is called as a secondary window outside the browser. ActiveX controls are used to coordinate the viewing and acquisition of clinical measurements from the browser environment. These controls are compiled software components based on Microsoft’s Component Object Model (COM) technology [5]. They are essentially modular programs designed to give specific functionality to a parent application. They can be embedded in web pages for use over the Internet as well as combined to create client/server applications that run over a network. The ActiveX controls in Win-ECG are simple button controls, which are embedded in the web pages and provide a link between the various components necessary to automate ECG recording, reviewing, and storage. Similar techniques may be used to acquire data from any biomedical signal source in the laboratory, clinic or from remote and unattended locations.
tion of the run-time engines on the remote client computer. A hybrid system in which a shared-file database collects data locally, and episodically synchronizes data with the server via a local area network or the Internet, supports multiple users and utilizes network resources more efficiently. A relational database structure is used to organize data into a meaningful and maintainable form. The data is reduced into smaller units and linked by keys. The relational database facilitates fast schema design and easy maintenance. In addition, it is supported by major database management systems such as Microsoft Access, Microsoft SQLServer, and Oracle.
Multitiered Systems
Data encryption should be mandatory for any transmission of identified patient data, including physiological records.
Data stored must be processed in order to transform it into useful information.
Storage and Analysis The choice of a database management system (DBMS) is an important design consideration. DBMSs are either sharedfile-based databases or client/server databases. Shared-file databases are usually stored and accessed on a local computer, thus making access to data by multiple remote users difficult. These systems include Microsoft Access and FoxPro. Client/server databases such as Microsoft SQLServer and Oracle overcome this issue of sharing by having a centralized database with server-side processing capabilities. These databases are more difficult to design and maintain but are purposely built to handle multiple clients while maintaining data integrity. The main drawbacks of client/server systems when applied to the remote acquisition and storage of biomedical signals are a requirement for an online network connection, the added cost of run-time software licences, and the complexity of installaMay/June 2001
1. Screen images from a web-based search engine. The top screen illustrates the selection of a patient table from a set of tables in a biomedical signals database. The middle screen illustrates the selection of fields of interest within the patient table. The bottom screen illustrates the results of the query for a set of selected criteria. The intermediate screen showing the selection of criteria for each selected field has not been shown. IEEE ENGINEERING IN MEDICINE AND BIOLOGY
39
Synchronization
The difficulty with biomedical signals databases is that the actual signal data is encoded in a proprietary format typically within a memo or binary large object field within the database.
Data processing can be performed on either the client computer or the database server. However, data processing on the client server makes system upgrades difficult as changes must propagate to all clients. This problem can be overcome by shifting processing to the database server; system changes are then automatically accessible by all simple client applications. However, this approach places more load on the database server, as it is responsible for processing all client requests. Multitiered systems can be used to solve these problems of client- and server-side processing. A multitiered system comprises a simple client data processing server and a database server. By having a separate server or unit dedicated to data processing and brokering, the load on the database server can be reduced. The separate data processing server will process requests from clients and retrieve data from the database server. After the data is retrieved, it is processed and presented to the client. As demand grows, the multitier system can cope by connecting more processing servers and database servers. This effectively eliminates the problems of bottlenecks occurring in the data access, presentation, and processing stages. 40
In the case of local database replicas, the client stores a subset of the server database and periodically inserts new records as they are collected. These database changes are flagged and on connection to the server are transmitted to the server for updating or insertion. Similarly, changes in the server database specific to the client are replicated at the client side. Both client and server are able to track changes and synchronize their data using technologies such as Microsoft’s ActiveX Data Objects (ADO), Inprise MIDAS, and CORBA. This store-and-forward method of updating the database also allows the utilization of flexible, low-cost, off-peak communication links. Periodic synchronization of the database with the server provides sufficient updates without the expense and vulnerability of a connection every time the researcher/user reviews an existing signal or acquires a new signal.
Security The problem of security has always been an issue both in data storage and in the transmission of data across communication networks. In a client/server architecture, the server can act as broker to manage and control how users have access to the data. The DBMS can protect data locally, but since data must travel through an open medium such as a local area network or the Internet, there are security considerations. Data encryption should be mandatory for any transmission of identified patient data, including physiological records. RSA public-key encryption technology is commonly used. Web-based security, fueled by the explosive growth in e-commerce, is now dependent on two standards: Secure Sockets Layer (SSL) and Secure Electronic Transaction (SET), which must be implemented if patient data is to be transmitted securely via the web. In a multitier system, when data is also stored locally on the client server, data is also encrypted after the client has finished accessing it. The data is then decrypted when it is accessed or synchronized back to the server. User authentication is another important security issue. Our current design only caters to password authentication. However, the ability to embed ActiveX controls within the web page that link to external hardware devices would allow more sophisticated user authentication paradigms IEEE ENGINEERING IN MEDICINE AND BIOLOGY
to be implemented, including smart card readers and biometric interfaces.
Retrieval and Query Engines With the focus on responsibility for control of data moving increasingly towards the client, data retrieval and presentation may be initiated by the client. The availability of easy-to-use client-side retrieval and query engines and questionnaire delivery systems then becomes mandatory [6]. Thus, for example, in a home telecare application, the client may wish to query his/her own longitudinal data records or these data may need to be automatically analyzed and reformulated for transmission to the client’s primary care physician. A powerful and easy-to-use query-byexample interface and parser has been developed. The interface allows complex database queries to be constructed, stored, and executed without the need for the user to know the underlying structured query language (SQL) syntax. Figure 1 illustrates the construction of a simple query in which a database table is selected along with patient-specific fields, with data values that match a set of criteria being displayed. This interface has been developed in the middleware software Cold Fusion (CF) (Allaire Corp., MA, USA), a web-to-database connectivity tool. A CF application is a collection of web pages and components. The web pages are connected to databases using a proprietary markup language (CFML) and the hypertext markup language (HTML). The app lic a tio n is d e p lo y e d o n t he C F Application Server, a Windows NT service that runs on the server. It is completely integrated with standard web servers on Windows and supports connections to e-mail servers and a wide range of other services. When a web page is requested, the server processes the CFML and dynamically generates a web page that is returned to the browser. This technology can be used to provide database query and reporting functionality to any web-enabled database, facilitating reporting and data extraction. The difficulty with biomedical signals databases is that the actual signal data is encoded in a proprietary format typically within a memo or binary large object (BLOB) field within the database. It is not possible to perform complex query manipulations on these BLOB fields. Thus, it is essential that additional fields within the database be used to record relevant inMay/June 2001
formation such as results of feature extraction, data analysis, signal annotations, and time/date stamps.
ActiveX Data Objects (ADO) ActiveX Data Object was designed by Microsoft to be a single application programming interface (API) that allows access to a wide variety of data sources [7]. Simply, it is a wrapper object for OLE DB (see below) and open database connectivity (ODBC) data sources that encapsulates a simplified set of properties and methods for accessing these data sources. ADO is built as a general-purpose COM-based object model. This property al l ows ADO t o be opt i mi zed or customized for accessing different database types while preserving a constant object model . Si nce ADO us es a language-neutral API, it can be used in a variety of languages such as C++, Visual Basic, or Delphi. The ADO model consists of three main objects; Connection, Recordset, and Command. To use ADO, a Connection object is
created that specifies the ODBC provider or OLE DB driver. The ODBC provider acts as an interface between the ODBC driver and the ADO object, exposing methods and properties for accessing the data. Data can then be retrieved or stored from the database by creating a RecordSet object. In addition, database-specific commands and SQL can be sent to the database using a Command object.
OLE DB OLE DB is a COM based API that allows access to any data independent of its data type. This eliminates the need to convert non-SQL data such as a spreadsheet data into an equivalent ANSI SQL database format before it can be accessed using ODBC. OLE DB architecture is composed of the Data Consumer, Data Provider, and Service Provider components. These can be customized using a variety of exposed interfaces using the object model to maintain communication with each other. Through these various interfaces, OLE DB can represent all
types of data in a standard tabular form, thus allowing them to be easily accessed and manipulated. For example, if an application or Data Consumer requires data from a spreadsheet program, it calls Data Provider. By using various interfaces, the provider exposes the underlying spreadsheet data as a table. This table can then be accessed and processed by the Data Consumer using SQL. The Service Provider encompasses both the Data Consumer and Data Provider components. This component performs complex operations such as table joins and query processing. Examples of a Service Provider are a query processor or cursor library.
System Design Data Acquisition and Storage Data acquisition in a multitier information system begins with the patient or user acquiring biomedical signals data on a personal computer running the client application (Fig. 2). Data may then be piped through an appropriate channel either on-
[6] Process Data Received [1] Record Biosignals
[4] Establish Connection
[5] Send Data
[10] Processing Server Acknowledges Data Reception/Storage
Patient Client-PC
Processing Server
[2] Store/Retrieve Local Data
Thin Client: Active-X/ Java
Connection Pipe Using Ado, RDO, OLE DB
[2] Client Request for Available Server
Subset of Data [3] Server Replies: Available Application Server Address
[7] Send Data to Database Server
[9] Database Server Acknowledges Data Reception/ Storage
[8] Server Stores Data Into Database
Data Acquisition and Storage Object Broker Server
Client/Server Database
Database Server
2. System design for data acquisition and storage of biomedical signals. May/June 2001
IEEE ENGINEERING IN MEDICINE AND BIOLOGY
41
[10] Client Formats and Presents the Information
[1] Request Information
[8] Transform Data Received into Information [4] Establish Connection
[9] Send Data Back to Client
User
Processing Server
Client-PC Connection Pipe Using ADO, RDO, OLE DB
[2] Store/Retrieve Local Data
Thin Client: Active-X/ Java
[2] Client Request For Available Server
Subset of Data [3] Server Replies: Available Application Server Address
[5] Send Data Request to Database Server
[7] Database Server Sends Data Back [6] Server Extracts Data from Database
Data Retreival and Analysis Object Broker Server
Client/Server Database
Database Server
3. System design for client-requested data retrieval and analysis.
4. A screen image of the web interface to the home monitoring system. 42
IEEE ENGINEERING IN MEDICINE AND BIOLOGY
line (when connected to a network) or offline. In the offline state, the data acquired is stored in a local database. For added security, this data can be encrypted as it is stored and decrypted when it is retrieved. When the client is online, the local data is synchronized with the data residing on the central database server. A series of handshaking and processing procedures have to occur before the data can be replicated and synchronized. First, the client connects to the object broker server and requests an available processing server address. The object broker server serves as a directory service that controls the load and failsafe properties of the system. If a particular processing server is down or unavailable, the object broker can redirect traffic requests to other processing servers. The same is true if a certain processing server is busy processing too many requests. Clients can be directed to a less loaded server, hence improving the overall system response. May/June 2001
After the client receives an address from the object broker, it connects and sends data and commands to the processing server, where the data is then preprocessed. The processing server then opens an ADO connection to the database server. The processed data is then sent to the database server for simple processing and storage. Acknowledgments are sent at every stage of data transfer to ensure that the data is stored and processed correctly.
Data Retrieval and Analysis In a multitier information system, the process of data retrieval begins by the client requesting a specific piece of information (Fig. 3). The client then connects to the object broker requesting an available processing server address. Upon receiving the address the client connects to the processing server and sends the request. The processing server processes the request by retrieving the appropriate data from the database server and transforming it into information. Generally, data transformation is performed through a client-defined command or a prespecified set of rules residing on the server. The design allows automated server-side processing of the acquired data using an intelligent agent. These processing tasks can be triggered by database updates and insertions or by client-side requests. The information retrieved is exposed to the client through a database table. The client can then access this data and format it appropriately for presentation to the user. The multitier system emphasizes a thin client design with the major objective of presenting the data provided while leaving the task of processing to the processing server. This task segmentation makes the whole system more robust and easier to upgrade and to reconfigure.
The client program is an ActiveX control that provides a simple web-browser interface (Microsoft Internet Explorer) for the acquisition and review of clinical recordings. The web interface to the spirometer is shown in Fig. 4, and the review of the forced expiratory lung function results is shown in Fig. 5. Access to the local subset of the database is via Microsoft ActiveX Data Objects, which provide a simple interface to OLE DB [8]. The client-side database is Microsoft Access 2000 and the server database is Microsoft SQLServer. In addition to executing the lung function measurements, the client program includes an electronic diary to record quantitative and qualitative symptom data and a questionnaire delivery system to assess a range of functional health status measures. The quantitative measurements recorded include forced vital capacity (FVC), peak flow rate, and forced expiratory volume at 1 s (FEV1). The questionnaires explore symptoms of cough, levels of mucus, physical activity, appetite, weight, breathing, emotional state, and presence of fever. The software includes facilities to summarize and graphically display the data and provide aggregation of results over a specific time period. An intelligent software agent on the processing server is activated whenever new patient data is collected remotely from the home. The agent compares historical data with newly acquired data. Using this method,
an optimum patient-care strategy can be evaluated and communicated between patient and doctor by e-mail.
Conclusions A detailed framework for implementing web-enabled applications for acquiring and retrieving biomedical signals has been presented. The approach described has been centered on the Microsoft Windows environment. This is because the current generation of hardware interface cards used for data acquisition is based on the ISA bus. The acquisition and review software has been written using ActiveX technology. In future revisions of this technology we are investigating USB and serially connected hardware devices that communicate with the Internet using Java applets. This will facilitate the collection and review of biomedical signals in a platform-independent manner. The advantages associated with a web interface include familiarity with browser design and navigation (for the user), as well as the ability to rapidly customize interfaces for particular requirements (for the programmer). Naturally, signals collected from particular target populations, (for example, lung function measurement associated with asthma in young children as opposed to chronic obstructive pulmonary disease assessment in the elderly) require different user interfaces. Although this framework was demonstrated with a specific example of
Case Study: Respiratory Flow Signals from a Web-Enabled Spirometer This case study is based on a web-enabled spirometer designed in our laboratory for monitoring patients in their homes and for collecting respiratory flow si gnal s. The s pi r omet r y devi ce (WinSpiro) is a complete system for performing forced expiratory lung function testing. The system comprises a PC ISA bus card, a flow transducer (using inexpensive hot wire anemometry), and a thin client subset of the database and recording/review software. May/June 2001
5. A screen image of the lung function measurement software. IEEE ENGINEERING IN MEDICINE AND BIOLOGY
43
home monitoring of respiratory disease using a generic interface, the tools necessary for remote data acquisition, local storage, and synchronization with a central database can be applied to a wide range of applications in which biomedical signals are recorded, stored, and analyzed. Similarly, the user interface can be rapidly tailored to address the needs of different user groups. Nigel H. Lovell received the B.E. (Hons.) and Ph.D. degrees from the University of New South Wales (UNSW), Sydney, Australia. He is currently a faculty member of the Graduate School of Biomedical Engineering and Deputy Director of the Centre for Health Informatics at UNSW. Dr. Lovell’s research work has covered areas of expertise ranging from web-enabling technologies, biological signal processing, cardiac neurophysiology, visual prosthesis design, and physiological modeling. He is currently the IEEE Engineering in Medicine and Biology Society (EMBS) web-master and chairs the committee on Information Technology Infrastructure. Dr. Lovell is a serving member on the Administrative Committee of the EMB Society (2000-2002). Recently, he was awarded the IEEE Millennium Medal for services to the EMBS in relation to its web-based infrastructure. Farah Magrabi is currently working toward a Ph.D. in biomedical engineering at the University of New South Wales, Sydney. Her research interests include home telecare and clinical information systems. Her t hes i s i s f ocus ed on development and evaluation of a longitudinal home monitoring system for management of cystic fibrosis. She has a B.E. (Hons.) in electrical and electronics engineering from the University of Auckland, New Zealand.
44
Branko G. Celler received his B.Sc. in comp u te r s c ie n c e a n d physics in 1969, his B.E. (Hons) in electrical engineering in 1972, and his Ph.D. in biomedical engineering in 1978, from the University of New South Wales, Australia. From 1977 to 1980 he was a postdoctoral fellow working at the Johns Hopkins School of Medicine in Baltimore, Maryland, USA. He returned to UNSW in 1981 as a lecturer, where he was appointed associate professor in 1991 and professor in January 1997. He currently is head of the School of Electrical Engineering and Telecommunications, Director of the Biomedical Systems Laboratory, and Co-Director of the Centre for Health Informatics at UNSW. His research interests include biomedical instrumentation, signal processing, and medical expert systems. Over the last 8-10 years he has been actively involved in R&D on the application of information and communications technology in primary health care and he has a particular interest in home telecare and the remote monitoring of health status of the elderly at home. He also serves on the editorial boards of the IEEE Transactions on I n fo r m a tio n T e c h n o lo g y in Biomedicine and the International Journal of Telemedicine and Telecare. Khang N. D. Huynh received his B.E. (Hons) and M. Biomedical Engineering from the University of New South Wales, Sydney, Australia in 2000. After working in industry for about a year as a database analyst and designer, he had returned to work as full-time staff for the Centre for Health Informatics. He is currently working as a software engineer and is contributing to the development of extensible health information systems. Working in the Biomedical Systems Laboratory, his responsibilities include writing software and user interfaces for various applications in the Home Telecare project and de-
IEEE ENGINEERING IN MEDICINE AND BIOLOGY
signing websites for the purpose of web-enabling health systems. Hugh Garsden received his B.Sc. in physics in 1980 from the University of Queensland, and his B.Sc. (Hons.) in computer science in 1990 from the University of Adelaide. He has also studied some psychology as an undergraduate. He has been working mostly in research and development in the fields of speech recognition and biomedical science, applying his skill as a software engineer and as a scientist. In 2000 he joined the Centre for Health Informatics as a software engineer/project manager and is also in charge of the Centre’s website. His interests include software engineering in science, cognitive psychology, the Internet, and mobile communications. Address for Correspondence: Dr. N.H. Lovell, Graduate School of Biomedical Engineering, University of New South Wales, Sydney, NSW 2052, Australia. Tel: +61 2 9385 3922. Fax: +61 2 9663 2108. E-mail:
[email protected]
References [1] M. McLuhan, The Gutenberg Galaxy. Toronto, Canada: University of Toronto Press, 1962. [2] A. Värri, B. Kemp, T. Penzel, and A. Schlögl, “Standards for biomedical signal databases,” IEEE Eng. Med. Biol. Mag., vol. 20, no. 3, pp. 33-37, May/Jun. 2001. [3] A. Umar, Application (Re)engineering: Building Web-Based Applications and Dealing with Legacies. Upper Saddle River, NJ: Prentice Hall, 1997. [4] F. Magrabi, N.H. Lovell, and B.G. Celler, “A web-based approach for longitudinal monitoring in the home,” Int. J. Medical Informatics, vol. 54, no. 2, pp. 145-153, 1999. [5] C. Szyperski, Component Software: Beyond Object-Oriented Programming. New York: ACM Press, 1998. [6] R.A. Dennis and S.S. Gambhir, “Internet question and answer (iQ&A): A Web-based survey technology,” IEEE Trans. Inform. Technol. Biomed., vol. 4, no. 2, pp. 116-125, 2000. [7] D. Sussman and J.M. Conrad, Professional ADO Programming 2.5. Birmingham: Wrox Press, 2000. [8] L.M. Klander, “Access 2000 Client /Server Solutions,” The Coriolis Group, Arizona, 2000.
May/June 2001