Oracle® Healthcare Master Person Index

Quick Start Guide for Deduplicating Source System Objects

Release 2.0.13

E78933-01

August 2016

This document is intended for OHMPI consultants on how to quickly take advantage of the new deduplicateSystemObject API which is introduced in the OHMPI 2.0.13 patch. The deduplicateSystemObject API avoids creating a new source system object for each transaction. It reduces the need for a large database storage and disk I/O for a large volume of input data set with lots of matches from the same source systems. For more information about this feature, see the following OHMPI 2.0.13 documentation:

- Oracle Healthcare Master Person Index Configuration Reference

- Oracle Healthcare Master Person Index Message Processing Reference

- Oracle Healthcare Master Person Index Real-time Loader User's Guide

This document contains the following sections:

- Prerequisite

- Configuring OHMPI Application

- Deduplication Merge and Unmerge Policies

- Rebuilding and Redeploying OHMPI Application

- Using deduplicateSystemObject EJB and deduplicateSystemRecord WS APIs

- DeduplicationOption

- Run-time Loader

- Configuring Run-time Loader

- Post Process

- Post Process Sample

Prerequisite

Follow the Oracle Healthcare Master Person Index Installation Guide for 2.0.13 patch release to install the patch.

Configuring OHMPI Application

For an existing or a new OHMPI project, you must verify the project settings to make sure it is configured correctly for the use cases.

1. Enable the MostRecentReceived option for the global weighted survivor calculator strategy.
See the following sample settings in update.xml:

<WeightedCalculator module-name="WeightedSurvivorCalculator"
parser-class="com.sun.mdm.index.configurator.impl.WeightedCalculatorConfig">
<default-parameters>
<parameter>
<quality>SourceSystem</quality>
<preference>AAA</preference>
<utility>100.0</utility>
</parameter>
<parameter>
<quality>SourceSystem</quality>
<preference>BBB</preference>
<utility>100.0</utility>
</parameter>
<parameter>
<quality>MostRecentModified</quality>
<utility>75.0</utility>
</parameter>
<parameter>
<quality>MostRecentReceived</quality>
<utility>100.0</utility>
</parameter>
</default-parameters>
</WeightedCalculator>

Weighted Calculator MostRecentReceived Strategy:

This strategy ranks the field values from the most recent received source system based on the last modified timestamp of the objects. The advantage of this strategy is that not all the source system records that are matched are retrieved for updating an enterprise object. Only the most recent modified source system record is retrieved from the MPI database when a match is found for the incoming source system record. It reduces disk I/O especially for the input data set with lots of matches.

If you execute the run-time loader (RTL) against the MPI database with the loaded data, you must enable this flag for executing the deduplicateSystemObject API.

2. Increase system-assigned-localid-length.
The deduplicateSystemObject API generates an internal local identifier and assigns it to the source system record. By default, the length of system-assigned local identifier is 10.

<MasterControllerConfig module-name="MasterController"
parser-class="com.sun.mdm.index.configurator.impl.master.MasterControllerConfiguration">
< system-assigned-localid-length >10</ system-assigned-localid-length >
</MasterControllerConfig>

When you load a large volume of data, you must increase its value in master.xml.

3. Disable system-localid-deduplication-enabled.
If system-localid-deduplication-enabled is true, the local identifier of each source system that you assign and contained in the incoming message will be used combining with the system-assigned local identifier by the deduplicateSystemObject API. If system-localid-deduplication-enabled is false, the local identifier that you assign in the incoming message will always be ignored. By default, system-localid-deduplication-enabled is set to false in master.xml.

<MasterControllerConfig module-name="MasterController"
parser-class="com.sun.mdm.index.configurator.impl.master.MasterControllerConfiguration">
<system-localid-deduplication-enabled>false</system-localid-deduplication-enabled >
</MasterControllerConfig>

4. Enable sameSystemMatch.
This parameter indicates whether the MPI matches two records that originated from the same source system whose matching weight falls above the match threshold. If SameSystemMatch is set to true, no assumed matches are made between records associated with the same system. If SameSystemMatch is set to false, assumed matches can be made between records associated with the same system. Set it to false to execute deduplicateSystemObject in master.xml.

<DecisionMakerConfig module-name="DecisionMaker"
parser-class="com.sun.mdm.index.configurator.impl.decision.DecisionMakerConfiguration">
<parameters>
<parameter>
<parameter-name>SameSystemMatch</parameter-name>
<parameter-type>java.lang.Boolean</parameter-type>
<parameter-value>false</parameter-value>
</parameter>
</parameters>
</DecisionMakerConfig>

5. If you update your existing project using the 2.0.13 patch, you must add a new sequence count in SBYN_SEQ_TABLE by executing the following SQL statement:

INSERT INTO SBYN_SEQ_TABLE VALUES ('SYSTEM_ASSIGNED_LOCALID', 0);

Deduplication Merge and Unmerge Policies

To merge two enterprise objects and unmerge the merged enterprise object, you must configure the deduplication merge and unmerge policies. You must also configure the local Id validation. Add the following update policies in update.xml:

<UpdateManagerConfig module-name="UpdateManager"
parser-class="com.sun.mdm.index.configurator.impl.UpdateManagerConfig">
<EnterpriseMergePolicy>
com.sun.mdm.index.update.DeduplicationMergePolicy
</EnterpriseMergePolicy>
<EnterpriseUnmergePolicy>
com.sun.mdm.index.update.DeduplicationUnmergePolicy
</EnterpriseUnmergePolicy>
</UpdateManagerConfig>

Also, replace the local-id validation rule in validation.xml with the following:

<rule name="validate-local-id" object-name="SystemObject"
class="com.sun.mdm.index.objects.metadata.validation.SystemAssignedLocalIdValidator"/>

Rebuilding and Redeploying OHMPI Application

After you modify the OHMPI application configuration, rebuild and redeploy the OHMPI application.

Using deduplicateSystemObject EJB and deduplicateSystemRecord WS APIs

After you redeploy the OHMPI application, you can use the deduplicateSystemObject EJB and deduplicateSystemRecord WS APIs to deduplicate source system records.

DeduplicationOption

You must specify parameters for DeuplicationOption for both deduplicateSystemObject EJB and deduplicateSystemRecord WS APIs. Use the default values.

For more information, see Oracle Healthcare Master Person Index Message Processing Reference.

- matchThreshold: By default, the deduplication process uses the match threshold configured in master.xml. This parameter takes precedence over the one configured in master.xml. The default is 0.

- transactionOption: The following are the valid options:

- TRANSACTION_LOG_DELTA_DISABLED: The delta information (BLOB) of each transaction log is not persisted.

- TRANSACTION_LOG_DELTA_ENABLED: The delta information (BLOB) of each transaction log is persisted.

The default value is TRANSACTION_LOG_DELTA_ENABLED.

- searchId: The default value is BLOCKER-SEARCH.

- weighted: The default value is true.

- replaceSO: The default value is true.

Run-time Loader

Generate and install the run-time loader (RTL). For information, see Oracle Healthcare Master Person Index Real-time Loader User's Guide.

Configuring Run-time Loader

1. Enable deduplicateSystemObject.

set EXECUTE_MATCH_API=deduplicateSystemObject in run-realtime-loader.bat/ run-realtime-loader.sh

2. Configure confg/rtl.properties for deduplicateSystemObject.

Post Process

The post process is used for designing and implementing any business logic and plugin in the RTL. The RTL executes the post process after each source system is deduplicated, if it is enabled. Implement post process interface and enable it whenever you need. By default, no post process is configured.

Post Process Sample

The OHMPI 2.0.13 patch packages an out-of-box post process sample. Unzip the ohmpi-patch.zip file. The artifacts of the post process sample are available under ohmpi-patch\netbeans\ohmpi\modules\ext\mdm\loader\samples\rtl. For information on how to implement the post process interface and execute the sample, see readme.txt.

Finding Information and Patches on My Oracle Support

Your source for the latest information about OHMPI is Oracle Support's self-service Web site My Oracle Support (formerly MetaLink).

Before you install and use OHMPI, always visit the My Oracle Support Web site for the latest information, including alerts, White Papers, installation verification (smoke) tests, bulletins, and patches.

Creating My Oracle Support Account

You must register at My Oracle Support to obtain a user name and password account before you can enter the website.

To register for My Oracle Support:

1. Open a Web browser to https://support.oracle.com.

2. Click the Register here link to create a My Oracle Support account. The registration page opens.

3. Follow the instructions on the registration page.

Signing In to My Oracle Support

To sign in to My Oracle Support:

1. Open a Web browser to https://support.oracle.com.

2. Click Sign In.

3. Enter your user name and password.

4. Click Go to open the My Oracle Support home page.

Finding Information on My Oracle Support

There are many ways to find information on My Oracle Support.

Searching by Article ID

The fastest way to search for information, including alerts, White Papers, installation verification (smoke) tests, and bulletins is by the article ID number, if you know it.

To search by article ID:

1. Sign in to My Oracle Support at https://support.oracle.com.

2. Locate the Search box in the upper right corner of the My Oracle Support page.

3. Click the sources icon to the left of the search box, and then select Article ID from the list.

4. Enter the article ID number in the text box.

5. Click the magnifying glass icon to the right of the search box (or press the Enter key) to execute your search.
The Knowledge page displays the results of your search. If the article is found, click the link to view the abstract, text, attachments, and related products.

Searching by Product and Topic

You can use the following My Oracle Support tools to browse and search the knowledge base:

- Product Focus — On the Knowledge page under Select Product, type part of the product name and the system immediately filters the product list by the letters you have typed. (You do not need to type "Oracle.") Select the product you want from the filtered list and then use other search or browse tools to find the information you need.

- Advanced Search — You can specify one or more search criteria, such as source, exact phrase, and related product, to find information. This option is available from the Advanced link on almost all pages.

Finding Patches on My Oracle Support

Be sure to check My Oracle Support for the latest patches, if any, for your product. You can search for patches by patch ID or number, or by product or family.

To locate and download a patch:

1. Sign in to My Oracle Support at https://support.oracle.com.

2. Click the Patches & Updates tab. The Patches & Updates page opens and displays the Patch Search region. You have the following options:

- In the Patch ID or Number is field, enter the number of the patch you want. (This number is the same as the primary bug number fixed by the patch.) This option is useful if you already know the patch number.

- To find a patch by product name, release, and platform, click the Product or Family link to enter one or more search criteria.

3. Click Search to execute your query. The Patch Search Results page opens.

4. Click the patch ID number. The system displays details about the patch. In addition, you can view the Read Me file before downloading the patch.

5. Click Download. Follow the instructions in the patch Read Me to install the patch.

Finding Oracle Documentation

The Oracle Web site contains links to all Oracle user and reference documentation. You can view or download a single document or an entire product library.

Finding Oracle Health Sciences Documentation

To get user documentation for Oracle Health Sciences applications, go to the Oracle Health Sciences documentation page at:

http://www.oracle.com/technetwork/documentation/hsgbu-154445.html

Always check the Oracle Health Sciences Documentation page to ensure you have the latest updates to the documentation.

Finding Other Oracle Documentation

To get user documentation for other Oracle products:

1. Go to the following Web page:
http://www.oracle.com/technology/documentation/index.html

Alternatively, you can go to http://www.oracle.com, point to the Support tab, and then click Documentation.

2. Scroll to the product you need and click the link.

3. Click the link for the documentation you need.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Oracle Healthcare Master Person Index Quick Start Guide for Deduplicating Source System Objects, Release 2.0.13

E78933-01

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2016, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Alpha and Beta Draft Documentation Notice

If this document is in private preproduction status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.