Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
1.1 About Project
The typical clinical facility or hospital has several HL7 enabled applications and devices. To reduce data entry time and increase overall efficiency of the facility, these applications or devices need to communicate with each other. One way to accomplish this is by: Using an interface engine that is placed between all the applications to aid in information exchange and monitoring. Facilities that use an interface engine model find that: It is much less expensive and takes less time to initially implement an interface because
an engine allows for leveraging of data and an engine is flexible in its acceptance of data. The cost and time required to add new or replace existing applications is frequently less
than half that required in a point-to-point model It requires considerably less time and money to maintain and monitor the interfaces
Dept Of MCA,B.I.E.T,Davangere.
Page 1
Dept Of MCA,B.I.E.T,Davangere.
Page 2
1.2.2 Our services Leverage our specialized staff comprising of analysts, architects, managers, engineers, support executives and testers to establish an exclusive, scalable and effective team to suit your project needs. Customers have come to us initially to cut costs, stayed with us for quality and
Dept Of MCA,B.I.E.T,Davangere. Page 3
Starmark is a premier software product development and enterprise solutions service provider. We enable enterprises to leverage software and internet technology to build value across their customers, partners, suppliers and employees. We supplement capabilities of software product companies in building scalable R&D, product development, sustenance and support operations.
1.2.3 Corporate Goals At Starmark, we believe in the power of reaching for goals. Goals give us direction and provide a roadmap for where we're going, where we want to be, and how we plan to get there. Goals are also a strong motivational force - we at Starmark thrive on the challenge of meeting goals within strict operational parameters.
We understand the axiom that companies have goals, but it's management and employees that accomplish them. That's why our corporate goals revolve around values rather than sales targets. We believe in: Product supremacy, quality and reputation First-class customer service and customer satisfaction Strong, consolidated corporate profitability, financial strength and success Honesty and integrity in all aspects of business Recognizing and rewarding our people for dedication and high levels of achievement Creating opportunities for our people to grow and share in the success of the enterprise
Dept Of MCA,B.I.E.T,Davangere.
Page 4
2. Literature Survey
2.1 HL7 Overview
Health Level Seven International (HL7) is a not-for-profit, ANSI-accredited standards developing organization dedicated to providing a comprehensive framework and related standards for the exchange, integration, sharing, and retrieval of electronic health information that supports clinical practice and the management, delivery and evaluation of health services. An international standard development organization established more then 20 years ago. Enables interoperability of healthcare information. Creates standards for the exchange management and integration of electronic healthcare information. Develops specification, e.g., a messaging standards that enable disparate healthcare application to exchange key sets of clinical and administrative data. HL7 is an international community of healthcare subject matter experts and information scientists collaborating to create standards for the exchange, management and integration of electronic healthcare information. The HL7 community is organized in the form of a global organization (Health Level Seven, Inc.) and country-specific affiliate organizations: Health Level Seven, Inc. (HL7, Inc.) is headquartered in Ann Arbor, Michigan. HL7 affiliate organizations, not-for-profit organizations incorporated in local
jurisdictions, exist in over 40 countries. The first affiliate organization was created in Germany in 1993
2.1.1 The Name "Health Level-7" The name "Health Level-7" is a reference to the seventh "application" layer of the ISO OSI Reference model. The name indicates that HL7 focuses on application layer protocols for the health care domain, independent of lower layers. HL7 effectively considers all lower layers merely as tools.
Dept Of MCA,B.I.E.T,Davangere.
Page 5
Dept Of MCA,B.I.E.T,Davangere.
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. Each segment is given a name. For example, the ADT message may contain the following segments: Message Header (MSH), Event Type (EVN), Patient ID (PID), and Patient Visit (PV1). 2.1.5 HL7 Message Types ORU (Observation Result) The ORU message transmits observations and results from the producing system/filler i.e. LIS, EKG system) to the ordering system/placer (i.e. HIS, physician office application). It may also be used to transmit result data from the producing system to a medical record archival system, or to another system not part of the original order process. ORU messages are also sometimes used to register or link to clinical trials, or for medical reporting purposes for drugs and devices. Types of observations reported in the ORU message include: Clinical lab results Imaging study reports Patient condition or other data (i.e. vital signs, symptoms, allergies, notes, etc.)
Dept Of MCA,B.I.E.T,Davangere.
Page 7
In the ORU message, the ORC (Common Order Segment), the OBR (Observation request) and OBX (Observation) segments are most significant due to their functions: The Common Order segment (ORC) is used to transmit fields that are common to all orders (all types of services that are requested). The OBR segment is used in all ORU messages as a report header, and contains important information about the order being fulfilled (i.e. order number, request date/time, observation date/time, ordering provider, etc.). This segment is part of a group that can be used more than once for each observation result that is reported in the message. The OBX segment transmits the actual clinical observation results as a single observation or observation fragment.
The DFT message describes a financial transaction that is sent to a billing system and s used for patient accounting purposes. This message might include things like ancillary charges or patient deposits, and is sent between the DSS/Order Filler and the Charge Processor. Trigger events for the DFT-P03 message include: Procedure ordered Procedure scheduled Procedure completed Future will define Report events for professional fees.
Dept Of MCA,B.I.E.T,Davangere.
Page 8
Dept Of MCA,B.I.E.T,Davangere.
Page 9
2.2.3 Mirth provide solution for: Hospitals face increasing pressure to drive down cost and improve both safety and clinical quality while becoming the preferred practice venue for providers and the most convenient and service-friendly place for patients and their families. Mirth can help in streamlining the flow of information across departments and legacy systems within the organization, speeding results delivery to clinicians across the community, or becoming part of a community-wide health information exchange. Labs compete on timeliness, service and accuracy, and to a growing degree to how they enable results delivery directly into referring physicians EHR systems. Mirth can help in connecting LIS to other units within an integrated delivery system or to practice locations across the community.
Dept Of MCA,B.I.E.T,Davangere.
Page 10
2.3 JAVA
The Java programming language is a high-level language that can be characterized by all of the following buzzwords: Simple Object-oriented Distributed Interpreted Robust Secure In the Java programming language, all source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes the machine language of the Java Virtual Machine (Java VM). Architecture-neutral Portable High-performance Multithreaded Dynamic
Dept Of MCA,B.I.E.T,Davangere.
Page 11
A Java Virtual Machine is the base for the Java platform and is ported onto various hardwarebased platforms. The API is a large collection of ready-made software components that provide many useful capabilities. It is grouped into libraries of related classes and interfaces; these libraries are known as packages. 2.3.2 Features of Java Platform Independent The concept of Write-once-run-anywhere (known as the Platform independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is more closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM. Simple There are various features that makes the java as a simple language. Programs are easy to write and debug because java does not use the pointers explicitly. It is much harder to write the java programs that can crash the system but we can not say about the other programming languages. Java provides the bug free system due to the strong memory management. It also has the automatic memory allocation and deallocation system.
Dept Of MCA,B.I.E.T,Davangere.
Page 12
Dept Of MCA,B.I.E.T,Davangere.
Page 14
Increasing numbers of corporations are implementing large Web sites as a mechanism for
their customers to enter orders, contact the service department, get information about products, and for many other tasks that previously required contact with employees. These sites require data storage that is secure, yet tightly integrated with the Web.
Organizations are implementing off-the-shelf software packages for critical services such
as human resources planning, manufacturing resources planning, and inventory control. These systems require databases capable of storing large amounts of data and supporting large numbers of users.
Independent Software Vendors (ISVs) must be able to distribute data storage capabilities
with applications targeted at individuals or small workgroups. This means the data storage mechanism must be transparent to the users who purchase the application. This requires a data storage system that can be configured by the application, and then tune itself automatically so that the users do not need to dedicate database administrators to constantly monitor and tune the application.
2.4.1 Database Architecture Microsoft SQL Server 2008 data is stored in databases. The data in a database is organized into the logical components visible to users. A database is also physically implemented as two or more files on disk.
When using a database, you work primarily with the logical components such as tables, views, procedures, and users. The physical implementation of files is largely transparent. Typically, only the database administrator needs to work with the physical implementation.
Dept Of MCA,B.I.E.T,Davangere.
Page 16
It is not necessary to run multiple copies of the SQL Server database engine to allow multiple users to access the databases on a server. An instance of the SQL Server Standard or Enterprise Edition is capable of handling thousands of users working in multiple databases at the same time. Each instance of SQL Server makes all databases in the instance available to all users that connect to the instance, subject to the defined security permissions.
When connecting to an instance of SQL Server, your connection is associated with a particular database on the server. This database is called the current database. You are usually connected to a database defined as your default database by the system administrator, although you can use connection
options in the database APIs to specify another database. You can switch from one database to another using either the Transact-SQL USE database name statement, or an API function that changes your current database context.
SQL Server 2008 allows you to detach databases from an instance of SQL Server, then reattach them to another instance, or even attach the database back to the same instance. If you have a SQL Server database file, you can tell SQL Server when you connect to attach that database file with a specific database name.
Dept Of MCA,B.I.E.T,Davangere.
Page 17
3.1 Purpose
The purpose of HL7 Integration is to develop an Outbound Interface from a Laboratory Information System(Vitalaxis) to Electronic Medical Record System(NextGen).
3.2 Scope
The Result Outbound integration would help laboratories to send the result for the cases in LIS to hospitals EMR system. A result hl7 file and the PDF report would be sent to EMR system. The DFT outbound integration intends to help laboratories send out the billing information to the Ordering facility in order to create charge transactions. Billing information would be in hl7 file format.
Dept Of MCA,B.I.E.T,Davangere.
Page 18
Usability Usability refers to the capability of the product to be understood, learned, and used. It must be user friendly, when used under specified conditions. This section should include all of those requirements that affect usability. Specify the required training time for a normal users and a power user to become productive at particular operations.
Dept Of MCA,B.I.E.T,Davangere. Page 19
Dept Of MCA,B.I.E.T,Davangere.
Page 20
to seven digits and zero filled. Files will be imported into the database on a first-in first-out order. A new line character will terminate each record.
REQUIRED
REPEATS
DATA TYPE
DESCRIPTIO
N
COMMENT
Dept Of MCA,B.I.E.T,Davangere.
When a field is completely shaded, this indicates that NO data will be expected or sent in this field. The receipt of data in this field by Rosetta will be discarded. The HL7 Segments outlined below contain all of the fields in the HL7 specification. Many fields are not used by NextGen or Vital axis and are therefore ignored.
Notation : [ ] { } Repeating elements Optional elements
Message Format:
Grayed out fields are received by Theranostics, but not processed. Always optional.
Segment MSH Name Message Header Required Yes
[{EVN}] [{NTE}]
Event Type
Dept Of MCA,B.I.E.T,Davangere.
Page 22
} [ZPS]
}
} [{DSP}] [BTS] [FTS] Display Segment (handled conditionally) Batch Trailer Segment File Trailer Segment Table 3.1: Result OutBound Segments Format
Dept Of MCA,B.I.E.T,Davangere.
Page 23
RAM
1 GB
Hard Disk
40 GB
Languages
Java 1.6
Interface Engine
Mirth
Database Environment
: :
Dept Of MCA,B.I.E.T,Davangere.
Page 24
5. System Definition
5.1 Existing System
Paper Based Record The existing system requires personally carrying paper medical records from laboratory to hospital. Disadvantages of paper based record are: Using paper medical records increases the risk of grammar errors, improper data entry
and other record inaccuracies. Paper also requires physical storage, which could be a costly expense for businesses. Productivity decreases because paper records are often unavailable, important
information may not be written on them, or the handwriting of a health professional may not be legible. Information in paper records are often duplicated, either by health professionals from
different departments because of the luck of concordance among specialists, or during the time spans in the same department.
A HL7 interface engine is an interface or integration engine built specifically for the healthcare industry. It connects legacy systems by using a standard messaging protocol. Because hospitals and other healthcare providers usually have different systems for different
Dept Of MCA,B.I.E.T,Davangere. Page 25
HL7 interface engine provides more control and saves time and money in a clinical or healthcare environment
The following figure shows workflow diagrams for interface engine model:
Dept Of MCA,B.I.E.T,Davangere.
Page 26
6. Detailed Design
System design describes overall architecture of the system. It guides the design process and provides details about how to translate functional requirement of the user into design specification. This phase is a transition from the users perspective of the system to the developers viewpoint. System definition helps in developing a logical design of the system. The design phase is with the requirement specification for the software to be developed. Design is the first step to moving from the problem domain towards the solution domain. Design is essentially the bridge between requirements. It is the most critical factor affecting the quality of the software. In detailed design the interconnection of the modules or how the specification of the modules can be satisfied is decided. Some properties for a software system design are: Verifiability Completeness Consistency Traceability Simplicity
The following guidelines were taken into account while designing the system: A design should exhibit hierarchical organization that makes intelligent use of control
among the components of the software. A design should be modular i.e., that software should be logically partitioned into
components that perform specific function and sub function. A design should contain distinct and separable representation of data and procedure. A design should lead to interface that reduces the complexity of connections between and
Dept Of MCA,B.I.E.T,Davangere.
Page 27
populates
HL7 Database
Mirth
Sending process
uploads it to
VitalAxis
Pathologist Signs out
Pre-configured Location
Places HL7 file W700 Framework populates
Distridution Framework
Local Folder
Gets data
Mirth
Figure 6.2.:Level 2-Data Flow Diagram The MAUA Medical Assisstant (MA) would requisition a case and order the case to Theranostix (THX). The THX Lab Technician would accession that case and perform grossing and processing for that case. The Pathologist would SignOut that case Or correct the Signed-Out case. The distribution framework would populate the hl7IntegrationLog table for this signedOut case with the status = 'New' and the handler = 'THX_VA-MAUA_NextGenResults_Outbound' and direction = 'Out Bound' The dedicated VA-Mirth channel (THX_VA-MAUA_NextGen-Results_Outbound) would generate the result hl7 file and place that hl7 file along with the PDF report in a preconfigured location.
Dept Of MCA,B.I.E.T,Davangere.
Page 29
Labarotary
Billing
Charges/Result ORU
ADT
Charges/ADT
ADT
EMR
ADT/ORU/DFT
Mirth
Lab Results/charges
HIS
RIS
EHR
Figure 6.3: DFD of Mirth Example workflow: The workflow of an example small acute care setting is shown in the following table:
Workflow Entered in registration system and sent to all ancillary systems. Lab Orders entered on order entry system (EMR/HIS) and ORM messages delivered electronically to both systems. An order response is sent from the Lab back to EMR/HIS. Radiology Entered on HIS but printed and re-entered into radiology. Once typed into radiology an electronic confirmation is sent to the HIS.
Orders
Results
Dept Of MCA,B.I.E.T,Davangere.
Page 30
Table 6.1:Design of Cases Table Cases Table stores details of case like casetype, extraction procedure used to extract the specimen, number of specimens collected and etc.
Dept Of MCA,B.I.E.T,Davangere.
Page 31
Table 6.2:Design of Patients table Patients table stores patient information like name of the patient, address, responsible person name, insurance policy number and etc.
Dept Of MCA,B.I.E.T,Davangere.
Page 32
Table 6.3:Design Diagnosis Table Diagnosis table contains diagnosis details like summary, final icd9 codes and etc.
Dept Of MCA,B.I.E.T,Davangere.
Page 33
HL7IntegrationLog is monitored by mirth, whenever a case is inserted with status as new mirth pick up related caseid and logid. Case, patients and diagnosis details are retrieved using the caseid. Cases, patients and diagnosis are primary table from which details related to patients case are retrieved. There are many other tables, namely specimens, test, case assignments, casetype, organization, accounts, user, userroles, varules, VAintevent, hl7IntegartionMaster, etc, which are used to create HL7 files.
Dept Of MCA,B.I.E.T,Davangere.
Page 34
7. SYSTEM IMPLEMENTATION
Implementation is the stage of the project where the theoretical design is turned into working system. At this stage the main work load, the greatest upheaval and the major impact on the existing system shifts to the customer department. If the implementation is not carefully planned a controlled it can cause chaos and confusion. Implementation includes all those activities that take place to convert from the old system to the new one. The new system may be totally new, replacing an existing manual or automated system or it may be a major modification to an existing system. Proper implementation is essential to provide a reliable system to meet the organization requirements. Successful implementation may not guarantee improvement in the organization using the new system, but improper installation will prevent it. Implementation Procedures Implementation of software refers to the final installation of the package in its real environment, to the satisfaction of the intended users and the operation of the system. In many organizations some one who will not be operating it, will commission the software development project. The people are unaware that the software is meant to make their job easier. In the initial stage, they doubt about the software but we have to ensure that the resistance does not build up as one has to make sure that The active user must be aware of the benefits of using the system Their confidence in the software is built up Proper guidance is imparted to the user so that he is comfortable in using the
application.
User Training To achieve the objectives and benefits expected from computer based system, it is essential for the people who will be involved to be confident of their role in the new system. As systems become more complex, the need for education and training is more and more important.
Dept Of MCA,B.I.E.T,Davangere. Page 35
may support 7 patient contacts (sent as 7 NK1 segments) and the receiving system may support only 2. The sending system may add, update or delete the repeating field. Deleting a field can
cause headaches for the downstream system. Sometimes this is overcome by the downstream system replacing the entire set of repeating fields each time.
Dept Of MCA,B.I.E.T,Davangere.
Page 37
8. Testing
8.1 HL7 Interface Testing
HL7 interface testing is part of the overall HL7 interface planning process, which includes HL7 interface analysis, HL7 interface requirements, HL7 interface specification, and HL7 interface testing. HL7 interface testing is linked to other project testing activities and typically includes: HL7 interface unit testing - typically interface specification based aiming to confirm that
HL7 messages sent and/or received from each application conform to the HL7 interface specification. HL7 interface integration testing - testing of business scenarios to ensure that information
is able to flow correctly between applications. HL7 interface system testing - end-to-end scenario testing focused on ensuring all
relevant modules of all relevant applications are able to integrate correctly. Other testing such as additional application functional testing and end user acceptance
Dept Of MCA,B.I.E.T,Davangere.
Page 38
Dept Of MCA,B.I.E.T,Davangere.
Page 39
HL7 V2 Not Plug and Play it provides 80 percent of the interface and a framework to
negotiate the remaining 20 percent on an interface-by-interface basis Historically built in an ad hoc way because no other standard existed at the time Generally provides compatibility between 2.X versions Messaging-based standard built upon pipe and hat encoding
HL7 V3 Approaching Plug and Play less of a framework for negotiation Many decades of effort over ten year period reflecting best and brightest thinking NOT backward compatible with V2 Model-based standard built upon Reference Information Model (RIM) provides
Dept Of MCA,B.I.E.T,Davangere.
Page 41
HL7 Integration Using Mirth 10. Screen Shots 10.1 Login Page
Dept Of MCA,B.I.E.T,Davangere.
Page 42
Figure 10.2: Channel The Channels View is where channels are created, modified, deleted, and deployed.
Dept Of MCA,B.I.E.T,Davangere.
Page 43
Figure 10.3:Summary Summary page is used to entry basic information about the channel like name, incoming data format and initial status of the channel.
Dept Of MCA,B.I.E.T,Davangere.
Page 44
Source connector is used to configure database. By selecting connector type as database reader we can specify the driver using which data can be retrieved from the database. Using Javascript database configuration is done.
Dept Of MCA,B.I.E.T,Davangere.
Page 45
Source transformer is used maps values to variable which can be used in destination connector.
Dept Of MCA,B.I.E.T,Davangere.
Page 46
Figure 10.4: Destination-File Writer A File Writer connector writes messages to files located on the machine running the Mirth server.
Dept Of MCA,B.I.E.T,Davangere.
Page 47
ORU transformer processes the incoming XML data and creates an HL7 file and places HL7 file in the pre-configured location. .
Dept Of MCA,B.I.E.T,Davangere.
Page 48
Figure 10.8: Updater HL7 IntegrationLog Updater transformer update the Log table in the database with status field set to Success and processingnotes to Hl7 and pfd files generated.
Dept Of MCA,B.I.E.T,Davangere.
Page 49
Figure 10.2: DashBoard When the channels are deployed, the status of the channels is shown in dashboard. Dashboard is used to monitor the channels. Deployed channels status is started. Started channels create HL7 files and deploy the files in pre-defined location.
Dept Of MCA,B.I.E.T,Davangere.
Page 50
Dept Of MCA,B.I.E.T,Davangere.
Page 51
Dept Of MCA,B.I.E.T,Davangere.
Page 52
Dept Of MCA,B.I.E.T,Davangere.
Page 53
Dept Of MCA,B.I.E.T,Davangere.
Page 54
11. Bibliography
Book References:
Pressman, Roger S. "Software Engineering: A Practitioner's Approach, 6th edition. Herbert Schildt The Complete Reference Seventh Edition Ramez Elmasri, Shamkant B. Navathe Fundamentals of Database Systems, 2nd Edition. Cliff Wootton JavaScript Programmer's Reference 2001
Website References:
Dept Of MCA,B.I.E.T,Davangere.
Page 55