Академический Документы
Профессиональный Документы
Культура Документы
1. INTRODUCTION
Pervasive computing is the concept that incorporates computation in our working and living environment in such a way so that the interaction between human and computational devices such as mobile devices or computers becomes extremely natural and the user can get multiple types of data in a totally transparent manner. The potential for pervasive computing is evident in almost every aspect of our lives including the hospital, emergency and critical situations, industry, education, or the hostile battlefield. The use of this technology in the field of health and wellness is known as pervasive health care. Mobile computing describes a new class of mobile computing devices which are becoming omnipresent in everyday life. Handhelds, phones and manifold embedded systems make information access easily available for everyone from anywhere at any time. We termed the integration of mobile computing to pervasive health care as mobile health care. The goal of mobile health care is to provide health care services to anyone at anytime, overcoming the constraints of place, time and character. Mobile health care takes steps to design, develop and evaluate mobile technologies that help citizens participate more closely in their own health care. In many situations people have medical issues which are known to them but are unwilling or unable to reliably go to a physician. Obesity, high blood pressure, irregular heartbeat, or diabetes is examples of such common health problems. In these cases, people are usually advised to periodically visit their doctors for routine medical checkups. But if we can provide them with a smarter and more personalized means through which they can get medical feedback, it will save their valuable time, satisfy their desire for personal control over their own health, and lower the cost of long term medical care. In this paper we present a bio-sensor based mobile health monitoring system named as "Intelligent Mobile Health Monitoring System (IMHMS)" that uses the Wearable Wireless Body/Personal Area Network for collecting data from patients, mining the data, intelligently predicts patient's health status and provides feedback to patients through their mobile devices. The patients will participate in the health care process by their mobile devices and thus can access their health information from
Department of Computer Science & Engineering
2
Intelligent Mobile Health Monitoring System
anywhere any time. Moreover, so far there is no automated medical server used in any of the work related to mobile health care. To maintain the server a large number of specialist are needed for continuous monitoring. The presence of a large number of specialists is not always possible. Moreover in the third world countries like ours specialist without proper knowledge may provide incorrect prescription. That motivates us to work for an intelligent medical server for mobile health care applications that will aid the specialists in the health care. As a large amount of medical data is handled by the server, the server will perform mine and analyze the data. With the result of mining, analysis and suggestions and information provided by the specialists in the critical scenarios the server can learn to provide feedback automatically. Moreover as time grows the server will trained automatically by mining and analyzing data of all the possible health care scenarios and become a real intelligent one. Our main contribution here is the Intelligent Medical Server which is a novel idea in the field of mobile health care.
3
Intelligent Mobile Health Monitoring System
2. OBJECTIVES
In intensive care units, there are provisions for continuously monitoring patients. Their heart rates, temperatures etc. are continuously monitored. But in many cases, patients get well and come back to home from hospital. But the disease may return, he may get infected with a new disease, there may be a sudden attack that may cause his death. So in many cases, patients are released from hospital but still they are strongly advised to be under rest and observation for some period of time (from several days to several months). In these cases, IMHMS can be quite handy. Patients of blood pressure frequently get victimized because of sudden change of pressures. It cannot be foreseen and also a normal person cannot be kept under medical observation of a doctor or a hospital all days of a year. Blood pressures change suddenly and can be life-treating. Using IMHMS, they can get alerts when their blood pressure just starts to become high or low. IMHMS collects patient's physiological data through the bio-sensors. The data is aggregated in the sensor network and a summary of the collected data is transmitted to a Patients personal computer or cell phone/PDA. These devices forward data to the medical server for analysis. After the data is analyzed, the medical server provides feedback to the patient's personal computer or cell phone/PDA. The patients can take necessary actions depending on the feedback. Health care through mobile devices with a central medical server is not a newconcept for the developed countries. But the medical server used there is mainly for data storage. But the IMS of IMHMS not only stores data but also use it for automated medical feedback. So for developed countries all the existing central storage server can be replaced easily with IMS. So to integrate IMS with the existing health care services, their central medical server's data needs to be migrated to IMS. Then IMS can intelligently support all the existing health care services. The people of the developing countries extensively use mobile devices but they are not familiar with
Department of Computer Science & Engineering
4
Intelligent Mobile Health Monitoring System
mobile device based intelligent services. So IMHMS can be very handy for them by providing health care services anywhere anytime through their mobile devices. For developing countries, IMHMS can aid physicians and specialists for better treatment of the patients as their whole medical data and treatment history is stored in IMS. Moreover it is not always possible for the patients to avail the services of special care units like ICU (Intensive Care Unit), CCU (Critical Care Unit) due to limited number of such units and money. So in these cases IMHMS can help the patients by providing continuous health monitoring.
5
Intelligent Mobile Health Monitoring System
3. SYSTEM ANALYSIS
6
Intelligent Mobile Health Monitoring System
transportation is necessary for patients to get doctors review about their present condition. Taking your own BP using a manual blood pressure monitor is difficult.
Mobile health care takes steps to design, develop and evaluate mobile technologies that help citizens participate more closely in their own health care. In many situations people have medical issues which are known to them but are unwilling or unable to reliably go to a physician. High blood pressure, or diabetes are examples of such common health problems. In these cases, people are usually advised to visit their doctors for regular medical checkups. Proposed system will save their valuable time, satisfy their desire for personal control over their own health, and lower the cost of long term medical care.
7
Intelligent Mobile Health Monitoring System
4. REQUIREMENT SPECIFICATION
4.1 SOFTWARE CONFIGURATION
Platform Operating System Database Supported Development Environment Eclipse, Android SDK Tool, Eclipse ADT Android 2.3 Windows XP or above (32-bit or 64-bit) SQLite
4.3 TECHNOLOGY
4.3.1 JAVA Java is a new object-oriented language that is receiving wide attention from both industry and academia. Java was developed by James Gosling and his team at Sun Microsystems in California. The language was based on C and C++ and was originally intended for writing programs that control consumer appliances such as toasters, microwave ovens, and others. The language was first called Oak, named after the oak tree outside of Goslings office, but the name was already taken, so the team renamed it Java. Java is often described as a Web programming language because of its use in writing programs called applets that run within a Web browser. That is, you need a Web browser to execute Java applets. Applets allow more dynamic and flexible dissemination of information on the Internet, and this feature alone makes
Department of Computer Science & Engineering
8
Intelligent Mobile Health Monitoring System
Java an attractive language to learn. However, we are not limited to writing applets in Java. We can write Java applications also. A Java application is a complete standalone program that does not require a Web browser. A Java application is analogous to a program we write in other programming languages. We chose Java for this project mainly for its clean design. The language designers of Java took a minimalist approach; they included only features that are indispensable and eliminated features that they considered excessive or redundant. This minimalist approach makes Java a much easier language to learn than other object-oriented programming languages. Java is an ideal vehicle for learning the fundamentals of object-oriented programming. The Java language can be characterized by all of the following features: Simple and Powerful
The developer of Java based it on C++ programming language, but removed many of the language features that are rarely or often used poorly. Specifically, Java differs from C++ in these ways: Java does not support the structure, union and pointer data types. It does not support typedef or #define. It differs in its handling of certain operators and does not permit operator overloading. It handles command line arguments differently from C to C++. It has a string class as a part of java language package. This differs from the null terminated array of characters as used in C or C++. Unlike other programming systems that provide dozens of complicated ways to perform a simple task, Java provides a small number of clear ways to achieve a given task. Robust Java has the strong memory allocation and automatic garbage collection mechanism. It carries out type checking at both compile and runtime making sure that every data structure has been clearly defined and typed. compiler checks the program for any error and interpreter checks any run time error that every data structure is
9
Intelligent Mobile Health Monitoring System
clearly defined and typed. Java manages the memory automatically by using an automatic garbage collector. all the above features make Java language robust.
Secure Since Java works in networked environments, the issue of security is one
that should be of concern to developers. Java does not use memory pointers explicitly. All the programs in java are run under an area known as the sand box. Security manager determines the accessibility options of a class like reading and writing a file to the local disk. Java uses the public key encryption system to allow the java applications to transmit over the internet in the secure encrypted form. The bytecode Verifier checks the classes after loading. No memory pointers Programs run inside the virtual machine sandbox. Array index limit checking Object oriented To be an Object Oriented language, any language must follow at least the four characteristics: Inheritance: It is the process of creating the new classes and using the behavior of the existing classes by extending them just to and adding the additional features as needed. Encapsulation: It is the mechanism of combining the information and providing the abstraction. Polymorphism: As the name suggest one name multiple form, Polymorphism is the way of providing the different functionality by the functions having the same name based on the signatures of the methods. Dynamic binding: Sometimes we don't have the knowledge of objects about their specific types while writing our code. It is the way of providing the maximum functionality to a program about the specific type at runtime.
Department of Computer Science & Engineering
10
Intelligent Mobile Health Monitoring System
Architecture neutral The term architectural neutral seems to be weird, but yes Java is an
architectural neutral language as well. The growing popularity of networks makes developers think distributed. In the world of network it is essential that the applications must be able to migrate easily to different computer systems. Not only to computer systems but to a wide variety of hardware architecture and operating system architectures as well. The Java compiler does this by generating byte code instructions, to be easily interpreted on any machine and to be easily translated into native machine code on the fly. The compiler generates an architecture-neutral object file format to enable a Java application to execute anywhere on the network and then the compiled code is executed on many processors, given the presence of the Java runtime system. Platform independent and Portable The concept of Write-once-run-anywhere (known as the Platform
independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM. Interpreted When the Java compiler translates the Java source file to byte codes, this byte code class file can be run on any machine that has a Java interpreter or a Java enable browser. This allows the Java code to be written independently of the users platforms. Interpretation also eliminates the compile and run cycle for the client because the byte codes are not specific to a given machine. The byte code can be interpreted on any system that has a Java Virtual Machine (JVM). Another advantage of Java as an interpreted language is its error debugging quality. Due to this any error occurring in the program gets traced. This is how it is different to work with Java. Multithreaded Java was designed to meet the real world requirements of creating interactive, networked programs. To achieve this, Java support Multithreaded
Department of Computer Science & Engineering
11
Intelligent Mobile Health Monitoring System
programming, which allows the user to write programs that perform many functions simultaneously. Multithreading means a single program having different threads executing independently at the same time. Multiple threads execute instructions according to the program code in a process or a program. Multithreading works the similar way as multiple processes run on one computer. Multithreading programming is a very interesting concept in Java. In multithreaded programs not even a single thread disturbs the execution of other thread. Threads are obtained from the pool of available ready to run threads and they run on the system CPUs. This is how multithreading works in Java. Dynamic language Unlike C++ code, which often requires complete recompilation if a parent class is changed, Java uses a method of interface to relieve this dependency. The result is that Java programs can allow for new methods and instances variables in object in library without affecting their dependent client objects. 4.3.2 ANDROID Android is a mobile operating system that is based on a modified version of Linux. It was originally developed by a startup of the same name, Android, Inc. In 2005, as part of its strategy to enter the mobile space, Google purchased Android and took over its development work (as well as its development team). Google wanted Android to be open and free; hence, most of the Android code was released under the open-source Apache License, which means that anyone who wants to use Android can do so by downloading the full Android source code. Moreover, vendors (typically hardware manufacturers) can add their own proprietary extensions to Android and customize Android to differentiate their products from others. This simple development model makes Android very attractive and has thus piqued the interest of many vendors. This has been especially true for companies affected by the phenomenon of Apples iPhone, a hugely successful product that revolutionized the Smartphone industry. Such companies include Motorola and Sony Ericsson, which for many years have been developing their own mobile operating systems. When the iPhone was launched, many of these manufacturers had to
Department of Computer Science & Engineering
12
Intelligent Mobile Health Monitoring System
scramble to find new ways of revitalizing their products. These manufacturers see Android as a solution they will continue to design their own hardware and use Android as the operating system that powers it. The main advantage of adopting Android is that it offers a unified approach to application development. Developers need only develop for Android, and their applications should be able to run on numerous different devices, as long as the devices are powered using Android. In the world of Smart phones, applications are the most important part of the success chain. Device manufacturers therefore see Android as their best hope to challenge the onslaught of the iPhone, which already commands a large base of applications FEATURES OF ANDROID As Android is open source and freely available to manufacturers for customization, there are no fixed hardware and software configurations. However, Android itself supports the following features: Handset layouts : The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional Smartphone layouts. Storage: SQLite, a lightweight relational database, is used for Data storage purposes. Connectivity: Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, and WiMAX. Messaging: SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud to Device Messaging Framework (C2DM) is also a part of Android Push Messaging service. Web browser:
13
Intelligent Mobile Health Monitoring System
The web browser available in Android is based on the open-source Web Kit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test. Java support: While Android applications are written in Java, there's no Java Virtual Machine in the platform and Java byte code is not executed. Java classes get recompiled into Dalvik executable and run on Dalvik virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery powered mobile devices with limited memory and CPU. J2ME support can be provided via third party-application such as the J2ME MIDP Runner. Media support: Android supports the following audio/video/still media formats: H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. Hardware support: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, and GPS Streaming media support: RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) is supported through Adobe Flash Player Plug-in. Apple HTTP Live Streaming is supported through third party media player (Next streaming NexPlayer). Microsoft Smooth Streaming is planned to be supported through the awaited port of Sliver light Plug-in to Android. Adobe Flash HTTP Dynamic Streaming is planned to be supported through an upgrade of the Flash Plug-in. Development environment: Includes a device emulator, tools for debugging, memory and performance profiling, and a Plug-in for the Eclipse IDE. Market:
Department of Computer Science & Engineering
14
Intelligent Mobile Health Monitoring System
Like many phone-based application stores, the Android Market is a catalog of applications that can be downloaded and installed to target hardware over-theair, without the use of a PC. Originally only free applications were supported. Paid-for applications have been available on the Android Market in the United States since 19 February 2009. The Android Market has been expanding rapidly. As of August 3, 2010, it had over 100,000 Android applications for download. There are other markets, such as SlideME and Getjar, but Google's Android Market is the only one whose downloader is installed on every Google Android phone. Multi-touch: Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology).Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively. Multi-tasking : Supports multi-tasking applications. Bluetooth: Support for A2DP and AVRCP were added in version 1.5; sending files (OPP) and accessing the phone book (PBAP) were added in version 2.0; and voice dialing and sending contacts between phones were added in version 2.2. Video calling: Only supported handsets with a front facing camera support video calling (like the Samsung i9000 GalaxyS). Multitasking of applications is available. Voice based features: Google search through Voice is available as Search Input since initial release. Also launched Voice actions supported on Android 2.2 onwards. Tethering: Android supports tethering, which allows a phone to be used as a wireless/wired hotspot (All 2.2 Froyo phones, unofficial on phones running 1.6 or higher via applications available in the Android Market, e.g. PdaNet). To allow a
Department of Computer Science & Engineering
15
Intelligent Mobile Health Monitoring System
laptop to share the 3G connection on Android phone software may need to be installed on both the phone and the laptop.
4.3.3 SQLITE SQLite is available on every Android device. Using a SQLite database in Android does not require any database setup or administration. Only need is to define the SQL statements for creating and updating the database. Afterwards the database is automatically managed by the Android platform. Access to a SQLite database involves accessing the file system. This can be slow. Therefore it is recommended to perform database operations asynchronously, for example inside the AsyncTask class. If an application creates a database, this database is by default saved in the directory DATA/data/APP_NAME/databases/FILENAME. The parts of the above directory are constructed based on the following rules. DATA is the path which the Environment.getDataDirectory() method returns. APP_NAME is the application name. FILENAME is the name specified in the application code for the database. SQLITE ARCHITECTURE Packages The package android.database contains all general classes for working with databases. android.database.sqlite contains the SQLite specific classes. SQLiteOpenHelper To create and upgrade a database in an Android application one usually needs a subclass SQLiteOpenHelper. In the constructor of the subclass call the super() method of SQLiteOpenHelper has to be called, specifying the database name and the current database version.
16
Intelligent Mobile Health Monitoring System
In this class developer need to override the onCreate() and onUpgrade() methods. onCreate() is called by the framework, if the database does not exists. onUpgrade() is called, if the database version is increased in the application code. This method allows to update the database schema. Both methods receive an SQLiteDatabase object as parameter which represents the database. SQLiteOpenHelper provides the methods getReadableDatabase() and getWriteableDatabase() to get access to an SQLiteDatabase object; either in read or write mode. The database tables should use the identifier _id for the primary key of the table. Several Android functions rely on this standard. It is best practice to create a separate class per table. This class defines static onCreate() and onUpgrade() methods. These methods are called in the corresponding methods of SQLiteOpenHelper. This way the implementation of SQLiteOpenHelper will stay readable, even if there are several tables. SQLiteDatabase SQLiteDatabase is the base class for working with a SQLite database in Android and provides methods to open, query, update and close the database. More specifically SQLiteDatabase provides the insert(), update() and delete() methods. In addition it provides the execSQL() method, which allows to execute an SQL statement directly. The object ContentValues allows to define key/values. The "key" represents the table column identifier and the "value" represents the content for the table record in this column. ContentValues can be used for inserts and updates of database entries. Queries can be created via the rawQuery() and query() methods or via the SQLiteQueryBuilder class . rawQuery() directly accepts an SQL select statement as input. query() provides a structured interface for specifying the SQL query. SQLiteQueryBuilder is a convenience class that helps to build SQL queries.
17
Intelligent Mobile Health Monitoring System
Input
process
ppppocess
output
System analysis and design refers to the process of examining a situation with the intent of improving it through better procedures and methods. System design is the process of planning a new system or one to replace or complement an existing system and determine how computers can best be used to make its operations more effective. System Analysis then is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements to the
Department of Computer Science & Engineering
18
Intelligent Mobile Health Monitoring System
system. Before development of any project can be pursued, a system study is conducted to learn the details of the current business situation. Information gathered through the study forms the basic for creating alternative design strategies. Management selects strategies pursue. System Analysis is about understanding situations, not solving problems. Effective analysis includes investigation and questioning to learn how a system currently operates and to identify the requirements users have for a new or modified one. Only after analysis, analysts fully understand the system, and they are able to analyses it and assemble recommendation for system design. For designing and development of any good project analysis of an existing system is a pre-requisite. The existing system is studied to know the extent of computerization required. Therefore, a detailed analysis of the existing system is conducted. For this the system is broken down into various subsystems and they are studied closely, problem areas are identified, information collected with enough analysis. They improve the manner in which the development occurs and influence the quality of the final results. Tools extend the capability of the system Analysis in three ways 1. 2. 3. Improve Productivity Improve Effectiveness Improve Information System Quality
19
Intelligent Mobile Health Monitoring System
The Systems Development Life Cycle (SDLC) is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems. In software engineering the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system: the software development process. Systems Development Life Cycle (SDLC) is a process used by a systems analyst to develop an information system, including requirements, validation, training, and user (stakeholder) ownership. Any SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently in the current and planned Information Technology infrastructure, and is inexpensive to maintain and cost-effective to enhance. Computer systems are complex and often (especially with the recent rise of Service-Oriented Architecture) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models or methodologies have been created, such as "waterfall"; "spiral"; "Agile software development"; "rapid prototyping"; "incremental"; and "synchronize and stabilize". In project management a project can be defined both with a project life cycle (PLC) and an SDLC, during which slightly different activities occur. According to Taylor (2004) "The Project Life Cycle encompasses all the activities of the project, while the systems development life cycle focuses on realizing the product requirements".
20
Intelligent Mobile Health Monitoring System
The System Development Life Cycle framework provides a sequence of activities for system designers and developers to follow. It consists of a set of steps or phases in which each phase of the SDLC uses the results of the previous one. A Systems Development Life Cycle (SDLC) adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation. A number of system development life cycle models like: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and synchronize and stabilize. The oldest of these, and the best known, is the waterfall model is given below.
development
System Analysis
Testing
System Design
Coding
Fig. Different phases of Software development Life Cycle These stages can be characterized and divided up in different ways, including the following: Project planning, feasibility study: Establishes a high-level view of the intended project and determines its goals.
Department of Computer Science & Engineering
21
Intelligent Mobile Health Monitoring System
Systems analysis, requirements definition: Defines project goals into defined functions and operation of the intended application. Analyzes end-user information needs. Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation. Implementation: The real code is written here. Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability. Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Maintenance: changes, correction, additions, moves to a different computing platform and more. This is the least glamorous and perhaps most important step of all, goes on seemingly forever.
22
Intelligent Mobile Health Monitoring System
the relational model these are the tables and views. In an object database the entities and relationships map directly to object classes and named relationships. However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the database management system (DBMS). The process of doing database design generally consists of a number of steps which will be carried out by the database designer. Usually, the designer must: Determine the relationships between the different data elements.
Superimpose a logical structure upon the data on the basis of these relationships
23
Intelligent Mobile Health Monitoring System
Specify primary keys - Choose each tables primary key. The primary key is a column that is used to uniquely identify each row. An example might be Product ID or Order ID. Set up the table relationships - Look at each table and decide how the data in one table is related to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as necessary. Refine your design - Analyze your design for errors. Create the tables and add a few records of sample data. See if you can get the results you want from your tables. Make adjustments to the design, as needed. Apply the normalization rules - Apply the data normalization rules to see if your tables are structured correctly. Make adjustments to the tables.
Normalization Normalization is essentially the process of taking a wide table with lots of columns but few rows and redesigning it as several narrow tables with fewer columns but more rows. Forms of Normalization: Relational database theorists have divided normalization into several rules called normal forms. First Normal form Moving data into separate table where the data in each table is of similar type and giving each table a primary key do the eliminates repeating groups of data. Second Normal Form First normal form table can be converted to second normal form by taking out data that is only dependent on a part of the key.
Department of Computer Science & Engineering
24
Intelligent Mobile Health Monitoring System
Third Normal Form Third normal form means getting ride on of anything in the table that does not d depend solely on primary key.
25
Intelligent Mobile Health Monitoring System
System Management The Remote System Administration service offers an attractive alternative. It reduces or may even eliminate the need for on-site support staff by performing the entire spectrum of system management functions, remotely, or by providing any combination of on-site and remote services that fits to business needs. A Cost-Effective Management Solution System Administration is a cost-effective way to solve in IT management issues. Whether the lack an in-house system administrator, have a system administrator without skills, or simply find that there are too many tasks for too few staff members, Remote System Administration provides an efficient solution. Maximize System Availability with Proactive Problem Detection Remote diagnostics package enables admin to gather the system functions and proactively address. The technology that monitor machine to detect its current conditions, It is not only for a single system or group of systems environmental conditions. This leverages to maximize system availability and support specialists monitor login attempts, user processes, and the performance and availability of designated systems. Detailed Reporting for More Effective System Administration Contract Remote System Administration customers receive weekly reports documenting day-to-day system activity to give insight into system usage and performance patterns. Reports include system trend analysis, call volume, downtime patterns, security break-ins, failed logins, system availability, load peaks, resource shortages, and performance measurements. Thorough Pre-Implementation Assessment A thorough site assessment to determine specific requirements is completed prior to initiating System Administration. Engineers discuss all procedures with admin before implementation begins. They then install necessary hardware and software, performing whatever reconfigurations.System implementation is the process
Department of Computer Science & Engineering
26
Intelligent Mobile Health Monitoring System
of making the newly designed system fully operational and consistent in performance. The following step has been followed in the implementation of the system.
27
Intelligent Mobile Health Monitoring System
5.4 TESTING
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the characteristics. Software testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the software development methodology adopted.
28
Intelligent Mobile Health Monitoring System
of the architectural design are integrated and tested until the software works as a system. System Testing System testing tests a completely integrated system to verify that it meets its requirements. System verifies that a system is integrated to any external or third-party systems defined in the system requirements.
Acceptance Testing Acceptance testing can mean one of two things: A smoke test is used as an acceptance test prior to introducing a new build to the main testing process, i.e. before integration or regression. Acceptance testing performed by the customer, often in their lab environment on their own hardware, is known as user acceptance testing (UAT). Acceptance testing may be performed as part of the hand-off process between any two phases of development Alpha testing Alpha testing is simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing, before the software goes to beta testing. Beta testing Beta testing comes after alpha testing and can be considered a form of external user acceptance testing. Versions of the software, known as beta versions, are released to a limited audience outside of the programming team. The software is released to groups of people so that further testing can ensure the product has few faults or bugs.
29
Intelligent Mobile Health Monitoring System
Data flow diagram is a structured, diagrammatic technique for showing the functions performed by a system and the data flowing into, out of, and within it. The technique exploits a method called top-down expansion to conduct the analysis in a targeted way. There are only four symbols. They are: External entity An external entity is a source or destination of a data flow, which is outside the area of study. The symbol used is an oval containing a meaningful and unique identifier. Process A process shows a transformations or manipulation of data flows within the system. The symbol used is a rectangular box, which contains 4 descriptive elements. Data Flow A data flow shows the flow of information from its source to its destination. A data flow is represented by a line, with arrowheads showing the direction of flow. Each data flow may be referenced by the processes or data stores at its head and tail, or by a description of its contents. Data Store A data store is a holding place for information within the system: It is represented by an open ended narrow rectangle. A Data Flow diagram (DFD) consists of a series of bubbles joined by lines. In the normal Convention, a DFD has four major symbols. Circle A process shows a transformation or manipulation of data flows within the system. The symbol used is a circle, which contains 3 descriptive elements. An identification number appears in the upper left hand corner. The is allocated arbitrarily at the top level and serves
Department of Computer Science & Engineering
30
Intelligent Mobile Health Monitoring System
as a unique reference. A location appears to the right of the identifier and describes where in the system the process takes place. A descriptive title is placed in the center of the box. Arrow A data flow shows the flow of information from its source to its destination. A data flow is represented by a line, with arrowheads showing the direction of flow
Rectangle An external entity is a source or destination of a data flow, which is outside the area of study. The symbol used is an oval containing a meaningful and unique identifier.
Database A data store is a holding place for information within the system. It is represented by an open ended narrow rectangle.
In the proposed project there are three levels of diagram has been drawn to describe the concept of the project. They are Level 0,Level 1, and Level 2 DFD.
31
Intelligent Mobile Health Monitoring System
6.1 LEVEL 0
Fig.6.1 Level 0
6.2 LEVEL 1
32
Intelligent Mobile Health Monitoring System
Fig.6.2 Level 1
6.3 LEVEL 2
33
Intelligent Mobile Health Monitoring System
Fig.6.3 Level 2
34
Intelligent Mobile Health Monitoring System
7. MODULES
7.1 SCREENS AND DESIGNS
This module deals with the apps home screen and entire app user interface designs. Android's system UI provides the framework on top of which we build the app. Important aspects include the Home screen experience, global device navigation, and notifications. Home screen Home is a customizable space that houses app shortcuts, folders and widgets. Navigate between different home screen panels by swiping left and right. The Favorites Tray at the bottom always keeps your most important shortcuts and folders in view regardless of which panel is currently showing. Access the entire collection of apps and widgets by touching the All Apps button at the center of the Favorites Tray. All apps screen The All Apps screen lets you browse the entire set of apps and widgets that are installed on your device. Users can drag an app or widget icon from the All Apps screen and place it in any empty location on any Home screen. Recents screen Recents provides an efficient way of switching between recently used applications. It provides a clear navigation path between multiple ongoing tasks. The Recents button at the right side of the navigation bar displays the apps that the user has interacted with most recently. They are organized in reverse chronological order with the most recently used app at the bottom. Switch to an app by touching it. Remove an item by swiping left or right. System Bars The system bars are screen areas dedicated to the display of notifications, communication of device status, and device navigation. Typically the system bars are displayed concurrently with your app. Apps that display immersive content, such as movies or images, can temporarily hide the system bars to allow the user to enjoy full screen content without distraction. The typical system bars that are displayed concurrently with our app are Status bar, Navigation bar, Combined bar.
Department of Computer Science & Engineering
35
Intelligent Mobile Health Monitoring System
Common App UI A typical Android app consists of action bars and the app content area. The
action bar is a dedicated piece of real estate at the top of each screen that is generally persistent throughout the app.
36
Intelligent Mobile Health Monitoring System
37
Intelligent Mobile Health Monitoring System
8.ADVANTAGES
AND
DISADVANTAGES
8.1 ADVANTAGES
The benefits behind deploying health monitoring technology are associated to reducing medical error, availability of service and to issues related the problem of constant shortage in medical staff. The other advantages are: Not necessary to schedule appointments for visiting The patients need not to travel and perform registrations each time they wish to make doctors appointment. Simplicity and Convenience of use The system architecture of IMHMS is a simple one with no complex system or communication architecture. Cost Effective IMHMS is cost effective. WBSN setup consists of some low cost biosensors. The communication from WBSN is also cheap due to the use of low cost Bluetooth or ZigBee adapters.
8.2 DISADVANTAGES
The disadvantages of iMoS are: Card Guard devices can be affected by a lot of factors such as weak batteries, incorrect arm cuff fitting, improper arm position Wi-Fi/3G Connection is required for diagnosis GPS Based Android Phone required for getting location status
38
Intelligent Mobile Health Monitoring System
9.FUTURE ENHANCEMENT
The whole system of mobile health care using biosensor network places forward some future works such as finding the most effective mechanism for ensuring security in biosensors considering the severe restrictions of memory and energy, representing the collected data in the most informative manner with minimal storage and user interaction, modelling of data so that the system will not represent all the data but only relevant information thus saving memory. With the advancement of sensor technologies it is not far enough when the bio-sensors itself can take necessary actions. A patient needed glucose does not need to take it manually rather the biosensors can push the glucose to the patient's body depending on the feedback from the IMS. It seems to be impossible to achieve by everybody. But nothing is impossible.
39
Intelligent Mobile Health Monitoring System
10. CONCLUSION
Networking multiple smart sensors into an application-specific solution to combat disease is a promising approach, which will require research with a different perspective to resolve an array of novel and challenging problems. As wireless networks of sensors are developed for biomedical applications, the knowledge gained from these implementations should be used to facilitate the development of sensor networks for new applications. Expeditious development of implanted smart sensors to remedy medical problems presents clear benefits to individuals as well as society as a whole. There is the obvious benefit to persons with debilitating diseases and their families as these patients gain an enhanced quality of life. Biomedical implants that monitor for cancer will help recovering patients maintain their health. Not only will these individuals personally benefit from their improved health and well-being, but society will also benefit from their increased productivity and societal contributions. Once the technology is refined, medical costs for correcting chronic medical conditions will be reduced. As the world population increases, the demand for these system will only increase. We are implementing the iMoS to help the individuals as well as the whole humanity. Our goals will be fulfilled if the iMoS can help a single individual by monitoring his or her health and cautions him to take necessary actions against any upcoming serious diseases.
40
Intelligent Mobile Health Monitoring System
APPENDIX
SCREENSHOTS
41
Intelligent Mobile Health Monitoring System
42
Intelligent Mobile Health Monitoring System
REFERENCES
A. Milenkovic, C. Otto, and E. Jovanovich. Wireless sensor networks for personal health monitoring: Issues and an implementation. Elsevier, 29(1314):2521-2533, Oct 2009 I. Korhonen, R. Lappalainen: wellness monitoring system. Engineering in Medicine and Biology Society, 20th Annual International Conference. Centre for Pervasive Healthcare. http://www.pervasivehealtcare.dk/ Centre for Future Health. http://www.centerforfuturehealth.org