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

Custom Plug-ins for Master Index Custom Transaction Processing

You can add custom processing to the master index application using the Custom Plug-ins module of a Oracle Java CAPS Master Patient Index project. This ability allows you to tailor how messages are processed by the master index application. Plug-ins can be used to customize field validations, update policies, match processing logic, and record retrieval, and to create custom components for the master index application, such as custom phonetic encoders, block pickers, or query builders. Oracle Java CAPS Master Patient Index includes several predefined custom plug-ins to generate and process alias names and to mask field values. You can create as many classes as you need to carry out the custom processes.

The following sections describe custom plug-ins that define custom processing. These are explained more fully in Understanding Oracle Java CAPS Master Index Configuration Options (Repository).

Master Index Update Policy Plug-ins

For the primary transactions performed by the master index application, you can define additional custom processing to perform against the record that results from a transaction. The policies you define are invoked by the Update Manager and are applied to the resulting records after they are processed by the survivor calculator. The modifications made to a record by an update policy determine how the record is stored in the database. By creating custom plug-ins, you can create additional Java classes to support the update policies you define.

Oracle Java CAPS Master Patient Index provides default custom plug-ins for each update policy to generate alias names when a patient’s first, last, middle, or maiden names are modified. You can view and edit the Java code for each custom plug-in by expanding the Custom Plug-ins folder of the master index project and opening any of the Java files. Additional alias plug-ins are provided and are called by the custom update policies to process alias names after a transaction occurs.

Update policies are specified in the UpdatePolicy section of the Best Record file, and there are several different types. Each policy modifies an enterprise object (class com.stc.eindex.objects.EnterpriseObject) and must implement com.stc.eindex.update.UpdatePolicy, which contains one method, applyUpdatePolicy. The syntax is as follows:

public EnterpriseObject applyUpdatePolicy(EnterpriseObject before, EnterpriseObject after)

This method throws two exceptions: com.stc.eindex.master.UserException and com.stc.eindex.objects.exception.ObjectException.

Enterprise Merge Policy

The enterprise merge policy defines additional processing to perform after two enterprise objects are merged. The processing defined in this policy acts against the surviving record of the merge. In the EnterpriseMergePolicy element in the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default merge policy, com.stc.eindex.update.impl.EnterpriseMergePolicy, is already entered.

Enterprise Unmerge Policy

The enterprise unmerge policy defines additional processing to perform after an unmerge transaction occurs. The processing defined in this policy acts against the surviving record of the merge transaction that was unmerged. In the EnterpriseUnmergePolicy element of the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default unmerge policy, com.stc.eindex.update.impl.EnterpriseUnmergePolicy, is already entered.

Enterprise Update Policy

The enterprise update policy defines additional processing to perform after a record is updated. In the EnterpriseUpdatePolicy element of the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default update policy, com.stc.eindex.update.impl.EnterpriseUpdatePolicy, is already entered.

Enterprise Create Policy

The enterprise create policy defines additional processing to perform after a new record is inserted into the master index database. In the EnterpriseCreatePolicy element of the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default create policy, com.stc.eindex.update.impl.EnterpriseCreatePolicy, is already entered.

System Merge Policy

The system merge policy defines additional processing to perform after two system objects are merged. The processing defined in this file acts against the surviving enterprise record of the merge (and not the system record). In the SystemMergePolicy element of the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default merge policy, com.stc.eindex.update.impl.SystemMergePolicy, is already entered.

System Unmerge Policy

The system unmerge policy defines additional processing to perform after system objects are unmerged. The processing defined in this file acts against the surviving enterprise record of the system merge transaction that was unmerged. In the SystemUnmergePolicy element in the Best Record file, enter the fully qualified name of this custom plug-in. The name of the default merge policy, com.stc.eindex.update.impl.SystemUnmergePolicy, is already entered.

Undo Assumed Match Policy

The undo assumed match policy defines additional processing to perform after an assumed match transaction is reversed. In the UndoAssumeMatchPolicy element in the Best Record file, enter the fully qualified name of this custom plug-in.

Master Index Field Validation Plug-ins

You can define validations to be performed against certain fields before information is entered into the master index database. Once you create the custom plug-ins containing the validation logic, enter the name of the plug-in in the Field Validation file. Follow these guidelines when implementing custom field validators.

One default field validator, validate-local-id, is provided to validate system and local ID fields before processing data into the database. This is described in Understanding Oracle Java CAPS Master Index Configuration Options (Repository).

Master Index Field Masking Plug-ins

There might be instances where you want to mask certain data in records from general users of the Patient Enterprise Data Manager and only allow access by administrators. To do this, you can create a custom plug-in that displays asterisks (or other symbols) in place of the field values on the Patient EDM. Once you define the custom plug-in, specify the name of the custom plug-in Java class in the object-sensitive-plug-in-class element of edm.xml).

Oracle Java CAPS Master Patient Index provides a default custom plug-in that defines field masking. The class is com.stc.eindex.security.VIPObjectSensitivePlugIn, which is specified in the object-sensitive-plug-in-class of edm.xml. This class contains logic that checks the value of the VIP Flag field. If the value is “V” (VIP) or “E” (Employee), the values are masked by a series of Xs for any field for which the is-sensitive element is set to true in the first section of edm.xml).

Master Index Match Processing Logic Plug-ins

You can implement custom plug-ins that customize the way the execute match methods process data into the master index application. When a record is entered into the master index system, match processing is performed by calling one of the following “execute match” functions from the MasterController class.

These methods contain standard logic for processing records through the master index database, weighting incoming records against existing records, and then using those weights to determine whether to insert a new record or update an existing record. In addition to configuring the match processing logic in the Threshold file, you can customize certain aspects of the processing logic using custom plug-ins that contain functions found in the ExecuteMatchLogics class.

Custom Match Processing Logic Methods

There are five decision branches where custom logic can be inserted. At specific points in match processing, the execute match methods look for the value of the methods listed below. For more information about the methods, see the Javadocs for the master index. These methods are contained in the ExecuteMatchLogics class in the package com.stc.eindex.master. For information about where the decision points are reached in the processing logic and how to change the logic, see Understanding Oracle Java CAPS Master Index Processing (Repository). The following methods specify the custom logic.

Custom Match Processing Logic Plug-in Requirements

The custom plug-ins you create to define custom execute match logic must extend the ExecuteMatchLogics class. In addition, the following classes must be imported into the custom plug-in.

Custom Match Processing Configuration

If you create a custom plug-in that defines custom processing logic for the execute match methods, you must specify those custom plug-ins in the Threshold file in the master index project. If you create a plug-in for customizing logic in the execute match methods used by the back-end, such as by Collaborations or Business Processes, specify the name of that class in the logic-class element. If you create a plug-in for the Patient EDM, specify the name of that class in the logic-class-gui element. For example:

<logic-class>com.stc.eindex.user.CustomCollaboration</logic-class>
<logic-class-gui>com.stc.eindex.user.CustomPatient EDM</logic-class-gui>

For more information about the Threshold file, see Understanding Oracle Java CAPS Master Index Configuration Options (Repository).

Master Index Custom Plug-in Exception Processing

If a custom plug-in throws an exception of the class ObjectException or SystemObjectException, multiple stack traces are logged in the server log file, which can make operational management tasks more difficult. For cases where you do not want stack traces to be logged, configure your custom plug-ins to throw exceptions of the class UserException or one of its derived classes (DataModifiedException or ValidationException). This is useful for user errors on the Patient Enterprise Data Manager (Patient EDM). When one of these exceptions is thrown, no stack trace is entered in the log file but an error message still appears on the Patient EDM.

For more information about these exception classes, see the Javadocs for Oracle Java CAPS Master Index.