2.2.1 database programming.doc

150
ERPTS: AN ORACLE WEB APPLICATION _______________________ A Master's Project Presented to Department of Mathematics and Computer Science Indiana State University Terre Haute, Indiana ________________________ In Partial Fulfillment of the Requirements for the Master of Science Degree _______________________ by Mingyin Yang August 2004

Upload: databaseguys

Post on 25-Jun-2015

273 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 2.2.1 Database Programming.doc

ERPTS: AN ORACLE WEB APPLICATION

_______________________

A Master's Project

Presented to

Department of Mathematics and Computer Science

Indiana State University

Terre Haute, Indiana

________________________

In Partial Fulfillment

of the Requirements for the

Master of Science Degree

_______________________

by

Mingyin Yang

August 2004

Page 2: 2.2.1 Database Programming.doc

Acknowledgements

I would like to take this opportunity to express my appreciation to those who

helped me with encouragements, technical supports, great thoughts, and invaluable

suggestions.

Many thanks to Dr. Henjin Chi, my project advisor, for his time, kindness,

patience, and strong support. Also thank him deeply for his wonderful advice and warm

encouragements over the years. Without his guidance, I would never have been able to

accomplish this. I will cherish and remember those experiences forever.

The project/study would not be complete without recognizing the efforts of my

committee members, Dr. Robert W. Sternfeld and Dr. Larry E. Kunes, who have nurtured

me over the study period. Special thanks to Aaron King, network administrator,

Department of Mathematics and Computer Science, for his kind and professional

technical support.

Last but not least grateful thanks are given to Dr. Richard A. Easton, my advisor

for the graduate study, chairperson of Department of Mathematics and Computer

Science, for his kind help and constant support throughout my study in Department of

Mathematics and Computer Science.

I am indebted to my family members, Benjamin and Yuhuan, for their love,

sacrifice and support.

Page 3: 2.2.1 Database Programming.doc

TABLE OF CONTENTS

Acknowledgements............................................................................................................. ii

Chapter One

Introduction..................................................................................................................1

Statement of Problem.......................................................................................1

How Hospitals Respond...................................................................................3

Information Technology Solution....................................................................3

How the Documents Structured.......................................................................5

Chapter Two

History of Oracle RDBMS and Oracle Application Architecture ..............................7

Oracle RDBMS Past and Present.....................................................................8

Oracle Database Application Development Features....................................10

Web Application Architecture.......................................................................15

ERPTS Implemented in a 3-tier Architecture................................................17

Chapter Three

Oracle Database Installation and Configuration........................................................21

Oracle Database Installation Concepts..........................................................21

Preinstallation Tasks......................................................................................24

Installing the Oracle9i Database 9.2.0.3 on Windows 2003 Server..............26

Testing the Oracle9i Installation....................................................................33

Exploring the Oracle9i Database Release 2 Installation................................40

iii

Page 4: 2.2.1 Database Programming.doc

Chapter Four

Oracle HTML DB Introduction, Installation and Administration.............................44

Introduction to HTML DB.............................................................................44

Installing HTML DB and Oracle HTTP Server.............................................48

HTML DB Administration............................................................................53

Chapter Five

ERPTS Design and Development..............................................................................61

ERPTS Application Design and Implementation .........................................61

Database Design.............................................................................................68

Chapter Six

ERPTS User’s Guide.................................................................................................80

Getting Started with ERPTS..........................................................................80

Front Desk Register ......................................................................................82

Pre-check Examine........................................................................................84

Treatment Tracking........................................................................................87

Lab Report.....................................................................................................92

X-Ray Report.................................................................................................94

Patient Release...............................................................................................96

Administrator.................................................................................................96

Chapter Seven

Conclusion ................................................................................................................99

Bibliography ..................................................................................................................101

iv

Page 5: 2.2.1 Database Programming.doc

Chapter One

Introduction

Statement of Problem

“Emergency room overcrowding has become more prevalent, and

hospitals in any given community experience emergency room overload

simultaneously, serious threats to patient care are emerging”.[1] Nowadays, it is

very common for patients to complain about emergency room health care

services all over the states. High demand especially during the winter flu season

in emergency rooms in hospitals across America causes overloads. Overall

inpatient capacity strains cause patients to be faced with longer waits in the

Emergency Room to receive necessary services. However, emergency rooms

have faced problems, such as too many patients, too few beds, a severe nursing

shortage, low productivity and communication problems, more than patients can

imagine. “Emergency Room overflows stem from both demand-and supply-side

problems: increased patient demand for ER services and increasingly

constrained supply.”[2] The following are listed as reasons for sure:

A decade of hospitals downsizing and reducing operating costs, local

health care systems have been left with little slack to accommodate

unforeseen trends in patient volume.

Page 6: 2.2.1 Database Programming.doc

In many communities, the number of ERs has decreased because of

hospital closures, Downsizing and mergers, leaving fewer facilities to

respond to growing demand. Between 1994 and 1999, the number of ERs

across the country decreased by 8 percent. (see table1.1)

Change in Hospital Capacity in U.S.A., 1994-1999

  1994 1999 PERCENT CHANGE

1994-1999

EMERGENCY

DEPARTMENTS

4,547 4,177 -8.1%

MEDICAL/SURGICAL BEDS 533,848 439,426 -17.7

ICU BEDS 72,229 70,215 -2.8

SPECIAL CARE BEDS* 15,373 14,848 -3.4

TOTAL INPATIENT BEDS** 621,450 524,489 -15.6

*Burn care beds and other special care beds intended for care that is less

intensive than that provided in an ICU and more intensive than that provided in

an acute area.

**Total of medical/surgical beds, ICU beds and special care beds.

Source: American Hospital Association, 1994 and 1999

Table 1.1

Too many patients, too few beds and a severe nursing shortage.

Uninsured patients seeking care in emergency rooms; and increased

enforcement of the federal Emergency Medical Treatment and Labor Act.

Many patients with less serious medical problems seek treatment in ERs

because they have difficulty getting care elsewhere.

2

Page 7: 2.2.1 Database Programming.doc

How hospitals respond

To address the most pressing problems, hospitals in many communities

have developed coordinated diversion programs to ensure patients maintain

reasonable access to care.

1. Hospitals in many communities have developed coordinated diversion

programs to ensure patients maintain reasonable access to care. Some

have moved to expand ER capacity.

2. Others have taken steps to address inpatient capacity constraints by

reopening licensed beds.

3. Many hospitals have tried to improve recruitment and retention of

permanent nursing staff. Another way that hospitals are dealing with the

nursing shortage is by reassigning nurses from outpatient clinics to

inpatient units.

4. Hospitals also are focusing on the bottle-neck problem by improving the

efficiency with which patients are discharged. One approach is to free up

beds by discharging patients earlier in the day. Many have tried to

decrease lengths of stay by moving patients to extended care settings.

Information Technology Solution

Nowadays, Information Technology (IT) plays an important role in Health

Care. In health care, the expectation for IT to deliver cost savings and quality

3

Page 8: 2.2.1 Database Programming.doc

improvements has never been greater. Particularly, tracking of a patient's care in

the ER is crucial. An IT solution smoothes emergency room organization, waiting

time is reduced and communication is improved. An IT solution improves

emergency room patient tracking in the following aspects:

1. It provides better tracking of a patient’s location.

2. It uses a risk rating so severely ill patients are treated in a timely manner.

3. It tracks patient arrival time compared to the current time.

4. It tracks patients’ symptoms, temperature, heart rate, lab and X-ray

examination results.

5. It reduces report waiting time, X-ray cycle time and improves staff

communication.

6. It improves patient care productivity, increases the efficiency of patient

care and patient satisfaction.

7. At any moment it is possible to check the system to see the number of

patients in the waiting room and how many rooms and beds are open.

8. It will help prevent hospital errors.

9. It has the potential to provide complete data integration. All the patient’s

records and information will be stored in the computer system.

10.One system provides information that can be accessed where needed

throughout the hospital.

Emergency Room Patient Tracking System (ERPTS) is a web based

patient tracking system for hospital Emergency Room. This project represents a

4

Page 9: 2.2.1 Database Programming.doc

3-tier architecture which includes Oracle9i R2 DBMS as the database, Oracle

HTTP Server 10g as the Web server, HTML DB 1.0 as the web application

engine, SQL, PL/SQL, JavaScript and HTML as the programming languages.

Windows 2003 server served as the server side operating system (OS) for

database and windows XP professional served as the client side OS for Oracle

HTTP Server and HTML DB engine. ER staff in different locations will have the

ability to store and retrieve patient records, to keep track patient’s location, ER

bed usages and the numbers of patients from the database in the server.

Project primary goals (including the following tasks):

Installation and configuration of Oracle9i

Installation and configuration of HTML DB and HTTP Server

Administration of HTML DB

Database design and Data Manipulation

Implementation of ERPTS using SQL, PL/SQL, HTML, JavaScript

How the documents structured

Chapter Two provides an overview of the history of Oracle Database as

the first commercial Relational Database Management System, describes Oracle

Database Application Development Features, and differentiates two-tier and

three-tier Oracle Application Architecture.

5

Page 10: 2.2.1 Database Programming.doc

Chapter Three describes tasks required to install Oracle Database 9i R2,

outlines some important installation concepts, software and hardware

requirements, step by step installation process, and database configurations.

Chapter Four introduces a new Oracle Web-centric Application

development engine – HTML DB, outlines the processes of installation of HTML

DB and Oracle HTTP Server, and describes HTML DB administrative tasks.

Chapter Five deals with ERPTS web application design and

implementation including database design, implementation of business rules, and

creation of database objects.

Chapter Six is the user’s guide for ER staff in different positions. It

explains how different users could login in, how to insert, update, delete patient

records and how to retrieve patient information.

Chapter Seven is a conclusion of the whole project and describes future

enhancements that could be made.

Bibliography gives a list of the books that were helpful during the

proposal and implementation of this project.

6

Page 11: 2.2.1 Database Programming.doc

Chapter Two

History of Oracle RDBMS and Oracle Application Architecture

Oracle Database has been in the market for 25 years since Oracle

Corporation presented the world with the first commercial Relational Database

Management System (RDBMS) in 1979. In 2003, Oracle garnered 39.8 percent

of the market for software that helps users retrieve and store information, with

IBM nabbing 31.3 percent and Microsoft grabbing 12.1 percent, respectively,

according to the Framingham, Mass.-based firm.

“Over the last 10 years Oracle has transferred itself from being a database

provider, to being a complete solution provider for almost every possible

enterprise application development requirement” [3]. Oracle has achieved this by

embracing open standard languages and technologies such as XML, J2EE

framework, and PL/SQL standard. In particular, the front-to-backend data

integration and support for a web-based application platform have become the

7

Page 12: 2.2.1 Database Programming.doc

most popular features in the enterprise. HTML DB web application engine comes

with Oracle 10g is the combination of above features for rapidly implement web-

based applications.

2.1 Oracle RDBMS Past and Present

1970 The concept of the relational database was first described around 1970 by

Dr. Edgar F. Codd in an IBM research publication entitled "System R4

Relational."

1977 Silicon Valley-based software engineers Larry Ellison, Bob Miner, and Ed

Oates—having just founded the consulting company Software Development

Laboratories—decide they can build a commercially viable RDBMS.

1979 Oracle Release 2--the first commercially available relational database to

use SQL.

1981 The first developing rudimentary tool for reporting is called the Interactive

Application Facility, a declarative tool for generating and running transaction-

processing forms and a predecessor to the Oracle mainstay, SQL*Forms.

1983 The database was rewrite in C which gives the new product maximum

portability to run on many brands and types of computers.

1984 A notable feature is data read consistency was first introduced in Oracle

Database.

8

Page 13: 2.2.1 Database Programming.doc

1985 The versions V5.0 and V5.1 are remarkable because they are among the

first RDBMS to operate in client/server mode.

1986 Oracle begins to explore the concept of clustering, in which multiple loosely

coupled machines not sharing memory can access the same database.

1988 Oracle version 6 introduces one of the most important concepts is row-level

locking, meaning that a transaction performing writes will lock only the affected

rows and not an entire table, to improve system throughput when many users are

accessing the same data. Hot Backup is another contribution.

1992 Oracle releases version 7 of its database. The database has a vast array of

new performance features, administration enhancements, new tools for

application development, and security methods. Oracle7 also includes

capabilities such as stored procedures, triggers, and declarative referential

integrity, making the database programmable and able to enforce business rules.

1995 Oracle CEO Larry Ellison introduces his vision of the network computer, a

small, inexpensive device that makes it easy to run applications that access

information via the internet.

1996 Two years after porting its database to the Microsoft Windows NT operating

system, Oracle ports all of its development tools, object technology, and

modeling and analysis tools to NT as well.

1997 As with Oracle7 and its support of client/server computing, the newly

released Oracle8 database represents the support and extension of a new

paradigm, the internet and network computing.

9

Page 14: 2.2.1 Database Programming.doc

1998 Oracle8i is immediately named the internet database because of its wide

array of new features designed to support internet-based activities and

applications.

1999 Oracle releases a set of products and services designed to help companies

integrate internal applications and interfaces and communicate with trading

partners and customers.

2000 Oracle ships Oracle E-Business Suite Release 11i, the industry's first

internet-enabled integrated suite of business applications that spans both front-

and back-office operations. All applications are built on a single data model that

provides seamless, real-time business intelligence throughout a company.

2001 Oracle releases Oracle9i Database. Possibly Oracle's most significant

release ever, the new database contains technologies that will change the

competitive landscape.

2002 Oracle9i Application Server Release 2 released including support for J2EE

applications and is more closely integrated with Oracle's application development

tools.

2004 Oracle10g released.

2.2 Oracle Database Application Development Features

Applications are often built on the foundation of the Oracle database

system though different architecture approaches. Oracle application architectures

will be described in next section. The features of the Oracle database and related

10

Page 15: 2.2.1 Database Programming.doc

products described in this section are used to create applications. This section

focuses on database programming and Oracle Internet Developer Suite, a set of

tools used in Oracle Database Server and Oracle Application Server.

2.2.1 Database Programming

All flavors of the Oracle database include different languages and

interfaces that allow programmers to access and manipulate the data in the

database. Database programming features usually including SQL, PL/SQL, Java,

XML, C, and C++.

SQL

The ANSI standard Structured Query Language (SQL) provides basic

functions for data manipulation, transaction control, and record retrieval from the

database. However, most end users interact with Oracle through applications

that provide an interface that hides the underlying SQL and its complexity. SQL

was introduced by IBM and become a database standard language in 1992.

Oracle has added more new features in corresponding to development of Oracle

Database.

PL/SQL

Oracle's PL/SQL, a procedural language extension to SQL, is commonly

used to implement program logic modules for applications. PL/SQL can be used

to build stored procedures and triggers, looping controls, conditional statements,

11

Page 16: 2.2.1 Database Programming.doc

and error handling. You can compile and store PL/SQL procedures in the

database. You can also execute PL/SQL blocks via SQL*Plus, an interactive tool

provided with all versions of Oracle.

Java

Oracle8i introduced the use of Java as a procedural language with a Java

Virtual Machine (JVM) in the database. JVM includes support for Java stored

procedures, methods, triggers, Enterprise JavaBeans, CORBA, IIOP, and HTTP.

The inclusion of Java within the Oracle database allows Java developers

to leverage their skills as Oracle applications developers. Java applications can

be deployed in the client, Oracle9i Application Server, or database, depending on

what is most appropriate.

XML

XML, short for eXtensible Markup Language, is crucial for business-to

business data transfer. Oracle has recognized the importance and value of XML.

As a result, Oracle 8i is the first XML-enabled database on the market. The

Oracle XML developer’s Kit provides XML component libraries that can be used

to build XML support applications, such as Business-to-Business, Internet

Applications, Content-management applications, Messaging and Web Services.

12

Page 17: 2.2.1 Database Programming.doc

Third-generation languages

Programmers can interact with the Oracle database from C, C++, COBOL,

or FORTRAN applications by embedding SQL in those applications. Prior to

compiling the applications using a platform's native compilers, you must run the

embedded SQL code through a pre-compiler. The pre-compiler replaces SQL

statements with library calls the native compiler can accept. Oracle provides

support for this capability through optional pre-compilers for languages such as C

and C++ (Pro*C) and COBOL (Pro*COBOL).

2.2.2 Oracle Internet Developer Suite

Many Oracle tools are available to developers to help present data and

build more sophisticated Oracle database applications. This section briefly

describes the main Oracle tools for application development: Oracle Forms

Developer, Oracle Reports Developer, Oracle JDeveloper, Oracle Portal and

Oracle HTML DB.

Oracle Forms Developer

Oracle Forms Developer provides a powerful tool for building forms-based

applications and charts for deployment as traditional client/server applications or

as three-tier browser-based applications via Oracle9i Application Server.

Developer is a fourth-generation language (4GL). With a 4GL, programmer

13

Page 18: 2.2.1 Database Programming.doc

defines applications by defining values for properties, rather than by writing

procedural code. Developer supports a wide variety of clients, including

traditional client/server PCs and Java-based clients. Version 6 of Oracle Forms

Developer adds more options for creating easier-to-use applications, including

support for animated controls in user dialogs and enhanced user controls. The

Forms Builder in Version 6 includes a built-in JVM for previewing web

applications.

Oracle Reports Developer

Oracle Reports Developer provides a development and deployment

environment for rapidly building and publishing web-based reports via Reports for

Oracle9i Application Server. Data can be formatted in tables, matrices, group

reports, graphs, and combinations. High-quality presentation is possible using

the HTML extension Cascading Style Sheets (CSS).

Oracle JDeveloper

Oracle JDeveloper was introduced by Oracle in 1998 to develop basic

Java applications without writing code. JDeveloper includes a Data Form wizard,

a BeansExpress wizard for creating JavaBeans and BeanInfo classes, and a

deployment wizard. JDeveloper includes database development features such as

various Oracle drivers, a Connection Editor to hide the JDBC API complexity,

database components to bind visual controls, and a SQLJ precompiler for

embedding SQL in Java code, which you can then use with Oracle. You can also

14

Page 19: 2.2.1 Database Programming.doc

deploy applications developed with JDeveloper using the Oracle9i Application

Server. Although JDeveloper uses wizards to allow programmers to create Java

objects without writing code, the end result is generated Java code by

JDeveloper.

Oracle9iAS Portal

Oracle9iAS Portal, introduced as WebDB in 1999, provides an HTML-

based tool for developing web-enabled applications and content-driven web

sites. Portal application systems are developed and deployed in a simple

browser environment. Portal includes wizards for developing application

components incorporating "servlets" and access to other HTTP web sites. For

example, Oracle Reports and Discoverer may be accessed as servlets. Portals

can be designed to be user-customizable. They are deployed to the middle-tier

Oracle9i Application Server.

Oracle HTML DB

Oracle HTML DB is a hosted declarative development environment for

developing and deploying database-centric Web applications. The detail

description of HTML DB can be found in chapter four.

2.3 Web application Architecture

Before application architecture technology was introduced into enterprise,

computer applications started life as a small side-project with information limited

15

Page 20: 2.2.1 Database Programming.doc

sharing, minimal work, and a small number of users. Every application

component has to run on a single standalone computer. With the development of

networking and Internet, application architecture make applications more flexible

and extendable. Oracle internet applications are bulit on different application

architectures which take advantages of Oracle Internet Application Server (iAS)

and Oracle Database. The most used application architecture are 2-tier, 3-tier

and N-tier architecture. Technical architecture is concerned about how large

software applications can be or should be organized for better performance and

ease of development. The commonly used option is 3-tier or N-tier architecture.

ERPTS is built on a 3-tier architecture including data tier, business logic tier and

web interface presentation tier.

2-Tier Architecture

A tier or layer in application architecture is a partition of an application

which represents a particular type of functionality. Two-tier architecture is a

simple form which includes two partitions, which are the application logic on one

tier and the data access logic on the other tier. See Fig 2.1

16

Page 21: 2.2.1 Database Programming.doc

Fig 2.1 Two tier (Client/Server) architecture

This two-tier model divided the application computing logic into a back-end

database server and a fat client residing on an individual desktop where the user

GUI software run. So this type of model is well known as client-server

architecture. The client computer has a set of database-specific drivers, such as

Net8 and JDBC, and software application which involves business logic. This is

why the client so called “thick client”.

Developing and deploying 2-tier client-server applications has some

obvious disadvantages:

A big number of users cause bottleneck and require high performance

hardware

Software applications have to be physically installed on each client.

Update or patch for the application has to be applied separately and

costly.

17

Page 22: 2.2.1 Database Programming.doc

Multiple client-server applications deployed to an end client will

dramatically eat up resources and reduce productivity.

Two-tier applications are usually implemented with proprietary

development tools, such as Oracle Forms, Visual Basic and Powerbuilder,

that lock business rules into a specific technology. Most desktop

application development tools do not integrate well and it is difficult to

share code among these development tools, even to achieve the same

business logic.

Based on the above discussion, a better solution was introduced into the

world – 3-tier architecture.

2.4 ERPTS Implemented in a 3-tier Architecture

Three-tier architecture is not simply adding a tier in two-tier architecture. It

splits the application logic into three distinct tiers: a presentation tier (or client-

tier), an application tier, and a data tier. See Fig 2.2

Fig 2.2 Three tier architecture

18

Page 23: 2.2.1 Database Programming.doc

ERPTS with three-tier architecture is organized with three independent

layers or tiers, each of which can run on the same machine or all running on

different machines. The three tier architecture for ERPTS is shown in Fig 2.3.

The three tiers reflect the specialized functions of a web-based enterprise

application.

Fig 2.3 ERPTS three tier architecture

Presentation Tier (or Client Tier)

Presentation tier implements the "look and feel" of an application. It is

responsible for how data is presented, receiving user events and controlling the

user interface. This tier does not contain any business rules but a web browser.

Therefore, it is also called “thin client”. The programming languages commonly

used are HTML, CSS and JavaScript.

Application Tier

19

Page 24: 2.2.1 Database Programming.doc

This layer implements the business rules of the applications. Business

rules are often segmented into small software units, such as functions and

procedures written in Oracle database languages or lower level languages that

are used by the thin client tier. The code to force business rules is never allowed

to retrieve or manipulate data directly from a data store. There're several sub-

layers within the application layer including control layer, transaction layer,

business object layer and data access object layer.

Data Tier

This is the layer that is responsible for retrieve data for business logic

layer and performing data manipulation. It is usually powered by a relational

database server (Oracle). This tier includes database tables, views, built-in

packages, stored procedures and functions.

Why use three-tier architecture

Three-tier architecture is considered to be the most suitable architecture

for large, Web-based enterprise applications. It improves application

performance in the following aspects:

The partitioning of the application enables rapid design and development

of the system

20

Page 25: 2.2.1 Database Programming.doc

Easier to maintain. Since 3-tier separates user interface (UI), logic, and

storage, the UI can be changed and enhanced without accidentally

altering core business rules and vise visa

Separating the functions into distinct tiers makes it easier to monitor and

optimize the performance of each layer. Separating the application and

database functionality means better load balancing. Business logic in its

own tier can be shared among applications with different UIs

Support for multiple interfaces. The same business logic can be used from

a Web-based interface and a thick-client interface

Adequate security policies can be enforced within the server tiers without

hindering the clients

Chapter Three

Oracle Database Installation and Configuration

21

Page 26: 2.2.1 Database Programming.doc

3.1 Oracle Database Installation Concepts [6]

ORACLE UNIVERSAL INSTALLER

Oracle Universal Installer is a Java-based graphical user interface tool that

enables you to install, upgrade and deinstall Oracle components from installation

CD. Start the Oracle Universal Installer by running the Oracle Universal Installer

executable, setup.exe.

ORACLE HOME

An Oracle home is the system context in which Oracle products run. This

context consists of the directory location where the products are installed, the

corresponding system path setup, and where applicable, the program groups

associated with the products installed in that home, and the services running

from that home. Oracle Home denoted by ORACLE_HOME.

Oracle Database9i R2 support Multiple Oracle Homes. The main benefit of

using multiple Oracle homes is that you can run multiple releases of the same

products concurrently.

ORACLE9i SERVICES

Oracle9i starts each instance as a service on Windows. A service is an

executable process registered in the Windows registry and administered by

Windows. The registry automatically tracks and records security information for

each service created.

22

Page 27: 2.2.1 Database Programming.doc

CONFIGURATION PARAMETERS

Oracle9i for Windows uses configuration parameters to locate files and

specify runtime parameters common to all Oracle products. When an Oracle

program or application requires a translation for a particular configuration

variable, Oracle9i for Windows uses the associated parameter. All Oracle

parameters are stored in the registry.

INITIALIZATION PARAMETER FILE (INITSID.ORA)

An ASCII text file that contains information needed to initialize a database

and instance.

INSTANCE

Every running Oracle database is associated with an Oracle instance.

When a database is started on a database server, Oracle allocates a memory

area called the System Global Area and starts one or more Oracle processes.

This combination of the System Global Area and Oracle processes is called an

instance. The memory and processes of an instance manage the associated

database’s data efficiently and serve the users of the database.

LISTENER

The Oracle server processes that listens for and accepts incoming

connection requests from client applications. The listener process starts up

Oracle database processes to handle subsequent communications with the

client; then it goes back to listening for new connection requests.

23

Page 28: 2.2.1 Database Programming.doc

NET SERVICE NAME

The name used by clients to identify an Oracle Net server and the specific

System Identifier or database for the Oracle Net connection. A net service name

is mapped to a port number and protocol. Also known as a connect string,

database alias, host string, or service name.

SCHEMAS

Named collections of objects, such as tables, views, clusters, procedures,

and packages, associated with particular users.

SYSTEM IDENTIFIER

A unique name for an Oracle instance, to switch between Oracle

databases, users must specify the desired system identifier. The system identifier

is included in the CONNECT DATA parts of the connect descriptors in a

tnsnames.ora file, and in the definition of the network listener in a tnsnames.ora

file.

SYSTEM

There are two standard database administrator usernames SYSTEM and

SYS automatically created with each database. The SYSTEM username is the

preferred username for database administrators to use for database

maintenance.

24

Page 29: 2.2.1 Database Programming.doc

TABLESPACE

A database is divided into one or more logical storage units called

tablespaces. Tablespaces are divided into logical units of storage called

segments, which are further divided into extents.

TNSNAMES.ORA

A file that contains connection descriptors mapped to net service names.

The file can be maintained centrally or locally, for use by all or individual clients.

3.2 Preinstallation Tasks

This step is go through the process to clean up the OS (windows 2003

server), check the hardware configuration, backup and prepare for failure of

installation. I will not discuss the cleanup (deinstall Oracle software) OS directly

because Oracle9i R2 database is installed on a clean windows 2003 server.

First, let’s make sure the minimal hardware requirements as shown in table 3.1:

Minimal Requirement Actual Setting

Pentium III 866 MHz Pentium IV 2000 MHz

Windows NT 4.0 with Service Pack 5 Windows 2003 Server

256 MB RAM 1 GB RAM

13 GB disk space free (if you install the 30 GB free disk space

25

Page 30: 2.2.1 Database Programming.doc

entire Oracle Product Stack)

Table 3.1

The following tasks should be finished before we go any further:

Checking Virtual Memory

1. Select Start > Settings > Control Panel and double-click System.

2. Click the Performance tab and then click the Change button to open the

Virtual Memory window.

3. You need approximately 512 MB of total memory (256 MB of RAM and

256 MB of virtual memory). However, if you have enough disk space, set

virtual memory to 500 MB. Click the Set button. Then click OK.

Reconfiguring TCP/IP Services

1. Select Start > Settings > Control Panel.

2. Double-click Network.

3. Click the Protocols tab.

4. Select TCP/IP Protocol and then click the Properties button.

5. Select Specify an IP address.

6. Enter a valid IP address, subnet mask, and default gateway. Click OK

twice.

7. Reboot system to apply changes.

Note: the Enterprise Manager OMS and Agent do not support DHCP so you

need to have a static IP address to use this capability.

Backup OS (windows 2003 server)

26

Page 31: 2.2.1 Database Programming.doc

Backup the whole system to prepare for failure or disaster. If the

installation fails, it will be easy to restore the system.

3.3 Installing the Oracle9i Database 9.2.0.3 on Windows 2003 Server

The Universal Installer in Oracle9i makes it very easy to install the

database and networking software. Download the Oracle9i Database Release 2

Enterprise/Standard/Personal/Client Edition for Windows Server 2003 (32-bit)

and Oracle Universal Installer release 2.2.0.18.0 for Windows at

http://otn.oracle.com/software/products/oracle9i/htdocs/win2k3soft.html. After

completing download, we unzip the two download files and perform the following

steps to install Oracle9i Database Release 9.2.0.3:

1. Insert Oracle9i Datbase Release 9.2.0.3 Enterprise Edition CD-ROM into the CD-

ROM drive. In the Autorun window that appears, choose Install/Deinstall

Products. If system isn’t set up for Autorun capability, run autorun.exe directly

from the AUTORUN directory on Oracle9i Database Release 2 Enterprise

Edition CD-ROM.

2. On the Welcome window, click Next.

27

Page 32: 2.2.1 Database Programming.doc

3. Leave the Source Path default; input a unique name OraHome92 in the Name

field, and that the path is d:\oracle\ora92. Click Next.

28

Page 33: 2.2.1 Database Programming.doc

4. On the Available Products window, select Oracle9i Database 9.2.0.3.0. Click

Next.

5. On Installation Types screen, choose Enterprise Edition and then click Next.

6. Accept the General Purpose default database configuration and click Next.

7. Accept default Port Number: 2030 and click Next.

8. In the Global Database Name field, enter orcl.world. In the SID field, accept the

default, orcl, and then click Next.

29

Page 34: 2.2.1 Database Programming.doc

9. Accept the directory to D:\oracle\oradata and click Next.

10. Accept the default character set and click Next.

30

Page 35: 2.2.1 Database Programming.doc

11. The Oracle Universal Installer displays a summary of the installation options.

Click Install.

12.The Oracle Universal Installer begins installing Oracle9i Database Release 2

Enterprise Edition and related software.

13. After the initial software is copied to the disk, the Oracle Universal Installer also

automatically configures the network for the Production database. This is done in

the background. The success of the operation is reported in the Oracle Universal

Installer Configuration Tools window. Once the network configuration has been

completed, the Oracle Universal Installer starts the Oracle Database

Configuration Assistant. This assistant installs and configures the initial database

in the background as well.

31

Page 36: 2.2.1 Database Programming.doc

14. Database creation takes about twenty minutes. The progress is shown in the

Database Creation Progress window. When the database has been created, the

Database NT service is created.

15. On the Database Configuration Assistant screen, enter a password for SYS and

SYSTEM. Write down the passwords you input in a safety place, and they will be

used later. Click OK.

Note: The password screen will not allow the old default passwords SYS and

SYSTEM of change_on_install and manager to be entered.

32

Page 37: 2.2.1 Database Programming.doc

16.When the database has been completely created and all the configuration

tools have completed their tasks, the End of Installation window appears.

Click Exit and then Yes to exit the Universal Installer.

17.Click Yes to exit.

33

Page 38: 2.2.1 Database Programming.doc

3.4 Testing the Oracle9i Installation

In this section we will test the installation of the Oracle9i database using

Enterprise Manager, which combines all of the management tools together into one

product. Follows the steps below to check INSTANCE and LISTENER works properly

and configures some Oracle Database initial parameters. Let’s start Enterprise Manager

in Standalone mode to begin this process.

1. To start Enterprise Manager, select Start > Programs > Oracle-OraHome92>

Enterprise Manager Console.

2. In the Oracle Enterprise Manager Console login window, select Launch

standalone and then click OK. We don’t login to the Oracle Management Server

because we don’t have one so far.

34

Page 39: 2.2.1 Database Programming.doc

3. To test the ORCL.WORLD database instance, Expand Network then Databases,

then click the plus sign to expand ORCL.WORLD.

4. To log in to the instance, enter system in the Username field and password in the

Password field, and then click OK.

35

Page 40: 2.2.1 Database Programming.doc

5. Expand Instance and then select Configuration to see the state of the database.

To view the initialization parameters, click the All Initialization Parameters

button.

6. Click the db_name parameter and then click the Description button. A

description of the parameter is displayed at the bottom of the window. Click

Cancel to close the window. Similarly check other parameters.

36

Page 41: 2.2.1 Database Programming.doc

7. Notice that you cannot start or stop the database unless you are connected as

SYSDBA. Right-click the ORCL.WORLD database and select Connect.

37

Page 42: 2.2.1 Database Programming.doc

8. Enter sys in the Username field and password in the Password field. Select

SYSDBA from the Connect as drop-down list and then click OK.

9. Expand Instance and then select Configuration. Select the Shutdown option

button and click Apply.

38

Page 43: 2.2.1 Database Programming.doc

10. Check Immediate and then click OK to shut down immediately.

11. When the shutdown processing is complete, click Close.

12. Notice that the database is no longer available. Now click the Open option button

and then Apply to start it again.

39

Page 44: 2.2.1 Database Programming.doc

13. Check one Start Option and make sure check Use spfile for startup, then Click

OK.

14. When the database has been successfully started up, click Close.

40

Page 45: 2.2.1 Database Programming.doc

15. Notice that the database has been started. Click the Memory tab.

16. In the Memory tabbed page, you can see how memory is currently allocated and

change individual memory size.

17. When you created your database, the sample schemas are loaded into your

database, the HR user cannot log into the database until the password has been

changed or that user is unlocked. This lock has been put into place for security

purposes. You can unlock the user from Enterprise Manager by expanding

Security, then Users, then selecting HR. Select Unlocked then Apply to unlock it

41

Page 46: 2.2.1 Database Programming.doc

and click Locked to lock it back.

18. Select File > Exit to close the Enterprise Manager Console.

3.5 Exploring the Oracle9i Database Release 2 Installation

In this section, we will review some of the directory structures that were

built when Oracle Universal Installer installed an optimal flexible architecture

(OFA)-compliant image of the Oracle9i software. We also look into and configure

LISTENER.ORA, TNSNAMES.ORA and SQLNET.ORA networking

configuration files. Before changing the three networking configuration files,

making a backup copy for each file is always a good idea.

42

Page 47: 2.2.1 Database Programming.doc

1. Open Windows Explorer and click the D drive where we installed the database.

Navigate to the D:\Oracle directory. Notice that there are three subdirectories:

admin, Ora92, and oradata.

2. Navigate to the admin directory. The D:\Oracle\admin directory is an OFA-

compliant directory that contains information about different database instances

installed on this machine. So far it contains one directory, orcl, for the orcl.world

instance.

3. Navigate back to D:\Oracle\Ora92. This is the Oracle9i software directory, also

known as the Oracle9i ORACLE_HOME. All the software for the Oracle9i

Enterprise Edition is installed under this directory tree.

4. Navigate to the D:\Oracle\Ora92\Network\admin directory. We can find

LISTENER.ORA, TNSNAMES.ORA and SQLNET.ORA three networking files

which generated during the Oracle Universal Installer installation of Oracle9i.

5. Open the listener.ora file. Notice that the listener has been set to listen for two

different types of connections: External processes called from the server, using

InterProcess Communication, Oracle Net connections from across the network,

using TCP/IP, on port 1521. TCP/IP will be used in ERPTS project.

The listener has also been configured with two services: An external process

server for external procedure calls and a database service for the ORCL.WORLD

instance.

The listener.ora file looks like the following:

# LISTENER.ORA Network Configuration File:

43

Page 48: 2.2.1 Database Programming.doc

d:\oracle\ora92\network\admin\listener.ora

# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:\oracle\ora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl.world) (ORACLE_HOME = d:\oracle\ora92) (SID_NAME = orcl) ) )

6. Open the tnsnames.ora file and configure an ERPTS net service string.

# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora# Generated by Oracle configuration tools.

ERPTS = # This NET SERVICE STRING will be used in ERPTS project. (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl.world) ) )

EXTPROC_CONNECTION_DATA.WORLD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) )

44

Page 49: 2.2.1 Database Programming.doc

)

ORCL.WORLD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl.world) ) )

7. Open the SQLNET.ORA file. The DEFAULT_DOMAIN name must match the

domain name in your TNSNAMES.ORA file.

# SQLNET.ORA Network Configuration File: d:\oracle\ora92\network\admin\sqlnet.ora# Generated by Oracle configuration tools.

NAMES.DEFAULT_DOMAIN = WORLDSQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

8. Navigate to the D:\Oracle\Ora92\Database directory. This directory contains the

password files and the default initialization files for each instance created on this

machine.

9. Open the initorcl.ora file. Notice that it contains a reference to the "real"

initialization file at D:\oracle\admin\orcl\pfile\initorcl.ora.

10. Navigate back to D:\oracle\oradata\orcl. This is the directory that contains the

data files for each instance that you create on this machine.

11. Select Start > Settings > Control Panel > Administrative Tools > Services.

Scroll down to the list of the services that were added as a result of installation.

12. Reboot the machine to apply any configuration change.

45

Page 50: 2.2.1 Database Programming.doc

Chapter Four

Oracle HTML DB Introduction, Installation and Administration

4.1 Introduction to HTML DB

Oracle HTML DB is a hosted declarative development tool and a

framework for developing and deploying database-centric Web applications.

Oracle HTML DB turns a single Oracle database into a shared service by

enabling multiple workgroups to build and access applications as if they were

running in separate databases. Oracle HTML DB accelerates application

development through built in features such as design themes, navigational

controls, form handlers and flexible reports [8].

Oracle HTML DB also is an administration tool for administrating

workspaces and workspace users, performing audit of activities, and managing

Globalization. A workspace is shared work area which is created by HTML DB

administrator. Developing and deploying a web application through HTML DB

has the following considerable benefits:

46

Page 51: 2.2.1 Database Programming.doc

a. Oracle HTML DB accelerates the application development process

through using the built-in features such as design themes,

navigational controls, form handlers, and flexible reports.

b. Oracle HTML DB automatically maintains session state without

requiring any coding.

c. No matter where you are, you can access your application if and

only if you have a web browser installed in your computer. All

administration and development tasks can be done through a web

browser.

d. Easy to share data in different schemas which are belong to

different departments within a workspace

e. Improved access by deploying data currently locked in

spreadsheets and personal databases to the web, allowing

concurrent updates by multiple users

f. Improved security and availability through consolidation of

fragmented information into a reliable, secure, scalable Oracle

database

g. Applications can be easily downloaded from and installed in a

HTML DB workspace.

The Oracle HTML DB development platform consists of the following

components:

Application Builder

47

Page 52: 2.2.1 Database Programming.doc

SQL Workshop

Data Workshop

4.1.1 Application Builder

A HTML DB application is a collection of database-driven Web pages, on

top of database objects such as tables, views and procedures, linked together

using tabs, buttons, or hypertext links. Once an application is created, the HTML

DB engine renders the application using templates and UI elements you specify.

Similar to other web applications, a HTML DB application uses forms to

collect data and uses reports to retrieve data based on executable background

procedures and HTML DB APIs through a web browser. So, forms and reports

are the most used components within a web application.

A page is the basic building block of an application. Each page can have

buttons and fields and can include application logic (or processes). You can

branch from one page to the next using conditional navigation, perform

calculations, run validations (such as edit checks), and display reports, forms,

and charts. [8]

Application Builder is the tool you use to build the pages that comprise an

application. It contains the following functions:

Creating, Debugging, and Managing an Application

Working with Templates

Viewing and Editing Application Attributes

48

Page 53: 2.2.1 Database Programming.doc

Creating a New Page

Viewing and Editing Page Attributes

Running a Page and an Application

4.1.2 SQL Workshop

SQL Workshop is the place to view and manage database objects from a

Web browser. Using SQL Workshop you can store and retrieve data, execute

SQL commands, and perform the following tasks:

■ Run SQL commands

■ Upload and run SQL scripts

■ Maintain a history of the executed SQL

■ Create or modify database objects

■ Query data by example

■ Browse the data dictionary

■ Enable database browsing with drill-up and drill-down

4.1.3 Data Workshop

Data Workshop is the tool to import data into and export data from the

hosted database. Supported import formats include text (such as comma or tab

delimited data), XML documents, and spreadsheets. Supported export formats

include text (such as comma or tab delimited data) and XML documents.

49

Page 54: 2.2.1 Database Programming.doc

Data Workshop makes it quite easy to convert a spreadsheet into a

database table using the Spreadsheet Import Wizard. Running this wizard

creates a new table and loads the data without requiring any SQL knowledge.

Once the data is loaded into a database table, you can build an application on

top of it just like you would on any other database table. However, Data

Workshop can not create all database objects for you. For example, if you want

build an application based on views or procedures, you have to write the code for

creating the views and procedures by yourself.

4.2 Installing HTML DB and Oracle HTTP Server

This section will go through the processes of installation of HTML DB and

Oracle HTTP Server.

4.2.1 Installation Requirements

Software Requirements

Oracle HTML DB and Oracle HTTP Server must be installed in a new

Oracle home different with the Oracle Home which Oracle Database resides in.

This can be an existing Oracle HTTP Server Oracle home, or you can choose to

install Oracle HTTP Server when you install either or both of these products.

Oracle HTML DB Server is a web server that is based on Apache server with

mod_plsql module which is an Apache extension module that allows one to

create dynamic web pages from PL/SQL packages and stored procedures fast

50

Page 55: 2.2.1 Database Programming.doc

and flexible. Installing an Oracle HTML DB require an Oracle 9.2.0.3.0 or better

database to be installed. Windows NT Server 4.0 with service pack 6a or higher,

Windows 2000 with Service Pack 3 or higher, Windows Server 2003 (32-bit), and

Windows XP Professional: supported for Oracle HTTP Server are recommended

by Oracle.

Hardware Requirements

The system ready to install Oracle HTTP Server and Oracle HTML DB

must meet the following hardware requirements for NTFS systems:

Physical RAM: Minimum size 256 MB, recommended 512 MB

Virtual Memory: Double the RAM

Temp directory: 100 MB of disk space

Oracle Home Disk Space: 535 MB

4.2.2 Installation of Oracle HTTP Server and HTML DB

To install Oracle HTTP Server and Oracle HTML DB, follow these steps:

1. Log on as a member of the Administrators group to the computer on

which to install Oracle HTTP Server and Oracle HTML DB.

2. There are three ways to start Oracle Universal installer:

a. Insert the CD-ROM labeled Oracle Database Companion CD 10g

Release 1(10.1) Disk 1 of 1, the Autorun screen automatically

appears. If no, try

51

Page 56: 2.2.1 Database Programming.doc

b. Navigate to the Oracle Database Companion CD location on the

Oracle Database 10g release 1 (10.1) CD-ROM, locate and double-

click setup.exe or try

c. Click Start > Run > Browse, locate the executive file setup.exe,

click Open > OK

The Welcome screen appears.

3. On the Welcome screen click Next.

52

Page 57: 2.2.1 Database Programming.doc

4. On the Specify File Locations screen, leave the Source Path default, input

Db10g_comp in Destination Name field and D:\oracle\product\10.1.0\db_1 in the

Path field, click Next.

5. Select Oracle Database 10g Companion Products 10.1.0.2.0, click Next.

53

Page 58: 2.2.1 Database Programming.doc

6. Check both Apache Standalone 9.0.4.0.0 and HTML DB 10.1.0.2.0 on Available

Products screen, click Next.

54

Page 59: 2.2.1 Database Programming.doc

7. On the Enter HTML Configuration Information screen, enter the information

required to configure Oracle HTML DB and click Next.

8. On Summary screen, click Install.

55

Page 60: 2.2.1 Database Programming.doc

9. End of Installation finally tell you that the installation of Companion Products

was successful. Click Exit to stop the whole installation process.

10. Optionally, manually delete or restart computer to remove the OraInstalldate_time

directory, which was created during the installation process, to free about 45 MB

of files.

11. After successfully installing Oracle HTTP Server and Oracle HTML DB, use

username ADMIN and password specified during the installation in step 6 to log

in Oracle HTML DB at http://hostname:7777/pls/htmldb/htmldb_admin. The next

section describes administration of Oracle HTML DB.

4.3 HTML DB Administration

Before discussing HTML DB Administration, we need to understand

Oracle HTML DB User Roles. In the Oracle HTML DB development environment,

users log in to a workspace are divided into three levels or three primary roles:

Developer, Workspace administrator, and Oracle HTML DB administrator. A

developer can create and edit HTML DB web applications. A Workspace

administrator performs administrator tasks specific to their workspace. An Oracle

HTML DB administrator manages an entire Oracle HTML DB development

environment instance through the Oracle HTML DB Administration Services

application.

In this section, we concentrate on how to create and manage a

workspace, how to manage users in a workspace, how to perform audit and

56

Page 61: 2.2.1 Database Programming.doc

manage logs, and other Oracle HTML DB development environment instance

tasks.

To perform these tasks, an Oracle HTML DB administrator logs into the

Oracle HTML DB Administration Services application. Your Oracle HTML DB

Administration Services application can be found at the following location:

http://192.168.2.3:7777/pls/htmldb/htmldb_admin

After logging in Oracle HTML DB, the Oracle HTML DB Service

Administration screen appears.

57

Page 62: 2.2.1 Database Programming.doc

4.3.1 Administering Workspaces

To create new workspace

1. Log in as a HTML DB administrator at:

http://192.168.2.3:7777/pls/htmldb/htmldb_admin.

2. Under Manage Workspaces, select Create New Workspace.

The Provision Workspace Wizard appears.

3. Specify a workspace name YANGM, and description and click Next.

Select schema YANGM from the Schema List, or enter the name for a

new schema, followed by a password, and initial disk space quota.

58

Page 63: 2.2.1 Database Programming.doc

4. Click Next.

5. Specify a Workspace administrator by providing a username, password,

and e-mail address and click Next.

6. Confirm and click Provision.

To Remove Workspace

1. Log in as a HTML DB administrator at:

http://192.168.2.3:7777/pls/htmldb/htmldb_admin.

2. Under Manage Workspaces, select Remove Workspace.

3. Select a workspace name and click Next.

4. Follow the on-screen instructions

To create a new user account:

1. Log in to Oracle HTML DB Administration Services.

2. Under Manage Workspaces, select Manage Application Developers.

59

Page 64: 2.2.1 Database Programming.doc

The Manage Application Developers and Users page appears. If you need

to change a user’s password, click reset in the end of each user’s entry,

then follow the on-screen instructions.

3. Click Create to create user developer.

4. Under User Attributes, enter the appropriate information. Fields marked

with a red asterisk (*) are required.

5. Under Password, type a case sensitive password for this account.

6. Under Developer Privileges, specify the user's privileges.

7. Click Create or Create and Create Another.

To view a workspace report:

Oracle HTML DB administrators can view detailed information about a

specific workspace by viewing the Workspace Utilization Report including

Workspace Information, Workspace Schemas, Workspace Schema Space

Utilization, Workspace Applications, Developers, Workspace Users, Workspace

Database Objects, Service Change Requests, and Developer Activity

1. Log in to Oracle HTML DB Administration Services.

2. Under Manage Workspaces, select Report Workspace Attributes.

3. Select a workspace from the Workspace list and click Go.

4. The Workspace Utilization Report appears. Click specific links below the

Available Reports

60

Page 65: 2.2.1 Database Programming.doc

4.3.2 Managing HTML DB Services

This section provides information about managing Oracle HTML DB

services. Oracle HTML DB administration tasks includ managing log files,

purging session state, monitoring developer activities, and managing engine

settings. See the following fig to get some ideas.

To manage log files:

1. Log in as a HTML DB administrator at:

http://192.168.2.3:7777/pls/htmldb/htmldb_admin.

2. Under Manage HTML DB Service, select Manage Logs.

3. Select one of the following:

Developer activity logs, review with option to delete entries

External click counting log, review with option to truncate

Review SQL Workshop logs

Review page view activity log, with option to truncate

61

Page 66: 2.2.1 Database Programming.doc

4. Follow the on-screen instructions to view or delete the log history.

To Toggle Provisioning Status:

1. Log in to Oracle HTML DB Administration Services.

2. Select the Service Administration tab. The Manage HTML DB Service

page appears.

3. Click Toggle Provisioning Status.

4. Select Manual to set HTML DB in manual provision mode. Select

Request to set HTML DB in request provision mode. HTML DB in request

provision mode enable user to request workspace and reset password

from your HTML DB login page at

http://192.168.2.3:7777/pls/htmldb/htmldb_login. You have to manage

HTML DB engine setting to be able to send email to the user when the

requested workspace is ready.

To Manage Engine Settings:

1. Log in to Oracle HTML DB Administration Services.

2. Select the Service Administration tab. The Manage HTML DB Service

page appears.

3. Click Manage Engine Settings.

4. Configure the following engine settings by click Create and follow the on-

screen instructions.

62

Page 67: 2.2.1 Database Programming.doc

DEVELOPMENT_SERVICE_URL - The value of this setting is used

in the e-mail when the request is approved. This setting defines the

URL for the service.

SMTP_HOST_ADDRESS - Defines the server address of the

SMTP server.

SMTP_HOST_PORT - Defines the port the SMTP server listens to

for mail requests. By default, this setting will be set to 25 at the time of

installation.

SMTP_FROM - Defines the "from" address when an administrative

tasks such as approving a request, or resetting a password sends an

email.

After the administrative tasks above have been completed, we are ready

to develop our web-centric applicatins.

63

Page 68: 2.2.1 Database Programming.doc

Chapter Five

ERPTS Design and Development

This chapter presents an overview of ERPTS HTML DB application for

database design and development. Database design is a very important step but

not the first step. Before dealing with database design, we have to take a close

look into our project at first. There are many ways to analysis and design web

applications. The basic idea is that we need split the big project into small pieces

according to application requirements such as user interfaces, business rules

and implement language. ERPTS project is split into six different tasks in

corresponding to different ER staff positions. How to store and retrieve, how to

secure data, and how to apply business logic are all about database design.

5.1 ERPTS Application Design and Implementation

The design and implementation of integrated applications will be the key

to the Internet based database driven web application. In order to build a good

web based database application, the following aspects should be considered:

Applications should be designed from a cross-functional

perspective.

Applications must be usable, flexible, and maintainable.

64

Page 69: 2.2.1 Database Programming.doc

Applications can be composed of many different frameworks. Each

one should have reusable pieces.

Applications should have a proper architecture. Business need,

return on investment, technical support and future plan will be

considered when applications involve architecture.

ERPTS application is divided into seven modules by business operation

flow. Seven modules are named by office names combining position duty: Front

Desk Registration, Triage Room Pre-check, ER Treatment, Lab Test, X-Ray

Examination, and Release. Each has different interfaces and functions with

which ER staff work.

Tasks involved in this step are:

Create tables, indexes, views, procedures, functions, sequences,

and database triggers

Create items, regions, buttons, and pages

Create forms and reports to build user interfaces

Write code to validate data, manipulate data, and retrieve data

Design to follow business rules

Manage users

65

Page 70: 2.2.1 Database Programming.doc

Front Desk Registration

Nurses work at Front Desk have the privilege to access this module to

register and edit patient information, and keep track the number of patients

visited. There are three pages are built in this module for registration, edition, and

patient information report. Fig 5.1 shown below is a patient registration

screenshot.

Fig 5.1

66

Page 71: 2.2.1 Database Programming.doc

Triage Pre-check

Nurses in Triage Room have the privilege to access this module to record

and edit temperature, heart rate, symptom and pretreatment information, keep

track the number of patients in waiting room, and how serious the disease is.

There are three pages are built in this module for insertion, edition, and overview

of patient information report. Nurses can’t delete records and can’t see some

patient private information such as SSN. Fig 5.2 shown below is a patient report

screenshot.

67

Page 72: 2.2.1 Database Programming.doc

Fig 5.2

ER Treatment

Physicians in the ER have the privilege to access this module to record

and edit temperature, heart rate, symptom and pretreatment information, see the

pre-checked corresponding information, keep track the number of patients in

waiting room, transfer patients from waiting room to ER and assign beds to them,

re-estimate patient situations, and order lab tests and X-ray examinations and

view their result reports. There are five pages are built in this module for view of

patient information report. Physicians can’t delete records and see some patient

68

Page 73: 2.2.1 Database Programming.doc

private information such as SSN either. Fig 5.3 shown below is a patient transfer

screenshot.

Fig 5.3

Lab Test

Technicians in the Lab have the privilege to access this module to view

lab test orders, insert and edit lab results, keep track the number of orders and

the priority of orders. There are three pages are built in this module for insertion,

edition, and overview of lab order report. Technicians can’t delete lab orders. Fig

5.4 shown below is a Lab Test Result Update page screenshot.

69

Page 74: 2.2.1 Database Programming.doc

Fig 5.4

X-Ray Examination

Examiners in the X-Ray Room have the privilege to access this module to

view lab test orders, insert and edit X-Ray examination results, keep track the

number of orders and the priority of orders. There are three pages are built in this

module for insertion, edition, and overview of X-Ray order report. Examiners

can’t delete X-Ray orders. Fig 5.5 shown below is a patient lab tests currently

requested report screenshot.

70

Page 75: 2.2.1 Database Programming.doc

Fig 5.5

Patient Release

Staff in the release room has the privilege to access this module to

release patients and complete the visit. Fig 5.6 shown below is a patient release

page screenshot.

71

Page 76: 2.2.1 Database Programming.doc

Fig 5.6

Administrator

Staff in emergency department has the administrator privilege to

access this module to add, update, delete and activate/inactivate a user.

5.2 Database Design

The first step is about creating a container for ERPTS project. The

container is a workspace built on one or more database schemas. A schema is a

72

Page 77: 2.2.1 Database Programming.doc

collection of logical structures of data, or schema objects created and

manipulated with SQL. Schema objects include tables, views, sequences,

database triggers, indexes, procedures and functions.

Tables:

Tables are the basic unit of data storage in an Oracle database. Data is

stored in rows and columns. A table is created with a table name and set of

columns with column names, datatypes, width, and integrity constraints.

Tables in a relational database are designed to store data efficiently

without Redundancy and enforce business rules with integrity constraints, which

are primary key, foreign key, not null, and check. Obviously, table design is

crucial to the success of oracle database web applications.

The following is a list of tables which are involved in ERPTS projects:

1. PATIENT

2. PRE_CHECK

3. TREATMENT

4. TEST

5. X_RAY

6. USERS

7. BED

PATIENT

73

Page 78: 2.2.1 Database Programming.doc

This table stores information which patients provide in the front desk when

they are register by a nurse. It contains name, IDs, contact information, complain

and other information. Fig 5.7 shows all information about PATIENT table.

Fig 5.7

The corresponding SQL script to create PATIENT table is the following:

CREATE TABLE "PATIENT" ( "P_NO" NUMBER, "NAME" VARCHAR2(100) NOT NULL ENABLE, "SSN" NUMBER NOT NULL ENABLE, "SEX" VARCHAR2(1) NOT NULL ENABLE, "AGE" NUMBER NOT NULL ENABLE, "ADDRESS" VARCHAR2(400), "PHONE" NUMBER NOT NULL ENABLE, "E_PHONE" VARCHAR2(10), "E_MAIL" VARCHAR2(80), "COMPLAIN" VARCHAR2(100) NOT NULL ENABLE, "NURSE_NAME" VARCHAR2(40) NOT NULL ENABLE, "CHK_IN_TIME" DATE NOT NULL ENABLE, "ROOM" NUMBER NOT NULL ENABLE, "RISK_RATE" NUMBER NOT NULL ENABLE, "STATUS" VARCHAR2(10) NOT NULL ENABLE,

74

Page 79: 2.2.1 Database Programming.doc

"RELEASE_TIME" DATE, CONSTRAINT "PATIENT_PK" PRIMARY KEY ("P_NO") ENABLE)/

CREATE UNIQUE INDEX "PATIENT_PK" ON "PATIENT" ("P_NO")/

PRE_CHECK

This table contains all information which a nurse in the triage room

provides through examination. It includes temperature, heart rate, symptom, risk

rate (how serious is the disease), check-in time and pretreatment. Fig 5.8 shows

the table details.

Fig 5.8

The following SQL script creates PRE_CHECK table:

CREATE TABLE "PRE_CHECK" ( "C_NO" NUMBER, "TEMPERATURE" NUMBER, "HEART_RATE" NUMBER, "XNURSE_NAME" VARCHAR2(50), "C_TIME" DATE, "SYMPTOM" VARCHAR2(4000), "XP_NO" NUMBER NOT NULL ENABLE, "PRE_TREATMENT" VARCHAR2(4000),

75

Page 80: 2.2.1 Database Programming.doc

"TRANSFERD" VARCHAR2(1), CONSTRAINT "PRE_CHECK_PK" PRIMARY KEY ("C_NO") ENABLE, CONSTRAINT "PRE_CHECK_REF_PATIENT" FOREIGN KEY ("XP_NO") REFERENCES "PATIENT" ("P_NO") ENABLE)/CREATE UNIQUE INDEX "PRE_CHECK_PK" ON "PRE_CHECK" ("C_NO")/

TREATMENT

This table stores information which a physician in the ER room provides

through diagnosis. It contains rechecked temperature, heart rate, symptom, risk

rate (how serious is the disease), lab test order, X-ray order and treatment. Fig

5.9 shows all information about TREATMENT table.

Fig 5.9

The corresponding SQL script to create TREATMENT table is the

following:

CREATE TABLE "TREATMENT" ( "TR_NO" NUMBER, "TR_P_NO" NUMBER NOT NULL ENABLE, "TR_TEMPRATURE" NUMBER, "TR_HEART_RATE" NUMBER, "R" VARCHAR2(4000), "DR_NAME" VARCHAR2(40), "RECEIVE_TIME" DATE,

76

Page 81: 2.2.1 Database Programming.doc

"TR_SYMPTOM" VARCHAR2(4000), "BED" NUMBER, "TREATMENT" VARCHAR2(4000), CONSTRAINT "TREATMENT_PK" PRIMARY KEY ("TR_NO") ENABLE, CONSTRAINT "TREATMENT_REF_PATIENT" FOREIGN KEY ("TR_P_NO") REFERENCES "PATIENT" ("P_NO") ENABLE)/

CREATE UNIQUE INDEX "TREATMENT_PK" ON "TREATMENT" ("TR_NO")/

TEST

This table stores lab test result information which a technician in the lab

provides through test. It includes lab test order, test result and tester. Its data will

be used to collect lab test results. Fig 5.10 shows all information about TEST

table.

Fig 5.10

The corresponding SQL script to create TEST table is the following:

CREATE TABLE "TEST" ( "T_NO" NUMBER, "T_TR_NO" NUMBER NOT NULL ENABLE, "TEST_ORDER" VARCHAR2(100), "TEST_RESULT" VARCHAR2(4000),

77

Page 82: 2.2.1 Database Programming.doc

"TESTER" VARCHAR2(40), "DUE_TIME" DATE, CONSTRAINT "TEST_PK" PRIMARY KEY ("T_NO") ENABLE, CONSTRAINT "TEST_REF_TREATMENT" FOREIGN KEY ("T_TR_NO") REFERENCES "TREATMENT" ("TR_NO") ENABLE)/

CREATE UNIQUE INDEX "TEST_PK" ON "TEST" ("T_NO")/

X_RAY

This table stores X-Ray result which a technician in the X-Ray room

provides through examination. It includes X-Ray order, X-Ray result and

examiner. Its data will be used to collect X-Ray results. Fig 5.11 shows all

information about X_RAY table.

Fig 5.11

The corresponding SQL script to create X_RAY table is the following:

CREATE TABLE "X_RAY" ( "X_NO" NUMBER, "X_TR_NO" NUMBER NOT NULL ENABLE, "XRAY_ORDER" VARCHAR2(100), "X_RESULT" VARCHAR2(4000),

78

Page 83: 2.2.1 Database Programming.doc

"EXAMINER" VARCHAR2(40), "DUE_TIME" DATE, CONSTRAINT "X_RAY_PK" PRIMARY KEY ("X_NO") ENABLE, CONSTRAINT "XRAY_REF_TREATMENT" FOREIGN KEY ("X_TR_NO") REFERENCES "TREATMENT" ("TR_NO") ON DELETE CASCADE ENABLE)/

CREATE UNIQUE INDEX "X_RAY_PK" ON "X_RAY" ("X_NO")/

USERS

This table stores user information which includes name, position (nurse,

physician, Lab technician, or X-Ray examiner), privilege, username, and

password. Its data will be used to create nurse and physician drop down lists,

and verify username and password. Fig 5.12 shows all information about USERS

table.

Fig 5.12

The corresponding SQL script to create USER table is the following:

CREATE TABLE "USERS" ( "ID" NUMBER(3,0),

"NAME" VARCHAR2(40) NOT NULL ENABLE, "POSITION" VARCHAR2(3) NOT NULL ENABLE,

79

Page 84: 2.2.1 Database Programming.doc

"USERNAME" VARCHAR2(40) NOT NULL ENABLE, "PASSWORD" VARCHAR2(20) NOT NULL ENABLE, "PRIVILEGE" VARCHAR2(4) NOT NULL ENABLE, "APPID" NUMBER, CONSTRAINT "USER_PK" PRIMARY KEY ("ID") ENABLE

)/

CREATE UNIQUE INDEX "USER_PK" ON "USERS" ("ID")/

BED

This table stores bed information in the ER. It contains bed number and

status (whether it is occupied or not). This table will be used to track how many

beds are ready to use. Fig 5.13 shows all information about BED table.

Fig 5.13

The corresponding SQL script to create BED table is the following:

CREATE TABLE "BED" ( "ID" NUMBER(3,0), "BED_NO" NUMBER(3,0), "STATUS" VARCHAR2(1), "NAME" VARCHAR2(20), CONSTRAINT "BED_PK" PRIMARY KEY ("ID") ENABLE

)/

80

Page 85: 2.2.1 Database Programming.doc

CREATE UNIQUE INDEX "BED_PK" ON "BED" ("ID")/

Relationships:

The relationship is the association, which you should find out in the

process of data modeling, between two table columns which have the same

name, datatype, and width. There are four different relationships depending on

the combination of answers to the following two questions which must be

answered to Yes or No:

Question 1: Can an occurrence of X in table A to be associated with more

than one occurrence of Y in table B?

Question 2: Can an occurrence of Y in table B to be associated with more

than one occurrence of X in table A?

Four possible outcomes are shown in the table 5.1.

Relationship Question 1 Question 2 CommentOne to Many Yes No Primary Key -> foreign Key One to Many No Yes Primary Key -> foreign KeyMany to Many Yes Yes Need to voidOne to One No No Valid for Oracle database

Table 5.1

A relationship is created if you apply a foreign key on a column in a table

to reference a column in another table. The relationship diagram shown in Fig

5.14 and Fig 5.15 describes the relationships among all the tables:

81

Page 86: 2.2.1 Database Programming.doc

Fig 5.14

Fig 5.15

The diagram in Fig 5.14 shows table TREATMENT (TR_P_NO) and

PRE_CHECK (XP_NO) have foreign keys to reference table PATIENT (P_NO).

The relationship between PATIENT and TREATMENT is one to one. Similarly,

there is a one to one relationship between PATIENT and PRE_CHECK.

The diagram in Fig 5.15 shows table X_RAY (X_TR_NO) and TEST

(T_TR_NO) have foreign keys to reference table TREATMENT (TR_NO). The

relationship between TREATMENT and X_RAY is one to many. Similarly, there

is a one to many relationship between TREATMENT and TEST.

82

Page 87: 2.2.1 Database Programming.doc

The diagram in Fig 5.16 shows details of the tables and the relationships

among them.

Fig 5.16

83

Page 88: 2.2.1 Database Programming.doc

Chapter 6: ERPTS User’s Guide

ERPTS User's Guide is intended for staffs who are working in the

Emergency Department using ERPTS. This guide describes how to use the

ERPTS to view, insert, update, delete, and track patient information. There are

seven types of users grouped by their duties: Front Desk Nurses, Triage Nurses,

Physicians, Lab Technicians, X-Ray Examiners, Patient Release Nurses, and

Administrator.

Getting Started with ERPTS

A user should be assigned to a username and password by administrator

before he/she can access his/her target work pages because all pages are

protected by username and password. When a user forget his/her password, the

user can get his/her password through e-mail by providing his/her name and

registered e-mail address in every module. All of the users can access their login

page by clicking the right links on ERPTS homepage. The ERPTS homepage’s

URL is: http://math.indstate.edu/yang

The ERPTS homepage is shown in Fig 6.1.

84

Page 89: 2.2.1 Database Programming.doc

Fig 6.1

How to use the seven modules will be describe in the following sections:

Front Desk Register: For nurses at the front desk

Pre-check Examine: For nurses in the triage room

Treatment Tracking: For physicians in the emergency room

85

Page 90: 2.2.1 Database Programming.doc

Lab Report: For lab technicians in the lab

X-Ray Report: For examiners in X-Ray room

Patient Release: For nurse in the release room

Administrator: For whom has admin privilege

Front Desk Register

This section provides information on how to use this module to view,

register (insert) and update patient registration information as well as search a

patient with specific search criteria.

This section contains the following tasks:

To register a patient

To edit or update patient information

To view and search patient reports

To register a patient:

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Front

Desk Register, select your username form the Username drop down list

and type your password, then click Login button to login.

2. Click Register Patient tab. The Register Patient page appears.

3. On the left pane, insert patient information into text fields, text areas and

select options from drop down lists and then click Insert button to register.

Before you click Insert button make sure that you fill out at least required

fields which are remarked by a red star on the left. See Fig 6.2.

86

Page 91: 2.2.1 Database Programming.doc

Fig 6.2 Register a Patient with fill out information

To edit or update patient information:

1. Log in Front Desk Register module.

2. Click Waiting Patient List tab. You can see a patient list and find the

patient information by clicking a column name to sort or typing key words

in searching criteria to search.

3. Click the patient PID on the most left and then the update page appears.

Correct the wrong information and apply the Update button to submit.

4. If nothing needs to change, click Cancel.

87

Page 92: 2.2.1 Database Programming.doc

To view and search patient information:

1. Click Patient Report tab to view all patients who are waiting for or under

health services. Click Waiting Patient List tab to view all patients who are

waiting for services.

2. The search criteria in these two pages are identical and have three fields,

which are name, SSN and risk rate. The relationship among them is logic

AND. You can use any combination of the three fields to search. The

following describes how to use them:

Name: Use first name, last name, middle name or part of a name to

search in case insensitive.

SSN: Must use a 9-digit number to search without “-“.

Risk Rate: Must be a number among 1, 2, 3, 4 and 5.

Note: The numbers 1 through 5 stand for how urgent the patient’s

symptom. The bigger the risk rate number is, the more dangerous

the patient is.

3. Fill out the search criteria and then click Go button to search.

4. Click Clear button to clear the search criteria and show all patient

information.

Pre-check Examine

88

Page 93: 2.2.1 Database Programming.doc

This section describes how to use this module to view, record, and update

patient pre-check information as well as search patients with specific search

criteria.

This section contains the following tasks:

To record patient pre-check information

To edit or update patient pre-check information

To view and search patient pre-check information

To record patient pre-check information:

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Pre-

check Examine, select your username form the Username drop down list

and type your password, then click Login button to login.

2. Click Waiting Patient List tab. The waiting patient page appears. Click a

patient PID on the most left column. The Record Pre-check Patient

Information page shows up.

3. On the left pane, insert patient information into text fields, text areas and

select options from drop down lists or correct if needed and then click

Save button to record. Before you click Save button make sure that you fill

out at least required fields which are remarked by a red star on the left.

See Fig 6.3.

89

Page 94: 2.2.1 Database Programming.doc

Fig 6.3 Record Pre-check Information

To edit or update patient information:

1. Log in Pre-check Examine module.

2. Click Pre-checked Patient tab. You can see a patient list and find specific

patient information by clicking a column name to sort or typing key words

in searching criteria.

3. Click the patient PID on the most left and then the Update Pre-check

Patient Information page appears. Correct the wrong information and

apply the Apply Changes button to submit.

4. If nothing needs to change, click Cancel.

90

Page 95: 2.2.1 Database Programming.doc

To view and search patient information:

1. Click All Patient Report tab to view all patients who are waiting for or

under health services. Click Patient Waiting List tab to view all patients

who are waiting for services.

2. The search function in these two pages is described in section “To view

and search patient information” under Front Desk Register module.

Treatment Tracking

This section provides information on how to use this module to view,

record, and update patient treatment information, how to transfer a patient to

emergency room, how to view patient lab test and X-Ray examination results

(reports) as well as how to order lab tests and X-Ray examinations for a patient.

This section contains the following tasks:

To transfer a patient to emergency room

To record patient treatment information

To edit or update patient treatment information

To view patient diagnosis and treatment information

To order a lab test for a patient

To order a X-Ray examination for a patient

To view patient lab test and X-Ray examination results

To transfer a patient to emergency room

91

Page 96: 2.2.1 Database Programming.doc

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click

Treatment Tracking, select your username form the Username drop

down list and type your password, then click Login button to login.

2. Click Transfer Patient tab. The Transfer Patient page appears.

3. Click the patient ERID on the most left and then the transfer page

appears. Select a bed number from a drop down list association to BED

NO field, and then click Transfer Patient button to transfer. See Fig 6.4

for a transfer page overview.

Fig 6.4 Selecting a bed number for transferring a patient

To record patient treatment information:

1. Click Insert Treatment Info tab. A list of patients already transferred

shows up.

92

Page 97: 2.2.1 Database Programming.doc

2. Click a patient ERID, which you want record his/her treatment information,

on the most left and then the Record Treatment Information page appears.

3. In the “Patient Diagnosis Treatment Information” region, Insert patient

treatment information into text fields, text areas and select options from

drop down lists and then click Save button to insert. Before you click Save

button make sure that you fill out at least required fields which are

remarked by a red star on the left. See Fig 6.5 for an overview.

Fig 6.5 Demo for Insertion of Patient Treatment Information

To edit or update patient treatment information

1. Click Insert Patient Info tab and click a patient treatment process ID on

the most left column or take step 2.

93

Page 98: 2.2.1 Database Programming.doc

2. Click Treatment Detail Report tab and click a patient treatment process

ID on the most left column.

3. In the “Patient Diagnosis Treatment Information” region, correct or change

the wrong patient diagnosis and treatment information and then click Save

button to update.

To view patient diagnosis and treatment information

1. Click Treatment Detail Report tab, and then click either the name or any

See Detail for a specific patient.

2. View the diagnosis and treatment detail report for the patient. Click

Cancel to close.

To order a lab test for a patient

1. Click Order Test tab. The Order Test page appears.

2. Click the patient ERID on the most left and then the Test Order Insertion

page appears.

3. Input the order content into the Test Order field, and then click Request

Test button to order. See Fig 6.6 for a Test Order Insertion page overview.

94

Page 99: 2.2.1 Database Programming.doc

Fig 6.6 Test Order Insertion page overview

To order an X-Ray examination for a patient

4. Click Order X-Ray tab. The Order X-Ray page appears.

5. Click the patient ERID on the most left and then the X-Ray Order Insertion

page appears.

6. Input the order content into the X-Ray Order field, and then click Request

X-Ray button to order. See Fig 6.7 for an X-Ray Order Insertion page

overview.

Fig 6.7 X-Ray Order Insertion page overview

To view patient lab test and X-Ray examination results

1. Click Test & X-Ray Report tab and the Test and X-Ray Report page

shows up.

95

Page 100: 2.2.1 Database Programming.doc

2. Click a patient ERID on the most left column, then the Test and X-Ray

Result Detail page appears.

3. View the Test and X-Ray Result Details for the patient. Click Finish button

to close. A sample Test and X-Ray result Details page is shown in Fig 6.8.

Fig 6.8 A sample Test and X-Ray Result Details Page

Lab Report

This section describes how to use this module to view, submit, and update

lab test result.

This section contains the following tasks:

To submit lab test result

To edit or update lab test result

To view lab test results

To submit lab test result

96

Page 101: 2.2.1 Database Programming.doc

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Lab

Report, select your username form the Username drop down list and type

your password, then click Login button to login.

2. Click Current Test List tab. A list of tests currently requested shows up.

Click a test order ID on the most left column. The Test Result Submit page

appears.

3. In the “Test Result Detail” region, insert Test Result, Tester and Done

Time fields with test report information and then click Insert Result button

to submit. A sample submission page is shown in Fig 6.9.

Fig 6.9 A sample submission page

To edit or update lab test result

97

Page 102: 2.2.1 Database Programming.doc

1. Click History Test List tab. A list of tests already submitted shows up.

Click a test order ID on the most left column. The Test Result Update

page appears.

2. In the “Test Result Detail” region, correct the wrong test information and

then click Apply Changes button to update.

To view lab test results

1. Click History Test List tab. A list of tests already submitted shows up.

Click the RESULT association to a patient. The test Result page appears.

2. View test result details and click Cancel to close.

X-Ray Report

This section describes how to use this module to view, submit, and update

lab X-Ray result.

This section contains the following tasks:

To submit X-Ray result

To edit or update X-Ray result

To view X-Ray result

To submit X-Ray result

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click X-Ray

Report, select your username form the Username drop down list and type

your password, then click Login button to login.

98

Page 103: 2.2.1 Database Programming.doc

2. Click Current X-Ray List tab. A list of X-Rays currently requested shows

up. Click an X-Ray order ID on the most left column. The X-Ray Result

Submit page appears.

3. In the “X-Ray Result Detail” region, insert X-Ray Result, Examiner and

Due Time fields with X-Ray report information and then click Insert Result

button to submit.

To edit or update X-Ray result

1. Click History X-Ray List tab. A list of X-Rays already submitted shows

up. Click an X-Ray order ID on the most left column. The X-Ray Result

Update page appears.

2. In the “X-Ray Result Detail” region, correct the wrong X-Ray information

and then click Apply Changes button to update.

To view X-Ray result

1. Click History X-Ray List tab. A list of X-Rays already submitted shows

up. Click the RESULT association to a patient. The X-Ray Result page

appears. A sample X-Ray result page is shown in Fig 6.10.

2. View X-Ray result details and click Cancel to close.

99

Page 104: 2.2.1 Database Programming.doc

Fig 6.10 A sample X-Ray Result page

Patient Release

This section provides information on how to use this module to release a

patient and bring a released patient form completed back to ongoing if a patient

is released by accident.

To Release a patient:

1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Patient

Release, select your username form the Username drop down list and

type your password, then click Login button to login.

2. Click Release Patient tab. A list of patients shows up. Click a PID on the

most left column. The Release page appears.

3. In the “Release Patient” region, select status to ‘completed’, click the date

picker to select release date and time, and then click Release Patient

button to release.

To bring a released patient back:

100

Page 105: 2.2.1 Database Programming.doc

1. Click Released Patient List tab. A list of patients already released shows

up. Click a PID on the most left column.

2. On the next page, in the “Patient” region, select status to ‘ongoing’, and

then click Back to Ongoing button to bring the patient back to ongoing

status.

Administrator

This section provides information on how to use this module to add,

update, and activate a user as well as view all users’ profiles.

This section contains the following tasks:

To add a user

To activate or inactivate a user

To update a user

To add a user:

1. Click Add Use tab, fill out the Name, Username, Password, confirm

Password, and e-mail, and select values for Position, Activate (default:

inactivate) fields, then click Add User to add a user. At this moment, the

user you just added is not valid for login. To make it valid user, the

workspace administrator have to create the user in HTML DB.

2. To create a user in HTML DB, login at

http://139.102.19.27:7777/pls/htmldb/htmldb_login.

101

Page 106: 2.2.1 Database Programming.doc

Click Home icon button, Administration icon button, Manage User, then

click Create New User. Fill out Username and Password which are

exactly same as the username and password you just created step 1.

Select User is neither a developer nor an administrator as the privilege.

Finally click Create User to finish the process.

To activate or inactivate a user:

1. A valid user has to be activated to login the target work space. Otherwise,

the user can not log in. To activate or inactivate a user, Click

Update/Delete tab, find the target user and click it’s ID, on the next page,

select the Activate field to activate or inactivate, and then click Apply

Changes to finish.

To update a user:

1. To update a user profile, Click Update/Delete tab, find the target user and

click its ID. On the next page, change the information need to change, and

then click Apply Changes to finish.

102

Page 107: 2.2.1 Database Programming.doc

Chapter 7: Conclusion

HTML DB is the latest web application development tool of Oracle which

was released early of 2004. There are no books about this new technology. All of

the related documents, which are even not fully documented, can only be found

on Oracle’s website. I am so glad that I designed and implemented this project

using Oracle HTML DB under the current situations. This project has given me

the opportunity to apply 3-tier architecture technology, which includes installing

and configuring Oracle9i R2 database, Oracle HTML DB and Oracle HTTP

server, and to go through the steps of web application design and database

103

Page 108: 2.2.1 Database Programming.doc

design. Oracle HTML DB gives developers opportunities to combine SQL,

PL/SQL, JavaScript and HTML to create forms, reports, computations,

validations, redirections, and search criteria in an easier way. It is amazing that I

have learnt the whole process to design and implement an Oracle HTML DB web

application.

There are too many events going on in the emergency department so that

some events are not considered in this project. It is very common to update and

enhance a project to meet future requirements. The following features are very

likely to be improved or added in the future enhancements:

1. Physician may be given a way to fax prescription directly to patients’ target

pharmacy through ERPTS.

2. Lab test and X-Ray examination reports can be stored and download in

files formation. X-Ray film can be converted to digital image and easier

transferred and browsed on the internet.

3. CAT scan is commonly used as diagnosis device in emergency room.

Collecting CAT scan results for a patient in ERPTS becomes necessary.

This project has some characters need to be emphasized. First of all,

ERPTS web application can help ER staff store and obtain patient information

quickly, reduce patient waiting time, and improve communications within ER by

sharing patient information through ERPTS easily. Secondly, ERPTS is a web

104

Page 109: 2.2.1 Database Programming.doc

based application and very easy to use. The only thing that ER staffs need to

know is how to use a web browser and interact with it. Specific Help information

is available at any time in specific module. ERPTS is an application capable of

solving real problems in ER. Finally, ERPTS is an Oracle web application

involving many techniques, such as three tier architecture, Oracle database, web

server, and database programming.

Bibliography

1. American Hospital Association, Trend Watch, Vol. 3, No. 1, March 2001

2. U.S. Bureau of the Census, Current Population Survey, 1999

3. Oracle Essentials : Oracle9i, Oracle8i & Oracle8, 2nd Edition, written by

Rick Greenwald, Robert Stackowiak & Jonathan Stern, published by

O'Reilly & Associates, 2002

4. Oracle9i Database Release Notes Release 2 (9.2.0.3.0) for Windows

Server 2003 (32-Bit), Part Number B10924-01

105

Page 110: 2.2.1 Database Programming.doc

5. Oracle9i Database Getting Started, Release 2 (9.2) for Windows, Part No.

A95490-01

6. Oracle Universal Installer Concepts Guide, Release 2.0.1, Part Number

A88812-01

7. Oracle9i Database Installation Guide, Release 2 (9.2.0.1.0) for Windows,

Part Number A95493-01

8. Oracle HTML DB User’s Guide, Release 1.5, Part No. B10992-01, Primary

Author: Terri Winters

9. Professional Oracle 8i Application Programming with Java, PL/SQL, XML,

Primary Author: Michael Awai, Matthew Brortniker, John Carnell, 2000

10.Oracle PL/SQL Programming, Third Edition, Written by Steven Feuerstein

11.Expert One-on-One Oracle, Written by Thomas Kyte, 2002

106