imran final documentation

18
PROJECT REPORT ON JITLABS By Imran Ahmed (12132)

Upload: ahmed-m

Post on 16-Jan-2017

49 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: imran final documentation

PROJECT REPORT ON JITLABS

By

Imran Ahmed (12132)

Table of Contents:

Page 2: imran final documentation

1. Introduction2. Abstract3. Architecture.

3.1 Web UI3.2 Database3.3 Users3.4 Stream Server3.5 Alert Management

4. Software Testing5. Jasper Reports

5.1 Features.5.2 How jasper works.5.3 Installation & Configure5.4 My Contribution to our project.

6. Conclusion.

INTRODUCTION:

Page 3: imran final documentation

The main objective of this project is to create a device that detects the patients health status to the doctor. This device used for the patient to go through the daily health check up. Whenever, it shows that the patient’s health is in danger. Then the device sends the alerting message to his specific doctor. The doctor will take necessary measures to keep the patients health away from danger. The doctor will take effective measures suitable for the patients health Care.

In this project we are divided into 3 types of applications:

1. Web-based Application2. Mobile Application (Android).3. Desktop Application.

Web – Based Application:

In the web based application, we created some web pages consists of health care system. In the initial we has to create a USER login page which is co-related to USER- details page. The USER-Detail page consists of Name, First Name, Dob, Age, Gender, Marital Status, Contact Number,Email id.

In this application is created in the Apache-tomcat server which in turn host the application. This application is integrated to the database where we can retrieve the database tables as USER table, Patients table.

Mobile based Application:

This application is used for creating the mobile based system. This is developed as USER-FRIENDLY app which is compatible for Android & IOS. This application is used to fetch the database from the local server where we are building the database creation and design. We are creating the sign up page for jitlabs by using android application.

PROJECT DESCRIPTION:

Medical Records are the keystone to the health care profession; however these records are not utilized to their fullest potential. Often records are inaccurate, misplaced, and / or duplicated unnecessarily. In a world which recognizes the improvement of data digitization and networking as a constructive force which often increases efficiency while lowering costs; it is our view that medical records networking could only benefit the quality of health care offered in the United States.

An information system which is primarily linked between a physician’s office and his hospital would be able to capture and store data from either location giving access to diagnostics from satellite locations. Added functionality could include ability to gather data in real time from a remote monitor or an inbound emergency transport vehicle.

Page 4: imran final documentation

JITLABS ARCHITECTURE

Web UI:

The Web UI is an HTML-based application used to configure and manage the server appliance from a remote client. By extending the Web UI, you can build a consistent, reliable, and extensible UI.

User Interface design is to produce a user interface which makes it easy (self explanatory), efficient, and enjoyable (user friendly) to operate a machine in the way which produces the desired result.

Firstly, the user creates the web pages by using Java Script and Jquery. Creating visually appealing web pages or interfaces.

Programming interaction with JavaScript and/or a library such as jQuery, YUI or Prototype. This usually interacts with database for data to flow from the entire database. For the data flow from the database we need the Authentication.

WEB UI

DATABASE

ALERT MANAGEMENT

JASPER REPORTS

EMAIL

VISUALIZATION/ ELK STACK

USER

BACKEND DOCTOR/

FAMILYRELAY

DEVICE

AWS CLOUD

STREAM

SERVER

Page 5: imran final documentation

Roles and Responsibilities of the Team: Design and develop codes for front-end web applications Maintain coding documentations for reference purposes.  Contribute to all phases of Software Development Life Cycle.  Follow best practices to improve application performance. Perform code reviews and recommend changes. Assist Manager in developing project scope and schedules. Perform code upgrades and maintenances for current applications Ensure that final web application meets customer requirements Develop design and architecture solutions to meet client needs

USERS: Navigate to the configuration>security>access control>User Roles. Click Add to create and configure a new user role. Enter web guest for Role Name. Under Firewall Policies, click add From choose from configured policies, Select the web-only

new policy Click done to add the policy to the new user role. You can optionally enter configuration values as described in a table 1.

Page 6: imran final documentation

Click to apply to this configuration. The role is not created until the configuration is applied.

DATABASE:

Database plays a vital role in the architecture of the Jitlabs. Firstly, interacts with WEB UI for processing of the creation of web pages. It sends the data in the form of data packets. It has the two way communication between web UI and Database.

Secondly, It has the communication with the Visualization where it shows the charts of the actual data. It also communicates with the Alert Management.

Database is also in two way communication with stream server which analysis the data in terms of the architecture.

Finally the as shown in the figure, the database communicates with the jasper to generate the reports.

Roles and Responsibilities of the Database Team:

Communicates effectively in both a verbal and written manner to internal and external services. Ascertains the client’s needs and effectively communicates them back to both the client and account

team. Maintains direct, timely and appropriate communication with clients Prepare design specifications and functional documentations for assigned database projects.  Perform space management and capacity planning for database systems.  Develop database tables and dictionaries.  Ensure data quality and integrity in databases.  Identify any issues related to database performance and provide corrective measures.  Create complex functions, scripts, stored procedures and triggers to support application

development.  Participate in database design and architecture to support application development projects Test databases and perform bug fixes.  Develop security procedures to protect databases from unauthorized usage.  Evaluate existing database and recommend improvements for performance efficiency.  Develop best practices for database design and development activities.

ALERT MANAGEMENT:

Page 7: imran final documentation

The integration between MobileView and Alert Management systems allows customers to effectively manage and respond to MobileView alerts.  Alerts are sent directly to the caregiver who is responsible for the patient care.

Hospitals are moving toward subtle communications among nurses, doctors, and clinical monitoring systems to help in their quiet hospital initiatives or “Shhh campaigns.” Now test results, nurse call alerts, patient monitoring alerts, and other important notifications can reach the right person on his or her mobile device. And patient electronic medical records can also be updated at the same time.

The Alert management acts as the interpreter from database to the Doctor in terms of the danger. Whenever, the patient health care system is abnormal, The doctor gets an email from device which senses and checks the patients health status. The device takes the health metrics from the body of the patient and sends to the doctor immediately by the alerting message.

By using alert management, stream server passes the health metrics to the doctor. Then the doctor takes some effective measures according to the patients health- metrics.

DOCTOR:

The Doctor plays a vital role in taking effective measures to the patient accordingly, the message which is send by the alert system. He will be receiving the health metrics from the alerting system through the mail.

Doctor is also in communication with user, the message is also send to the user and the doctor through alert management. Depending upon the health-metrics he will directly communicates the user/patient to take the effective measures.

PHYSICAL DEVICES:

Stream server, relay, device are the physical devices which are used in our project.

TESTING:

In our project the testing team tests in terms of Unit testing, Load testing/regression testing, Integration testing. In the our project they test JSP server pages which is front end. They run the test cases accordingly to get the result as the “Running Successfully”. Each and every web page is created by the Web developers are being tested in terms of Unit testing.

Roles and Responsibilties:

Page 8: imran final documentation

Analyzing the Requirements from the client.

Participating in preparing Test Plans.

Preparing Test Scenarios.

Preparing Test Cases for module, integration and system testing.

Preparing Test Data’s for the test cases.

Preparing Test Environment to execute the test cases.

Analyzing the Test Cases prepared by other team members.

Executing the Test Cases.

Defect Tracking.

Giving mandatory information of a defect to developers in order to fix it.

Preparing Summary Reports.

Preparing Lesson Learnt documents from the previous project testing experience.

Preparing Suggestion Documents to improve the quality of the application.

Communication with the Test Lead / Test Manager.

Conducting Review Meetings within the Team.

JASPER SERVER:JasperReports is an open source Java reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML, Microsoft Excel, RTF, ODT, Comma-separated values or XML files. It can be used in Java-enabled applications, including Java EE or web applications, to generate dynamic content.

It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web applications, to generate dynamic content.

Its main purpose is to help creating page oriented, ready to print documents in a simple and flexible manner.

Features of Jasper Report:

Scriptlets may accompany the report definition, which the report definition can invoke at any point to perform additional processing. The scriptlet is built using Java, and has many hooks that can be invoked before or after stages of the report generation, such as Report, Page, Column or Group.

Page 9: imran final documentation

Sub-report.

For users with more sophisticated report management requirements, reports designed for JasperReports can be easily imported into the JasperServer - the interactive report server..

How Jasper Works:

JasperReport works in a way similar to a compiler and an interpreter. The user design a report coding it in XML in agreement to tags and attributes defined in a file called jasperreports .dtd (part of JasperReports). Using XML a user define the entire report, describing where place texts, images, lines, rectangles, how to retrieve data, how to make certain calculations to show subtotals, etc...

This XML source file must be compiled in order to produce a real report. The compiled version of the source is named "jasper file" (it ends with .jasper). A jasper file is a compiled report source.

When we have a jasper file, we need another thing in order to produce a report: we need data. This is not always true. In some cases We could want to generate a report that don't shows dynamic data, but i.e. only static text, but this can be reduced to a report that has only an empty record. To supply this records to the jasper engine we need to present it using a special jasperreports specific interface named JRDataSource.

A datasource + a jasper file = a print. A print can then be exported in many formats like PDF, HTML, XML, XLS, CVS, etc... The export will be done using special classes the implement specific exporters.

Page 10: imran final documentation

This is how the jasper report works, and the above fig shows how the report is being printed in the different printable formats.

Tools providing JasperReport capabilities:

iReport, an open source standalone graphical program that provides report designer capabilities, and is able to run reports using all data source supported by the JasperReports engine. iReport is actively maintained by JasperSoft.

DynamicReports , an open source Java reporting library based on JasperReports. It allows creating dynamic report designs and it doesn't need a visual report designer.

ReportServer , an open source business intelligence platform integrating various reporting engines including JasperReports and Eclipse BIRT.

SWTJasperViewer, an open source reusable component that can be embedded in any SWT/JFace application such as Eclipse.

Report Integration Framework , an open source report abstraction layer.

five Eclipse plug-ins that provide report designing and debugging capabilities, including:

JasperSoft Studio is a rewrite of iReports in Eclipse.

A commercial Eclipse plug-in called JasperAssistant. The JasperAssistant plug-in is built using SWTJasperViewer.

Jasper Wave Report Designer - commercial Eclipse-based report designer for Jasper Reports report engine

Plazma Report Designer, an open source Jasper Reports designer plugin for Eclipse.

Web Report Builder, an open source Java EE web application that allows web based developers and non-developers to create basic and advanced Reports based on Jasper Reports to be used as a Web Report Server.

JasperReports Installation & Configuration:

Installation default directory (Jasper Server)

Windows:    C:\Program Files\JasperReports Server-pro-version

Linux:          user_home/JasperReports Server-pro-version

Apache Tomcat server

Postgre Sql Configuration

Install Jasper Studio (New version of IReport Designer tool)

Page 11: imran final documentation

My Contribution in our Project:

I have the install the jasper server in which the data sources, domains, Ad hoc views, reports, dashboards, Admin are the module which are being set up in the Server.

Jasper server is integrated with database to extract data source information as shown in the architecture.

JasperReports Server is a stand-alone and embeddable reporting server, enabling delivery of mission critical information on a real-time or scheduled basis to the web, to the printer, or to a variety of file formats. Build a report in iReport and then deploy it to JasperReports Server. The report can then be executed, exported to a desired output, or scheduled to execute at a later date

DATA SOURCE:

JasperReports Server can connect to just about any data source. It comes standard with connectivity for JDBC, JNDI, MongoDB, Hadoop-Hive and Bean (Java bean) data sources. Jaspersoft also offers an extensible environment for including other Big Data, NoSQL data sources, flat files and custom data sources.

In this guide, we will focus on creating JDBC connections to an existing RDBMS server for reporting.

For the other options and more information check the JasperReport Server User and Admin Guides located in the /Docs folder under your JasperReports Server install path.

Sample driver names:

MySQL: mysql-connector-java-5.1.19-bin.jar jTDS: jtds-1.2.2.jar Microsoft SQL Server: sqljdbc4.jar Oracle: ojdbc6.jar PostgreSQL: postgresql-9.0-801.jdbc4.jar Pervasive: jpscs.jar, pvjdbc2.jar, and pvjdbc2x.jar

The below figure shows how data source is extracting from the database. It shows the database tables on the inside of the

Page 12: imran final documentation

DOMAIN:

A Domain is a metadata layer that provides a business view of the data accessed through a data source. A Domain presents the data in business terms appropriate to your audience, and can limit the access to data based on the security permissions of the person running the report. A Domain defined in JasperReports Server can be used to create reports, Ad Hoc views, and Domain Topics.

AD-HOC VIEW:

The Ad Hoc View panel provides tools that allow you to control what data is included in a view, and how it is organized. Along the top of the panel, there is a tool bar and two drop-down menus.

The first drop-down menu allows you to reset the view type. Use this menu to select Table, Chart, or Crosstab. You can change the view type in the Ad Hoc Editor during the design or when you reopen the design for editing.The next drop-down menu contains options for displaying a subset of the available data (Sample Data), or all available data (Full Data) in the view. Using the sample data can make the design process quicker by loading less data. Use the subset for initial design; use the full set for refining layout elements such as column width.

Page 13: imran final documentation

REPORTS:

It is a report container which creates and formats interactive reports from existing adhoc views. It basically consists of default reports and custom reports.

Default reports existed in the server by default , where as custom reports depends on the reports which we create in the template format.

The below is the default report;

Page 14: imran final documentation

DASHBOARDS:

A Jaspersoft Dashboard displays several reports in a single, integrated view. A dashboard can include other dashboards, input controls for choosing the data displayed in one or more frames, and custom frames that point to URLs for other content. By combining different types of related content, you can create appealing, data-rich dashboards that quickly convey trends.

It combine –related into custom dashboard layout.

ADMIN:

It is used to monitor the entire process in the jasper, as he can manage a console. He manages the user data and user functions.

CONCLUSION:

According to my understanding the JIT Labs project will be one of the major enhancement in digital health history. The technical aspects of the project involves lot of technical components which needs proper integration and well designed to make the project perfectly working. To understand the scope it took two or three weeks in the beginning and we segregated the architecture into various sub modules to break the complexity. The different teams involved in the project did their best to make this happen apart from class timings. The project is working good and hope it will make a positive appeal to the customers.