Applying Java Technologies in the Development of Software Application of the Hospital Information Subsystem



Similar documents
<Insert Picture Here> What's New in NetBeans IDE 7.2

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

A Modular Approach to Teaching Mobile APPS Development

Implementing the Shop with EJB

LSINF1124 Projet de programmation

Introduction Web Portal Main Page Group Management Create group Modify Group Member List... 5

Web Development using PHP (WD_PHP) Duration 1.5 months

INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3

ONLINE SCHEDULING FOR THE PRIVATE CLINIC "OUR DOCTOR" BASED ON WEB 2.0 TECHNOLOGIES

Using Netbeans and the Derby Database for Projects Contents

Document management and exchange system supporting education process

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Excel 2003, MS Access 2003, FileMaker Pro 8. Which One Should I Use?

Glassfish, JAVA EE, Servlets, JSP, EJB

Development and Implementation of Location Based Native Mobile Application

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

1. Introduction 1.1 Methodology

This presentation will provide a brief introduction to Rational Application Developer V7.5.

Pathways to Digital Employment

Rapid Application Development. and Application Generation Tools. Walter Knesel

Sports Management Information Systems. Camilo Rostoker November 22, 2002

Oracle Database 10g Express

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

LOCAL CRM APPLICATION FOR BILLBOARD ADVERTISING COMPANY

DIPLOMA IN WEBDEVELOPMENT

Software: Systems and Application Software

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

S.A.T.E.P. : Synchronous-Asynchronous Tele-education Platform

A generic framework for game development

HTML5. Turn this page to see Quick Guide of CTTC

Java SE 7 Programming

Java SE 7 Programming

A standards-based approach to application integration

Java SE 7 Programming

AUTOMATION OF HEALTH RECORD MANAGEMENT USING SOME SELECTED HOSPITALS IN SOUTH WESTERN NIGERIA AS CASE STUDY

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860

Report on the Train Ticketing System

Cache Database: Introduction to a New Generation Database

CHAPTER 6: TECHNOLOGY

A Database Re-engineering Workbench

A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Dr. Z. A. Usmani, Mohsin,Diksha,Husainali,AbdulKadir Page 15

SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES

Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)

DIABLO VALLEY COLLEGE CATALOG

Managing DICOM Image Metadata with Desktop Operating Systems Native User Interface

For Course Details, visit:

INTRODUCTION: SQL SERVER ACCESS / LOGIN ACCOUNT INFO:

Example for Using the PrestaShop Web Service : CRUD

NetBeans IDE Field Guide

CS 209 Programming in Java #1

INTRODUCING ORACLE APPLICATION EXPRESS. Keywords: database, Oracle, web application, forms, reports

Database: SQL, MySQL

Qint Software - Technical White Paper

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

An Electronic Journal Management System

Building Java Servlets with Oracle JDeveloper

An introduction to creating JSF applications in Rational Application Developer Version 8.0

CSCI110 Exercise 4: Database - MySQL

Performance Comparison of Persistence Frameworks

DEVELOPING AND IMPLEMENTING MULTIUSER, FULLY RELATIONAL GIS DATABASE FOR DESKTOP SYSTEMS USING OPEN SOURCE TECHNOLOGIES

CrownPeak Java Web Hosting. Version 0.20

Computer Training. NR Computer Learning Center 1835 W. Orangewood Ave #200 Orange CA 92868

Configuring Apache Derby for Performance and Durability Olav Sandstå

1 File Processing Systems

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Business Process Management

Efficiency of Web Based SAX XML Distributed Processing

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Journal of Chemical and Pharmaceutical Research, 2015, 7(3): Research Article

Web development... the server side (of the force)

An Oracle White Paper May Oracle Database Cloud Service

Computer Information Systems (CIS)

Java Application Developer Certificate Program Competencies

1.264 Lecture 15. SQL transactions, security, indexes

Log Analyzer Reference

An Oracle White Paper June RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

Analytics Configuration Reference

B.Sc (Computer Science) Database Management Systems UNIT-V

MiContact Center Outbound

AD-HOC QUERY BUILDER

Java (J2SE & J2EE) and Web Development Training Catalog

Using your content management system EXPRESSIONENGINE CMS DOCUMENTATION UKONS

Web Design and Implementation for Online Registration at University of Diyala

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Remote Data Collection and Analysis Tom Worlton Argonne National Laboratory

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

System Architecture V3.2. Last Update: August 2015

SOA & Web Services Development Survey

1. Overview of the Java Language

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn

PG DAC. Syllabus. Content. Eligibility Criteria

Specialized Programme on Web Application Development using Open Source Tools

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

Object Oriented Database Management System for Decision Support System.

Transcription:

Applying Java Technologies in the Development of Software Application of the Hospital Information Subsystem DEJAN SREDOJEVIĆ RADOVAN TOMIĆ Higher School of Professional Business Studies Vladimira Perića Valtera 4, 21000 Novi Sad SERBIA dejansredojevic@vps.ns.ac.rs http://www.vps.ns.ac.rs Abstract: - The greatest innovations in medicine are based on information systems which are a combination of information technologies (IT) and people's activities that support operations, management and decision making. Today do not exist health institutions which do not, in any way, use information technologies. Increase in the number of private hospitals demands larger number of software applications which are necessary for faster and easier work of the doctors. This paper described principle how software application which is programmed, for the private hospitals, works. Because of its advantages in comparison to other programming languages, I used language Java. Programming environment in which this is application is developed is NetBeans. System MySQL which is both fast and free is used to control database. Key-Words: - Java, NetBeans, computers, databases, Information technologies, Health information system 1 Introduction Doctor s office, which we are accustomed to, with a lot of drawers full of medical files, prescriptions, becomes past. Today we are all witnesses of the great influence of computers or informatics in all segments of our lives, especially when science and technology are concerned. Numerous scientific studies in the world, dealing with impact of contemporary Information Systems - IS on results in the field of medicine, point out that the main factors of fast growth of productivity and quality - are the development and application of Information technologies [1]. Computers when used in medicine and other areas, significantly improve business, as well as problems concerning paperwork, files etc. We are all familiar with impracticability of medical files, because of their size, and you need experience and great agility to find the right file. This leads to neurosis of the already ill patient, upsetting the doctor etc. Because of this and many other problems in medicine, health informational system is developed which means that computers and informational technologies are applied in all areas of medicine. Because of a large number of private clinics which are not in financial situation to use expensive software for their computer systems, there is a great demand for cheaper software applications. One of the problems is also computer literacy of medical workers and their inability to use complex software applications, so simplicity of applications is one of the most important demands for the most of the hospitals. Software applications have become an indispensable tool for the specialist engaged in the medical act [2]. In this paper it is described the principle how one simple and completely free application works. However, it is still being tested and it is dedicated to one private hospital near Novi Sad, Serbia. 2 Used technologies and software Application is developed in programming environment NetBeans by applying Java programming language and MySQL system to control database. Further on, I will describe these technologies and the principle how this application works. 2.1 Java technologies Java is software technology which is platform at the same time and objectively orientated programming language [3]. Java platform represents computer environment Sun Microsystems in which you can test the application developed by using Java programming language and developmental tools. In this case, ISBN: 978-1-61804-169-2 58

platform does not represent specific hardware or operative system. This is implementing mechanism realized by using virtual machine and standard libraries which provide for desired functionality. Java platform includes: - Standard Edition or JSE, - Enterprise Edition or JEE, - Micro Edition or JME. Java 2 Standard Edition, J2SE enables implementing environment for development of desktop application and represents core of funcionality for next editions Java platform. (Fig. 1). Fig. 1 Java 2 Standard Edition The goal of J2EE is to create a reliable, high performance, secure, transactional, distributed architecture that would support concurrent user access. The architecture was also to allow the creation of applications that would seamlessly integrate with existing (presumably non-java-based) systems while supporting future modifications and scaling to match demand with relative ease [4]. 2.1.1 Java Persistence API Java persistence application interface (Java Persistence API - JPA) is an implementation of an object relational mapping. JPA allows mapping Java objects to relational database tables. Earlier versions used the entity beans that attempted to keep the data in memory synchronized with the database. Theoretically this is a very good idea, but in practice, it has resulted in applications which are slow to execute. JPA are Java classes which condition is associated with spreadsheets, relational databases. Instances of such entities correspond to a single row in a table. Persistence of objects means that individual objects can outlive the application process in which they are incurred. They can be stored in the database and re-create at some point. Persistence in Java almost always represents data storage in a relational database, using SQL. Projects that use JPA must have persistent unit defined in persistence.xml file. The first time you create the JPA project, NetBeans will detect that there is no persistence.xml file and it will automatically be created. 2.2 MySQL MySQL is a very fast, robust and free system for relational database management. The database provides very efficient data storage, search, as well as sorting and retrieving data. MySQL server manages access to the data allowing multiple users to work with them simultaneously. At the same time it allows a fast access reserved for authorized users only. Therefore, MySQL is a multi-user and a multithread server [5]. MySQL is a common choice for open source projects, and is distributed as part of the Linux server distribution. MySQL is free for most uses. The MySQL server version 5.5. was used for this project. It supports structured query language SQL, which is accepted worldwide as the standard language for accessing relational systems for managing databases. SQL allows you to enter data into the database and read data from it. Relational databases consist of relations (relation between the data) that are commonly referred to as tables. Table has a name and it consists of columns and rows [6]. Each column in the table has a unique name and contains the correct data type. Table columns are also called fields or attributes. Each row in the table has the same attributes also known as the records. Each row comprises individual values located in columns, and each value must have a data type determined by column in which it is located. It is important to find a way of unambiguous identification of each row in the table. Identity column in a table is called a key or primary key. The key does not have to consist of only one column. Databases are usually composed of more than one table for which the keys are used to connect [7]. 2.3 MicroOLAP Database Designer for MySQL Database Designer for MySQL is a powerful solution for visual database development: creation, modification and reverse engineering. It greatly simplifies the process of database development and maintenance and makes it clear. By working with graphical representation of tables, columns, ISBN: 978-1-61804-169-2 59

relations and other objects, you can build a database model that can be used to generate a physical database or to modify an existing one. The model can be automatically created from an existing database by reverse engineering [8]. Database Designer for MySQL is specially developed for MySQL database and takes into account its features, has build-in support of tables, triggers, references, stored procedures and functions, views, events, indexes, foreign keys and other database objects. Database Designer for MySQL allows you to construct your database in easy-to-understand visual environment by working with graphical representation of tables, columns, relations and so on. Finally you will get Physical Entity Relationship Model (ER Model) that can be exported in SQL script or directly built on working MySQL database server. After modification of model you can synchronize existing MySQL database with it. 2.4 NetBeans NetBeans is integrated development surrounding (IDE) and open code platform. Initially NetBeans was developing surrounding only for Java applications, while version 6 supports several programming languages including Java, JavaFX, C, C++, PHP, Groovy, Scala i Rubby. NetBeans has installed support for Java SE (Standard Edition) technology which is usually used for computers, Java ME (Micro Edition) technology is used on small devices like mobile phones and Java EE (Enterprise Edition) which is usually implemented on servers. It is also used NetBeans IDE version 7.0 supporting Java EE technology [9]. NetBeans version 7.0 supports Java EE 6 which brings new options and improvements. In continuation implemented technologies for Java EE are listed. NetBeans has excellent editor code which enables complete support for other languages like: HTML, CSS, SQL [10]. Fig. 2 shows the initial application form: Fig. 2 Initial application form In order for a program to function, it is necessary to connect to the database because all the data are stored in the database. The connection to the database is achieved through executing program code shown in Fig. 3. try { Class.forName ("com.mysql.jdbc.driver"); conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/ hospital", "root",""); stmt = conn.createstatement(); catch(exception ex){ ex.printstacktrace(); Fig. 3 Connection to the database In order to automatically link the tables in the application forms to the corresponding tables in the database when you create the form in NetBeans, Master/Detail Sample forms are used. The Patient module is connected to the table patients from the database (Fig. 4). 3 Application Review Application implemented and described in this paper is not found a practical use yet. It is still in the testing phase, with an intention of using it in a private clinic. The application consists of four modules: - Patients - Doctors - Services and - Health records of patients Fig. 4 Patient module In this form there is a table with all the patient s names and their basic information. For easier access to the patient data, a search module was implemented. Data in the table can be easily ISBN: 978-1-61804-169-2 60

changed (delete, add new patient, etc.). Detailed information on the of any patient's health file is available by clicking on See Health Record button. Patient's medical record is shown in Fig. 5. In the Basic Information panel displays basic information about the patient selected in the module Patients (data are retrieved from the database table Patients). For the HealthRecord to recognize the patient s name from a Patients module, we have forwarded the selected patient ID to the constructor (Fig. 6). In the second panel, New Visits, during an appointment the doctor is filling the required information in the form (selection from a list of doctors, admission diagnosis, type of service provided and where it took place). All data entries in this form are stored in a corresponding tables in the PreparedStatement pst = conn.preparestatement(sql); pst.setint(1, Integer.parseInt (this. idpat)); pst.setint(2, finddoctorkey()); pst.setint(3, findservicecipher()); pst.setint(4, Integer.parseInt(quantityField. gettext())); java.sql.date sqldate = new java.sql.date(new java.util. Date().getTime()); // insert date pst.setdate(5, sqldate); pst.setstring(6, diagnosisfield.gettext()); if (jcheckbox.isselected()) { pst.setboolean(7, true); else { pst.setboolean(7, false); pst.executeupdate(); Fig. 7 Storing data in the database If the patient has no existing health record, there is an option to create a new one by pressing the button Open a new Health Record as shown in Fig. 8. Fig. 5 Health record of the patient PatientRecord record = new PatientRecord (IdOfPatient()); record.setvisible(true); public String IdOfPatient(){ return idpatfield.gettext(); Fig. 6 Running of exactly determined patient form database (Fig. 7), for the next appointment, the doctor can see the patient's medical history, which is written in the module jlist on form PatientRecord. String sql = "INSERT INTO rendered_service (idpat, iddoctor, cifservice, quantity, dateserv, diagnosis, terrain)"+"values (?,?,?,?,?,?,?)"; Fig. 8 New health record of patient As in the previous case, all entered data is stored in the database. One of the most frequently used modules is ComboBox. An example of loading data from the database in a ComboBox is shown in Fig. 9. String sql = "SELECT * FROM hospital.doctors ORDER BY lastname"; try { res = stmt.executequery(sql); while (res.next()) { ISBN: 978-1-61804-169-2 61

jcombobox.additem(res.getstring ("lastname")+" "+res. getstring("name")); catch (Exception ex) { ex.printstacktrace(); Fig. 9 Loading data from the database in a ComboBox A list of potential services, their codes and prices can be seen in the Services module, which is available at the initial application form (Fig. 10). Each service has a password, name and price. work. This is the reason why some doctors still use paper as patient's medical record. This application can be changed quickly and easily according to the demands of doctors, which means that health facilities do not have to buy new applications whenever there is the need for some new feature in the programme. The application described in this paper, unlike most other similar applications is free and fast, to meet the requirements of the private clinics the use of this software was intended for. The plan is to upgrade the system to web application, add new functions to the software and connect to software and databases from other health care institutions via the Internet. Fig. 10 List of available services The Health Records module (from initial form) shows all medical records, their unique ID numbers, as well as patients and doctor s IDs. 4 Conclusion Java programming language in combination with the NetBeans environment and databases is a very powerful tool for object-oriented programming. Principles of inheritance and the use of ready-made classes provide great opportunities for developers to create complex programs with substantial savings in time and reduction in code. This modularity also makes it easier to continue to maintain the application done in Java. Java is particularly useful when working with databases, especially if you are using NetBeans development environment, which offers the possibility of easy, fast and secure management, creation and modification of MySQL databases. The basic advantage of application described in this paper compared to some other applications is simplicity of data manipulation of patients. In complex systems there is often a problem, especially with older doctors who have not used computers and software applications before in their References: [1] Sredojević, D., Marčićević, Ž., Vesin, B., Information Systems in Education, Proceedings of the 31 st International Conference on Organizational Science Development, Portorož, 2012, pp. 1103-1108. [2] Cordos, A., Orza, B., Vlaicu, A., Meza, S., Avram, C., Petrovan, B., Hospital Information System using HL7 and DICOM standards, WSEAS Transactions on Information Science and Applications, Vol. 7 Issue 10, 2010, pp. 1295-1304. [3] Vlajić, S., Napredni koncepti Jave i Web programiranje u Javi, FON, Beograd, 2005. [4] Xiaoyan, Y., Weifeng, Y., Jifang, L., Deliao, Y., Study on application of advanced J2EE in stocks exchange, WSEAS Transactions on Information Science and Applications, Vol. 6, Issue 1, 2009, pp. 73-83. [5] Golubchik, S., Hutchings, A., MySQL 5.1 Plugin Development, Packt Publishing Ltd, Olton Birmingham, GBR, 2010. [6] Davies, A., High Availability MySQL Cookbook, Packt Publishing Ltd, Olton Birmingham, GBR, 2010. [7] Pallaw, V., K., Database Management Systems, Asian Books Pvt Ltd, Delhi, IND, 2010. [8] Stephens, R., Beginning Database Design Solutions, 2005. [9] Salter, D., Jennings, F., Build SOA-Based Composite Applications Using NetBeans IDE 6, Packt Publishing Ltd, Olton Birmingham, GBR, 2008. [10] Petri, J., NetBeans Platform 6.9 Developer's Guide, Packt Publishing Ltd, Olton Birmingham, GBR, 2010. ISBN: 978-1-61804-169-2 62