JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Developing Oracle Java CAPS Master Patient Indexes     Java CAPS Documentation
search filter icon
search icon

Document Information

Developing Oracle Java CAPS Master Patient Indexes

Related Topics

Oracle Java CAPS Master Patient Index Overview

About Oracle Java CAPS Master Patient Index

The Oracle Java CAPS Master Patient Index Solution

Configurability

Standardization and Matching Logic

Matching Weight Determination

Alias Processing

Data Maintenance

Oracle Java CAPS Master Patient Index and HIPAA

Oracle Java CAPS Master Patient Index Repository Components

Editors

Project Components

Configuration Files

Database Scripts

Custom Plug-ins

Match Engine Configuration Files

Object Type Definition (OTD)

Dynamic Java Methods

Connectivity Components

Deployment Profile

Environment Components

Oracle Java CAPS Master Patient Index Runtime Environment Components

Oracle Java CAPS Master Patient Index Enterprise Records

System Records

The Single Best Record

Objects in an Enterprise Record

Oracle Java CAPS Master Patient IndexIdentification Codes

Master Index Development Process Overview

The Master Patient Index Framework and the Runtime Environment

Before You Begin Developing a Master Index

Preliminary Data Analysis for a Master Index

Planning a Master Index Project

Master Index Project Initiation Checklist

Custom Plug-ins for Master Index Custom Transaction Processing

Master Index Update Policy Plug-ins

Enterprise Merge Policy

Enterprise Unmerge Policy

Enterprise Update Policy

Enterprise Create Policy

System Merge Policy

System Unmerge Policy

Undo Assumed Match Policy

Master Index Field Validation Plug-ins

Master Index Field Masking Plug-ins

Master Index Match Processing Logic Plug-ins

Custom Match Processing Logic Methods

Custom Match Processing Logic Plug-in Requirements

Custom Match Processing Configuration

Master Index Custom Plug-in Exception Processing

Custom Plug-Ins for Master Index Custom Components

Master Index Survivor Calculator Plug-ins

Master Index Query Builder Plug-ins

Master Index Block Picker Plug-ins

Master Index Pass Controller Plug-ins

Match Engine Plug-ins

Standardization Engine Plug-ins

Phonetic Encoders Plug-ins for a Master Index

Implementing Master Index Custom Plug-ins

Creating Master Index Custom Plug-ins

To Create Custom Plug-ins

Building Master Index Custom Plug-ins

To Build Custom Plug-ins

Generating the Master Index Application

To Generate the Application for the First Time

To Regenerate the Application

Master Index Database Scripts and Design

Master Index Database Scripts

Master Index Database Requirements

Database Platform Requirements

Operating System Requirements

Hardware Requirements

Oracle Database

Microsoft SQL Server

Master Index Database Structure

Designing the Master Index Database

Designing for Performance Optimization

Data Structure Analysis

Common Table Data

User Code Data

Database Considerations

Database Sizing

Database Distribution

Database Indexes

Creating the Master Index Database

Step 1: Analyze the Master Index Database Requirements

Step 2: Create a Master Index Database and User

Step 3: Define Master Index Database Indexes

To Define an Index

Step 4: Define Master Index External Systems

To Define an External System

Master Index Database Table Description for sbyn_systems

Step 5: Define Master Index Code Lists

To Customize Common Table Data for Oracle

To Customize Common Table Data for SQL Server

Step 6: Define Master Index User Code Lists

To Define a User Code List

Master Index Database Table Description for sbyn_user_code

Step 7: Create Custom Master Index Database Scripts

To Create a Custom Script

Step 8: Create the Master Index Database Structure

To Create the Database Structure

Step 9: Specify a Starting EUID for a Master Index

Deleting Master Index Database Tables and Indexes

To Delete Database Tables and Indexes

Defining a Database Connection Pool Through the Application Server

Step 1: Add the Oracle Driver to the Application Server

Step 2: Create the JDBC Connection Pools

To Create the JDBC Connection Pools

Step 3: Create the JDBC Resources

To Create a JDBC Resource

Oracle Java CAPS Master Patient Index Overview

The following topics provide an overview of Oracle Java CAPS Master Patient Index and how it works with other Java CAPS components. They also include descriptions of the design-time and runtime components of a master patient index.

About Oracle Java CAPS Master Patient Index

In today’s healthcare environment, vital patient data is generated and stored in several systems throughout an organization. Each of these systems typically assigns its own, independent local identifiers, making it difficult to share information between systems and departments. It is also difficult to create a comprehensive, reliable view of each patient across a healthcare enterprise.

Patient information should flow seamlessly and rapidly between internal systems and departments throughout the entire healthcare network, and each department should have access to the most current and reliable patient data. As organizations grow, merge, and form affiliations, sharing data between different information systems becomes a complicated task. Oracle Java CAPS Master Patient Index can help you manage this task and ensure that the data you have is the most current and accurate information available.

The topics below provide information about Oracle Java CAPS Master Patient Index and how it provides a solution for sharing and cleansing patient data.

The Oracle Java CAPS Master Patient Index Solution

Oracle Java CAPS Master Patient Index is an enterprise-wide master patient index (EMPI) built on the Oracle Java CAPS Master Index (Repository) platform. It provides a comprehensive, reliable view of patient information by uniquely identifying patients throughout a healthcare enterprise and maintaining the most current information about those patients. With Oracle Java CAPS Master Patient Index, it is possible to create a single source of patient information that synchronizes with your existing systems.

Oracle Java CAPS Master Patient Index cross-references data from all connected systems and automates record matching across disparate systems, simplifying the process of sharing data between departments and facilities. Oracle Java CAPS Master Patient Index is highly flexible and customizable, and you can configure the master index as needed to meet your data processing needs. The master index uniquely identifies each patient record throughout an organization to ensure that the most current and accurate data is available.

Oracle Java CAPS Master Patient Index provides an automatic, common identification process regardless of the system from which data originates. Records from various locations are cross-referenced using an enterprise-wide unique identifier assigned by Oracle Java CAPS Master Patient Index, allowing the master index to use the local identifiers generated by your internal systems to create an index of patient records. In addition, Oracle Java CAPS Master Patient Index employs configurable probabilistic matching technology, which uses a matching algorithm to formulate an effective statistical measure of how closely records match based on the data fields you specify. Using this matching logic, Oracle Java CAPS Master Patient Index consistently and precisely identifies patient records, flagging potentially duplicate records and automatically joining records that are considered a match. In this way, Oracle Java CAPS Master Patient Index provides continuous data cleansing as records are processed.

Oracle Java CAPS Master Patient Index centralizes the information about the patients that participate within your organization. Maintaining a centralized database for multiple systems enablesOracle Java CAPS Master Patient Index to integrate data throughout the enterprise while allowing your existing systems to continue to operate independently. The database, which is accessible throughout the enterprise, stores copies of local system records and their associated single best records (SBRs), which represent the most accurate and complete data for each patient. To facilitate up-to-date records in each system, you can configure Oracle Java CAPS Master Patient Index to generate a message to a JMS Topic each time a record is updated, added, merged, or unmerged in the master index. Using the Oracle Java CAPS Enterprise Service Bus (ESB), this information becomes available to those systems that are able to accept incoming messages.

Configurability

Oracle Java CAPS Master Patient Index provides a predefined data structure based on standard healthcare data requirements that can be used as is or can be easily customized if needed. Before deploying Oracle Java CAPS Master Patient Index, you define the components and processing capabilities of the system to suit your requirements. The matching and standardization rules, survivorship rules, queries, Patient Enterprise Data Manager (Patient EDM) appearance, and field validation rules can all be used as is or can be configured to better meet the needs of your organization. In essence, you control the data structure and the logic that determines how data is updated, standardized, weighted, and matched.

The data structure and processing logic is stored in a set of XML configuration files that are predefined but that can be customized. These files are defined within the context of Java CAPS project and are modified using the XML editor provided in NetBeans. You can also use the graphical configuration editor to customize some of the master patient index configuration.

Standardization and Matching Logic

Sharing data requires overcoming data quality problems such as name and address changes, transpositions, and phonetically similar names to be able to uniquely identify the same patient across multiple systems. Oracle Java CAPS Master Patient Index uses the Oracle Java CAPS Match Engine, a proprietary algorithm for probabilistic matching of patient records and data standardization. As records are processed through Oracle Java CAPS Master Patient Index, the standardization engine normalizes and phonetically encodes specified data and the match engine identifies records that potentially represent or do represent the same patient. The match engine uses user-defined logic, including configurable matching thresholds, comparison functions, data fields, and so on.

Matching Weight Determination

When comparing two records to determine the likelihood of a match, the match engine compares the match fields you specify between the records to determine a matching weight for each match field based on the reliability of the field and the comparison function used. The sum of the weights of the match fields is the total matching weight between the two records. The logic used by the standardization and match engines is highly customizable to provide the most reliable matching for the type of data you store.

Alias Processing

Oracle Java CAPS Master Patient Index provides alias name processing in the form of custom plug-ins to help find or match patient records in cases where the patient’s name has changed or a nickname is used. In the default configuration, a name is added to a patient’s alias list when a maiden name is added or updated and when a patient’s first, last, or middle name is modified. Searches can be performed against a patient’s primary and alias names, providing broad search capabilities and improving the chance of finding a match.

Data Maintenance

The Patient EDM is the web-based user interface for Oracle Java CAPS Master Patient Index. The Patient EDM supports all the necessary features for maintaining data records. It allows you to add new records; view, update, deactivate, or reactivate existing records; and compare records for similarities and differences. From the Patient EDM, you can perform searches using a variety of criteria and search types for a specific patient or a set of patients. For certain searches, the results are assigned a matching weight that indicates the probability of a match.

One of the most important features of Oracle Java CAPS Master Patient Index is its ability to match records and identify possible duplicates. Oracle Java CAPS Master Patient Index also provides the functionality to correct any duplication. Potential duplicate records are easily corrected by either merging the records in question or marking the records as “resolved”. If you find two records to represent the same person, you should merge the records (at either the enterprise record or system record level). At the enterprise record level, you can determine which record to retain as the active record. At the system level, you can determine which record to retain and which information from each record to preserve in the resulting record.

Finally, Patient EDM provides standard reports that provide information about the current state of the data in the master index, helping you monitor stored data and determine how that data needs to be updated. Report information also helps verify that the matching logic and weight thresholds are defined correctly. Standard reports are available through a command line or the Patient EDM. You can also create custom reports using any ODBC-compliant reporting tool, SQL, or Java.

Oracle Java CAPS Master Patient Index and HIPAA

Oracle Java CAPS Master Patient Index provides full audit capabilities in support of the Health Insurance Portability and Accountability Act (HIPAA) mandates. Transaction histories are stored in the database to track every change to every record and provide before and after images as well as who made the changes and when. In addition, the audit log maintains a record of each time patient data is accessed or viewed in the master index database, including who accessed the data and when. The audit log and transaction history can both be viewed on the Patient EDM.

Oracle Java CAPS Master Patient Index Repository Components

Oracle Java CAPS Master Patient Index has two types of components: Repository and runtime. The Repository components work within NetBeans and are used during the design and configuration phases to create and customize the master patient index and to define connectivity between external systems and Oracle Java CAPS Master Patient Index. The primary Repository components include the following:

Editors

Oracle Java CAPS Master Patient Index provides the following editors to help you customize the files in the Oracle Java CAPS Master Patient Index project.

Project Components

Oracle Java CAPS Master Patient Index is implemented within a project in NetBeans. The Oracle Java CAPS Master Patient Index project includes a set of configuration files, database files, and custom plug-ins that you can modify in order to customize your master index implementation. It includes additional components that are automatically updated when you generate the project, including a method Object Type Definition (OTD), an outbound OTD, Business Process methods, database scripts, and application JAR files. To complete the project, you create a Connectivity Map and Deployment Profile.

Additional Java CAPS components can be added to the client projects that share data with Oracle Java CAPS Master Patient Index, including Services, Collaborations, OTDs, Web Connectors, Adapters, JMS Queues, JMS Topics, Business Processes, and so on.

The primary Oracle Java CAPS Master Patient Index project components include the following. Each is described in more detail below.

The following figure illustrates the project and Environment components of Oracle Java CAPS Master Patient Index.

Figure 1 Master Patient Index Design-Time Components

image:Figure shows the Master Patient Index components within the Java CAPS Repository.
Configuration Files

These files define the configuration of the runtime environment, such as the object structure, how matching is performed, how the SBR is created, and so on. The runtime components configured by these files are listed in Oracle Java CAPS Master Patient Index Runtime Environment Components

Database Scripts

These scripts contain the SQL statements used to create the database and the required start-up data. A script is also included to create additional indexes against the database based on the predefined blocking query. A script to drop the database is provided for testing purposes.

Custom Plug-ins

Custom plug-ins allow you to incorporate custom logic into Oracle Java CAPS Master Patient Index by creating user-defined Java classes. Several custom plug-ins are already provided that automatically create aliases for person names when certain updates are made to a record. For example, if the first, last, middle, or maiden name is changed during a transaction, the previous name is added as an alias.

Match Engine Configuration Files

These files define characteristics of the standardization and matching processes. The configuration files under that Match Engine node define certain weighting characteristics and constants for the match engine. The configuration files under the Standardization Engine node define how to standardize names, business names, and address fields. You can customize these files as needed.

Object Type Definition (OTD)

The outbound OTD in the Oracle Java CAPS Master Patient Index project is based on the object structure define in the Object Definition file. The OTD is used for distributing information that has been added or updated in Oracle Java CAPS Master Patient Index to external systems. It includes the objects and fields defined in the Object Definition file plus additional SBR information (such as the create date and create user) and additional system object information (such as the local ID and system code). If you plan to use this OTD to make the master index application data available to external systems, you must define a JMS Topic in the master index Connectivity Map to which the master index application can publish transactions.

Dynamic Java Methods

These methods are used in Collaborations and Business Processes to process data through the master index. These methods are generated dynamically based on the object structure defines in the Object Definition file. The names, parameter types, and return types of these methods vary based on whether you modify the object structure in the Object Definition file. These methods are described in Understanding Oracle Java CAPS Master Index Processing (Repository).

Connectivity Components

The master index project Connectivity Map consists of two required components: the web application service and the application service. Two optional components are a JMS Topic for broadcasting messages and a database Adapter for database connectivity. In client project Connectivity Maps you can use any of the standard project components to define connectivity and data flow to and from the master index application. Client projects include those created for the external systems sharing data with the index through a Collaboration or Business Process.

For client projects, you can use connectivity components from the master index server project and any standard Java CAPS connectivity components, such as OTDs, Services, Collaborations, JMS Queues, JMS Topics, and Adapters. Client project components transform and route incoming data into the master index database according to the rules contained in the Collaborations or Business Processes. They can also route the processed data back to the appropriate local systems through Adapters.

Deployment Profile

The Deployment Profile defines information about the production environment, including information about the assignment of Services and message destinations to application servers and JMS IQ Managers within the Oracle Java CAPS Master Patient Index system. Each Oracle Java CAPS Master Patient Index project must have at least one Deployment Profile, and can have several, depending on the project requirements and the number of Environments used. You need to deploy the Oracle Java CAPS Master Patient Index server project before deploying the client projects in order to make the master index application available to the client Deployment Profiles.

Environment Components

The Oracle Java CAPS Master Patient Index Environments define the deployment environment of the runtime components, including the Logical Host and application server. For client projects referencing the Oracle Java CAPS Master Patient Index project, an Environment might also include a JMS IQ Manager, constants, Web Connectors, and External Systems. Each Environment represents a unit of software that implements Oracle Java CAPS Master Patient Index. You must define and configure at least one Environment for Oracle Java CAPS Master Patient Index before you can deploy the application. The application server hosting Oracle Java CAPS Master Patient Index is configured within the Environment.

Oracle Java CAPS Master Patient Index Runtime Environment Components

Regardless of how you define the data structure and configure the runtime environment for Oracle Java CAPS Master Patient Index, the final product provides a customized master patient index to help you manage data from disparate systems and ensure that the data you have is the most current and accurate information available. The runtime environment includes all of the components you create for Oracle Java CAPS Master Patient Index connectivity as well as the web-based Patient EDM, which allows you to manually monitor and maintain patient data.

As with other master indexes built on the Oracle Java CAPS Master Index (Repository) platform, the Oracle Java CAPS Master Patient Index runtime environment is made up of several components that work together to form a complete indexing system. The runtime environment includes the following primary components:

In addition, Oracle Java CAPS Master Patient Index uses the connectivity components defined in the Oracle Java CAPS Master Patient Index server and client Projects to route data between external systems and the Oracle Java CAPS Master Patient Index database. The Repository stores information about the configuration and structure of the runtime environment. Because Oracle Java CAPS Master Patient Index is deployed to an application server, it can be implemented in a distributed environment.

The following figure illustrates the runtime components of a master patient index.

Figure 2 Master Patient Index Runtime Components

image:Figure shows the runtime components of a Master Patient Index.

For more information about the functions, features, and components of the eIndex runtime environment, see Master Index Runtime Components in Developing Oracle Java CAPS Master Indexes (Repository).

Oracle Java CAPS Master Patient Index Enterprise Records

An enterprise record is identified by an EUID assigned by Oracle Java CAPS Master Patient Index and includes all components of a record that represents one patient. The structure of the data is defined in the Object Definition file.

Oracle Java CAPS Master Patient Index stores two different types of records in each enterprise record: system records and a single best record (SBR). A system record contains a patient’s information as it appears in an incoming message from an external system. An enterprise record’s SBR stores data from a combination of external systems and it represents the most reliable and current information contained in all system records for a patient. An enterprise record consists of one or more system records and one SBR.

System Records

The structure of a system record is different from the SBR in that each system record contains a system and local ID pair. The remaining information contained in the system records of an enterprise record is used to determine the best data for the corresponding SBR. If an enterprise record only contains one system record, the SBR is identical to that system record (less the system and local ID information). However, if the enterprise record contains multiple system records, the SBR might be identical to one system record but will more likely include a combination of information from all system records.

The Single Best Record

The SBR for a patient is created from the most reliable information contained in each system record representing that patient. The information used from each external system to populate the SBR is determined by the survivor calculator, which is configured in the Best Record file. This data is determined to be the most reliable information from all system records in the enterprise record. The survivor calculator can consider factors such as the relative reliability of an external system, how recent the data is, and whether the SBR contains any “locked” field values. You define the rules that select a field value to be persisted in the SBR.

Objects in an Enterprise Record

In Oracle Java CAPS Master Patient Index, each system record and SBR in an enterprise record typically contain a set of objects that store different types of information about a patient. A record contains one parent object and typically contains several child objects, but it can have no child objects at all. A record can have only one instance of the parent object, but can have multiple instances of each type of child object. For example, in the default configuration, the parent object (Person) contains demographic data. A record can only contain one patient name and social security number (stored in the Person object), but the record could have multiple addresses, telephone numbers, and aliases, which are defined in different child objects (address, phone, and alias objects respectively). A record can have multiple instances of each child object, such as a home and a billing address.

Oracle Java CAPS Master Patient IndexIdentification Codes

Another key component of an enterprise record is the identification codes used to identify and cross-reference each patient. Each record in the master index is assigned an enterprise-wide unique identification number (EUID) in addition to the local IDs assigned by the individual systems in the network. Each unique patient has one unique identification number throughout your organization, and a unique identification number within each system with which they are registered. Patients might also have several auxiliary IDs. An auxiliary ID is an identification code that does not necessarily uniquely identify a single patient within the database, but might identify a group of patients. For example, if a family shares the same account or insurance policy, every family member would have the same identification code for that account or policy.