| Installing Upgrading Designing Configuring Deploying Monitoring Administering Troubleshooting Reference JBI Components | |
| Close Print View | |
| Designing: Designing the Master Index Database |
|
Creating a Runtime Environment
Designing Business Processes in the Sun Business Process Manager
Working with TCP/IP HL7 Collaborations
Developing Sun Master Indexes (Repository)
Developing Sun Master Patient Indexes
Developing OTDs for Application Adapters
Developing OTDs for Communication Adapters
Developing OTDs for Database Adapters
Developing OTDs for Web Server Adapters
Designing with Application Adapters
Designing with Communication Adapters
Designing with Web Server Adapters
Designing with Sun JCA Adapters
Defining Constants and Variables
Master Index Development Process Overview
The Master 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
Creating a Master Index Application
Step 1: Create a Project and Start the Wizard
Step 2: Name the Master Index Application
Step 4: Define the Deployment Environment
Step 5: Define Parent and Child Objects
Step 6: Define the Fields for Each Object
Step 7: Generate the Project Files
Step 8: Review the Configuration Files
Master Index Wizard Field Properties and Name Restrictions
Master Index Wizard Field Name Restrictions
Master Index Wizard General Field Properties
Master Index Wizard MIDM Field Properties
Custom Plug-ins for Master Index Custom Transaction Processing
Master Index Update Policy Plug-ins
Master Index Field Validation Plug-ins
Master Index Field Masking Plug-ins
Master Index Match Processing Logic Plug-ins
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
Standardization Engine Plug-ins
Phonetic Encoders Plug-ins for a Master Index
Implementing Master Index Custom Plug-ins
Generating the Master Index Application
To Generate the Application for the First Time
Master Index Database Scripts and Design
Master Index Database Requirements
Master Index Database Structure
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
Step 4: Define Master Index External Systems
Master Index Database Table Description for sbyn_systems
Step 5: Define Master Index Code Lists
Step 6: Define Master Index User Code Lists
Master Index Database Table Description for sbyn_user_code
Step 7: Create Custom Master Index Database Scripts
Step 8: Create the Master Index Database Structure
Step 9: Specify a Starting EUID for a Master Index
Dropping Master Index Database Tables
Defining the Database Connection Pools
Step 1: Add the MySQL or Oracle Driver to the Application Server
Step 2: Create two JDBC Connection Pools
Note - MySQL is only supported in Java CAPS 6 Update 1.
In designing the database, there are several factors to consider, such as the volume of data stored in the database and the number of transactions processed by the database daily. The master index database should be created in its own tablespaces. The following sections describe some of the analyses to perform along with considerations to take into account when designing the database.
The MySQL, Oracle and SQL Server installation guides provide detailed information about installing the database software for optimal performance. Both database platforms include guides containing information about monitoring and fine-tuning your database, including tuning memory, swap space, I/O, CPU usage, block and file size, and so on. You should be familiar with these concepts prior to creating the database.
Before defining the object structure, you analyzed the structure of the legacy data to help you define the object structure and the attributes of each field. You can use this data analysis to determine the amount of data that will be stored in the database, which will help you size the master index database and decide how to best distribute the database. Knowing the volume of existing data plus the expected daily transaction volume will help you plan the requirements of the database server, such as networking needs, disk space, memory, swap space, and so on.
The data structure analysis also helps you determine the processing codes and descriptions to enter in the common tables (described below), and should help you determine any default values that have been entered into certain fields that could skew the matching probability weights.
Common table data analysis involves gathering information about the abbreviations used for specific data elements in each sending system, such as system codes and codes for certain attributes of the objects in your database. For example, if you are indexing person objects, there might be processing codes for genders, such as F for female, M for male, and so on. The processing codes and their descriptions are stored in a set of database tables known as common maintenance tables. The wizard creates a script to help you load the processing codes into the database.
When an enterprise object appears on the MIDM, the master index application translates the processing codes defined in the common tables into their descriptions so the user is not required to decipher each code. The data elements stored in the common maintenance tables are also used to populate the drop-down lists that appear for certain fields in the MIDM. Users can select from these options to populate the associated fields.
User code data analysis involves gathering information about the abbreviations used for specific data elements in each sending system for a field whose format or possible values are constrained by a separate field. For example, if you store credit card information, you might have a drop-down list in the Credit Card field for each credit card type. The format of the field that stores the credit card number is dependent on the type of credit card you select. You could also use user code data to validate cities with postal codes. The abbreviations and related constraint information are stored in the sbyn_user_code table.
When you create the master index database, you need to consider several factors, such as sizing, distribution, indexes, and extents. By default, all of the master index database tables for an Oracle database are installed in the system tablespace. You should install the master index tables in different tablespaces, depending on the original size and expected volume of the database. For SQL Server, the master index tables belong to “dbo” by default.
To begin the database installation, you first create a database instance using the provided configuration tools or command line functions. Use the tools provided by the database vendor to define the tablespace and extent sizing for the database.
When you create the database instance, you can define the distribution of your system tables, data tables, rollback logs, dump files, control files, and so on. Use internal policies regarding relational database distribution to determine how to best distribute your master index database.
By default, indexes are defined for the following tables: sbyn_appl, sbyn_common_header, sbyn_common_detail, sbyn_enterprise, sbyn_transaction, sbyn_assumedmatch, sbyn_potentialduplicates, sbyn_audit, and sbyn_merge. You can create additional indexes against the database to optimize the searching and matching processes. At a minimum, it is recommended that all combinations of fields used for blocking or matching be indexed. For each query block defined in the blocking query, create an index containing the fields in that block.
The following indexes are automatically created to improve performance when running large reports from the command line or MIDM.
CREATE INDEX SBYN_POTENTIALDUPLICATES3 ON SBYN_POTENTIALDUPLICATES (TRANSACTIONNUMBER ASC);
CREATE INDEX SBYN_ASSUMEDMATCH2 ON SBYN_ASSUMEDMATCH (TRANSACTIONNUMBER ASC);
CREATE INDEX SBYN_TRANSACTION4 on SBYN_TRANSACTION (EUID2 ASC, TIMESTAMP ASC);
CREATE INDEX SBYN_TRANSACTION3 on SBYN_TRANSACTION (TIMESTAMP ASC, TRANSACTIONNUMBER ASC);
Note - To improve performance, these four indexes should be dropped prior to performing an initial load or batch load of data. They can be recreated once the load is complete if you are running the provided reports.