123
HEALTH LEVEL SEVEN COMPLIANCE AND CLINICAL DECISION SUPPORT SYSTEM FOR AN INTENSIVE CARE UNIT DISSERTATION SUBMITTED IN PARTIAL FULLFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF TECHNOLOGY IN INFORMATION TECHNOLOGY (SPECIALIZATION IN SOFTWARE ENGINNERING) Under the Supervision of Dr. Sudip Sanyal Associate Professor IIIT-Allahabad Submitted by Mohd. Imran Khan MS200510 M.Tech. IT (Software Engineering) IIIT-Allahabad INDIAN INSTITUTE OF INFORMATION TECHNOLOGY – ALLAHABAD (DEEMED UNIVERSITY) DEOGHAT, JHALWA ALLAHABAD- 211011, (U.P.) INDIA

HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

HEALTH LEVEL SEVEN COMPLIANCE AND

CLINICAL DECISION SUPPORT SYSTEM FOR AN

INTENSIVE CARE UNIT

DISSERTATION

SUBMITTED IN PARTIAL FULLFILMENT OF THE REQUIREMENTS

FOR THE DEGREE OF

MASTER OF TECHNOLOGY IN INFORMATION

TECHNOLOGY

(SPECIALIZATION IN SOFTWARE ENGINNERING)

Under the Supervision of Dr. Sudip Sanyal Associate Professor

IIIT-Allahabad

Submitted by Mohd. Imran Khan

MS200510 M.Tech. IT (Software Engineering)

IIIT-Allahabad

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY – ALLAHABAD

(DEEMED UNIVERSITY)

DEOGHAT, JHALWA

ALLAHABAD- 211011, (U.P.)

INDIA

Page 2: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY ALLAHABAD

(Deemed University)

(A centre of excellence in IT, established by Ministry of HRD, Govt. of India)

Date:

We do hereby recommend that the thesis work prepared under

my/our supervision by Mohd. Imran Khan entitled “Health

Level Seven Compliance and Clinical Decision Support

System for an Intensive Care Unit” be accepted in partial

fulfilment of the requirements of the degree of Master of

Technology in Information Technology (Software

Engineering) for examination.

COUNTERSIGNED

Dr. Sudip Sanyal ______________________________ THESIS ADVISER

Dr. U. S. Tiwary DEAN (ACADEMICS)

Page 3: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY ALLAHABAD

(Deemed University)

(A centre of excellence in IT, established by Ministry of HRD, Govt. of India)

CERTIFICATE OF APPROVAL*

The foregoing thesis is hereby approved as a creditable

study in the area of Information Technology carried out

and presented in a manner satisfactory to warrant its

acceptance as a pre-requisite to the degree for which it has

been submitted. It is understood that by this approval the

undersigned do not necessarily endorse or approve any

statement made, opinion expressed or conclusion drawn

therein but approve the thesis only for the purpose for

which it is submitted.

COMMITTEE ON

FINAL EXAMINATION

FOR EVALUATION

OF THE THESIS

*Only in case the recommendation is concurred in

Page 4: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

i

Acknowledgements

I start this dissertation in the name of God, Who is most gracious and most

merciful.

This thesis enriches me in various facets- my qualification, technical exposure,

knowledge of healthcare domain and personal experience. There are so many kind

souls responsible for its completion and I am grateful to all of them.

“Guru Govind dou khade, kaake lagoon paye

Balihari guru aapki, Govind diyo milaye.”

The verses said by Kabir, represents my true feelings for my thesis guide Dr.

Sudip Sanyal. He has proved an oracle for me over a period of more than this thesis

discourse. My meetings with him were aimed most of the times in getting the deep

insight and novel solutions from his plethoric knowledge. But some of the times they

had a purpose of even reviving my enthusiasm. I am grateful to him for giving me his

precious time and invaluable guidance.

I owe indebted to my senior Mr. R. Amirdha Gopal for his ever helping nature,

without which I would not have been able to extend his thesis. He not only introduced

me to the system but went ahead to explain each and every nut-bolt of his project. His

work has always been an aspiration for me. I always wonder-“how can a single

person draft such a huge application in so small time in such a managed and

beautiful way???”

I am thankful to Dr. Prithwis Bhattacharya, the ICU Director of Sir Sunderlal

Hospital, Banaras Hindu University, Varanasi, who gave me an opportunity to work

for a live project of his organization. He explained the whole workflow of his hospital

and showed us the major drawbacks of the previous system, which ultimately became

the basis of my thesis. Despite his busy schedule, he has always promptly answered to

my problems.

Page 5: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

ii

This thesis work has always been a source of happiness and enjoyment to me and

has never proved as a burden or conundrum. There are two reasons behind this-

availability of resources and freedom of work. I am obliged to the honorable Director

of IIIT-Allahabad, Prof. M. D. Tiwari for providing resources especially the Internet

and library in such abundance. My heartfelt thanks to the Dean (Academics), Dr. U.S.

Tiwary and other IIIT-A administration, for inculcating a culture where you can work

any time.

I would like to express my gratitude towards few organizations whose help is

indispensable for this thesis. I am thankful to the Health Level Seven Organization

for making its specification version 2.3.1 freely available for use. I am equally

grateful to the Free and Open Source communities especially Java, MySQL,

JFreeChart, JDOM and JSci for making it possible to provide cost effective solution

for this project.

The thesis is actually the real world implementation of the concepts we learnt in

the M.Tech first year curriculum. I sincerely feel grateful to all my teachers who

taught me these concepts. My special thanks to Dr. Ratna Sanyal who not only

taught me, but also helped me in various difficult situations and that too beyond the

scope of a teacher.

I appreciate the love and care rendered by my friends which proved to be a source

of enthusiasm for the completion of this project. I’ve found my friend Mr. Anand

Arun Atre beside me during all the tough times. His support and presence is always

precious to me.

My respected parents have always inspired me, encouraged me and I feel obliged

to them for providing me with everything.

In all, I am thankful to all IIIT-A family who helped me from time to time for

something or the other.

Mohd. Imran Khan

25 June, 2007

Page 6: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

iii

DECLARATION

This is to certify that this thesis work entitled “Health Level Seven Compliance

and Clinical Decision Support System for an Intensive Care Unit”’ which is

submitted by me in partial fulfillment of the requirement for the completion of

M.Tech in Information Technology specialization in Software Engineering to Indian

Institute Of Information Technology, Allahabad comprises only my original work and

due acknowledgements has been made in the text to all other materials used.

Name : Mohd. Imram Khan

M.Tech.-IT: Software Engineering

Enrolment No: MS200510

Page 7: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

iv

MISSION

To organize the medical Information and to mine knowledge from it,

to assist the doctors to save lives.

OBJECTIVES

To comply an Information System for Intensive Care Unit with Health Level Seven

Standard and developing architecture for the same, which is robust enough to

accommodate frequent changes and improvements in the HL7 Standard.

AND

To develop a Clinical Decision Support System for the ICU.

Page 8: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

v

Abstract

The position of healthcare industry in India is poor in terms of – adoption of IT

infrastructure, and capability to harness its benefits. Both these factors entangle to

form a catch-22 situation. The fundamental problem lies with either getting

insufficient advantages or arousal of new loop holes in the IT solutions.

An important point to be realized is that automation does not mean simply the

translation of manual process. Rather, automation should provide efficient processing,

removing previous bottlenecks and safeguarding against prospective limitations and

constraints. But most of the times, automation simply mimics the manual process.

Another important fact, though said in different context, but well applied to IT is the

saying-“The art of communication is the language of leadership”. A stand-alone

information system is of no use. They should be interactive. But exchanging

information among health care information systems is a challenge. The reasons being

Health care systems are multidisciplinary in nature. The information systems

developed are too different amongst each other for obvious reasons. This problem had

been realized by some revolutionist back in 1987. They came up with a standard

known as Health Level Seven.

There is one more drawback of information systems. Though they provide a

mechanism to store and retrieve data efficiently, seldom do they provide the facility to

analyze, mine and assess the data. So their attribute of huge data storage go all waste.

Ideally, there should be mechanisms which may enable the managers to take better

decisions.

The above two factors are the basis of this thesis. In essence, they can be

summarized as- development of ‘communicative and interactive information

systems’; and ‘decision support facility’ of information systems.

This project is exclusively developed for Sir Sunderlal Hospital, Banaras Hindu

University, Varanasi. A previously developed Information System, "SANJEEVANI"

is now evolved to a communicative system renamed as "HL7 Compliant

Page 9: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

vi

SANJEEVANI" by complying it with the HL7 standard. A clinical decision support

system, "ANAVESHAK" is also developed. It is an application to retrieve desired

information from the ICU database and to perform statistical and graphical analysis so

as to provide better care to the patients.

Keywords: Intensive Care Unit, Health Level Seven, Information System, Clinical

Decision Support System, Healthcare Environments.

Page 10: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

vii

Table of Contents

ACKNOWLEDGEMENTS ........................................................................................ I

DECLARATION....................................................................................................... III

MISSION ................................................................................................................... IV

OBJECTIVES ........................................................................................................... IV

ABSTRACT.................................................................................................................V

TABLE OF CONTENTS ........................................................................................VII

LIST OF TABLES ......................................................................................................X

LIST OF FIGURES .................................................................................................. XI

INTRODUCTION ..................................................................................................1

1.1 Background ......................................................................................................3

1.2 Current Scenario..............................................................................................3

1.3 Drawbacks in the Current Scenario...............................................................6

1.4 The Proposed Solution Overview ...................................................................7

1.5 Benefits of the Proposed System.....................................................................8

1.6 System Development Phases .........................................................................10

1.7 System Development Schedule......................................................................11

1.8 Development Environment ...........................................................................11

1.9 List of Functionalities ....................................................................................14

1.10 Non-Functional Requirements......................................................................15

1.11 Chapter Summary .........................................................................................15

Page 11: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

viii

LITERATURE SURVEY ..................................................................................16

2.1 Search for the Mechanism.............................................................................17

2.2 The Importance of HL7.................................................................................17

2.3 Study of HL7 ..................................................................................................20

2.4 Study of Decision Support Systems..............................................................26

2.5 Chapter Summary .........................................................................................30

SYSTEM DESIGN ...............................................................................................32

3.1 Architecture of the Proposed Solution.........................................................32

3.2 Architecture of ‘Phase I- Solution to the Communicative Information System’............................................................................................................33

3.3 Architecture of ‘Phase 2- Solution to the Decision Support System’........38

3.4 Process Flow Diagrams of ‘Phase I- Solution to the Communicative Information System’ ......................................................................................40

3.5 Process Flow Diagrams of ‘Phase II- Solution to the Decision Support System’............................................................................................................44

3.6 Chapter Summary .........................................................................................47

NOVEL FEATURES OF THE PROPOSED SOLUTION....................48

4.1 HL7 Specification stored in database (Maintainability) ............................49

4.2 Compressed Syntax Generation (Efficiency)...............................................55

4.3 Use of Configuration Files and Plug-n-Play Architecture (Flexibility and Reusability).....................................................................................................59

4.4 Chapter Summary .........................................................................................64

RESULTS AND OUTPUTS..............................................................................66

5.1 Results of the Application of Novel Techniques..........................................66

5.2 Some Outputs of the Major Functionalities ................................................70

CONCLUSION AND FUTURE ENHANCEMENTS .............................80

6.1 Conclusion ......................................................................................................80

Page 12: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

ix

6.2 Future Enhancements....................................................................................82

APPENDIX-A: INSTALLATION GUIDE.........................................................86

APPENDIX-B: VIEWS USED BY ANAVESHAK............................................90

APPENDIX-C: LIST OF HL7 MESSAGE COMPONENTS USED BY HL7 COMPLIANT SANJEEVANI ......................................................................94

REFERENCES.....................................................................................................106

Page 13: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

x

List of Tables

Table 1.1. Project Development Schedule................................................................12

Table 2.1. Consolidated Health Informatics Domains and standards. .................18

Table 2.2. Some of the Countries having HL7 Branch Offices..............................19

Table 2.3 HL7 and Market Relevance .....................................................................19

Table 2.4. HL7 Evolution ..........................................................................................20

Table 2.5. Examples of HL7 Events. ........................................................................22

Table 2.6. Examples of Message Types. ...................................................................23

Table 2.7. Examples of Segments..............................................................................23

Table 2.8. Examples of fields.....................................................................................24

Table 2.9. Classification of HL7 data types along with few examples. ................24

Table 2.10. An instance of HL7 Message for the event A02 – “Patient Transfer”

..............................................................................................................................25

Table 2.11. The number of events under each classification of HL7 event. .........27

Table 2.12. Number of various components in HL7 v2.3.1. ...................................27

Table 4.1. Marital Status ...........................................................................................52

Table 4.2. Format of datatype- Extended Person Name (XPN) ............................54

Table 4.3. Number of queries required to generate syntax of a typical HL7

Message ...............................................................................................................56

Table 5.1. Number of queries required to modify, add or delete an HL7 Message

Component..........................................................................................................67

Table 5.2. Average response time for the successive processing of HL7 messages.

..............................................................................................................................70

Table B.1. Details of ICU Views used by ANAVESHAK.......................................90

Table C.1. HL7 Messages (along with their segments) used by SANJEEVANI ..94

Table C.2. HL7 Segments along with their fields....................................................96

Table C.3. Classification and components of HL7 Datatypes..............................102

Page 14: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

xi

List of Figures Figure 1.1. Healthcare departments, related external systems, and the structure

of information exchange. .....................................................................................5

Figure 1.2. System Overview.......................................................................................9

Figure 1.3. Project Development Schedule in Gantt chart.....................................13

Figure 2.1. The usage of different HL7 versions currently running in the

healthcare industry [NeoTool]. .........................................................................21

Figure 2.2. The composition of HL7 Message into segments, fields, and

components. ........................................................................................................23

Figure 2.3. Classification of Health care Information Systems. ............................28

Figure 2.4. General Architecture of a Case Based Reasoning Systems ................30

Figure 3.1. System Overview.....................................................................................33

Figure 3.2. Phase I- Modular Architecture as a Layered Model...........................34

Figure 3.3. Phase I- Modular Architecture as Package Dependency Diagram....38

Figure 3.4. Phase II- Modular Architecture as Package Dependency Diagram ..39

Figure 3.5. HL7 Compliant ICU Information System as a Sender. ......................41

Figure 3.6. Process Flow Diagram for the HL7 Compliant ICU- Information

System as a Receiver of Messages.....................................................................42

Figure 3.7. Process Flow Diagram for the Clinical Decision Support System .....45

Figure 3.8. Sequence Diagram for the Query Composition Process .....................46

Figure 4.1. The Entity-Relationship-Diagram for the HL7 Specification ............51

Figure 4.2. HL7 Database Schema Design...............................................................52

Figure 4.3. The details of tables ‘EventDescription’, ‘SegmentDescription’ and

‘EventSegment’ and their relationships...........................................................53

Figure 4.4. The application of Composite Pattern to the problem of....................55

‘Convoluted datatype structure’ ..............................................................................55

Figure 4.5. Application of Flyweight Pattern to produce compressed syntax......58

Figure 4.6. Concept of Flyweight Pattern................................................................58

Page 15: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

xii

Figure 4.7. Table Design for mapping HL7 fields to the operational database. ..60

Figure 4.8. System Architecture as Plug-n-Play Model..........................................61

Figure 4.9. Excerpts from configurations files. .......................................................62

Figure 4.10. The integration of decision support application with two

departmental databases to produce corresponding DSS. ..............................63

Figure 4.11. An excerpt from XML property file. ..................................................64

Figure 5.1a. Sample Message for Event ‘A02- Patient Transfer’ taken from HL7

specification v2.3.1. ............................................................................................69

Figure 5.1b. Compressed Syntax for the event ‘A02- Patient Transfer’ ..............69

Figure 5.2a. Message Sending Capability of the ICU Information System..........72

Figure 5.2b. Message Receiving Capability of the ICU Information System.......72

Figure 5.2c. Full screen view of the received message. ...........................................73

Figure 5.3a. Querying Capability of SANJEEVANI – Query Sending Interface.

..............................................................................................................................74

Figure 5.3b. Querying Capability of SANJEEVANI – Query Response Interface.

..............................................................................................................................74

Figure 5.4. Receiving Applications Management Capability- Administrator’s

Managing Interface............................................................................................75

Figure 5.5a. ‘Query Browser’- An interface providing drag-n-drop option for

composing queries. .............................................................................................76

Figure 5.5b. ‘Filter Dialog Box’- an interface to specify filter attribute...............77

Figure 5.5c. Query Result Interface. ........................................................................77

Figure 5.6a. Special Interface to quickly view observations. .................................78

Figure 5.6b. Analysis of observations ‘BP Systolic’ vs ‘BP Diastolic’ using XY-

Graphs.................................................................................................................79

Page 16: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 1

Introduction

The healthcare Industry is growing significantly as the surveys show for the

developing countries and it consumes 10 percent of gross domestic product [Kaiser-

06]. Information is a vital part of any industry, but it becomes an indispensable need

for the healthcare industry as it is directly related to human lives. An effective

management of this information is one of the key objectives satisfying the mission of

any healthcare industry. When the issue is of ‘information management’ then

Information Technology (IT) is the only benefactor. Though healthcare enterprises

have started reaping benefits of this technology, yet a lot is left to adopt and adept

related to this science.

IT has become a ubiquitous fruit found on all the branches of the growing tree of

science. It can facilitate any industry through myriad directions. Some of the ways in

which it can help a healthcare environment are: Information Management,

Information Dispersal and Decision Support. This thesis, as a partial requirement

for the fulfillment of M. Tech in Software Engineering, is an endeavour to facilitate

an Intensive Care Unit (ICU) in its information dispersal and decision support. The

information management has already been accomplished by an earlier thesis.

This chapter introduces the purpose of the whole dissertation. It starts by making

obvious the reason behind how the project was initiated and why the ICU needed the

information system at the first place. The information system came up to its

expectations but some newer problems arose. Hence the chapter brings out the current

scenario and the reformations still required. Major problems are identified next

Page 17: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

2

followed by an overview of the proposed solution. How the solution will solve the

current problems is covered next. The system development phases and schedule is

presented next with the help of a table and Gantt chart. Development environment

gives a detail of the system requirements. At last, a precise list of functional and non-

functional requirements is given.

Chapter 2 explores the work done in the concerned field. Various Medicare

standards are listed with a comparative study of them. Health Level Seven proved to

be the most apt standard. The standard’s importance is shown because of which it was

chosen to provide the solution. The standard is introduced first and then dealt in

detail. Chapter 2 also gives an overview of various types of decision support systems.

Chapter 3 presents the various architectural views of the proposed system.

Package dependency view, Layered view, process flow diagrams and sequence

diagrams explains the various perspectives of the system.

Apart from functional requirements, the product provides various non-functional

requirements. Techniques applied to equip the product with non-functional

requirements like maintainability, efficiency, flexibility and reusability are covered in

Chapter 4. The chapter brings out the rationale for using each technique.

Chapter 5 verifies the design and novel techniques by showing the system

outputs. Results show the effort required to modify the standard’s specification and

the system running time. Major functionalities are also shown through screenshots of

the system.

Chapter 6 concludes the dissertation and brings out the achievements and worth

of the solution. It also discusses about the road ahead and future enhancements.

Appendices provide the Installation Guide, views used by the decision support

system and list of the HL7 components used by the information system. These

appendices would be helpful to those who want to configure and maintain the system.

At last, a list of all references is attached in an alphabetical order.

Page 18: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

3

1.1 Background

The ICU is the specialized unit of a hospital for patients who require special

medical care. During the patient stay at ICU, his health condition and other vital

details are continuously monitored. Outputs, ventilation details, target status,

investigation reports, culture sensitivity reports, doctor and nurse summary, adverse

events, risk assessment and scoring are tracked carefully.

Earlier, these readings were recorded in the charts. For each patient, a new chart

was filled everyday. But the information management in that system was quite messy.

The charts, despite of being large in size, used to become a limitation in storing

enough information. While on the other hand, it was difficult to manage such large

sized charts. Of course the modification and retrieval of information from those charts

was cumbersome.

The obvious solution to the problem was an ‘Information System’. The

information system was developed in an earlier thesis- “Information System for

Assessment of Functioning of Intensive Care Unit and Rule Extraction with ID3

Algorithm” [Gopal-06].

1.2 Current Scenario

The adage “Necessity is the mother of invention” holds true here as well. The

Information System named ‘SANJEEVANI’ was successful in eliminating the

targeted problems and proved a boon for the ICU. But with the deployment of the

system, some newer problems were recognized in a larger sphere of scope than the

newly developed system. The problems, which became the basis for this thesis, can be

broadly stated as below.

i. There was a need for the developed system to be able to interact with other

information systems of the hospital. ii. There was a need for a decision support system.

Page 19: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

4

A typical modern hospital is much like an enterprise. It comprises of a number of

information systems varying with the size of the healthcare environment. One of the

most important features of any enterprise is its ability to raise, customize or cease one

or more departments (or in the context of IT- an information system). Another

consequential characteristic of such an enterprise is its ability to communicate among

all information systems. The IT driven world today is heading towards these two

goals with leaps and bounds to invent technologies fulfilling these requirements;

Workflow Architectures and Service Oriented Architectures being the prominent

ones.

Figure 1.1 depicts few of the departments of a healthcare environment, its related

external systems and the need of information exchange among them. The real

information exchange takes place according to the business logics of a particular

system, but at the most, all the departments may require information from any other

department.

For the case of our ICU, the information system developed was a standalone

system. Hence to transfer information to this system from other information systems

was interleaved by manual processes, which proved to be a bottleneck in the entire

workflow. To make that situation more obvious, some examples are presented below.

Example 1.1. The patient arrives at the ICU either directly after registration (in case

of critical situations) or from another department (when the case deteriorates). In both

the cases, the patient’s information is required at the ICU. This information was

carried by the patient himself through reports, forms and receipts despite of being

present at the other departments’ information system. This workflow had two major

drawbacks. Firstly the patient’s information was typed again by an operator into the

ICU information system. This process itself was error prone and time consuming.

Secondly, the ICU had to haste all the arrangements on the arrival of the patient.

Although the patient was referred to the ICU much before, yet there was no way to

send an alert to the ICU.

Page 20: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

5

Figure 1.1. Healthcare departments, related external systems, and the structure

of information exchange.

Example 1.2. Apart from the patient’s information, the ICU staff may require other

information from different departments. A doctor might need to inquire the Pharmacy

for a certain drug before prescribing it to a patient. Or a consultant sitting in ICU

might want to know the investigation reports of one or more patients from the

Pathology. The new system was not developed to fulfill such requirements.

The above examples were just very few of the umpteen scenarios which heavily

demand information systems to communicate among themselves.

An important direction through which industries are deriving strategic advantages

by adopting IT infrastructure is the IT based decision support. The data is the actual

‘experience’ of an organization. Planning and decisions, if based on this experience

are more likely to produce good ‘judgments’.

Exchange of Information

Labs

Insurance Companies

Clinics

Hospitals

Medical Devices

Other Systems Pathology

Radiology

Electronic Medical Records

Pharmacy

External Health Care

Internal Health Care

Page 21: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

6

For our ICU, a decision support system was the need of the hour. Like any other

department, the ICU also performs analysis, plans and predicts; like managerial

decisions, diagnostic predictions, and case study analysis. Here again, few examples

will make the picture more clear.

Example 1.3. The ICU management might want to assess the performance of a nurse.

So they require all the adverse event entries registered against that nurse, or perhaps

the number of patients who expired during her duty hours.

Example 1.4. The residents and doctors taking care for the ICU patients might get

interested in knowing about past cases similar to some present case in the ICU. The

diagnostic procedures and their outcomes may prove really helpful to them.

Example 1.5. Medical students and junior doctors may want to extract some specific

case studies or just few attribute values in order to compare, collate and draw some

new trends.

It should be noted again that these examples are just few instances of a much

larger set which proves a genuine need for a decision support by the ICU. The

problems can be precisely summarized as below.

1.3 Drawbacks in the Current Scenario

1. There was no means by which the ICU comes to know that a patient has been

referred to the ICU. It was only when the patient or some kin reported there. In

such cases, the arrangements had to be made in haste. The situation used to get

worse when some critical case arrived.

2. Consequent to this problem was another bottleneck. For admission in ICU, the

general patient’s information was needed to be fed in the information system

which had already been fed at either registration counter or some other

department. The patients needed to carry all the prior documents and receipts.

Page 22: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

7

3. Some times a patient needs to be admitted in ICU directly. In such cases, it may

be required to inform other departments. Again a manual process was required

for this information flow.

4. Similar problems persisted when the patient was discharged. Other systems like

Billing Department were ignorant of this event.

5. Another important need was to access the information of other departments and

let other departments access the ICU information.

6. The ICU information system produces only few reports centered on the

patients. The database in spite of having data in bulk was useless from analysis

and prediction point of view.

7. There was no way to extract and analyze the data from the database based on

the user’s choice.

In essence, all the problems were basically due to the lack of e-communication

between various departments. The requirement of decision support is a very genuine

and intrinsic need of any management.

1.4 The Proposed Solution Overview

The solution to the problem was indeed obvious but challenging. For the problem

of ‘communicative information systems’, the solution was to upgrade the existing

system by adding a communicative module to it. But the underlying challenges

involved can be realized from the following points.

1. The number of information systems in the hospital was not fixed. The hospital

may raise, modify or cease one or more information systems.

2. The information systems in the hospital were quite disparate. To develop a

module which can communicate with some information systems in such a way

that messages sent and received are understandable by both the sender and

receiver would be infeasible and extremely tightly coupled. Moreover to

analyze all the systems is beyond the scope of even a small team of developers.

Page 23: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

8

In essence, the communicative module should be independent of any other

system. Thus, the need of a standard was realized. It was found that a standard named

Health Level Seven (HL7) exists which serve the required purpose [HL7-99]. The

details of HL7 are provided in chapter 2- Literature Survey. For the introductory

purpose, HL7 can be understood as a standard which defines standard messages

pertinent to each and every event that is likely to happen in a healthcare environment.

In other words, two HL7 compliant information systems can easily exchange

information among themselves by sending and receiving one or more messages of the

standard. Hence the final solution was to comply the ICU information system with

HL7 standard.

The solution to the second part of the problem – “Provision of Decision Support”

was more of a decisive problem itself. Decision support systems have a number of

classifications based on different parameters, which is discussed in details in chapter

2- Literature Survey. On one scale, there may be active, passive or cooperative

decision support systems, while on the other they may vary from elementary data

extractive tools to Case Based Reasoning Systems (CBRS) to Expert System. Each

type has its own degree of analysis and predictive potential which is directly

proportional to the cost (time, money and other resources) of such systems. After

feasibility analysis, it was decided to provide the ICU with the decision support in an

incremental fashion. As for inception, an elementary clinical decision support system

was decided which could provide an easy data extraction, statistical and graphical

analysis facilities.

The whole system along with its peer systems can be viewed as in the Figure 1.2.

1.5 Benefits of the Proposed System

The compliance of ICU information system to the HL7 standard caters following

benefits to the system.

1. The ICU is now connected to the whole hospital.

Page 24: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

9

2. It can now receive alerts of patient arrival to the ICU before hand so that the

arrangements can be managed properly.

3. It can notify other departments about the direct admission of patients to the ICU

as well as about the patient discharge.

Figure 1.2. System Overview. (Red arrows show data flow.)

4. The ICU staff can now query other information systems of the hospital and

receive appropriate information.

5. Conversely, the ICU information is accessible to other systems.

6. Departments or otherwise information systems can be easily managed by the

administrator of the information system. New departments can be added while

obsolete ones can be modified or deleted.

7. The mapping of messages and their corresponding receivers is subjected to an

easy addition and modification.

ICU Information System ICU Database HL7 Database

Clinical Decision Support System

HL7 Messaging Server

Other HL7 Compliant Information Systems

Page 25: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

10

Benefits from the decision support system are as follows.

8. The whole database schema is open to the ICU management.

9. As a result, one can query the contents of the various aspects (technically

database views) of the entire ICU.

10. The information view has broadened. The information no longer remains

patient centric as was with the reports generated from the information system. It

can be pivoted on any attribute of the schema. Moreover, the information can

be viewed in a collectively manner for all the patients.

11. Even complex queries comprising of joins of various tables can be composed

and executed.

12. Statistical and graphical analysis of the retrieved information can be done.

1.6 System Development Phases

To fulfill the two aforementioned objectives, the system was developed in two

phases, Phase I and Phase II.

Phase I

As the major phase of the development, the objective was the compliance of HL7

standard. Hence the activities performed started with designing a schema for HL7

standard, implementing it in MySQL database management system and then

populating it with sufficient amount of standard’s specification. Then the application

program was designed. During application design, the important module was ‘HL7

Syntax Composer’ which abstracted the convoluted structure of HL7 standard. Other

modules were designed for message management, validation and network messaging

service. Care was taken to provide error and accept acknowledgements to the sending

applications.

Phase 2

The phase started with creating patient-centric views in order to render complete

and meaningful information. The next step was to display all the views to the user and

allow him to query in the desired fashion. Nifty user interfaces were designed which

Page 26: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

11

guide a user to compose a query. Statistical and graphical analysis capabilities were

provided next.

1.7 System Development Schedule

The project-cum-thesis was a one year work starting from 15 July, 2006 to 30

May, 2007. The project was divided into probable tasks and a schedule was planned.

As the only certainty in this world is uncertainty, so the actual tasks couldn’t adhere to

the schedule completely. The duration of planned and actual tasks are shown in Table

1.1 as well as in Figure 1.3.

1.8 Development Environment

Softwares Required

The softwares required for the proposed system are

1. Java 5

2. MySQL 5

3. MySQL JDBC Connector 3.1.12 and

4. JFreeChart 1.0.0

5. jsci-mathmlimpl Library

6. JDOM 1.1

All softwares are open source and freely downloaded from the appropriate web

sites (see Appendix-A Installation Guide).

Hardware Required

1. The minimum hardware required is

2. Intel or AMD Mother Board

3. Pentium III Processsor

4. 256 MB RAM

5. 20 GB HDD

6. Lan Card or Modem

Page 27: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

12

The preferred screen resolution is 1024 X 768.

Table 1.1. Project Development Schedule

SNo. TASK NAME PLANNED DURATION ACTUAL DURATION/S

PHASE-I

1 Study of the current

system Jul 15, 06 - Aug 15, 06 Jul 25, 06 – Aug 30, 06

2 Literature Survey and

Study of HL7 Standard Aug 15, 06 – Sep 30, 06 Aug 25, 06 – Nov 05, 06

3 Design of HL7

Specification Database Oct 1, 06 – Oct 15, 06 Oct 3, 06 – Oct 20, 06

4

Design of Rule Engine,

Sending and Receiving

Module

Oct 15, 06 – Oct 31, 06 Oct 20, 06 – Nov 30, 06

5 Identification Of Messages

Pertinent to ICU Nov 01, 06 - Nov 15, 06 Nov 01, 06 - Nov 10, 06

6

Implementation Of Rule

Engine, Sending and

Receiving Module

Nov 15, 06 – Dec 15, 06 Nov 01, 06 – Nov 30, 06

7

Design and

Implementation of User

Interfaces

Dec 15, 06 – Dec 31, 06 Dec 20, 06 – Jan 10, 07

8 Integration and Testing of

all Modules Jan 01, 07 – Jan 31, 07 Jan 10, 07 Onwards

PHASE-II

9 Requirement Gathering for

Decision Support System Feb 01, 07 – Feb 28, 07 Feb 10, 07- Feb 20, 07

10 Design Of Decision

Support System Mar 01,07 – Mar 25, 07 Feb 21, 07 – Mar 25, 07

11 Implementation Of

Decision Support System Mar 25, 07 – Apr 25, 07 Mar 25, 07 – Apr 30, 07

12 Testing Of Decision

Support System Apr 25, 07 – May 15, 07 Apr 30, 07 – May 25, 07

Page 28: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

13

MILESTONES JUL,2006

AUG,2006

SEP,2006

OCT,2006

NOV,2006

DEC,2006

JAN, 2007

FEB,2007

MAR,2007

APR, 2007

MAY,2007

Study of thesystem(ICU IS)

Literature Survey

Design of HL7

Spec. DB

Design of RuleEngine, Sending

and ReceivingModules

Identification ofMessages

Types pertinentto ICU

Implementationof Rule Engine,

Sending andReceiving Modules

Design andImplementation

of UserInterfaces

Integration andTesting

of all Modules

RequirementGathering For

DecisionSupport System(DSS)Design Of DSS

ImplementationOf

DSS

Testing Of DSS

Shows Planned Activity

Shows Actual Activity

Figure 1.3. Project Development Schedule in Gantt chart

Page 29: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

14

1.9 List of Functionalities

I. HL7 Compliant SANJEEVANI

The ICU Information System- SANJEEVANI 1.01 is now upgraded to HL7

Compliant SANJEEVANI 2.0 with added functionalities as listed below.

For all users

i. Capability to receive alerts, reports and patients’ information in the form of

HL7 messages.

ii. Capability to automatically send patients’ information in the form of HL7

messages for following ICU events: Patient Admit, Patient Transfer, and

Patient Discharge.

For privileged users

Capability to query other information systems (which may be any HL7 Compliant

System). For Administrator

i. Capability to add, delete or modify nodes of Information systems.

ii. Capability to add, delete or modify allowable queries against each system.

iii. Capability to set any number of receivers against each automatically

triggered event (Multicast).

II. ANAVESHAK

The clinical decision support system is baptized to ‘ANAVESHAK’ –the

explorer. It provide following functionalities.

i. Capability to compose and execute a query by selecting any number of

attributes from the schema, specify filters by selecting attributes and

defining ranges or values. The system returns the required response in a

presentable way.

ii. Capability to save frequently occurring important and long queries so that

one can get execute a similar query quickly.

iii. Capability to apply various statistical analyses on the resultant query

response.

iv. Capability to graphically represent the results of the query.

Page 30: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Introduction

15

1.10 Non-Functional Requirements

One of the goals of Software Engineering is to encourage in providing non-

functional requirements to the projects. Several measures and techniques were applied

to provide following non-functional requirements. Incorporating these features

actually makes this thesis different from other projects. Chapter 4 ‘Novel Features of

the Proposed Solution’ elaborate on the non-functional requirements.

1. Efficiency. By generating a ‘Compressed Syntax’ via using Fly Weight

Pattern.

2. Maintainability. The storage of HL7 Specification in database makes the

system highly maintainable as the frequent changes to the standard can easily

be incorporated in the database.

3. Flexibility and Reusability. Use of Configuration Files and Plug-n-Play

Architecture.

1.11 Chapter Summary

In general, the healthcare environments are suffering from problems of lack of

‘information flow’ and decision support. The ICU at Sir Sunderlal Hospital, Banaras

Hindu University, Varanasi was one such department which faced this problem even

after the development of an information system for easy storage and retrieval of

patients record. It was its inherent need to be able to give and take information with

other system. The solution proposes to comply the information system with the HL7

standard which is a standard for interactions amongst disparate healthcare information

systems. On the other hand, a decision support system is planned to be developed to

help the ICU in decision making process.

Next chapter shows the selection procedure of the HL7 standard. The standard’s

messages and their composition are described. It gives a brief of the concept of

decision support system. The essence of past and contemporary work is provided in

the chapter.

Page 31: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 2

Literature Survey

The solution to the problems of ICU was a ‘communicative information system’

and a ‘decision support system’. Before going for the implementation of the solution,

Literature Survey was carried over. Reviewing the past and contemporary work of the

same area is an utmost important task for a project.

The Literature Survey for this project started from analyzing the objectives of a

healthcare environment so as to better align our objectives with them. Key healthcare

organization’s objectives include (but not restricted to these only):

1. Better quality of care

2. Improved patient outcomes

3. Increased productivity and workflow efficiency

4. Better information at the point of care

5. Improved and integrated communications

6. Privacy and protection of patient information

The points in bold font actually come under the responsibility of the IT department.

Our solution of “Decision support system” is a step towards better productivity and

efficiency (that is point 3). The solution to “Communicative information systems”

caters to the point 5, while the information system was developed on the first hand to

fulfill the objective stated as point 6.

To meet these objectives, the goals of Literature Survey can be stated as below.

1. To search for a mechanism, which makes communicative information

systems.

2. To probe the importance and worth of that mechanism in the current scenario.

Page 32: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

17

3. To learn and understand the mechanism thoroughly so as to make use of it.

4. To study the architectures, designs and algorithms used of a decision support

system.

These explorations are summarized under following heads.

2.1 Search for the Mechanism

The first objective of the project was to make the ICU information system

communicative. As stated earlier, this was even more challenging because there was

no information available about other information systems. The only solution left was

to adopt some standard. Open Electronic Healthcare Record (EHR), European

Standard EN 13606 EHRcom, Health Level Seven (HL7), Digital Imaging and

Communications in Medicine (DICOM), Integrating the Healthcare Enterprise (IHE)

are some of the standards that structure clinical contents for the purpose of

information exchange [Aden-05]. United States Department of Health and Human

Services instigated an initiative named as Consolidated Health Informatics (CHI)

which has recognized the most relevant standard for various sub-domains of

healthcare industry. Table 2.1 shows some domains and the pertinent standards. As

the table shows, HL7 seemed to be the most pertinent and complete solution for our

information exchange problem.

2.2 The Importance of HL7

It may be argued that for many standards, which no sooner they conceive than they

die their own deaths. Many research papers, scientific magazines, news papers,

market surveys are in favor of HL7. The facts in favor of HL7 are listed below.

1. HL7 is an ANSI accredited standard.

2. HL7 is endorsed by Health Insurance Portability and Accountability Act of

United States (HIPAA) as one of the important healthcare standard.

3. The standard is widely used in many countries and consists of branch offices

in countries some of which are shown in Table 2.2.

Page 33: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

18

Table 2.1. Consolidated Health Informatics Domains and standards.

DOMAIN ADOPTED STANDARD

Laboratory Results Names Logical Observation Identifiers Names and

Codes (LOINC)

Messaging Standards: General Health Level Seven (HL7)

Messaging Standards: Retail Pharmacy National Council for Prescription Drug

Programs (NCPDP) SCRIPT Transactions

Messaging Standards: Connectivity IEEE 1073

Messaging Standards: Image information to

workstations

Digital Imaging and Communications In

Medicine (DICOM)

Medications Federal Drug Standards

Interventions/Procedures: Lab Test Order

Names LOINC

Interventions/Procedures: Non-Laboratory Systematized Nomenclature of Medicine,

Clinical Terms (SNOMED CT)

Demographics HL7

Immunizations HL7

Lab Results Contents SNOMED CT

Units HL7

Anatomy SNOMED CT for Anatomy

Diagnosis/Problem Lists SNOMED CT

Nursing SNOMED CT

Financial/Payment

Health Insurance Portability and

Accountability Act of United States (HIPAA)

Approved Code Sets and Transactions

Clinical Encounters HL7

Text-Based Reports HL7

4. A survey of various EHR standards shows a significant market relevancy of

the HL7 standard [Aden-05]. Table 2.3 shows the market relevancy of the

HL7 standard with respect to countable aspects of market relevancy.

5. Not only IT firms hire HL7 experts, but also there are commercial

organizations like NeoTool [NeoTool] and AMICAS [Amicas] with whole-

soul expertise in HL7 standard only.

Page 34: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

19

Table 2.2. Some of the Countries having HL7 Branch Offices.

COUNTRY WEBSITE

Argentina http://www.hl7argentina.org.ar

U.K. http://www.hl7.org.uk

Japan http://www.hl7.jp

Ireland http://www.hl7.ie

Germany http://www.hl7.de

Finland http://www.hl7.fi

China http://www.hl7.cn/

Canada http://hl7canada.cihi.ca/

Australia http://www.hl7.org.au

Table 2.3 HL7 and Market Relevance

Aspect of Market Relevance HL7 Standard

Final specification available Yes

Implemented Yes

Comercial products available Yes

Intended for international market Yes

Focusssed on medical imaging sector No

But nothing is absolutely black or white in this world. Critics regard HL7 as too

complex for modeling and adding security. They have proved that it as designed for

implementation and not for conceptual modeling against the claim of the designers of

HL7. They consider that the HL7 documentation is very difficult to understand

[Fernandez-05]. In the paper “An analysis of modeling flaws in HL7 and JAHIS”

[Fernandez-05] they quote as follows: “Instead of using the Unified Modeling

Language (UML), the standard notation for object-oriented software development,

these two organizations have developed specialized object-oriented models. This has

resulted in languages which are incompatible with the current use of UML. What is

worse, it will be difficult to add security specifications in their models, a critical

aspect in the electronic interchange of medical records.”

Since the pros overweighed the cons, we decided to go ahead with HL7.

Page 35: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

20

2.3 Study of HL7

In the past decade, HL7 has evolved through many versions as depicted in the

table below [Neotool].

Table 2.4. HL7 Evolution

DATE EVENT

Mar, 1987 Conception of HL7 standard

Oct, 1987 HL7 Version 1

1988 HL7 Version 2

1990 HL7 Version 2.1

1994 HL7 Version 2.2

1997 HL7 Version 2.3

1999 HL7 Version 2.3.1

2005 HL7 Version 3

Still new versions are underdevelopment. Versions 3 onwards were not freely

available. Version 2.3 was found to be most reliable and heavily used version of the

standard as can be seen from the Figure 2.1. It is also freely available. The standard

was found to be very complex and comprehensive [Fernandez-05]. Conventionally,

HL7 organization advocates for a training programme and thus conducts various

training programmes, conferences, meetings and seminars round the year for its

members.

The standard was studied with the help of following sources.

1. Version 2.3.1.

2. There is a corroborative standard to HL7 named Reference Information

Model [RIM-04]. RIM provides a static and complete view elaborated in UML

for the design and requirements of HL7.

3. White papers from companies providing HL7 solutions [Neotool, Amicas].

Page 36: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

21

Version 2.1Version 2.2Version 2.3Version 2.3.1Version 2.4Version 2.5Version 3

Figure 2.1. The usage of different HL7 versions currently running in the

healthcare industry [NeoTool].

2.3.1 Introduction to HL7

HL7 was developed at University of Pennsylvania in the year 1987. The group

which found the standard had the intentions to devise a “language” which may allow

communications between disparate healthcare applications. Moreover the standard

was made quite general so as to cater global needs, because of which it got

international acceptance very soon. It was then recognized by ANSI.

The “language” basically consists of messages, which are composed of various

segments, which in turn contains data fields. The protocol comprehensively describes

messages, segments, fields, data types and some tables so as to cover all probable

events in a particular healthcare environment.

2.3.2 HL7's Mission

"To provide (global) standards for the exchange, management and integration of

data that supports clinical patient care and the management, delivery and evaluation

of healthcare services. Specifically, to create flexible, cost effective approaches,

Page 37: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

22

standards, guidelines, methodologies and enable healthcare information system

interoperability and sharing of electronic health records." [HL7-99]

2.3.3 Overview of HL7 Specification

The primary requirement for making any healthcare Information System HL7

compliant is that it should be able to send and receive process and store any required

HL7 message. HL7 defines a specific structure for these messages. This structure is

elaborated in next section.

2.3.4 Composition of HL7 Messages

The standard has defined the composition of the message as depicted in Figure 2.2.

2.3.4.1 HL7 Message. HL7 Messages are the kernel of the HL7 standard. The

information systems communicate with each other via these messages. These

messages are triggered by the various events that happen in a health care environment.

The standard has identified ample number of events that suffices the needs of typical

healthcare environments. Table 2.5 shows few examples of HL7 Messages.

Table 2.5. Examples of HL7 Events.

EVENT DESCRIPTION

A02 transfer a patient

A04 register a patient

A06 change an inpatient to an outpatient

2.3.4.2 Message Type. The standard has classified the messages under eleven heads.

There is 1-to-many relationship between events and message types. The detailed list

of classification of the messages is presented in the statistical analysis of the standard

(see Table 2.11).

Page 38: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

23

Table 2.6. Examples of Message Types.

MESSAGE TYPE DESCRIPTION

ORF Query for results of observation

DFT Detail financial transactions

MDM Medical document management

HL7 Message

Message Type Segments

Fields

Data Types

Figure 2.2. The composition of HL7 Message into segments, fields, and

components.

2.3.4.3 Segments. An HL7 Message is comprised of a group of segments in a defined

sequence. A segment is a logical grouping of data fields. Segments of a message may

be required or optional. They may occur only once in a message or they may be

allowed to repeat.

Table 2.7. Examples of Segments.

SEGMENT DESCRIPTION

MSG Message Header

EVN Event Type

PID Patient ID

Page 39: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

24

2.3.4.4 Fields. A field is a string of characters. A field is identified by a unique field

code and a field name. It should be composed of one or more data types defined in the

standard. Hence a field could be a simple or composite in nature.

Table 2.8. Examples of fields.

FIELD DESCRIPTION

00147 Admitting Doctor

00170 Bed Status

00380 Diagnosis Type

2.3.4.5 Data Types. The standard proposes a set fifty three data types classified

under twelve heads. The classified heads and their few examples are illustrated below.

Table 2.9. Classification of HL7 data types along with few examples.

Sr. No CLASSIFICATION EXAMPLES

1 Alphanumeric String, Text Data

2 Numerical Composite quantity with units, Money, Numeric

3 Identifier Coded values for HL7 tables, Coded value for user-defined

tables, Version identifier

4 Date/Time Date, Time

5 Coded Values Coded element, Coded with no exceptions, Composite ID

with check digit

6 Generic Composite

7 Demographics Address, Person Name, Telephone Number

8 Specialty/Chapter

Specific

Channel definition, Multiplexed array, Numeric array

9 Extended Queries Query input parameter list, Row column definition

10 Master Files Driver’s license number, Job code/class, Visiting hours

11

Medical

Records/Information

Management

Performing person time stamp

12 Time Series Date/time range, Repeat interval, Scheduling class value

pair

Page 40: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

25

2.3.5 An Instance of HL7 Message

HL7 defines a message A02 for the event- patient transfer. A message instance of

this event is taken from the developed system log and shown in the form of a Table

2.10. All segments begins from a new line and start with three letter code which

identifies the segment. The first row of the Table 2.10 shows the message header

segment with code MSH. This segment is a complimentary segment to all the

messages of the standard. It provides some basic information required to interpret the

whole message. For example the first character after MSH code in the message header

defines the field separator followed by four characters which defines encoding

characters. For our case the field separator is a pipe character- ‘|’ and the encoding

characters are ‘^~\&’ which means that the component separator is a carrot symbol-

‘^’, repetition separator is a tilde character-‘~’, escape character is a backslash

symbol- ‘\’ and the subcomponent separator is an ampersand character- ‘&’. With the

help of these symbols, the messages can be parsed and interpreted against the

standard’s specification.

Table 2.10. An instance of HL7 Message for the event A02 – “Patient

Transfer”

SEGMENT

NAME SEGMENT VALUE

Message

Header

MSH|^~\&|^ICU-2||^ICU-

1||200612272150||ADT^A02|#200612272150|P|2.3.1|||||||||

Event Type EVN|A02|200612272150|200612272300|02|420^Venkatesh|

Patient

Identification

PID|||12345||Khan^^Imran^^Er^Mr||19810612|M|||23 Purana Top

Khana^^Lucknow^U.P.^India||+91-

9935563272|||S|||||||Lucknow|||||India|

Patient Visit1 PV1||I|ICU-1||||123^Dr.Sarkar||||||||||321^Dr. Bhattacharya|

The message in the Table 2.10 can be interpreted as follows.

1. Message Header Segment. A message related to the event A02- ‘Patient

Transfer’ was transferred from ICU-2 to ICU-1 at 27-12-2006 21:50. The

version of the standard used in the message is 2.3.1.

2. Event Type Segment. The segment indicated again that the event happening

is a patient transfer A02. The transaction was recorded at 27-12-2006 21:50

Page 41: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

26

while the event actually happened at 27-12-2006 23:00. The operator

responsible for the transaction was Venkatesh with employee Identity number

as 420.

3. Patient Identification Segment. The patient Er. Mohd Imran Khan with

patient-Id as 12345 is a male born on 12-06-1981. He is a resident of 23,

Purana Top Khana, Lucknow, U.P., India. His telephone number is +91-

9935563272. His marital status is single (S) while birth place is Lucknow and

nationality is India.

4. Patient Visit1 Segment. The intype(I) patient is assigned a new location of

ICU-1. The attending doctor is Dr. Sarkar with employee-Id as 123 while

admitting doctor is Dr. Bhattacharya with employee-Id as 321.

It should be noted that the sample message is one amongst the smallest messages

as can be seen from the lots of empty fields. An HL7 message can at the most contain

500 fields. For detailed description of the standard, please refer HL7 v2.3.1

specification.

2.3.6 Statistics and HL7 Standard

Any assessment is incomplete without a thorough mathematical analysis. The

analysis brings out an interesting statistics. HL7 classifies various healthcare events as

depicted in Table 2.11. Table 2.12 shows the number of different components defined

in the standard of version 2.3.1.

2.4 Study of Decision Support Systems

Different authors provide different definitions and scopes of a decision support

system (DSS). Albert and Soumitra defines a DSS as- “Decision support systems

(DSS) are interactive, computer-based systems helping decision-makers (individuals

and/or groups) to solve various semi-structured and unstructured problems involving

multiple attributes, objectives, and goals” [Angehrn-98]. Some say that a DSS

provides advices (Active DSS) [Caleb-Solly-03] while others argue that they just

provide support to decisions (Passive DSS) [Lee-01].

Page 42: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

27

Table 2.11. The number of events under each classification of HL7 event.

Sr. No. EVENT TYPE NUMBER OF EVENTS

1 Patient Administration 64

2 Order Entry 2

3 Query 9

4 Financial Management 9

5 Observation Reporting 14

6 Master Files 11

7 Medical Records/Information Management 12

8 Scheduling 26

9 Patient Referral 15

10 Patient Care 20

11 Extras 6

TOTAL 188

Table 2.12. Number of various components in HL7 v2.3.1.

COMPONENTS NUMBER

Segments 110

Elements (Fields) 1477 (approx)

Data types 53

HL7 or User Defined Tables 200 (approx)

As far as scope of CDSS is concerned, it has been found that they provide various

levels of assistances- from generating reminders and alerts to extracting desired

knowledge and interpretation to diagnostic assistance, therapy critiquing and planning

to Image recognition and interpretation. At the most, a CDSS may land up to an

expert system.

2.4.1 Classification of Clinical Decision Support Systems

Some consider CDSS as extensions to information systems and classify them as

shown in Figure 2.3 [Caleb-Solly-03].

Page 43: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

28

2.4.2 Philosophy of Decision Support Systems

A Decision Support System does not just consist of a computer-based system.

Rather the decision maker (DM) and the computer-based systems are considered as

resources in the decision making process [Angehrn-98]. The role of computer-based

system is actually two-fold as classified below.

A Decision Support System does not just consist of a computer-based system. The

role of computer-based system is actually two-fold- firstly they provide a set of tools

which can help the Decision Makers (DMs) to find a logical representation of their

solution such that the representation can be easily analyzed, revised and further

explored. (Angehrn -98); and secondly to provide a set of tools which provide

suggestions and critiques like an advisor and stimulate for lateral thinking.

Healthcare Environment

Healthcare Processes • Integrating Systems between Processes • Communication Systems between Processes

Auxiliary Process • Systems supporting Auxiliary Processes

Care Process

• Systems supporting Care Processes

Supporting Processes • Supporting Systems

Medical Care Processes • Diagnostic Systems • Nursing Systems • Treatment or Therapy Supporting Systems

Figure 2.3. Classification of Health care Information Systems.

Page 44: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

29

2.4.3 Computing Techniques for Decision Support Systems

The concept of decision support system is very broad. Hence the scope,

classification, applications, advantages, computing techniques and of course the cost

and time. Some the computing techniques used for DSS are as follows.

• Artificial Intelligence

• Fuzzy Logic

• Genetic Algorithm

• Inductive Tree Methods

• Case Based Reasoning

• Rule Based Systems

An overview of some of the common techniques is given next.

2.4.3.1 Inductive Tree Methods. A decision tree is a flow-chart-like tree structure,

where each internal node denotes a test on an attribute, each branch represents an

outcome of the test, and leaf nodes represent classes or class distributions. In other

words, “a decision tree is a tree in which each branch node represents a choice

between a number of alternatives, and each leaf node represents a decision”- [Ding-

02 ].

Advantage of using decision trees are that they are simple to understand, requires

little data preparation, can handle both nominal and categorical data, can be validated

using statistical tests and perform well with large data in short time.

2.4.3.2 Case Based Reasoning. It has been proved that human mind uses case based

reasoning while taking decisions [Angehrn-98]. But the problem with the mind is that

it cannot properly recall the appropriate set of prior cases and cannot reason out the

differences between important and unimportant features. That’s why it has been

considered worthy enough to develop artificial CBRs to assist human mind in making

decisions . A fundamental architecture of CBR is shown in Figure 2.4.

i. Knowledge Base. Knowledge Base is a database or a data-warehouse

populated over a long period of time. Larger the amount of data better would

be the prediction set.

Page 45: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

30

ii. Rule Engine. It is an application program incorporating one or more

algorithms to find similarity between the cases. Similar cases are returned to

the Query Interface.

iii. Query Interface. It is a user interface through which a partial case is entered

initially. It displays the similar cases to the user and may also provide a

feedback from the user to the Rule Engine.

Figure 2.4. General Architecture of a Case Based Reasoning Systems

2.4.3.3 Rule Based Systems. These are predicting systems which contains an

exhaustive list of rules in the form of if-then-else statements. These rules are defined

with the help of a domain expert. The system accepts a list of conditions and produces

a set of outcome along with the sequence of rules which lead to the predictions.

2.5 Chapter Summary

Literature Survey reveals that HL7 standard is the most widely used standard for

healthcare integration. HL7 defines specifications for messages which are used for

communication between hospital information systems. The standard messages are

composed of various hierarchical components like segments, fields and datatypes.

HL7 defines its own set of datatypes. A module is developed which manages the

standards specifications efficiently. The module maps the ICU database to the

specification and vice-versa. It also provides facility to send and receive HL7

Knowledge Base

Rule Engine

Query

Interface

Partial Case

Similar Cases

Case History

Feedback

Page 46: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Literature Survey

31

messages and process them as well. The design of this module is described in the next

chapter.

For the decision support system, there are a wide variety of functionalities, techniques

and scopes. A full-fledged decision support system requires significant cost and time.

The clinical decision support system is intended to be built in an evolutionary order.

The present system is an application that extracts medically relevant knowledge from

a large set of information with the objective of guiding the practitioners in their

clinical practice. The design and process flow of CDSS is also presented in the next

chapter.

Page 47: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 3

System Design

Architecture represents the structural design of a system. The system may not

have a well known structure but whatever structure it will owe, that will be its

architecture. Prof. Paul Clements defines software architecture as “Software

architecture is the structure or structures of the system, which comprises of software

elements, the externally visible properties of these elements and the relationships

among them” [Clements-03]. An important point about this definition is that it asserts

that a system may have more than one structure. No single structure can be the

architecture. Further, Prof Clements emphasizes that even a structure can be presented

with the help of different views. Views are the pictures of a structure seen from

different directions.

3.1 Architecture of the Proposed Solution

An overview to the proposed system is provided in Figure 1.2. It is repeated in

Figure 3.1 again for convenience. As explained earlier, the system consists of two

developmental phases: phase I for implementing the ‘solution to communicative

information system’ and phase II for implementing the ‘solution to the decision

support system’. So as to bring out the various features and perspectives of both the

solutions, the whole system is elaborated with the help of following architectural

views and process flow diagrams.

Page 48: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

33

Figure 3.1. System Overview. (Red arrows show data flow.)

3.2 Architecture of ‘Phase I- Solution to the Communicative

Information System’

For making the information system (SANJAVEENI) HL7 compliant, the whole

system was divided into several modules with well defined responsibilities.

3.2.1 Modular Architecture: Layered Viewed

Figure 3.2 shows the layered view of the modular structure of the Phase I-

Solution to the Communicative Information System. Since HL7 defines messages

pertaining to the Open System Interconnection (OSI) network model’s seventh layer,

the modules can be arranged in a layered fashion in accordance to the communication

sequence of the messages. Note that the layers in the Figure 3.2 do not have direct

links to the OSI layers.

The system boundary shown by the red line should also be noted. Each of the

layers is explained under following heads.

ICU Information System ICU Database HL7 Database

Clinical Decision Support System

HL7 Messaging Server

Other HL7 Compliant Information Systems

Page 49: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

34

HL7 Interface

Network

HL7 Network MessagingServices

SendingModule

ReceivingModule

HL7 Message Management

ICU Information System(By R.Amirdha Gopal)

ICUDatabase

(By R.Amirdha Gopal)

HL7Specification

Database

HL7 SyntaxComposer

System To BeDeveloped

HL7Configuration

Manager

: IndicateCommunication

Figure 3.2. Phase I- Modular Architecture as a Layered Model

3.2.1.1 ICU Information System. ICU-IS is the lowest layer of the architecture and

is an already developed system. It consists of some running software modules that

provide the basic functionalities of the ICU. It should be noted that our system only

partially contains this layer. The proposed system will be built over it and hence only

few modules shall be modified.

ICU-IS manages all the functionalities of the ICU with the help of ICU Database.

This database stores all the fields required for the functioning of the ICU. Note that

Page 50: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

35

though this database is not included in the ‘system to be developed’, but the

developed system is completely dependent on this database.

3.2.1.2 HL7 Message Management. This module will manage the incoming and

outgoing messages. Management will incorporate following activities.

i. Display of incoming messages and alerts.

ii. Processing and Archival of incoming messages.

iii. Automatic triggering of messages (outgoing) on some events.

iv. Explicitly sending the queries and getting their response.

3.2.1.3 HL7 Interface. This layer actually takes care of the incoming and outgoing

messages. This is divided into two obvious modules so as to deal with incoming and

outgoing messages. They are described below.

3.2.1.4 Receiving Module. After receiving a message, the system should validate it

and if valid send the required information to the HL7 Message Management Module

for processing. Both the functionalities require parsing the incoming message against

the pertinent HL7 syntax. The receiving module has the responsibility of message

validation, passing of required information to the layer below, and sending

Accept/Error acknowledgements to the sender.

3.2.1.5 Sending Module. This is the counterpart of the Receiving module and so

takes the information from the lower layer HL7 Message Management Module (in

case of automatically triggered messages or querying process) or Receiving module

(in case of acknowledgements and errors), arrange it in a proper syntax and send it to

the upper HL7 Network Messaging Services module.

3.2.1.6 HL7 Syntax Composer. This module is designed to assist the modules of

HL7 Interface. It serves their request by producing syntax against a particular HL7

event. It constitutes the syntax by extracting rules from an HL7 Specification

Database.

Page 51: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

36

3.2.1.7 HL7 Specification Database. The most intriguing feature of the architecture

is this database. As against the general convention of storing specifications or rules as

productions and hard coding them in programs, a database is chosen to hold the

specifications. Moreover, the database is designed in such a way that any

modifications can be easily incorporated. This is done specially to meet the volatile

characteristics of the standard. It is anticipated that any major or minor change in the

standard (change in events, segments, fields, data types, HL7 and user defined tables

or a combination of any these) could be done by even an operator.

3.2.1.8 HL7 Network Messaging Services. The top most layer of the architecture is

to physically send or receive the messages over the network. This module will be built

on some standard communication protocols. That is why this module is also partially

included in the system boundary.

3.2.1.9 HL7 Configuration Manager. This module helps in mapping between HL7

fields and real ICU database fields. Since both the fields are quite different in terms of

length, data type and number of components, hence configuration files are defined to

map between the two. The module acts as sort of plug-n-play component as the whole

architecture can be configured to any other database by just changing this module.

Details of this layer are given in Chapter 4- Novel Features of the Solution.

3.2.2 Modular Architecture: Package Dependency View

Another view of the modular architecture can be represented in terms of the

dependency among the various modules of the system. Figure 3.3 shows the

module/package dependencies. At the core lies the module ‘HL7 Database Manager’.

Its sole responsibility is to make connection with the database and execute various

queries from the application. This module is directly dependent on Java Database

Connectivity (JDBC). The ‘HL7 Syntax Composer’ module is the only module

dependent on it. ‘HL7 Syntax Composer’ module generates syntax for given messages

in an efficient way so that the generated message is a ‘compressed’ one, yet fully

functional. Details of this module are also provided in Chapter 4- Novel Features of

the Proposed Solution.

Page 52: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

37

Modules ‘HL7 Receiver’ and ‘HL7 Sender’ are the modules responsible for

message validation and HL7 message composition respectively. An additional

functionality of ‘HL7 Receiver module is to compose error and acknowledgement

messages. Since they directly deal with the syntax of messages, hence they are

dependent on ‘HL7 Syntax Composer’.

When a message is validated by the receiver module, it is sent to the ‘HL7

Message Management’ module for processing. Hence the receiver module also

requires services of message management module. On the other hand, when a

message is required to be sent it is decided by the message management module.

Once finalized, it asks the ‘HL7 Sender’ to compose the information in HL7 format.

Hence the sender module renders services to the management module.

Similarly, ‘HL7 Network Messaging Services’ module requires services of the

receiver module for validation and further processing when a message is received

while the sender module asks for the services of network messaging module once the

HL7 message is ready to be sent.

For message composition, the real database fields (i.e. the fields of the ICU-IS)

are required to be mapped to the HL7 specification and vice versa for information

retrieval from messages. Since the HL7 specification is disparate from that of ICU

database, hence mapping configurations are required. These configurations are

managed by module ‘HL7 Configuration Manager’. All the modules which perform

mapping require services from configuration manager.

Some general functionality is required by the sender and receiver modules. The

‘HL7 Utility’ module is responsible for providing these functionalities.

Page 53: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

38

HL7 Receiver

HL7 Database Manager

HL7 Syntax Composer

HL7 Sender

HL7 Message Management

HL7 Network Messaging Service

hl7 Utility

HL7 Configuration Manager

Dotted arrow indicate dependency between packages.

Figure 3.3. Phase I- Modular Architecture as Package Dependency Diagram

3.3 Architecture of ‘Phase 2- Solution to the Decision Support

System’

The packaging of clinical decision support system is relatively simple but the

processing is quite complex. Processing details are provided in the coming sections.

Page 54: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

39

3.3.1 Modular Architecture: Package Dependency View

Figure 3.4 shows the package dependency diagram for the clinical decision

support system. The system starts its execution with the CDSS Main Module which

renders the first user interface of the system. This interface introduces itself through

‘About’ menu item. It also shows the menu and options which the user can opt.

CDSS Main Module calls the CDSS User Interfaces for showing various screens

which allows the user to compose a query, execute a query and analyze it statistically

and graphically. CDSS User interface Module presents the whole schema of the ICU

in a hierarchical and meaningful form to the user. This information about ICU schema

is stored in an XML file which is managed by the CDSS XML Parsing Module.

During the composition and execution of user queries, the User Interface Module

takes the help of CDSS Database Manager which retrieves the results of all the

queries directly from the ICU database with the help of Java Database Connectivity

(JDBC) drivers.

Some general functionality is required by the above modules. These are taken care

of by the CDSS Utility Module.

CDSS Database Manager

CDSS Main

CDSS User Interfaces

CDSS XML Parsing

CDSS Utility

Dotted arrow indicate dependency between packages.

Figure 3.4. Phase II- Modular Architecture as Package Dependency

Diagram

Page 55: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

40

3.4 Process Flow Diagrams of ‘Phase I- Solution to the

Communicative Information System’

Process flow diagrams are very helpful to understand the dynamic behavior of the

system [Booch-99]. The ICU-IS can have two different behaviors depending upon

whether it is behaving as a sender of message or the receiver of message.

3.4.1 ICU-IS as a Sender

The processes flow is depicted in the Figure 3.5 when the system behaves as a

sender of messages. The user will login into the system and user authentication is

performed. Then the user can either perform normal ICU activities or can go for

accessing data in other information system.

i. In case of normal ICU activities, some of them are registered to send

unsolicited messages to some destinations. These automatic triggering

activities and the desired destinations are managed by the administrator. In

such cases, HL7 messages are composed by the Unsolicited Sender.

ii. In case of query composition, the query is wrapped up along with the sender’s

information in an HL7 Message by the Unsolicited Sender.

In both ways, once the HL7 message is composed, it is sent to Message Sender to

send over to the network. The message sender can send to a single destination or can

also multi-cast the message to a number of systems depending upon the number of

receiving facilities registered for that event.

3.4.2 ICU-IS as a Receiver

As a receiver, the HL7 compliant ICU Information system runs a server all the

time to receive the messages from other information systems. As soon as the message

is received, the message is first saved to a safe location. Then the message may go

through one or more of the following processes.

3.4.2.1 Pre-processor. This process checks the message to verify four things.

i. That the message coming is just an acknowledgement of a prior message sent

by the ICU. In such cases the message is transferred to the ‘Acknowledgement

Archiver’ process.

Page 56: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

41

Figure 3.5. HL7 Compliant ICU Information System as a Sender.

ii. That the HL7 version used in the message is compatible with the version

running in the ICU system. If not, then the control is passed to

‘Acknowledgement Composer’ process with correct error codes and

statements.

iii. That the message type is valid to be processed by the receiver. If the system is

unable to process any in-coming message, then error codes and statements are

sent to ‘Acknowledgement Composer’ process.

iv. That the message contains code demanding immediate level

acknowledgement. This condition is processed only when above three

conditions fails i.e. the in-coming message is a valid one. In this case ‘accept’

acknowledgement codes are sent to the ‘Acknowledgement Composer’ while

the original message is sent to the ‘Message Validation’ process for further

validation.

User Authentication

Query Composition

Unsolicited Sender

Message Sender

ICU Activities

<<Start Project>>

<<If Query Is Selected>>

<<If Other Activities are Selected>>

<<HL7 Message Composed>>

<<Query Composed>><<If Activity triggers an HL7 Event>>

<<Project Closed>>

<<If Query Is Selected>> <<If Other Activities are Selected>>

Activities with normal font are already developed Activities of the system. Activities with bold colour are newly developed.

Page 57: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

42

Figure 3.6. Process Flow Diagram for the HL7 Compliant ICU- Information System as a Receiver of Messages

HL7 Messaging Server

Message Saving

Pre-processor

Acknowledgement Archiver

Message Validation

Query Processor

Message Display

Tabular Display

Acknowledgement Composer

Unsolicidated Sender

Message Sender

Post Processor

<<Start Server>> <<Message Arrival>> <<Message Saved>><<If Message is an Acknowledgement>>

<<Suucessfully Preprocessed>> <<if Accept Acknowledgement Requir...

<<Acknowledgement Compos...

<<Response after Query Executed>><<HL7 Message Composed>>

<<Closed>> <<Message Sent To Destinati...

<<Closed>>

<<Message Validated>>

<<If Message is a Query>>

<<If Message is an Unsolicidated Update>>

<<If Mesage is a Query Respocse>>

<<If Application Acknowledgement is Required>>

Page 58: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

43

3.4.2.2 Message Archival. This process archives the acknowledgements against their

corresponding messages.

3.4.2.3 Acknowledgement Composer. Once the message is passed by the Pre-

processing unit and Message Validation unit, an acknowledgement can be sent to the

sender. The acknowledgement information is stored in the message itself. In case of

errors in the previous phases, acknowledgements will be carrying the error codes and

messages.

3.4.2.4 Message Validation. This process checks the message thoroughly and

validates each field of the message. It compares the message against the syntax

defined in the HL7 standard. Following checks are performed.

i. That the message contains all the required segments in the correct sequence.

ii. That the segments contain all required fields in the correct sequence.

iii. That the fields adhere to correct data types.

3.4.2.5 Post-processing. This processing checks the message to see what type of

processing is required by the message. The processes could be the Message Display,

the Query Response Display, or the Query Processor. Accordingly it directs the

message to the concerned process.

3.4.2.6 Message Display. This is a type of message processor for unsolicited updates.

It will simply parse the validated message and display the fields and components

along with their values to the user. It will also provide the functionality of saving the

message in the database schema in case the operator wants.

3.4.2.7 Query Response Display. This is another type of message processor, used to

display the message which is actually a query response. Therefore it renders the

information of the message in the form of a table. Query and message information are

also presented to the user so that he/she can recognize the concerned query.

3.4.2.8 Query Processor. In case any information systems want to access the ICU

information, they will send the request to the ICU in the form of a query. This

message is required to be executed and the result should be composed as an HL7

Page 59: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

44

message and returned to the requester. The required query is executed by Query

Processor and resultant data is passed to the Unsolicited Sender.

3.4.2.9 Unsolicited Sender. This module is an HL7 message composition module. It

takes the required input data fields from other modules and composes a message

according to the HL7 syntax from the provided fields. It then passes the composed

message to the Message sender which sends the message to the destination.

3.2.4.10 Message Sender. This module is an HL7 messaging client program which

directs an HL7 message to one or more destinations. Depending upon the message

type, it extracts the destination addresses either from the database (in case of

unsolicited events) or from the message itself (in case of query processing).

3.5 Process Flow Diagrams of ‘Phase II- Solution to the Decision

Support System’

The objective of clinical decision support system is to guide the user to easily

compose a query, to present the result-set of the executed query, allow the user to

analyze them statistically and graphically. This process flow is depicted in the Figure

3.

The system starts from the Query Composition process. This process provides a

drag and drop option for composing a query. It also facilitates a user to modify a

query any number of times. Once a query is composed, it is executed and presented in

a table by the Query Response process. This process not only displays the query

response, but also provides the facility of grouping and ordering the result according

to one or more fields. One can always move back to the Query Composition process

to modify the wrongly composed query in case it does not provide the desired results.

On the other hand, the user can analyze the results graphically and statistically via

Graphical Analysis and Statistical processes respectively. From these analyses, one

can either move backward to the Query response process or can compose a new

query.

Page 60: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

45

Query Composition

Query Response

<<Modify>>

<<Execute>>

Statistical Analysis

Graphical Analysis

<<Back>>

<<Modify>>

<<Analyze statistically>>

<<Analyze Graphically>><<Back>>

<<New Query>>

<<New Query>>

<<Start>>

Figure 3.7. Process Flow Diagram for the Clinical Decision Support System

The Query Composition process is a complex procedure because it guides a user

to compose a query. To rationalize human behavior is a difficult task. A naïve user

working on CDSS may try any combinations of the commands present on the user

interface. The system safeguards against all incorrect sequences of commands. Figure

3.8 shows the how the Query Composition process guides the user to compose a

query. This process accomplishes this task with the help of other widgets, data

structures and control variables. Major objects are explained below.

The array-lists named SELECT Argument List, FROM Argument List and

WHERE Argument List are used to store the arguments of SELECT, FROM and

WHERE clauses of SQL respectively.

Query Browser presents the whole ICU schema in a hierarchical order. It allows

the user to select the fields in two modes- SELECT and WHERE. SELECT mode

allows the user to simply select fields to be viewed while WHERE mode allows the

user to specify filters. In SELECT mode, when the user adds a field to the query, the

field name is added to the SELECT Argument List while the table name (to which the

field belong) is automatically added to the FROM Argument List. Note that the user

Page 61: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

46

need not specify the table name explicitly. A table name is added to the list only

once, no matter how many of its fields are present in the SELECT Argument List or

the WHERE Argument List.

Condition c1: If table 'T' does not exist in the SELECT Argument List.

Condition c2: If no field of table 'T' exists in SELECT/WHERE Argument List

User QueryBrowser SELECT Arguments List

FROM Arguments List

Filter Dialog WHERE Arguments List

1: Select 'SELECT' mode

2: MODE = 'SELECT'

3: Select field 'F'

4: <if c1>Add table name 'T'

5: Return table number t

6: Add t.F

7: Delete field 'F'

8: Delete 'F'

9: <if c2> Delete table 'T'

10: Select 'WHERE' mode

11: MODE = 'WHERE'

12: Select field 'F'

13: Details of 'F'

14: Filter Conditions

15: Return WHERE clause 'W'

16: <if c1>Add table name 'T'

17: Return table number t

18: Add 't.W'

19: Select AND/OR operator

20: Add AND/OR

Figure 3.8. Sequence Diagram for the Query Composition Process

In the WHERE mode, as soon as the user selects a field a filter-dialog box pops

up. The filter-dialog box provides a list of operators as well as tips to specify filter

value. Once the filter value and operator is selected, it is added to the WHERE

Argument List. The user can select more than one filter attribute and may congregate

Page 62: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

System Design

47

them with AND, OR, left parenthesis or right parenthesis operators. The Query

Browser monitors the whole query composition process with the help of stacks and

flags. In case of modifications, the user is guided to safely delete undesired attributes

or filters. The fully composed query is then dispatched to the ICU-Database and the

results are collected and displayed.

3.6 Chapter Summary

Both the modules- ‘HL7 Compliance’ and ‘Decision Support’ are well

modularized to keep high cohesion and low coupling which are the major design

principles of the Software Architecture [Lethbridge-04]. The process flow of both the

systems provides an insight of how the system works. The Architectures take care of

all the required functionalities by the ICU.

The whole of the Detail design of the system would be too bulky to be provided in

the thesis. But as some major non-functional requirements are identified, their need,

detail design and advantages are discussed in the next chapter. As the chapter

explains, one can realize that these non-functional requirements are really desirable by

the proposed solution.

Page 63: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 4

Novel Features of the Proposed Solution

Fulfilling functional requirements is a compulsion of software developers, but

providing non-functional requirements actually results in a competitive edge over the

others. Non-functional requirements directly improve the quality of a product and

hence bring good-will of the users, profit to clients and convenience to the developers

and maintainers. But equipping a product with non-functional requirements has been

found even more difficult than providing functional requirements [Lethbridge-04].

An inherent delusion among developers is that automation provides simple

translation of manual processing. But when such a system is developed the process

becomes even more cumbersome leading to bottlenecks and major sources of costs,

errors and delays [Boehm-00]. A software system should be thoroughly assessed for

performance and other quality attributes before going for implementation. The

proposed system may demand few changes in the work flow or addition of several

other features so as to run the system smoothly. Such changes should be readily

adopted.

As a thesis of Software Engineering, it was aimed to enrich the quality of the

project. A real application of Software Engineering principles and paradigms comes

here, when following features were provided to the project, which makes it unique

and novel.

1. HL7 Specification stored in database (Maintainability)

2. Compressed Syntax Generation (Efficiency)

Page 64: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

49

3. Use of Configuration Files and Plug-n-Play Architecture (Flexibility and

Reusability)

4.1 HL7 Specification stored in database (Maintainability)

Health Level Seven (HL7) Standard has evolved through various versions in the

past decade (please refer to Table 2.4 for the versions). The organization is still

heavily involved in improving the standard. Summits and conferences are held all the

year round which results in minor or major modifications to the standards. No doubt

the modifications improve the standard, but they adversely effect the applications of

the standards. Two applications working on different versions of the standard become

incompatible at some point or the other. To upgrade an application to the latest

version of the standard will require an overhauling by the maintenance and support

teams.

Generally standards are implemented as productions or grammar. Though HL7

provides such productions (refer Appendix D- BNF Message Descriptions of HL7

Version 2.3.1 [HL7-99]), they were found quite difficult to maintain. The problem

with this approach is that the productions are hard-coded to produce a compiler-like

module. Such modules are static and too much coupled to make changes. So the thesis

devises a more maintainable solution. The standards’ specification is stored in a

database. The advantage of using database is that changes can be made very easily

through queries or query browsers by even an operator. Since the application is

dependent of the database, it will incorporate any changes automatically, once the

database is updated.

4.1.1 Conceptual Modeling of HL7 Specification Using Entity-Relationship

Diagram

To keep the standard in the form of relational tables [Navathe-03], the standard

was conceptually modeled through Entity-Relationship Diagram (ERD) as shown in

Figure 4.1. The ERD is explained as under.

Page 65: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

50

Each message is triggered by a unique HL7 event which depicts a real world

happening of a healthcare environment. Every event is designated a code and a name.

As for example, in case of patient transfer event, the code is ‘A02’ and the name is

‘transfer a patient’. Events can be automatically generated (Unsolicited Update) or

specifically fired (Query). Unsolicited Updates are those messages which the sender

multicasts to the receivers without their demand. Note that in such cases, the sender

does not expect a responsive message from the receiver excluding acknowledgements

and error messages. The purpose of unsolicited updates is informative rather than

inquisitive. Whereas, when the message is sent as a query or its response, it is

classified under Query events.

Example. In the case of ICU-IS, the events of patient admission, transfer and

discharge are considered as Unsolicited Updates while that of query sent to other IS of

a hospital comes under Query.

The message generated is composed of several segments, the first one always

being the message header (MSH in HL7 terminology). Segments are also identified

by a unique code and name. Segments are related to the information regarding the

happened event, like patient’s identification, destination location, source location and

some other optional information in case of patient transfer.

The segments are composed of various optional and repeatable fields, which are

the subjects of information. As other components, every field is also given a unique

code and name. Patient name, mother’s name, date of birth, address, citizenship, and

nationality are few of the fields of Patient Identification (PID) segment.

A field is actually an HL7 data type which has a well defined format. There may

be different types of data types as explained in Chapter 2- Literature Survey (please

refer Table 2.9 for the allowable data types). As shown in the ERD, a field is either a

simple data type or a composite data type or an HL7/User defined value. A simple

data type represents a single value like a string or a number. Composite data types are

composed of one or more simple or composite data type. For example a person name

is defined as a composition of family name, given name, middle initial name, suffix,

prefix and degree which are all simple data types. There are some fields which always

Page 66: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

51

have a set of values. HL7 has coded many such fields. An example of HL7 defined-

value data type would be marital status which is defined in Table 4.1. HL7 also

permits the implementers of the standards to define and use their own (site-defined)

codes. Such values come under User defined data types.

EVENT

UNSOLICIDATEDUPDATE QUERY

d

Name

TRIGGERS MESSAGE1 1

ISCOMPOSED

OF

SEGMENT

Name

1

1...*

ISCOMPOSED

OF

1

Sequence

Length

DescriptionFIELD

HL7/USERDEFINEDTABLE

SIMPLE DATATYPE

d

COMPOSITEDATATYPE

Name

Values

NameIS

COMPOSEDOF Code

Code

Code

Code

Code

Code

Name

1...*

TOTALPARTICIPATIONAll events arespecialized.

DISJOINTCONSTRAINT: Anevent is either a query oran unsolicidated update.

DISJOINTCONSTRAINT: Allfields can specialized as atable, composite orsimple datatype.

Figure 4.1. The Entity-Relationship-Diagram for the HL7 Specification

Page 67: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

52

Table 4.1. Marital Status

VALUES FOR MARITAL STATUS

Single

Married

Divorced

Separated

Widowed

4.1.2 Schema Design of HL7 Specification

The ERD is further refined to relational tables with table-dependencies as shown

in Figure 4.2.

<<table>>EventDescription EventSegment

<<table>>SegmentDescription

<<table>>SegmentField

<<table>>FieldDescription

<<table>>DatatypeDescription

<<table>>TargetDatatype

Description

<<table>>Datatype

Component

<<table>>HL7UserDefinedTable

Description

<<table>>HL7UserDefined

TableValue

Figure 4.2. HL7 Database Schema Design

Page 68: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

53

All the tables ending with word ‘Description’ hold the primary information about

that entity. It is a sort of master table for that entity. While the tables formed by

concatenating the names of two entities represent relationships. It consists of

information related to one entity with respect to another entity. For example the table

‘EventSegment’ consists of information about different segments occurring in one

particular event. This particular relationship is further elaborated in the Figure 4.3.

Similarly, all other tables are designed and related to the others.

EventSegmentTID : Small IntegerEvent code : StringSegment Code : StringSequence : Tiny IntegerOptional : BooleanRepeatable : BooleanComment : Tiny Blob

EventDescriptionTID : Small IntegerCode : StringName : StringComment : Tiny Blob

SegmentDescriptionTID : Small IntegerCode : StringName : StringComment : Tiny Blob

Schema (1): Relationship between Event, EventSegment and Segment tables

Figure 4.3. The details of tables ‘EventDescription’, ‘SegmentDescription’ and

‘EventSegment’ and their relationships.

4.1.3 Convoluted Structure of Data types

As mentioned above, HL7 defines three data type classes- Simple, Composite, and

HL7/User-defined in such a way that Simple data type represents a single value,

HL7/User-defined are constants, and composite data type may consist of a

combination of these two. As for example Table 4.2 shows a datatype named

Extended Person Name (XPN) used for the name of a person.

Page 69: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

54

Table 4.2. Format of datatype- Extended Person Name (XPN)

DATATYPE

NAME DATATYPE FORMAT

Extended

Person Name

(XPN)

<family name (SIMPLE)> & < last_name_prefix (SIMPLE)> ^ <given

name (SIMPLE)> ^ <middle initial or name (SIMPLE)> ^ <suffix

(SIMPLE)> ^ <prefix (SIMPLE)> ^ <degree (SIMPLE)> ^ <name type

code (COMPOSITE) > ^ <name representation code (HL7 DEFINED)>

Note: ^ and & are component and subcomponent delimiters respectively.

Note that a composite datatype may again contain a composite datatype. In this

way, the HL7 datatypes are hierarchical in structure as can be seen in the Table 4.2.

To abstract this structure in a table as well as in an application program, design

patterns were used.

4.1.4 A Brief History of Design Patterns

Christopher Alexander is considered as the founder of Design Patterns as the

origin lies in his work of late 1970s. But the importance of Design Patterns was

realized in 1987 at the Conference on Object-Oriented Programming, Systems,

Languages, and Applications (OOPSLA). Since then Design Patterns gained more

importance and a number of papers and presentations were given by people like Kent

Beck, Erich Gamma, Grady Booch and Richard Helm.

Erich Gamma et al defines design pattern as “A design pattern is a general

repeatable solution to a commonly occurring problem in software design. It is a

description or template for how to solve a problem that can be used in many different

situations.” [Gamma-00]

4.1.5 Application of Composite Pattern

In Object Oriented Technology, the problem of convoluted structures is met by a

design pattern named Composite Pattern [Freeman-04]. Composite Pattern arranges

objects in part-whole hierarchies. The advantage of using this pattern is that objects as

well as composites of objects are treated uniformly.

Page 70: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

55

The pattern if applied to our problem would produce a solution as shown in the

Figure 4.2. Class ‘Datatype’ is a base class holding the common information of all the

datatypes. Classes ‘Simple Datatype’ and ‘HL7/UserDefined Datatypes’ are

subclasses of ‘Datatype’ responsible for processing Simple and HL7/UserDefined

datatypes respectively. Class ‘Composite Datatype’ is also a sub-class of the base

class ‘Datatype’ which is specialized in a way that it can contain children objects

which themselves inherit the base class ‘Datatype’. In other words, an object of

‘Composite Datatype’ can contain one or more objects of Simple, HL7/User Defined

or Composite datatypes.

Datatype

Simpledatatype

CompositeDatatype

HAS

HL7/UserDefinedDatatype

Figure 4.4. The application of Composite Pattern to the problem of

‘Convoluted datatype structure’

The use of the above pattern greatly simplified the design of the system, as will be

shown in the next section.

4.2 Compressed Syntax Generation (Efficiency)

The automated process of composition, interpreting, validating and processing of

HL7 Messages requires the standard’s specification in the form of syntax. Syntax

should hold the required information about all the constituents of a message in a

notational format. Each message has a unique syntax. All syntaxes are quite bulky in

size as can be seen from the example below.

Page 71: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

56

Example: Let us assume that a message contains 10 segments. On an average a

segment contains 20 fields out of which, say 10 are composite. Composite fields

contain 5 children on an average. Again we can assume that those composite fields

contain no composite sub-field in it. So the total number of fields in such a message

would be:

10 * (10 + 10 * 5)

= 600

Since each field is defined by 8 attributes which are field code, field name,

required/optional, repeatable, datatype and HL7/User defined table code, the syntax

will contain 600 tuples of information for each message [please refer Figure 5.1b].

The major problem with this bulky syntax would arise while fetching it from the

database. For the message in example above, the estimated number of queries is 61 as

shown in the Table 4.3. Now one can realize that the processing time for each

message would be quite high if only the syntax generation of each message requires

so many database operations.

Table 4.3. Number of queries required to generate syntax of a typical HL7

Message

MESSAGE

COMPONENT

NUMBER OF

COMPONENTS

REQUIRED

NUMBER OF

QUERIES

REASON

Message 1 1 To fetch all the segment against

this message code.

Segment 10 10 One query each for a segment to

fetch all its fields.

Fields (Non-

Composite) 10 2 * 10

Two queries per field: One to

access field’s information and

another to fetch its datatype’s

information.

Fields

(Composite) 10 3 * 10

Three queries per field: First to

access field’s information, second

to fetch its datatype information

and third to fetch the information

about the datatype’s components.

Total number of Queries required to generate the syntax of 1 message = 61

Page 72: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

57

4.2.1 Overlapping Structure of HL7 Messages

The problem of ‘bulky syntaxes’ can be resolved from two observations stated

below.

i. HL7 Syntaxes have common intra and inter level components.

ii. When one type of message is processed (sent or received), it is most likely to

process similar type of messages in the near future.

HL7 classifies all the events into eleven event types, as described in the Table

2.11. All the events (or otherwise messages) belonging to a certain event type share

common segments amongst each other. As for example, the events ‘Patient

Admission’ A01 and ‘Patient Discharge’ A03 belong to the event type ‘Patient

Administration’. They share twelve segments. This type of shared information

constitutes inter-level overlapping structure.

Intra level overlapping occurs because one field is found in many segments.

Moreover all the 1477 fields of the specification are mapped to 53 datatypes only.

This means that many fields belong to the same datatype.

The second observation is analogous to the concept of “Locality of Reference”

that is used in the memory management by modern operating systems. For example, if

a query message arrives at a system, the query response message would soon be

processed. The important factor here is again the same: both the messages belong to

the same event type and hence share some common segments.

4.2.2 Application of Flyweight Pattern

“Flyweight pattern uses sharing to support large numbers of fine-grained objects

efficiently”- [Gamma-00]. When applied to our context of overlapping syntaxes, it

produces a general solution as shown in Figure 4.3.

The class ‘Component’ has a private constructor so that the client cannot

instantiate it directly. Its member attribute ‘componentSet’ is an array to hold the

previously created objects of this class. The objects are accessed with the help of a

key named ‘compId’. The client, when it wants to create an object of class

Page 73: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

58

‘Component’, it requests through the method ‘getComponent’ which accepts the code

of the desired component type. If the component had already been instantiated before,

its object is returned from the array ‘componentSet’. If such an object does not exist, a

new object is created with the help of constructor and ‘createComponent’ method.

The object is placed in the array as well and its reference is returned to the client. This

concept is depicted in the Figure 4.4 where there are only three different objects of the

component (i.e A, B and C) but they are used by all the clients who request for them.

Client Component<<Component>> componentSet

<<Component>> getComponent(int compId)<<Component>> createComponent(nt compId)Component(int compId)

if(componentSet[compId] exists){return existing flyweight;}else{create a new flyweight;add it to pool of flyweight;return new flywei...

Figure 4.5. Application of Flyweight Pattern to produce compressed syntax.

Note that the class ‘Component’ in the Figures 4.3 and 4.4 stands in general for all

the components of HL7 i.e Messages, segments, fields, and datatypes. Hence the

pattern is repeatedly used for each component.

Figure 4.6. Concept of Flyweight Pattern

Page 74: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

59

This technique ends up in two advantages. Firstly, the syntax generated consists of

a unique definition at one place while its references are used where ever it is required.

Consequently it results in a Compressed Syntax. Hence the number of queries

required to fetch a syntax gets dramatically reduced.

The second advantage is that the component definitions fetched from the database

for processing one message is used again for processing another. As stated above,

messages show a great deal of overlapping structures and hence these shared

structures need not to be created again. The same syntactical object is used again and

again for any number of messages thus reducing that fetching time of that object. The

results vindicate these points in Chapter 5- Results and Output.

4.3 Use of Configuration Files and Plug-n-Play Architecture (Flexibility and Reusability)

The system architectures are presented in Chapter 3- System Design. However,

the developed system complies with yet another architecture- Plug-n-Play

Architecture. As in chapter 3, the architecture here is also explained in two phases-

‘Phase I- Solution to the Communicative Information System’ and ‘Phase II- Solution

to the Decision Support System’.

4.3.1 Architecture of ‘Phase I- Solution to the Communicative Information

System’

For HL7 messaging to take place, the operational database is required to be

mapped to the HL7 messages and vice versa. This mapping is defined in one of the

tables named ‘Target Database Description’ in HL7 specification database. Column

‘Code’ defines the code of the field which is related to some field in the operational

database. The name of the database, table name, field and primary key of that table

are stored in the concerned columns. The primary key value helps in accessing the

field value against desired record.

Page 75: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

60

Target Database DescriptionTID : IntegerCode : StringDatabase Name : StringTable Name : StringField Name : StringKey Name : StringComment : Tiny Blob

Figure 4.7. Table Design for mapping HL7 fields to the operational database.

For transforming a field in one domain into another and vice versa, the table

described above is not sufficient. This is because the ICU database and HL7

specifications are quite disparate. The ICU database was designed conventionally

even before there was any need for the compliance of the HL7 standard. The

differences are summarized with examples as below.

1. Differences in Datatypes. For many fields, the specification’s datatype differs

from that of the operational ICU database. As for example, the field ‘Patient-Id’ is

defined as an integer in the ICU database while HL7 defines it as a composite

datatype ‘Extended Composite ID with check digit’. This datatype consists of the

identity code of the patient as a string along with other complex but optional sub-

components.

2. Differences in Relationships. There is no 1-to-1 relationship between the

subcomponents of some fields in both the domains. For example, HL7 defines

‘Patient Name’ as a composite of ‘Family Name’, ‘Last Name Prefix’, ‘Given Name’,

‘Middle Initials’, ‘Suffix’, ‘Prefix’, ‘Degree’, ‘Name Type Code’ and ‘Name

Representation Code’, while ICU database defines it as a single component only.

On one hand, more than one distinct HL7 fields may get mapped to single ICU

field while on the other many ICU fields may also get mapped to one field of the

standard messages. An example for this would be the address of a patient. ICU

database contains five different fields for storing the address of the patient which are

‘Address Line1’, ‘Address Line2’, ‘City’, ‘State’ and ‘Country’. HL7 specification

Page 76: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

61

has only one composite field as ‘Patient Address’. Hence there could be 1-to-1, M-to-

1, 1-to-M, M-to-N relationship between the fields in the two domains.

4.3.1.1 Using Configuration Files. The scenario of Figure 4.5 shows the problem

above along with the solution. The contrasting colors between the standard’s

specification and the clinical database depict the degree of distinctness between the

two. A bi-directional mapping is required for the system to work. An intriguing

feature of this scenario is the ‘Configuration Manager’ module. This module contains

configuration files of which some are for the sending application and some for

receiving application. These configuration files contain field-specific rules which

dictate the application to transform the field correctly.

Figure 4.8. System Architecture as Plug-n-Play Model

Figure 4.6 shows excerpts from two configuration files showing the rules of

transformations. The syntax of the files is locally defined to be understood by the

application.

The advantage of maintaining such architecture is two fold. Firstly, suppose a

change is required in the present ICU schema. The change can be easily incorporated

Clinical Database

HL7 Specification

Database MAPPING

Sending Configurations

(FieldsA01.ini FieldsA02.ini FieldsA03.ini FieldsEQQ.ini FieldsTBR.ini)

Receiving

Configurations (Fields.ini)

CONFIGURATION MANAGER

Page 77: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

62

by reflecting proper changes in the configuration files. Had the mappings been hard-

coded, the source code would have to be modified. Secondly, if another healthcare

information system is required to comply with the HL7 specification, then the same

module can be reused since only the mapping needs to be redefined. Most of the

changes would be done in the configuration files and the table ‘Target Database

Description’ while rest of the module would undergo minor changes. This feature

makes the system quite flexible and reusable.

Figure 4.9. Excerpts from configurations files.

(Left: receiving configurations and Right: sending configurations.)

4.3.2 Architecture of ‘Phase II- Solution to the Decision Support System’

A decision support system is an application that may be required by most of the

departments of an organization. Keeping this point in view, the clinical decision

support system follows Plug-n-Play Architecture. There are two separate but

dependent modules- first one is a general decision support application which is

dependent on the second module. The second module contains information about the

department’s database in a standard format. Both modules combine together to form a

FieldsA01.ini #EVN

EVN00100:DATE EVN00103:DATABASE:3 #PID PID00106:CONFIG:0 PID00108:DATABASE:2 PID00110:DATABASE:0 PID00111:DATABASE:0 PID00114:DATABASE:0+1+2+3+5 . . .

Fields.ini #EVN 00100-0|0|STRING| 00100-1|0|STRING| 00103-0|6+3+4+2+1+5|STRING

00103-1|6+3+4+2+1+5|STRING 00106-0|0|NUMERIC 00106-1|0|NUMERIC 00108-0|5+2+3+1+0+4|STRING 00110-0|0|NUMERIC| . . .

Page 78: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

63

decision support system for a particular department. The beauty of the architecture

lies in the fact that as the second module is changed to represent some other

department, the entire application is changed to become a decision support system for

that department. This scenario is depicted in the Figure 4.7 which shows the

integration of decision support application with two application databases to produce

the corresponding DSS.

The second module is implemented in Extensible Markup Language (XML)

version 1.0. The XML property file holds information about the ICU schema in a

particular hierarchy. Figure 4.8 shows an excerpt from the XML property file. The file

is parsed with the help of Simple API for XML (SAX) parser provided by JDOM API

[Deitel-04]. Any modification in the XML file will automatically be reflected in the

application program. Moreover, any database details provided in this XML format can

be manipulated and processed.

Figure 4.10. The integration of decision support application with two

departmental databases to produce corresponding DSS.

The advantage here is exactly similar to that of using configuration files in Phase

I- Flexibility to modify the ICU database and Reusability for any other information

system.

Clinical Schema Details

Decision Support

Application

Pathology Schema Details

Pathology Decision Support

System

Clinical Decision Support

System

Page 79: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

64

Figure 4.11. An excerpt from XML property file.

4.4 Chapter Summary

The quality of the system is improved by making the proposed solution

maintainable, efficient, reusable and flexible. Maintaining a database for the

standard’s specification would be helpful in incorporating modifications in the HL7

standard. This feature is an innovative feature of the product as no such work was

found in Literature Survey. Compressed Syntax generation is another novel feature

proposed by this thesis. The system performance drastically improved due to the

application of this technique. The proof of their desired result is provided in the next

chapter.

ICUSchemaDetails.xml

<?xml version="1.0" encoding="UTF-8" ?> <root> <Schema name="ICU Schema"> <TABLE Name="Urine Details"> <Field name="Patient Id" FieldId="PatientId" TableName="zurineview" SchemaName="newicu"

DataType="INTEGER" PossibleValues="SELECT HospitalNo FROM newicu.patientmaster" Comments="Patient Id is a positive integer." />

<Field name="Daily Care Id" FieldId="DCareId" TableName="zurineview" SchemaName="newicu" DataType="INTEGER" PossibleValues="SELECT DCareId from newicu.dailycaremaster" Comments="Daily Care Id is a positive integer" /> . . .

</TABLE> <TABLE Name="Treatment Details"> <Field name="Patient Id" FieldId="PatientId" TableName="ztreatmentview" SchemaName="newicu"

DataType="INTEGER" PossibleValues="SELECT HospitalNo FROM newicu.patientmaster" Comments="Patient Id is a positive integer." /> . . .

Page 80: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Novel Features of the Proposed Solution

65

Following Plug-n-Play architecture was a measure to make the solution flexible

and reusable. No exclusive validation on this property is done as adherence to an

already developed and tested architecture validates the system.

Page 81: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 5

Results and Outputs

This chapter verifies the whole system design especially the new techniques

described in chapter 4- Novel Feature of the Proposed Solution. The advantages of

applying these techniques are documented in section 5.1- Results of the Application

of Novel Techniques. An overview of the major functionalities of the proposed

system is presented in next section 5.2- Some Outputs of the Major Functionalities.

5.1 Results of the Application of Novel Techniques

The techniques applied to bring about non-functional quality attributes were

assessed for producing actual results. The results are summarized under following

heads.

5.1.1 Results of maintaining an HL7 Specification database

(Maintainability)

The first desired and obvious result of such a scheme is that any modification in

the standard can be made without touching the source code. One needs to fire queries

for any changes. The number of queries required to change, append or delete a given

HL7 Message component is shown in Table 5.1. The table shows the maximum

number of queries required for each component. Due to the overlapping nature of the

specification (refer section 4.2.1- Overlapping Structure of HL7 Messages), the

Page 82: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

67

modifications are never exhaustive. This characteristic result in significant reduction

of actual queries required.

Table 5.1. Number of queries required to modify, add or delete an HL7 Message

Component.

ADDITION,

MODIFICATION OR

DELETION OF A

COMPONENT

NUMBER OF QUERIES

REQUIRED REASON

Simple or

HL7/UserDefined

Datatype

n1 = O(1)

One insert, delete or update query

command for datatype description.

Composite Datatype

having D simple

components

n2 = O(D+n1)

One query command for composite

datatype description and D

commands for the component

descriptions.

Field which is referenced

by S Segments n3 = O(1+S+n2)

One query command for the field

description, S commands for each

referencing segment, and O(n2)

commands because a field belong

to some datatype.

Segment having F fields

and referenced by M

Messages

O(1+(N*n3)+M)

One query command for the

segment description, M commands

for referencing Messages and N*n3

commands for the related fields.

Message having S

Segments each having F

different fields

O(1+S+(S*F)+(S*F*n2))

One query command for message

description, S commands for

segment description, S*F

commands for field description and

S*F*n2 commands for respective

datatype.

NOTE: The result is provided in the big-O notation which connotes the maximum value. The

calculations are done with an assumption that the components or sub-components don’t exist at all or

all need to be modified or deleted. In real case, only few subcomponents are needed to be appended or

modified resulting in the drastic decrease of the queries required.

Page 83: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

68

5.1.2 Results of Generating Compressed Syntax (Efficiency)

The verification of compressed syntax is shown with the help of figures 5.1a and

5.1b. Figure 5.1a shows the message ‘A02- Patient Transfer’ which was sent to the

ICU for processing. Note that the message is very short but valid. The message was

taken from the HL7 specification v2.3.1 sample messages. The application generates

full syntax for the verification of the message, no matter how short the message is.

The syntax is shown in Figure 5.1b. The message though bulky is still compressed.

This can be realized by observing that once a datatype definition is given, it is never

repeated again even on the repetition of the datatype. The figure highlights the field

‘Patient Name’ which is an Extended Person Datatype (XPN) in HL7 specification.

All the components of this datatype are described in juxtaposition to it. The next time

this datatype occurs in the field ‘Mother’s Maiden Name’, but this time no

specification is fetched out. The system passes a reference to the previous definition

internally.

The real advantage of the Compressed Syntax generation can be seen in the

diminishing running time of the system. Table 5.2 shows the average response time of

the different messages by developed system. The messages were sent successively

and the response time was measured carefully for each of them. The table connotes

following observation- the system took significant time to process first message, but

the time decreases as other messages were processed. As explained before (refer

section 4.2.1- Overlapping Structure of HL7 Messages), the time decreases because

the messages share components. These components are fetched once and used many

times. Response time decreases in first and second sequence of arrival of messages

A02, A01, and A03 respectively. But it increases slightly for the message EQQ. The

reason being that EQQ belong to different classification of message types (refer to

classification of HL7 Events Table 2.11) and hence its overlapping with previous

message syntaxes is relatively low.

Page 84: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

69

Figure 5.1a. Sample Message for Event ‘A02- Patient Transfer’ taken from HL7

specification v2.3.1.

Figure 5.1b. Compressed Syntax for the event ‘A02- Patient Transfer’

Page 85: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

70

Table 5.2. Average response time for the successive processing of HL7 messages.

TIMING SEQUENCE MESSAGE

AVERAGE RESPONSE

TIME

(IN SEC)

1st A02 (Patient Transfer) 7.71

2nd A01 (Patient Admission) 2.40

3rd A03 (Patient Discharge) 1.52

4th EQQ (Query Message) 3.49

5th A02 (again) 1.24

6th A01 (again) 1.20

7th A03 (again) 0.76

8th EQQ (again) 1.76

Measurement done under following conditions.

System Configuration: 512 MB RAM, Processor P-IV 2.4 GHz, Virtual Memory 768 MB

LAN Configuration: 5 mbps

Software: Normal running applications

5.2 Some Outputs of the Major Functionalities

The HL7 complying module involves much more processing work than user

inputs and outputs. When a message is received or, conversely required to be

composed by the system, the module first generates the specified syntax for that

message. As the specifications are stored in a database, the syntax is composed by

fetching a couple of queries. Once the syntax is ready, the message is either validated

and further processed or composed and delivered as per the requirements.

Though the development and working of the messaging module is independent of

other information systems, but the testing requires some other HL7 Compliant

information systems. Hence the system was tested against an instance of itself

installed on another system. Since both the systems are ICU information systems, a

scenario of two ICUs communicating with each other was assumed. For verifying the

system against the standards messages of the HL7 specification v2.3.1, the dummy

stub was created which was capable of sending any HL7 messages to the desired

system. The system was rigorously tested for various cases, errors were investigated

and debugged, as a result of which modifications and improvements were done. To

Page 86: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

71

cover the whole testing phase is out of the scope of this dissertation. Some of major

cases are discussed below which also demonstrate the basic functionalities.

5.2.1 HL7 Compliant SANJEEVANI

5.2.1.1 Capability of Sending and Receiving Messages. Both the ICUs are termed

as ICU-1 and ICU-2 respectively and are configured to send messages to each other.

Three routine functionalities were transformed to the unsolicited updates where a

message is automatically composed and send to the specified client. Figure 5.2a

shows one such use case- ‘Add Patient’. In this form, the ‘SAVE’ button is

overloaded to automatic message composition and delivery. The form was filled and

saved at ICU-1. Figure 5.2b shows the arrival of message at ICU-2. The message pops

up at the corner of screen so as not to disturb the normal work of the operator. Figure

5.2c shows the full screen view of the message received. The message provides

information in an HL7 format- first specifying the field name and field value followed

by component-wise description of the same field.

Similarly, the ICU functionalities of ‘Patient Admission’ and ‘Patient Discharge’ are

also overloaded.

Page 87: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

72

Figure 5.2a. Message Sending Capability of the ICU Information System.

(Message is composed at ICU-1)

Figure 5.2b. Message Receiving Capability of the ICU Information System.

(Message is received at ICU-2)

Page 88: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

73

Figure 5.2c. Full screen view of the received message.

5.2.1.2 Capability of Querying Other Systems. With each receiving application

(other automated departments), the database contains the department related queries

that are required by the ICU. For example, the ICU may inquire about the

investigation details of the patients from the pathology or may want to get the

patient’s demographics from the registration department. These queries can be easily

added in the database by the administrator against any receiver. Figure 5.3a shows the

‘Query Sender’ interface. By choosing a receiving application, all the pertinent

queries are presented to the user. The user selects the desired query and sends it.

Investigation Details were inquired at the ICU-1 as shown in the figure. ICU-2

received the query message, processed it and sent it back to ICU-1. Note that the

query message gets processed silently without any notification to the operator. The

Query response as received by the ICU-1 is shown in the Figure 5.3b. Note that along

with the investigated information the interface also provides information about

message received and the query sent. ‘Query Status’ indicates that whether the query

was successfully executed. Had there been some error in query execution, the query

status would have indicated the occurrence of an error.

Page 89: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

74

Figure 5.3a. Querying Capability of SANJEEVANI – Query Sending Interface.

Figure 5.3b. Querying Capability of SANJEEVANI – Query Response Interface.

Page 90: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

75

5.2.1.3 Capability to Manage Receiving Applications. The basis of using HL7

standard was one of its missions; that is to develop a communicative information

system independent of any other system. This feature is quite important because an

organization often automates its manual departments, or upgrades existing

information systems or even completely changes it. These are the situations where the

loosely coupled systems prove a boon. HL7 Compliant SANJEEVANI adheres to this

loose coupling feature of the standard.

Any number of receiving information systems can be attached to the ICU

information system. The messaging module just needs to know the IP address of the

receiving application’s server. Receiving Application Identity starts with the character

‘z’ as per the ‘rules for site-defined codes’ of HL7 standard. Any meaningful name

can be given to the newly added system. This information can be easily added,

modified and deleted by the administrator of the system. Figure 5.4 shows the

administrator’s interface to manage the receiving applications.

Figure 5.4. Receiving Applications Management Capability- Administrator’s

Managing Interface

Page 91: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

76

5.2.2 ANAVESHAK

The clinical decision support system provides a drag-n-drop facility to compose a

query on the first hand. It presents a whole hierarchy of ICU schema to the user. The

user can select any field of the database without any concern for the table it belongs.

The fields can be selected in two modes- ‘SELECT’ to simply view the attribute and

‘WHERE’ to filter the records. Figure 5.5a shows the ‘Query Browser’- the interface

to compose a query. It should be noted this interface guides the user thoroughly

through query composition process.

Figure 5.5a. ‘Query Browser’- An interface providing drag-n-drop option for

composing queries.

Figure 5.5b shows a dialog box which guides a user to specify filters for a

particular attribute. Note that this dialog box not only provides a list of operators that

can be used while composing a query but also a guiding tip for that particular field.

Page 92: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

77

Figure 5.5b. ‘Filter Dialog Box’- an interface to specify filter attribute.

Figure 5.5c. Query Result Interface.

A query to get a list of all Nurses’ Id and their name (along with the patient-Id and

name) under whom patients died in ICU was composed in Figure 5.5a. The result

after execution of the query can be seen in the Figure 5.5c. If the query seems to be a

frequently used query, it can be saved. While if the user doubts at the semantics of the

Page 93: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

78

query, he/she can move ‘back’ and modify the query. The user may also apply

graphical and statistical analysis on the result set.

One of the important features of the ICU is the observation of a patient. The

doctors or consultants may want to compare one or more observations to see the

correlation between them. Keeping this thing in mind, a special interface is provided

which enables the user to quickly compose a query to view one or more observations.

This interface is shown in the Figure 5.6a. Because viewing observations require a

join of many ICU tables and hence take time to execute, so it is recommended to view

only required observations at a time. The Figure 5.6a composes a query to view two

observations- ‘BP Systolic’ and ‘BP Diastolic’. The query response was graphically

analyzed using XY-Graphs. The graph produced as a result of analysis is shown in the

Figure 5.6b.

Figure 5.6a. Special Interface to quickly view observations.

Page 94: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Results and Outputs

79

Figure 5.6b. Analysis of observations ‘BP Systolic’ vs ‘BP Diastolic’ using XY-

Graphs.

5.3 Chapter Summary

SANJEEEVANI- the ICU information system is equipped with a communicative

module which is capable of sending and receiving standard messages. ICU can now

interact with the other HL7 complaint departments’ information systems. The system

thus eliminates the limitations of the previous information system. The system at ICU

not only provides the required functionalities but also shows satisfactory performance.

Because one cannot expect the ICU staff to run SQL queries, ANAVESHAK- the

decision support system proves a useful tool for information retrieval. Desired queries

can be composed through user-friendly interfaces. The results can be analyzed

statistically and graphically.

The dissertation is concluded in the next chapter. It also shows a glimpse of the

road head.

Page 95: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Chapter 6

Conclusion and Future Enhancements

The dissertation shows how the thesis meets its mission and objectives. The

system was designed to produce a communicative information system and a decision

support system. The system design is elaborated in Chapter 3- System Design.

Innovative features in the form of non-functional requirements are covered in Chapter

4- Novel Features of the Proposed Solution. Chapter 5- Results and Outputs vindicate

the benefits of these features. It also provides a visual overview of the major

functionalities of the system. This chapter concludes the successful completion of the

thesis by bringing out its achievements and worth. It also shows the road ahead by

pointing the scope of improvements in both ICU information system and clinical

decision support system separately.

6.1 Conclusion

In developing countries like India, healthcare organizations often go for partial

automation. The reasons are simple- low budget, time constraints, disinterested

management and unwilling employees. But the consequences are not that simple.

Such a system requires more registration counters, point-of-sales (POS) and user

forms. They ultimately results in alternate sequences of manual and automated

processes in a pipeline. It is obvious to realize that for a smooth flow of a pipeline, all

the processes should have equal processing time. Since manual and automated

processes differ in speed, hence few processes become bottlenecks while others sit

idle for most of the time. This alternate scheme can be removed by adopting complete

automation where the information can flow from one process to the other. Therefore

dumb information systems don’t cater to improve the overall workflow of an

Page 96: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Conclusion and Future Enhancements

81

organization. They ease the work of a smaller sphere by managing the data and easy

retrieval of information.

To sum up, communicative information systems are a genuine need of any

organization. They bring the real power of automation. This would require more

standards to be defined and every systems complying with one or more standards.

This thesis is an endeavor towards complete automation- a workflow with no manual

process. Although it is not ending up in an absolute removal of manual processes, but

it provides a platform where the development of such a system may begin.

An inefficient use of the IT potential is the place where digitized data is not used

properly. Data is collected over time and once a case (or transaction) is over it is

never used again. What’s the point in keeping data in such bulks? It is kept just to

meet the legal issues in case they arrive. It is seldom realized that such a data may

contain enormous knowledge. Various rules and trends may be derived by mining this

data. Rather when it comes to decision making, organizations assign the liability to

one or more people who provides decisions subjective to their knowledge. Human

decision is error prone if not backed with significant experience.

Decision Support Systems are supplementary to information systems so as to mine

knowledge from the past data which may enable the managers to lead the

organization. An elementary Decision Support system should become an integral part

of all the information systems. Departments with critical decision making process

should be equipped with high-tech decision support and expert systems. The thesis

provides an elementary decision support system to the ICU information system which

opens the whole database to the user and provides a way to compare and collate the

desired extracted data to derive knowledge.

In this thesis, the compliance of ICU information system with Health Level Seven

(HL7) has brought many desired features in the ICU and owes greater scope for the

future. Now the ICU can get messages from other departments as well as it can send

its own information to other departments. Prior arrangements can be made soon after

an alert of patient’s arrival is received. The billing of discharged patients can be

managed because of the notifications send by the ICU to the billing department. The

Page 97: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Conclusion and Future Enhancements

82

querying system of the HL7 module will prove an amenity to the ICU staff. An

authorized user can query other systems of the hospital right from the ICU desks.

Thus the information of a patient related to any department can be produced at the

ICU in a few clicks only. Such quickly available information would certainly help the

doctors in taking better decisions.

The clinical decision support system also proves a nifty tool to the ICU. First of

all it presents the whole schema in a hierarchical order. This not only clears the

picture of the information structure but encourages the user to extract information.

Desired information can be fetched by composing queries through easy drag- and-

drop features. The user is guided through out the query composition process and the

system safe-guards against any possible errors. The system can be used from various

perspectives. A doctor may use it to fetch cases similar to a given case and so get the

effective diagnosis and treatment. A resident or junior doctor might get case studies

for learning purposes. Students may use as well for observing some unknown

relationship between various investigations, treatments and observations. It can be

used by ICU managers to assess the performance of the ICU staff by examining the

statistics of adverse events or success rate against its employees.

In all, it is hoped that the project will better organize the information and mine

knowledge, so as to help the doctors to save life.

6.2 Future Enhancements

The road ahead may go in two different directions- firstly to broaden the scope of

the problem and secondly to enhance the existing solution. In other words, our

mission- “To organize medical information and to mine knowledge from it, to assist

the doctors to save life” can be put forward by either defining entirely new objectives

or by improving the present one. As in other chapters, the discussion is pivoted on the

information system and clinical decision support system separately.

Page 98: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Conclusion and Future Enhancements

83

6.2.1 HL7 Compliant SANJEEVANI The existing solution can be improved by redesigning the ICU database. The

reason being the ICU database is incapable of harnessing the full benefit of HL7

standard. An HL7 message can contain about 500 fields, but the ICU database

supports not even 25 % of it. The new database should be compatible to the standard.

This can be achieved by designing the database using Reference Information Model

(RIM) guidelines [RIM-04]. RIM uses UML to represent a complete and static view

to HL7 design and requirements.

Another enhancement would be to increase the number of messages that the HL7

module can accept and process. This would require the HL7 specification database to

be populated with new message details. In case of unsolicited messages, only database

population will do, but for query messages the application program needs to be

appended with that message processor program. Consequent to this improvement one

may think of providing an HL7 Specification Managing Tool which can provide the

various details of current HL7 version as well as can easily upgrade the standard to a

new version. In such a case, a guided operator can modify the specification easily and

there will not be any need of the maintenance team to intervene.

For broadening the scope of ICU automation, other medical standards can be

adopted [please refer Table 2.1 Consolidated Health Informatics Domains and

standards]. For transfer of medical images, DICOM is the one and only standard. The

ICU information system can comply with DICOM to access images from radiological

and other departments.

ICU uses a wide variety of electronic equipments and monitoring devices. The

readings are taken and noted from time and time. Even the readings from these

devices can be captured by the ICU information system by connecting it to these

devices. This would require the compliance of devices as well as ICU information

system to a common standard.

Page 99: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Conclusion and Future Enhancements

84

HL7 can itself be used in a broader scope. One improvement would be to hoist an

HL7 server which can serve requests to mobile devices. Mobile devices can be

equipped with an HL7 browser and doctors carrying them can access patient’s

information from anywhere. The communication can be the other way also where the

mobile devices would be getting alerts and messages regarding critical events [Park-

05].

6.2.2 ANAVEHSHAK The first improvement which can be given to the present CDSS would be to

provide a web-interface. If a web server can be hoisted running the CDSS application,

any user can harness its benefit from anywhere. Any number of users can access the

application at a time. Moreover no special softwares are required to be installed with

individual machine- only web browsers will do. But such a system needs to add a

module of user authentication.

The CDSS presents the whole ICU schema to the user. It may be required by the

ICU managers and doctors to analyze other databases like Pathology or Pharmacy,

simultaneously with the ICU database. For such a case, the XML configuration file

needs to be updated with the information of other databases.

Yet another improvement would be including more statistical and graphical

techniques. The current system provides ‘Measures of Centrality’ (that is Mean,

Median, and Mode etc.) in statistical analysis. Other measures like, ‘Measures of

Relative Location’ (like Percentile and Z-Score) can be incorporated in the

application [Marchini-06]. Similarly, graphical analysis can be enhanced by adding

Quality Control Charts like R-Chart, S-Chart and Median Chart.

The CDSS is developed on an evolutionary model, so the idea of information

extraction could also be refined as well as moved towards predictions. Various

algorithms can be used to transform the present information-extraction system to full

cases-extraction system (CBR). Such a CBR system would be provided with a partial

case of the ICU and it would fetch a ranked set of all similar cases. The user can then

choose the percentage of cases required for his study and analysis.

Page 100: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

Conclusion and Future Enhancements

85

A new objective can as well be framed to develop a predictive system. An expert

system can be developed which given a case would predict some parameters like

required investigations and observations or probable diagnosis. An expert system can

work on an initial set of rules which can always be augmented with new rules based

on the experience of the system. It should be noted that new rules should only be

added after an experts’ assessment.

There are numerous directions of enhancement to our present system. Our vision

is only confined by our sight.

Page 101: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-A: Installation Guide

86

APPENDIX – A

Installation Guide

This appendix contains instructions for installing HL7 Compliant SANJEEVANI

2.0 and ANAVASHEK 1.0. This will include downloading of required software,

installing and configuring them so as to provide a platform to run the product.

A.1 Target Audience In general, any one who is interested in this project can read this user guide. But, the

intended audiences of this Installation Guide are developers, and system

administrator.

A.2 Software Requirements

1. Java 5

2. MySQL 5

3. MySQL JDBC connector 3.1.12

4. JFreeChart

5. JSci

6. JDOM

In addition to the above, the softwares which are used for development is listed

below. This will be helpful for the maintenance of SANJEEVANI and

ANAVESHAK.

7. NetBeans 5.5

8. MySQL Query Browser 1.1.18

SANJEEVANI and ANAVESHAK is packaged into a Java Archive (jar) file and

two Database backup File. SANJEEVANI requires a configuration file also for

logging. All the files are listed below.

1. HL7CompliantICUProject.jar

2. CDSS.jar

Page 102: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-A: Installation Guide

87

3. hl7specification.sql

4. icu.sql

5. ICUlogging.properties

A.3 Software Installation Sites

All the software listed in section above are open source and free. The download

sites of software are listed as following

1. Java 5 can be downloaded from http://java.sun.com/javase/downloads/

2. MySQL 5 can be downloaded from

http://dev.mysql.com/downloads/mysql/5.0.html

3. JDBC connector 3.1.12 can be downloaded from

http://dev.mysql.com/downloads/connector/j/3.1.html

4. MySQL Query Browser can be downloaded from

http://dev.mysql.com/downloads/gui-tools/5.0.html

5. NetBeans 5.5 can be downloaded from

http://www.netbeans.info/downloads/index.php.

6. JFreeChart 1.0.0 can be downloaded from

http://www.jfree.org/jfreechart/index.php

7. JDOM 1.1 can be downloaded from http://jdom.org/downloads/index.html

8. JSci can be donloaded from http://jsci.sourceforge.net/

A.4 Hardware Requirements

The minimum hardware required is

1. Intel or AMD Mother Board

2. Pentium III Processsor

3. 256 MB RAM

4. 20 GB HDD

5. Lan Card or Modem

Page 103: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-A: Installation Guide

88

A.5 Installation of the database

1. Install MySQL5. MySQL 5 installation: Its detail is given in the downloaded

package of MySQL 5.

2. User account creation. Create a user account. This account will be used by

the applications to access the database. The username and the password for

this account should be same as in the applications.

3. Database creation. Create two database with the name hl7specification and

icu.

4. Loading database with the schema. The database is loaded from the

databases schema the files hl7specification.sql and icu.sql. With the help of

the following command the schema is loaded.

c:\>mysql -u root -p hl7specification< hl7specification.sql

and

c:\>mysql -u root -p icu< icu.sql

Both the files should be accessible from the path of the command prompt. The

system asks for the password before loading the database schema.

A.6 Installation of the Applications

1. Installation of Java 5. Install JDK 1.5 and JRE 1.5 form the downloaded Java

5 bundle by referring to their instructions.

2. Setting the Class path. Put the HL7CompliantICUProject.jar and CDSS.jar

file in the classpath. All the files can be put in the JRE_HOME\lib\ext

directory, to automatically include them in classpath. Here JRE_HOME is the

folder where JRE is installed. The default directory is C:\Program

Files\Java\jre1.5.0_05.

3. Configuration file Settings. Create a folder c:\icutemp\config and copy the

ICUlogging.properties file in the folder. This file can be modified to redefine

FileHandler and Error FileHandler Pattern to the location of the log files.

Create two more folders in the directory where the application program is

stored. The folders should be named “MessageReceived” and “MessageSend”.

Page 104: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-A: Installation Guide

89

The folders are used by SANJEEVANI for storing the messages received and

sent respectively.

A.7 Starting the Application

Write two batch files which will start the applications. The contents should be as

below but with correct paths.

For HL7 Complaint SANJEEVANI

@Echo off

java –jar “c:\Program Files\Java\jre1.5.0_05\lib\ext\ HL7CompliantICUProject.jar”

c:\icutemp\config\ICUlogging.properties

For ANAVESHAK

@Echo off

java –jar “c:\Program Files\Java\jre1.5.0_05\lib\ext\ CDSS.jar”

Double clicking the batch file, will initialize and start the application.

Page 105: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-B: Views Used by ANAVESHAK

90

APPENDIX – B

Views Used by ANAVESHAK

ANAVESHAK uses views to present ICU schema in a meaningful way. All the

views are listed here along with the fields they contain. The list would be useful in

understanding the ICU Schema and to browse the required field in the CDSS.

Table B.1. Details of ICU Views used by ANAVESHAK

VIEW NAME FIELD NAME

Patient Id

Daily Care Id

Urine Substance

Urine Value

Units

Minimum Normal Value

Urine Details

Maximum Normal Value

Patient Id

Daily Care Id

Name of the drug

Dose

Drug Route

Frequency

Treatment Details

Time

Patient Id

Daily Care Id

Target

Minimum Target Value

Maximum Target Value

Units

Target Hours

Target Reached

Hours to reach target

Target Details

Reason

Staff Details Daily Care Id

Page 106: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-B: Views Used by ANAVESHAK

91

Member Id

Staff Name

Staff Designation

Patient Id

Patient's Name

Age

Height

Weight

Marital Status

Occupation

Annual Income (In Rs)

Blood Group

Telephone Number

Address Line1

Address Line2

City

State

Country

Date of Admission to Hospital

Date of Admission to ICU

Admission Under Doctor

Relative's Name

Relationship

Admission History

Discharge Status

Date of Discharge from ICU

Date of discharge from Hospital

Number of days in ICU

Discharged To

Relative Satisfaction

Discharge Summary

Patient Admission-Discharge

Details

Patient Alive After Discharge (Days)

Patient Id

Daily Care Id

Observation Name

Time

Observations Details

Units

Page 107: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-B: Views Used by ANAVESHAK

92

Minimum Normal Value

Maximum Normal Value

Patient Id

Daily Care Id

Investigation Name

Sent Date

Result

Units

Minimum Normal Value

Maximum Normal Value

Investigation Details

Summary

Patient Id

Daily Care Id

Mode

Shift

Name of Drug/Fluid

Intake Route

Intake Amount

Intake Start Time

Intake End Time

Urine

Vomit

Stool

Fluids Details

Insensible Loss

Daily Care Id Diagnosis Details

Diagnosis

Daily Care Id

Date

Bed

Bed Number

Intubated Date-Time

Extubated Date-Time

Ventilation Start Time

Ventilation End Time

Weaning Start Time

Weaning End Time

Daily Care Details

ETT_NO

Page 108: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-B: Views Used by ANAVESHAK

93

Length

Morning Cuff Pressure

Evening Cuff Pressure

Night Cuff Pressure

Bed Sore On Arrival

Glasgow Coma Score

Acute Physiology And Chronic Health II (APACHE II)

Sequential Organ Failure Assessment (SOFA)

Multiple Organ Dysfunction Score (MODS)

Revised Trauma Score (RTS)

ALI

RiskA

RiskB

RiskC

RiskD

Total Risk Score

Patient Id

Daily Care Id

Specimen

Sent Date

Received Date

Organism Grown

Culture Sensitivity Detaiils

Summary

Daily Care Id Complication Details

Complication

Allergy Details Allergy Details

Allergy

Patient Id

Daily Care Id

Adverse Event Adverse Event Details

Event Cause

Page 109: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

94

APPENDIX – C

List of HL7 Message Components used by HL7 Compliant SANJEEVANI

This Appendix provides an overview of the different messages and message

components used by HL7 Compliant SANJEEVANI. This would be useful for

understanding the scope of the system while interacting with other information

systems.

SANJEEVANI uses messages shown in Table C.1. The table also shows the

segments that are carried by each message. Since each segment is not required every

time, hence the optional field is also shown.

Table C.1. HL7 Messages (along with their segments) used by SANJEEVANI

MESSAGE SEGMENT REQUIRED/OPTIONAL

MSH- Message header R

EVN- Event type R

PID- Patient identification R

PD1- Patient additional demographic O

NK1- Next of kin/ Associated parties O

PV1- Patient visit R

PV2 -Patient visit additional

information O

DB1- Disability O

OBX- Observation/result O

AL1- Allergy Information O

DG1- Diagnosis Information O

DRG- Diagnosis Related Group O

PR1- Procedures Segment O

ROL- Role 12 O

GT1- Guarantor O

IN1- Insurance O

A01 - Admit/visit

notification

IN2- Insurance Additional O

Page 110: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

95

Information

IN3- Insurance Additional

Information Certifacate O

ACC- Accident Information O

UB1- Universal Bill Information O

UB2- Universal Bill 92 Information O

MSH- Message header R

EVN- Event type R

PID- Patient identification R

PD1- Patient additional demographic O

PV1- Patient visit R

PV2 -Patient visit additional

information O

DB1- Disability O

A02- Transfer a patient

OBX- Observation/result O

MSH- Message header R

EVN- Event type R

PID- Patient identification R

PD1- Patient additional demographic O

PV1- Patient visit R

PV2 -Patient visit additional

information O

DB1- Disability O

DG1- Diagnosis Information O

DRG- Diagnosis Related Group O

PR1- Procedures Segment O

ROL- Role 12 O

A03- Discharge/end visit

OBX- Observation/result O

MSH- Message header R

MSA- Message Acknowledgement R ACK- General

acknowledgment ERR- Error O

MSH- Message header R

EQL- Embedded Query Language R EQQ- Embedded Query

Language DSC- Continuation Pointer O

MSH- Message header R

MSA- Message Acknowledgement R

TBR- Tabular Data

Response

ERR- Error O

Page 111: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

96

QAK- Query Acknowledgement R

RDF - Table Row Definition R

RTD- Table Row Data R

DSC- Continuation Pointer O

The segments shown in Table C.1 are elaborated in Table C.2 to show the fields they

contain.

Table C.2. HL7 Segments along with their fields.

SEGMENT FIELD

Set ID - DB1

Disabled Person Code

Disabled Person Identifier

Disabled Indicator

Disability Start Date

Disability End Date

Disability Return to Work Date

DB1- Disability

Disability Unable to Work Date

DSC- Continuation Pointer Continuation Pointer

Query Tag

Query/Response Format Code

EQL Query Name EQL- Embedded Query Language

EQL Query Statement

ERR- Error Error Code And Location

Event Type Code

Recorded Date/Time

Date/Time Planned Event

Event Reason Code

Operator ID

EVN- Event type

Event Occurred

Message Control ID

Acknowledgement Code

Text Message

Expected Sequence Number

MSA- Message Acknowledgement

delayed Acknowledgement Type

Page 112: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

97

Error Condition

Field Separator

Encoding Characters

Sending Application

Sending Facility

Receiving Application

Receiving Facility

Date/Time Of Message

Security

Message Type

Message Control ID

Processing ID

Version ID

Sequence Number

Continuation Pointer

Accept Acknowledgment Type

Application Acknowledgment Type

Country Code

Character Set

Principal Language Of Message

MSH- Message header

Alternate Character Set Handling Scheme

Date/Time of Birth

Sex

Race

Primary Language

Marital Status

Religion

Ethnic Group

Citizenship

Ambulatory Status

Set ID - NK1

Name

Relationship

Address

Phone Number

Business Phone Number

NK1- Next of kin/ Associated parties

Contact Role

Page 113: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

98

Start Date

End Date

Next of Kin / Associated Parties Job Title

Next of Kin / Associated Parties Job Code/Class

Next of Kin / Associated Parties Employee Number

Organization Name - NK1

Nationality

Living Arrangement

Publicity Code

Protection Indicator

Student Indicator

Mother’s Maiden Name

Contact Reason

Contact Person’s Name

Contact Person’s Telephone Number

Contact Person’s Address

Next of Kin/Associated Party’s Identifier

Job Status

Handicap

Contact Person Social Security Number

Living Dependency

Set ID - OBX

Value Type

Observation Identifier

Observation Sub-ID

Observation Value

Units

References Range

Abnormal Flags

Probability

Nature of Abnormal Test

Observ Result Status

Date Last Obs Normal Values

User Defined Access Checks

Date/Time of the Observation

Producer's ID

OBX- Observation/result

Responsible Observer

Page 114: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

99

Observation Method

Living Arrangement

Publicity Code

Protection Indicator

Student Indicator

Handicap

Living Dependency

Patient Primary Facility

Patient Primary Care Provider Name & ID No.

Living Will

Organ Donor

Separate Bill

PD1- Patient additional demographic

Duplicate Patient

Set ID - PID

Patient ID

Patient Identifier List

Alternate Patient ID - PID

Patient Name

Mothers Maiden Name

Date/Time of Birth

Sex

Patient Alias

Race

Patient Address

County Code

Phone Number - Home

Phone Number - Business

Primary Language

Marital Status

Religion

Patient Account Number

SSN Number - Patient

Drivers License Number - Patient

Mothers Identifier

Ethnic Group

Birth Place

PID- Patient identification

Multiple Birth Indicator

Page 115: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

100

Birth Order

Citizenship

Veterans Military Status

Nationality

Patient Death Date and Time

Patient Death Indicator

Set ID - PV1

Patient Class

Assigned Patient Location

Admission Type

Preadmit Number

Prior Patient Location

Attending Doctor

Referring Doctor

Consulting Doctor

Hospital Service

Temporary Location

Preadmit Test Indicator

Re-admission Indicator

Admit Source

Ambulatory Status

VIP Indicator

Admitting Doctor

Patient Type

Visit Number

Financial Class

Charge Price Indicator

Courtesy Code

Credit Rating

Contract Code

Contract Effective Date

Contract Amount

Contract Period

Interest Code

Transfer to Bad Debt Code

Transfer to Bad Debt Date

PV1- Patient visit

Bad Debt Agency Code

Page 116: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

101

Bad Debt Transfer Amount

Bad Debt Recovery Amount

Delete Account Indicator

Delete Account Date

Discharge Disposition

Discharged to Location

Diet Type

Servicing Facility

Bed Status

Account Status

Pending Location

Prior Temporary Location

Admit Date/Time

Discharge Date/Time

Current Patient Balance

Total Charges

Total Adjustments

Total Payments

Alternate Visit ID

Visit Indicator

Other Healthcare Provider

Prior Pending Location

Accommodation Code

Admit Reason

Transfer Reason

Patient Valuables

Patient Valuables Location

Expected Admit Date/Time

Expected Discharge Date/Time

Estimated Length of Inpatient Stay

Actual Length of Inpatient Stay

Visit Description

Referral Source Code

Previous Service Date

Employment Illness Related Indicator

Purge Status Code

PV2 -Patient visit additional information

Purge Status Date

Page 117: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

102

Special Program Code

Retention Indicator

Expected Number of Insurance Plans

Visit Publicity Code

Visit Protection Indicator

Clinic Organization Name

Patient Status Code

Visit Priority Code

Previous Treatment Date

Expected Discharge Disposition

Signature on File Date

First Similar Illness Date

Patient Charge Adjustment Code

Recurring Service Code

Billing Media Code

Expected Surgery Date & Time

Military Partnership Code

Military Non-Availability Code

Newborn Baby Indicator

Baby Detained Indicator

Query Tag QAK- Query Acknowledgement

Query Responce Status

Number of coloumns per row RDF- Table Row Definition

Coloumn Description

RDT- Table Row Definition Coloumn Value

Table C.3 shows the various HL7 specified datatypes and their components.

Table C.3. Classification and components of HL7 Datatypes.

DATATYPE CLASSIFICATIONS COMPONENTS

Identifier

Text

Name of coding system

Alternate identifier

Alternate text

CE- Coded Element COMPOSITE

Name of alternate coding

system

Page 118: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

103

Message type CM- Composite COMPOSITE

Trigger event

ID

Check digit

Code identifying the check

digit scheme employed

Assigning authority

Identifier type code

CX- Extended Composite ID with

check digit COMPOSITE

Assigning facility

License number

Issuing state DLN- Driver’s license number COMPOSITE

Expiration date

DT- Date SIMPLE

Entity identifier

namespace ID

Universal ID EI- Entity Identifier COMPOSITE

Universal type

Financial class FC- Financial class COMPOSITE

Effective date

Namespace ID

Universal ID HD- Hierarchic designator COMPOSITE

Universal ID type

ID- Coded Values for HL7 tables HL7 DEFINED CODES

IS- Coded value for user USER DEFINED

CODES

Job Code JCC- Job Code/ Class COMPOSITE

Job Class

NM- Numeric SIMPLE

Point of care

Room

Bed

Facility

Location status

Floor

PL- Person Location COMPOSITE

Location description

Processing ID PT- Processing Type COMPOSITE

Processing mode

Page 119: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

104

HL7 item number

HL7 data type

RCD- Row Coloumn Definition

COMPOSITE

Maximum coloumn width

SI- Sequence ID SIMPLE

ST- String SIMPLE

TN- Telephone Number SIMPLE

TS- Time Stamp SIMPLE

Version ID

Internationalization code VID- Version Identifier COMPOSITE

International version ID

Street address

Other designation

City

State or province

Zip or postal code

Country

Address type

Other geographic

designation

County/parish code

Census tract

XAD- Extended address COMPOSITE

Address representation

code

ID Number

Name

Given name

Middle initial or name

Suffix

Prefix

Source table

Assigning authority

Name type code

Identifier check digit

Code identifying the check

digit scheme employed

Identifier type code

XCN- Extended composite ID number

and name

COMPOSITE

Assigning facility

Page 120: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

APPENDIX-C: List of HL7 Message Components used by HL7 Compliant SANJEEVANI

105

Name representation code

ID number

Check digit

Code identifying the check

digit scheme employed

Assigning authority

Identifier type code

Assigning facility ID

Name representation code

Organization name

XON- Extended composite name and

ID number for organizations

COMPOSITE

Organization name type

code

Name

Given name

Middle initial or name

Suffix

Prefix

Degree

Name type code

XPN- Extended person name COMPOSITE

Name representation code

Any text

Telecommunication use

code

Telecommunication

equipment type

Email address

Country code

Area/city code

Phone number

XTN- Extended telecommunications

number COMPOSITE

Extension

For more details, refer HL7 specification v2.3.1.

Page 121: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

References

1. [Aden-05] Marco Eichelberg, Thomas Aden, and Jo¨ Rg Riesmeier, “A Survey

and Analysis of Electronic Healthcare Record Standards”, ACM Computing

Surveys, Vol. 37, No. 4, December 2005, pp. 277–315.

2. [Amicas] Amicas- An organization providing Radiology, medical image and

information management solution, www.amicas.com

3. [Angehrn-98] Albert A. Angehrn and Soumitra Dutta, “Case-Base Decision

Support”, Communications of the ACM, May 1998.

4. [Boehm-00] Barry Boehm, “Spiral Development: Experience, Principles, and

Refinements”, Spiral Development Workshop, February 9, 2000, SPECIAL

REPORT, CMU/SEI-2000-SR-008.

5. [Booch-99] I.Jacobson, G. Booch, J. Rumbaugh, “The Unified Software

Development Process”, Addison Wesley, 1999.

6. [Caleb-Solly-03] Praminda Caleb-Solly, “Clinical Decision Support Systems”,

Seminar for the Health Informatics, Intelligent Computer Systems Centre,

2003.

7. [Clements-03] P. Clements, “Why Is Software Architecture Important?”,

Seminar at IIIT-Allahabad, January 2007.

8. [Deitel-04] H.M. Deitel, P.J. Deitel, T.R. Nieto, T.M. Lin, P. Sadhu, “XML

How to Program”, PEARSON Education, 2004.

9. [Ding-02] HUA DING, X-K.W., “Research on Algorithm of Decision Tree

Induction”, First International Conference on Machine Learning and

Cybernetics, 2002, Beijing, IEEE.

Page 122: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

References

107

10. [Fernandez-05] Eduardo Fernandez, Tami Sorgente, “An analysis of modeling

flaws in HL7 and JAHIS”, ACM Symposium on Applied Computing, 2005.

11. [Gamma-00] Gamma, Erich, Helm, Richard, Johnson, Ralph, “Design

Patterns: Elements of Reusable Object-Oriented Software”, Addison Wesley,

England, 2000.

12. [Gopal-06] R.Amirdha Gopal, “Information System for Assessment of

Functioning of Intensive Care Unit and Rule Extraction with ID3 Algorithm”

Thesis, 2006, IIIT-Allahabad.

13. [Freeman-04] Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates,

“Head First Design Patterns”, O’REILLY, October, 2004.

14. [HL7-99] Health Level Seven Organization, HL7 Standard v.2.3.1,

www.hl7.org.

15. [Kaiser-06] Kaiser Family Foundation, “Comparing Projected Growth in

Health Care Expenditures and the Economy”, Healthcare Survey, May 2006,

http://www.kff.org/insurance/snapshot/chcm050206oth2.cfm

16. [Lee-01] Grace S Loo, Philip C H Lee, “A Soft Systems Methodology Model

for Clinical Decision Support Systems”, 2001 IEEE.

17. [Lethbridge-04] T. C. Lethbridge and Robert Laganiere, “Object-oriented

Software Engineering: Practical Software Development using UML and

Java”, Tata McGraw-Hill, 2004.

18. [Marchini-06] Jonathan Marchini, “Introduction to Probability Theory and

Statistics for Psychology and Quantitative Methods for Human Sciences”,

Lectures and Notes Slides, 2006,

http://www.stats.ox.ac.uk/%7Emarchini/phs.html

Page 123: HEALTH LEVEL SEVEN COMPLIANCE AND ... - M.Tech Divison grade/Mohd. Imran Khan... · M.Tech in Information Technology specialization in Software Engineering to Indian Institute Of

References

108

19. [Navathe-03] R. Elmasri, S. B. Navathe, “Fundamentals of Database

Systems”, PEARSON Education, 2003.

20. [NeoTool] NEOTOOL- Healthcare Integration Solutions, “The HL7

Evolution”, white papers, www.neotool.com

21. [Park-05] Jinwook Choi, Sooyoung Yoo, Heekyong Park , “Seamless Real-

time Clinical Data Integration for Mobile Clinical Information System”,

Proceedings of the 21st International Conference on Data Engineering (ICDE

’05), 2005 IEEE.

22. [RIM-04] HL7 Reference Information Model, v 02-04 (7/28/2004),

http://www.hl7.org/library/data-model/RIM/C30204/rim.htm#rimBallImplic