Matching Algorithm Fails When A Field Is Used More Than Once In Mefa.xml (Doc ID 2290836.1)

Last updated on JULY 26, 2017

Applies to:

Oracle Healthcare Master Person Index - Version 4.0.1.1 and later
Information in this document applies to any platform.

Symptoms

On : 4.0.1.1 version, Master Index Main Component

ACTUAL BEHAVIOR
---------------
When configuring the matching algorithm and the same data object field is used more than once, the matching algorithm fails to work correctly. It missed aligns the data from the database with the data from the record being matched.


 EXPECTED BEHAVIOR
-----------------------
Expected the matching algorithm to work correctly.

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1) Add the following lines to MatchConfigFile.cfg:

DefaultName1 1 1 c 0.9 0.1 0 -40
DefaultName2 1 0 c 0.9 0.1 -40 -40

2) Add the following lines to mefa.xml in the MatchingConfig section. Make these lines the first of the match columns (that exacerbates the problem and makes it easier to see).

  
  Enterprise.SystemSBR.Patient.Name[*].DefaultNameFlag
  DefaultName1
  
  
  Enterprise.SystemSBR.Patient.Name[*].DefaultNameFlag
  DefaultName2
  

What the above is doing is saying that if either record has the DefaultNameFlag field set to a not-null value, apply a -40 weight. That way, default names such as "BABY" or "TWIN" don't create artificially strong matches.

3) Build and deploy the above changes (don't forget to regenerate the master index files).

4) Using the GUI, do an Advanced (Phonetic) search of a known record on the database, using the details from that record (eg. DOB, sex, medicare number, first name, last name)

5) Check the weight being reported -- it won't be what you expect for an exact match on details. If you have debugs switched on, you can also see the entries in the log file that show how there is one match test missing from the debugs, and how the data is misaligned (it's misaligned from immediately after the first time a duplicate field appears, hence why the instructions above said to make the two DefaultNameFlag match tests the first ones in the list).


Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms