821-2566

download 821-2566

of 52

Transcript of 821-2566

  • 8/3/2019 821-2566

    1/52

  • 8/3/2019 821-2566

    2/52

    Copyright 2008, 2011, Oracle and/or its afliates. All rights reserved.

    LicenseRestrictionsWarranty/Consequential DamagesDisclaimer

    Thissotware and related documentation are provided undera license agreementcontaining restrictions on use and disclosure and are protected by intellectualproperty laws. Exceptas expresslypermitted in your license agreementor allowed by law, youmay notuse, copy, reproduce, translate, broadcast, modiy, license,transmit,distribute, exhibit, perorm, publish or display any part,in any orm, or by any means. Reverse engineering, disassembly, or decompilation o this sotware,unless required by law or interoperability, is prohibited.

    WarrantyDisclaimer

    Theinormationcontained hereinis subject to changewithout noticeand is notwarranted to be error-ree. I yound anyerrors,please reportthem to us in writing.

    RestrictedRightsNotice

    Ithis is sotware or related documentation that isdelivered to theU.S. Government or anyonelicensing it on behalo theU.S. Government, theollowing noticeisapplicable:

    U.S. GOVERNMENTRIGHTS

    Programs, sotware, databases,and related documentation and technicaldata deliveredto U.S. Governmentcustomersare "commercialcomputersotware"or"commercial technicaldata"pursuant to the applicableFederalAcquisition Regulation and agency-specicsupplemental regulations. As such,the use, duplication,

    disclosure, modication, andadaptationshallbe subject to therestrictions andlicense terms setorthin theapplicable Government contract,and, to theextentapplicable by the termso the Governmentcontract,the additionalrights set orthin FAR 52.227-19, CommercialComputer Sotware License (December 2007).Oracle America, Inc.,500 Oracle Parkway, Redwood City,CA 94065.

    HazardousApplicationsNotice

    This sotware or hardware isdevelopedor general usein a variety o inormation management applications. Itis notdeveloped or intended oruse in anyinherentlydangerousapplications,including applicationsthat maycreate a risk o personal injury. I youuse this sotware or hardware in dangerousapplications,then youshallbe responsible to take allappropriate ail-sae, backup, redundancy, andothermeasures to ensureits sae use. OracleCorporationand itsafliates disclaim anyliabilityor anydamagescaused by useo this sotware or hardware in dangerousapplications.

    TrademarkNotice

    Oracleand Java areregisteredtrademarks o Oracleand/or itsafliates. Other names maybe trademarks o their respective owners.

    Intel and IntelXeon are trademarksor registeredtrademarks o Intel Corporation. All SPARC trademarksare used underlicense and are trademarks or registeredtrademarks o SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logoare trademarksor registered trademarkso Advanced MicroDevices. UNIX isa registered trademarko TheOpen Group in theUnited Statesand other countries.

    ThirdPartyContent, Products, andServicesDisclaimer

    Thissotware or hardware and documentation may provide access to or inormation on content, products, and services rom thirdparties.Oracle Corporationandits afliates are not responsible or and expresslydisclaimall warrantieso any kind with respect to third-party content, products,and services.Oracle Corporationandits afliates will notbe responsible orany loss, costs,or damages incurred dueto your accessto or useo third-party content, products,or services.

    110330@25097

  • 8/3/2019 821-2566

    3/52

    Contents

    DevelopingOracleJavaCAPSMasterPatient Indexes ................................................................... 5

    Related Topics .........................................................................................................................................6Oracle Java CAPS Master Patient Index Overview .............................................................................6

    About Oracle Java CAPS Master Patient Index ...........................................................................6

    Oracle Java CAPS Master Patient Index Repository Components ........................................ 10

    Oracle Java CAPS Master Patient Index Runtime Environment Components .................... 14

    Oracle Java CAPS Master Patient Index Enterprise Records .................................................. 16

    Master Index Development Process Overview ................................................................................ 18The Master Patient Index Framework and the Runtime Environment ........................................ 19

    Beore You Begin Developing a Master Index ................................................................................. 20

    Preliminary Data Analysis or a Master Index .......................................................................... 20

    Planning a Master Index Project ................................................................................................ 21

    Master Index Project Initiation Checklist ................................................................................. 21

    Custom Plug-ins or Master Index Custom Transaction Processing ............................................ 22

    Master Index Update Policy Plug-ins ........................................................................................ 22

    Master Index Field Validation Plug-ins .................................................................................... 24

    Master Index Field Masking Plug-ins ........................................................................................ 24

    Master Index Match Processing Logic Plug-ins ....................................................................... 25

    Master Index Custom Plug-in Exception Processing .............................................................. 26

    Custom Plug-Ins or Master Index Custom Components ............................................................. 27

    Master Index Survivor Calculator Plug-ins .............................................................................. 27

    Master Index Query Builder Plug-ins ........................................................................................ 27

    Master Index Block Picker Plug-ins ........................................................................................... 28

    Master Index Pass Controller Plug-ins ...................................................................................... 28

    Match Engine Plug-ins ................................................................................................................ 29

    Standardization Engine Plug-ins ............................................................................................... 29

    Phonetic Encoders Plug-ins or a Master Index ....................................................................... 29Implementing Master Index Custom Plug-ins ................................................................................ 29

    3

  • 8/3/2019 821-2566

    4/52

    Creating Master Index Custom Plug-ins ................................................................................... 30

    Building Master Index Custom Plug-ins ................................................................................... 31

    Generating the Master Index Application ........................................................................................ 31 To Generate the Application or the First Time ....................................................................... 31

    To Regenerate the Application ................................................................................................... 32

    Master Index Database Scripts and Design ...................................................................................... 33

    Master Index Database Scripts ................................................................................................... 33

    Master Index Database Requirements ....................................................................................... 33

    Master Index Database Structure ............................................................................................... 35

    Designing the Master Index Database ....................................................................................... 36

    Creating the Master Index Database ................................................................................................. 38

    Step 1: Analyze the Master Index Database Requirements ..................................................... 39

    Step 2: Create a Master Index Database and User .................................................................... 39

    Step 3: Dene Master Index Database Indexes ......................................................................... 40

    Step 4: Dene Master Index External Systems .......................................................................... 41

    Master Index Database Table Description or sbyn_systems ................................................. 42Step 5: Dene Master Index Code Lists ..................................................................................... 43

    Step 6: Dene Master Index User Code Lists ............................................................................ 45

    Master Index Database Table Description or sbyn_user_code ............................................. 46

    Step 7: Create Custom Master Index Database Scripts ............................................................ 47

    Step 8: Create the Master Index Database Structure ................................................................ 48

    Step 9: Speciy a Starting EUID or a Master Index .................................................................. 49Deleting Master Index Database Tables and Indexes ...................................................................... 49

    To Delete Database Tables and Indexes .................................................................................... 49

    Dening a Database Connection Pool Through the Application Server ...................................... 50

    Step 1: Add the Oracle Driver to the Application Server ......................................................... 50

    Step 2: Create the JDBC Connection Pools ............................................................................... 50

    Step 3: Create the JDBC Resources ............................................................................................ 52

    Contents

    Developing OracleJava CAPSMaster Patient Indexes March 20114

  • 8/3/2019 821-2566

    5/52

    Developing Oracle Java CAPS Master PatientIndexes

    The topics listed here provide procedures, conceptual inormation, and reerence inormationor using Oracle Java CAPS Master Patient Index to design and create a master indexapplication. These topics help you get started creating and using a master index application, butthey do not include all activities related to the master index application. For a complete list otopics that provide inormation and instructions or implementing a master patient indexapplication, see Related Topics on page 6.

    WhatYouNeed toKnow

    These topics provide inormation you should to know beore you start creating a master indexapplication.

    Oracle Java CAPS Master Patient Index Overview on page 6

    Master Index Development Process Overview on page 18 The Master Patient Index Framework and the Runtime Environment on page 19 Beore You Begin Developing a Master Index on page 20 Custom Plug-ins or Master Index Custom Transaction Processing on page 22 Custom Plug-Ins or Master Index Custom Components on page 27 Master Index Database Scripts and Design on page 33

    WhatYouNeed toDo

    These topics provide instructions on how to design and create master index applications. Implementing Master Index Custom Plug-ins on page 29 Generating the Master Index Application on page 31 Creating the Master Index Database on page 38 Deleting Master Index Database Tables and Indexes on page 49

    More Inormation

    These topics provide additional inormation you should know when creating a master indexapplication

    5

  • 8/3/2019 821-2566

    6/52

    Master Index Database Table Description or sbyn_systems on page 42 Master Index Database Table Description or sbyn_user_code on page 46

    RelatedTopicsSeveral topics provide inormation and instructions or implementing and using a masterpatient index application. The ollowing topics are designed to be used together whenimplementing a master index application:

    Developing Oracle JavaCAPSMaster Patient Indexes

    Getting StartedWith Oracle JavaCAPSMaster Patient IndexGetting StartedWithOracleJavaCAPSMaster Patient Index

    WorkingWith theEDM orOracle JavaCAPSMaster Patient Index

    Confguring Oracle Java CAPSMaster Indexes (Repository)

    UnderstandingOracle Java CAPSMaster IndexConfgurationOptions (Repository)

    Confguring Oracle Java CAPSMaster Index (Repository) Connectivity andEnvironments

    DeployingOracle Java CAPSMaster Indexes (Repository) Analyzing andCleansingData or aMaster Index

    Loading the InitialData Set or aMaster Index

    Maintaining Oracle Java CAPSMaster Indexes (Repository)

    UnderstandingOracle Java CAPSMaster IndexProcessing (Repository)

    Understanding theOracle JavaCAPSMatch Engine

    Oracle JavaCAPSMasterPatient IndexOverviewThe ollowing topics provide an overview o Oracle Java CAPS Master Patient Index and how itworks with other Java CAPS components. They also include descriptions o the design-time andruntime components o a master patient index.

    About Oracle Java CAPS Master Patient Index on page 6 Oracle Java CAPS Master Patient Index Repository Components on page 10 Oracle Java CAPS Master Patient Index Runtime Environment Components on page 14 Oracle Java CAPS Master Patient Index Enterprise Records on page 16

    AboutOracle JavaCAPSMasterPatient Index

    In todays healthcare environment, vital patient data is generated and stored in several systemsthroughout an organization. Each o these systems typically assigns its own, independent local

    RelatedTopics

    Developing OracleJava CAPSMaster Patient Indexes March 20116

    http://docs.sun.com/doc/821-2566http://docs.sun.com/doc/821-2668http://docs.sun.com/doc/821-2668http://docs.sun.com/doc/821-2567http://docs.sun.com/doc/821-2558http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2659http://docs.sun.com/doc/821-2561http://docs.sun.com/doc/821-2564http://docs.sun.com/doc/821-2565http://docs.sun.com/doc/821-2565http://docs.sun.com/doc/821-2564http://docs.sun.com/doc/821-2561http://docs.sun.com/doc/821-2659http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2558http://docs.sun.com/doc/821-2567http://docs.sun.com/doc/821-2668http://docs.sun.com/doc/821-2668http://docs.sun.com/doc/821-2668http://docs.sun.com/doc/821-2566
  • 8/3/2019 821-2566

    7/52

    identiers, making it difcult to share inormation between systems and departments. It is alsodifcult to create a comprehensive, reliable view o each patient across a healthcare enterprise.

    Patient inormation should ow seamlessly and rapidly between internal systems anddepartments throughout the entire healthcare network, and each department should haveaccess to the most current and reliable patient data. As organizations grow, merge, and ormafliations, sharing data between dierent inormation systems becomes a complicated task.Oracle Java CAPS Master Patient Index can help you manage this task and ensure that the datayou have is the most current and accurate inormation available.

    The topics below provide inormation about Oracle Java CAPS Master Patient Index and how it

    provides a solution or sharing and cleansing patient data. The Oracle Java CAPS Master Patient Index Solution on page 7 Congurability on page 8 Standardization and Matching Logic on page 8 Data Maintenance on page 9 Oracle Java CAPS Master Patient Index and HIPAA on page 9

    TheOracle JavaCAPSMasterPatient IndexSolutionOracle Java CAPS Master Patient Index is an enterprise-wide master patient index (EMPI) builton the Oracle Java CAPS Master Index (Repository) platorm. It provides a comprehensive,reliable view o patient inormation by uniquely identiying patients throughout a healthcareenterprise and maintaining the most current inormation about those patients. With OracleJava CAPS Master Patient Index, it is possible to create a single source o patient inormationthat synchronizes with your existing systems.

    Oracle Java CAPS Master Patient Index cross-reerences data rom all connected systems andautomates record matching across disparate systems, simpliying the process o sharing databetween departments and acilities. Oracle Java CAPS Master Patient Index is highly exibleand customizable, and you can congure the master index as needed to meet your dataprocessing needs. The master index uniquely identies each patient record throughout anorganization to ensure that the most current and accurate data is available.

    Oracle Java CAPS Master Patient Index provides an automatic, common identication process

    regardless o the system rom which data originates. Records rom various locations arecross-reerenced using an enterprise-wide unique identier assigned by Oracle Java CAPSMaster Patient Index, allowing the master index to use the local identiers generated by yourinternal systems to create an index o patient records. In addition, Oracle Java CAPS MasterPatient Index employs congurable probabilistic matching technology, which uses a matchingalgorithm to ormulate an eective statistical measure o how closely records match based onthe data elds you speciy. Using this matching logic, Oracle Java CAPS Master Patient Indexconsistently and precisely identies patient records, agging potentially duplicate records and

    automatically joining records that are considered a match. In this way, Oracle Java CAPSMaster Patient Index provides continuous data cleansing as records are processed.

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 7

  • 8/3/2019 821-2566

    8/52

    Oracle Java CAPS Master Patient Index centralizes the inormation about the patients thatparticipate within your organization. Maintaining a centralized database or multiple systemsenablesOracle Java CAPS Master Patient Index to integrate data throughout the enterprise

    while allowing your existing systems to continue to operate independently. The database, whichis accessible throughout the enterprise, stores copies o local system records and their associatedsingle best records (SBRs), which represent the most accurate and complete data or eachpatient. To acilitate up-to-date records in each system, you can congure Oracle Java CAPSMaster 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 inormation becomes available to those systems that are able to accept incomingmessages.

    Confgurability

    Oracle Java CAPS Master Patient Index provides a predened data structure based on standardhealthcare data requirements that can be used as is or can be easily customized i needed. Beoredeploying Oracle Java CAPS Master Patient Index, you dene the components and processingcapabilities o the system to suit your requirements. The matching and standardization rules,survivorship rules, queries, Patient Enterprise Data Manager (Patient EDM) appearance, and

    eld validation rules can all be used as is or can be congured to better meet the needs o yourorganization. In essence, you control the data structure and the logic that determines how datais updated, standardized, weighted, and matched.

    The data structure and processing logic is stored in a set o XML conguration les that arepredened but that can be customized. These les are dened within the context o Java CAPSproject and are modied using the XML editor provided in NetBeans. You can also use thegraphical conguration editor to customize some o the master patient index conguration.

    StandardizationandMatchingLogic

    Sharing data requires overcoming data quality problems such as name and address changes,transpositions, and phonetically similar names to be able to uniquely identiy the same patientacross multiple systems. Oracle Java CAPS Master Patient Index uses the Oracle Java CAPSMatch Engine, a proprietary algorithm or probabilistic matching o patient records and datastandardization. As records are processed through Oracle Java CAPS Master Patient Index, the

    standardization engine normalizes and phonetically encodes specied data and the matchengine identies records that potentially represent or do represent the same patient. The matchengine uses user-dened logic, including congurable matching thresholds, comparisonunctions, data elds, and so on.

    MatchingWeightDetermination

    When comparing two records to determine the likelihood o a match, the match engine

    compares the match elds you speciy between the records to determine a matching weight oreach match eld based on the reliability o the eld and the comparison unction used. The sum

    Oracle JavaCAPS Master PatientIndex Overview

    Developing OracleJava CAPSMaster Patient Indexes March 20118

  • 8/3/2019 821-2566

    9/52

    o the weights o the match elds is the total matching weight between the two records. Thelogic used by the standardization and match engines is highly customizable to provide the mostreliable matching or the type o data you store.

    AliasProcessing

    Oracle Java CAPS Master Patient Index provides alias name processing in the orm o customplug-ins to help nd or match patient records in cases where the patients name has changed ora nickname is used. In the deault conguration, a name is added to a patients alias list when amaiden name is added or updated and when a patients rst, last, or middle name is modied.Searches can be perormed against a patients primary and alias names, providing broad search

    capabilities and improving the chance o nding a match.

    DataMaintenance

    The Patient EDM is the web-based user interace or Oracle Java CAPS Master Patient Index.The Patient EDM supports all the necessary eatures or maintaining data records. It allows youto add new records; view, update, deactivate, or reactivate existing records; and comparerecords or similarities and dierences. From the Patient EDM, you can perorm searches usinga variety o criteria and search types or a specic patient or a set o patients. For certainsearches, the results are assigned a matching weight that indicates the probability o a match.

    One o the most important eatures o Oracle Java CAPS Master Patient Index is its ability tomatch records and identiy possible duplicates. Oracle Java CAPS Master Patient Index alsoprovides the unctionality to correct any duplication. Potential duplicate records are easilycorrected by either merging the records in question or marking the records as resolved. I yound two records to represent the same person, you should merge the records (at either theenterprise 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 recordto retain and which inormation rom each record to preserve in the resulting record.

    Finally, Patient EDM provides standard reports that provide inormation about the currentstate o the data in the master index, helping you monitor stored data and determine how thatdata needs to be updated. Report inormation also helps veriy that the matching logic andweight thresholds are dened correctly. Standard reports are available through a command lineor the Patient EDM. You can also create custom reports using any ODBC-compliant reporting

    tool, SQL, or Java.

    Oracle JavaCAPSMasterPatient IndexandHIPAA

    Oracle Java CAPS Master Patient Index provides ull audit capabilities in support o the HealthInsurance Portability and Accountability Act (HIPAA) mandates. Transaction histories arestored in the database to track every change to every record and provide beore and ater imagesas well as who made the changes and when. In addition, the audit log maintains a record o each

    time patient data is accessed or viewed in the master index database, including who accessed thedata and when. The audit log and transaction history can both be viewed on the Patient EDM.

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 9

  • 8/3/2019 821-2566

    10/52

    Oracle JavaCAPSMasterPatient IndexRepositoryComponents

    Oracle Java CAPS Master Patient Index has two types o components: Repository and runtime.The Repository components work within NetBeans and are used during the design andconguration phases to create and customize the master patient index and to deneconnectivity between external systems and Oracle Java CAPS Master Patient Index. Theprimary Repository components include the ollowing:

    Editors on page 10 Project Components on page 10 Environment Components on page 14

    Editors

    Oracle Java CAPS Master Patient Index provides the ollowing editors to help you customizethe les in the Oracle Java CAPS Master Patient Index project.

    ConfgurationEditor (Repository) - Allows you to customize certain portions o the XML

    conguration les using a graphic interace. The Conguration Editor provides validationservices or le structure and syntax.

    XMLEditor - Allows you to review and customize the XML conguration les. The editorprovides schema validation services and verication or XML syntax. The XML editor isautomatically launched when you open a Oracle Java CAPS Master Patient Indexconguration le.

    TextEditor Allows you to review and customize the database scripts or the master index.

    This editor is very similar to the XML editor but without the verication services. The texteditor is automatically launched when you open a Oracle Java CAPS Master Patient Indexdatabase script or conguration le.

    Java SourceEditor Allows you to create and customize custom plug-in classes or themaster index application. This editor is a simple text editor, similar to the Java Source Editorin the Java Collaboration Editor. The Java source editor is automatically launched when youopen a custom plug-in le.

    ProjectComponents

    Oracle Java CAPS Master Patient Index is implemented within a project in NetBeans. TheOracle Java CAPS Master Patient Index project includes a set o conguration les, databaseles, and custom plug-ins that you can modiy in order to customize your master indeximplementation. It includes additional components that are automatically updated when yougenerate the project, including a method Object Type Denition (OTD), an outbound OTD,

    Business Process methods, database scripts, and application JAR les. To complete the project,you create a Connectivity Map and Deployment Prole.

    Oracle JavaCAPS Master PatientIndex Overview

    Developing OracleJava CAPSMaster Patient Indexes March 201110

  • 8/3/2019 821-2566

    11/52

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

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

    Conguration Files on page 12 Database Scripts on page 12 Custom Plug-ins on page 13 Match Engine Conguration Files on page 13 Object Type Denition (OTD) on page 13 Dynamic Java Methods on page 13 Connectivity Components on page 14 Deployment Prole on page 14

    The ollowing gure illustrates the project and Environment components o Oracle Java CAPSMaster Patient Index.

    FIGURE 1 Master Patient Index Design-Time Components

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 11

  • 8/3/2019 821-2566

    12/52

    Confguration Files

    These les dene the conguration o the runtime environment, such as the object structure,

    how matching is perormed, how the SBR is created, and so on. The runtime componentscongured by these les are listed in Oracle Java CAPS Master Patient Index RuntimeEnvironment Components on page 14

    ObjectDefnition - Denes the data structure o the object being indexed in a masterpatient index application.

    EnterpriseDataManager - Congures the search unctions and appearance o the PatientEDM, along with debug inormation and security inormation or authorization.

    Candidate Select - Congures the Query Builder component o the master indexapplication and denes the queries available or the index.

    MatchField - Congures the Matching Service and denes the elds to be standardized orused or matching. It also species the match and standardization engines to use.

    Threshold - Congures the Manager Service and denes certain system parameters, such asmatch thresholds, EUID attributes, and update modes. It also species the query rom theQuery Builder to use or matching queries.

    BestRecord - Congures the Update Manager and denes the strategies used by thesurvivor calculator to determine the eld values or the single best record (SBR). You candene custom update procedures in this le.

    FieldValidation - Denes rules or validating eld values. Rules are predened orvalidating the local ID eld and you can create custom validation rules to plug in to this le.

    Security- This le is a placeholder to be used in uture versions.

    Database Scripts

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

    Systems - Contains the SQL insert statements that add the external systems you specied inthe wizard to the database. You can dene additional systems in this le.

    Code List - Contains the SQL statements to insert processing codes and drop-down listvalues into the database. Some o the entries in this le are generated by the wizard. Codelists must be dened in this le to make them available to the master index application.

    CreatePersondatabase - Denes the structure o the master index database based on theobject structure specied in the wizard. You can customize this le and then run it against adatabase instance to create a customized master index database.

    CreateUser Indexes- Denes indexes against the elds that are dened or the blockingquery in the Candidate Select le. You can dene additional indexes i needed.

    Oracle JavaCAPS Master PatientIndex Overview

    Developing OracleJava CAPSMaster Patient Indexes March 201112

  • 8/3/2019 821-2566

    13/52

    Create UserCodeData - Provides a sample script or adding data to the sbyn_user_codetable.

    DropPersondatabase - Used primarily in testing when you need to drop existing databasetables and create new ones. The delete script removes all tables related to the master indexapplication so you can recreate a resh database or your project.

    DropUser Indexes - Used primarily in testing, when you need to drop existing indexes, oror loading large batches o data, when indexes can slow down the process. This scriptremoves all indexes dened in the Create User Indexes script.

    Custom Plug-ins

    Custom plug-ins allow you to incorporate custom logic into Oracle Java CAPS Master PatientIndex by creating user-dened Java classes. Several custom plug-ins are already provided thatautomatically create aliases or person names when certain updates are made to a record. Forexample, i the rst, last, middle, or maiden name is changed during a transaction, the previousname is added as an alias.

    Match Engine Confguration FilesThese les dene characteristics o the standardization and matching processes. Theconguration les under that Match Engine node dene certain weighting characteristics andconstants or the match engine. The conguration les under the Standardization Engine nodedene how to standardize names, business names, and address elds. You can customize theseles as needed.

    ObjectType Defnition (OTD)The outbound OTD in the Oracle Java CAPS Master Patient Index project is based on the objectstructure dene in the Object Denition le. The OTD is used or distributing inormation thathas been added or updated in Oracle Java CAPS Master Patient Index to external systems. Itincludes the objects and elds dened in the Object Denition le plus additional SBRinormation (such as the create date and create user) and additional system object inormation(such as the local ID and system code). I you plan to use this OTD to make the master indexapplication data available to external systems, you must dene a JMS Topic in the master indexConnectivity 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 themaster index. These methods are generated dynamically based on the object structure denes inthe Object Denition le. The names, parameter types, and return types o these methods varybased on whether you modiy the object structure in the Object Denition le. These methodsare described inUnderstandingOracle Java CAPSMaster IndexProcessing (Repository).

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 13

    http://docs.sun.com/doc/821-2564http://docs.sun.com/doc/821-2564
  • 8/3/2019 821-2566

    14/52

    Connectivity Components

    The master index project Connectivity Map consists o two required components: the web

    application service and the application service. Two optional components are a JMS Topic orbroadcasting messages and a database Adapter or database connectivity. In client projectConnectivity Maps you can use any o the standard project components to dene connectivityand data ow to and rom the master index application. Client projects include those createdor the external systems sharing data with the index through a Collaboration or BusinessProcess.

    For client projects, you can use connectivity components rom the master index server projectand any standard Java CAPS connectivity components, such as OTDs, Services, Collaborations,

    JMS Queues, JMS Topics, and Adapters. Client project components transorm and routeincoming data into the master index database according to the rules contained in theCollaborations or Business Processes. They can also route the processed data back to theappropriate local systems through Adapters.

    Deployment Profle

    The Deployment Prole denes inormation about the production environment, including

    inormation about the assignment o Services and message destinations to application serversand JMS IQ Managers within the Oracle Java CAPS Master Patient Index system. Each OracleJava CAPS Master Patient Index project must have at least one Deployment Prole, and canhave several, depending on the project requirements and the number o Environments used.You need to deploy the Oracle Java CAPS Master Patient Index server project beore deployingthe client projects in order to make the master index application available to the clientDeployment Proles.

    EnvironmentComponentsThe Oracle Java CAPS Master Patient Index Environments dene the deployment environmento the runtime components, including the Logical Host and application server. For clientprojects reerencing the Oracle Java CAPS Master Patient Index project, an Environment mightalso include a JMS IQ Manager, constants, Web Connectors, and External Systems. EachEnvironment represents a unit o sotware that implements Oracle Java CAPS Master PatientIndex. You must dene and congure at least one Environment or Oracle Java CAPS MasterPatient Index beore you can deploy the application. The application server hosting Oracle JavaCAPS Master Patient Index is congured within the Environment.

    Oracle JavaCAPSMasterPatient IndexRuntimeEnvironmentComponentsRegardless o how you dene the data structure and congure the runtime environment orOracle Java CAPS Master Patient Index, the nal product provides a customized master patientindex to help you manage data rom disparate systems and ensure that the data you have is the

    Oracle JavaCAPS Master PatientIndex Overview

    Developing OracleJava CAPSMaster Patient Indexes March 201114

  • 8/3/2019 821-2566

    15/52

    most current and accurate inormation available. The runtime environment includes all o thecomponents you create or Oracle Java CAPS Master Patient Index connectivity as well as theweb-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)platorm, the Oracle Java CAPS Master Patient Index runtime environment is made up oseveral components that work together to orm a complete indexing system. The runtimeenvironment includes the ollowing primary components:

    Matching Service eView Manager Service

    Query Builders Query Manager Update Manager Object Persistence Service (OPS) Database Enterprise Data Manager

    In addition, Oracle Java CAPS Master Patient Index uses the connectivity components dened

    in the Oracle Java CAPS Master Patient Index server and client Projects to route data betweenexternal systems and the Oracle Java CAPS Master Patient Index database. The Repositorystores inormation about the conguration and structure o the runtime environment. BecauseOracle Java CAPS Master Patient Index is deployed to an application server, it can beimplemented in a distributed environment.

    The ollowing gure illustrates the runtime components o a master patient index.

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 15

  • 8/3/2019 821-2566

    16/52

    For more inormation about the unctions, eatures, and components o the eIndex runtimeenvironment, see Master Index Runtime Components in Developing Oracle JavaCAPSMaster Indexes (Repository).

    Oracle JavaCAPSMasterPatient Index EnterpriseRecordsAn enterprise recordis identied by an EUID assigned by Oracle Java CAPS Master PatientIndex and includes all components o a record that represents one patient. The structure o thedata is dened in the Object Denition le.

    Oracle Java CAPS Master Patient Index stores two dierent types o records in each enterprise

    record: system records and a single best record (SBR). A system record contains a patientsinormation as it appears in an incoming message rom an external system. An enterpriserecords SBR stores data rom a combination o external systems and it represents the mostreliable and current inormation contained in all system records or a patient. An enterpriserecord consists o one or more system records and one SBR.

    SystemRecords

    The structure o a system record is dierent rom the SBR in that each system record contains asystem and local ID pair. The remaining inormation contained in the system records o an

    FIGURE 2 Master Patient Index Runtime Components

    Oracle JavaCAPS Master PatientIndex Overview

    Developing OracleJava CAPSMaster Patient Indexes March 201116

    http://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=viewhttp://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=viewhttp://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=viewhttp://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=viewhttp://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=viewhttp://docs.sun.com/doc/821-2557/dsgn_eview-miruntime_c?a=view
  • 8/3/2019 821-2566

    17/52

    enterprise record is used to determine the best data or the corresponding SBR. I an enterpriserecord only contains one system record, the SBR is identical to that system record (less thesystem and local ID inormation). However, i the enterprise record contains multiple system

    records, the SBR might be identical to one system record but will more likely include acombination o inormation rom all system records.

    TheSingleBest Record

    The SBR or a patient is created rom the most reliable inormation contained in each systemrecord representing that patient. The inormation used rom each external system to populatethe SBR is determined by the survivor calculator, which is congured in the Best Record le.

    This data is determined to be the most reliable inormation rom all system records in theenterprise record. The survivor calculator can consider actors such as the relative reliability oan external system, how recent the data is, and whether the SBR contains any locked eld

    values. You dene the rules that select a eld value to be persisted in the SBR.

    Objects inanEnterpriseRecord

    In Oracle Java CAPS Master Patient Index, each system record and SBR in an enterprise record

    typically contain a set o objects that store dierent types o inormation about a patient. Arecord contains one parent object and typically contains several child objects, but it can have nochild objects at all. A record can have only one instance o the parent object, but can havemultiple instances o each type o child object. For example, in the deault conguration, theparent object (Person) contains demographic data. A record can only contain one patient nameand social security number (stored in the Person object), but the record could have multipleaddresses, telephone numbers, and aliases, which are dened in dierent child objects (address,phone,and alias objects respectively). A record can have multiple instances o each child object,

    such as a home and a billing address.

    Oracle JavaCAPSMasterPatient IndexIdentifcationCodes

    Another key component o an enterprise record is the identication codes used to identiy andcross-reerence each patient. Each record in the master index is assigned an enterprise-wideunique identication number (EUID) in addition to the local IDs assigned by the individualsystems in the network. Each unique patient has one unique identication number throughout

    your organization, and a unique identication number within each system with which they areregistered. Patients might also have several auxiliary IDs. An auxiliary ID is an identicationcode that does not necessarily uniquely identiy a single patient within the database, but mightidentiy a group o patients. For example, i a amily shares the same account or insurancepolicy, every amily member would have the same identication code or that account or policy.

    OracleJava CAPSMaster PatientIndex Overview

    Developing Oracle Java CAPS Master Patient Indexes 17

  • 8/3/2019 821-2566

    18/52

    Master IndexDevelopmentProcessOverview

    Oracle Java CAPS Master Patient Index makes the process o implementing a master patientindex simple by providing a deault object structure and conguration based on standardhealthcare data and processing requirements. It also provides the ability to customize thedeault conguration as needed to ne-tune the index to match your specic needs.

    The ollowing steps outline and link to the procedures you need to ollow to develop a masterindex application. Not all tasks are covered in this document. Where a process is covered in aseparate document, the link is in italics.

    1. Perorm a preliminary analysis o the data you plan to store in the master index application.2. Dene and build custom plug-ins, and speciy the plug-ins in the appropriate conguration

    le (described in Implementing Master Index Custom Plug-ins on page 29).

    3. Customize the conguration les (instructions or this step are provided in a separatedocument,Confguring Oracle Java CAPSMaster Indexes (Repository)).

    4. Generate the master index application (described in Generating the Master IndexApplication on page 31).

    5. Create the database (described in Creating the Master Index Database on page 38).

    Customize the database scripts by dening system inormation, processing codes, anddrop-down menu values.

    Create the database structure and any necessary indexes.

    Dene database connectivity in the application server.

    6. Analyze and cleanse existing data that will be preloaded into the master index database

    (instructions or this step are provided in a separate document,Analyzing andCleansingData or aMaster Index).

    7. Create Connectivity Maps (described inConfguring Oracle JavaCAPSMaster Index(Repository) Connectivity andEnvironments).

    Create and dene the components in the Connectivity Maps, such as Collaborations,Services, and External Applications.

    Congure the Connectivity Maps.

    8. Dene the Environment (described inConfguring Oracle JavaCAPSMaster Index(Repository) Connectivity andEnvironments).

    9. Create the Deployment Prole and deploy the project (described inDeployingOracle JavaCAPSMaster Indexes (Repository) ).

    10. Dene security (described in Dening Master Index Security (Repository) inMaintainingOracle Java CAPSMaster Indexes (Repository)).

    11. Load the initial data set into the master index database (this is described in a separatedocument,Loading the InitialData Set or aMaster Index).

    Master IndexDevelopment Process Overview

    Developing OracleJava CAPSMaster Patient Indexes March 201118

    http://docs.sun.com/doc/821-2558http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2561/admn_mi-maint-security_t?a=viewhttp://docs.sun.com/doc/821-2561/admn_mi-maint-security_t?a=viewhttp://docs.sun.com/doc/821-2561/admn_mi-maint-security_t?a=viewhttp://docs.sun.com/doc/821-2659http://docs.sun.com/doc/821-2659http://docs.sun.com/doc/821-2561/admn_mi-maint-security_t?a=viewhttp://docs.sun.com/doc/821-2561/admn_mi-maint-security_t?a=viewhttp://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2560http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2559http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2658http://docs.sun.com/doc/821-2558
  • 8/3/2019 821-2566

    19/52

  • 8/3/2019 821-2566

    20/52

    B Y B i D l i M t I d

  • 8/3/2019 821-2566

    21/52

    PlanningaMaster IndexProject

    Beore you create the Oracle Java CAPS Master Patient Index project, analyze the business

    requirements and determine which project components will help you meet those requirements.Planning the project includes dening how each external system will share inormation with themaster index application and how the master index application will share inormation withthose external systems. In addition, you can incorporate master index Java methods that denehow the master index application processes incoming data. Master index methods can also beused to transorm the data sent rom external systems into a ormat that can be read by themaster index application.

    An additional consideration is whether to integrate the master index methods into a BusinessProcess.

    Master IndexProject InitiationChecklist

    Beore you begin developing your master index application, make sure you have obtained theollowing inormation:

    The primary object to be indexed, such as a person, customer, business, and so on (in thecase o Master Index, this is likely to be a Patient or Person object)

    Any secondary objects, such as telephone numbers and addresses

    All elds to be stored in the index or both the primary and secondary objects

    The name o each eld as it appears on the Patient EDM and whether the eld will be astandard text eld or will be populated rom a menu list (i a eld will be populated rom a

    menu list, you should also dene an eight-character name or the list) The elds that are required in order to add a record or that are required or queries

    The elds that will appear on reports

    The elds that must be unique to an enterprise record (in other words, they uniquelyidentiy a child object within an enterprise record)

    The elds that will be used or matching

    The elds that will need to be parsed or normalized prior to matching

    Any special ormatting requirements, such as character types, the data type, minimum andmaximum values, and eld size

    The elds that will appear on Patient EDM search and search results windows

    The processing codes or the source systems being integrated into the index

    BeoreYou BeginDeveloping a Master Index

    Developing Oracle Java CAPS Master Patient Indexes 21

    Custom Plug ins or Master IndexCustomTransaction Processing

  • 8/3/2019 821-2566

    22/52

    CustomPlug-ins orMaster IndexCustomTransactionProcessing

    You can add custom processing to the master index application using the Custom Plug-insmodule o a Oracle Java CAPS Master Patient Index project. This ability allows you to tailorhow messages are processed by the master index application. Plug-ins can be used to customizeeld validations, update policies, match processing logic, and record retrieval, and to createcustom components or the master index application, such as custom phonetic encoders, blockpickers, or query builders. Oracle Java CAPS Master Patient Index includes several predenedcustom plug-ins to generate and process alias names and to mask eld values. You can create as

    many classes as you need to carry out the custom processes.

    The ollowing sections describe custom plug-ins that dene custom processing. These areexplained more ully inUnderstandingOracle Java CAPSMaster IndexConfgurationOptions(Repository).

    Master Index Update Policy Plug-ins on page 22 Dene custom processing logic toperorm against the resulting record o a transaction beore it is stored in the database.

    Master Index Field Validation Plug-ins on page 24 Dene validations to perorm againstspecic elds, such as checking the local ID length and ormat.

    Master Index Field Masking Plug-ins on page 24 Dene how the values or sensitiveelds are hidden on the Patient EDM rom users who do not have permission to view them.

    Master Index Match Processing Logic Plug-ins on page 25 Dene custom logic based onpredened decision points or how records are matched during a transaction.

    Master Index Custom Plug-in Exception Processing on page 26 Dene how exceptionsare handled by the custom plug-ins you create.

    Master IndexUpdatePolicyPlug-ins

    For the primary transactions perormed by the master index application, you can deneadditional custom processing to perorm against the record that results rom a transaction. Thepolicies you dene are invoked by the Update Manager and are applied to the resulting records

    ater they are processed by the survivor calculator. The modications made to a record by anupdate 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 dene.

    Oracle Java CAPS Master Patient Index provides deault custom plug-ins or each update policyto generate alias names when a patients rst, last, middle, or maiden names are modied. Youcan view and edit the Java code or each custom plug-in by expanding the Custom Plug-insolder o the master index project and opening any o the Java les. Additional alias plug-ins areprovided and are called by the custom update policies to process alias names ater a transactionoccurs.

    Custom Plug-ins or Master IndexCustomTransaction Processing

    Developing OracleJava CAPSMaster Patient Indexes March 201122

    Custom Plug-ins or Master IndexCustomTransaction Processing

    http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563
  • 8/3/2019 821-2566

    23/52

    Update policies are specied in theUpdatePolicy section o the Best Record le, and there areseveral dierent types. Each policy modies an enterprise object (classcom.stc.eindex.objects.EnterpriseObject) and must implement

    com.stc.eindex.update.UpdatePolicy, which contains one method, applyUpdatePolicy.The syntax is as ollows:

    public EnterpriseObject applyUpdatePolicy(EnterpriseObject before,

    EnterpriseObject after)

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

    EnterpriseMergePolicy

    The enterprise merge policy denes additional processing to perorm ater two enterpriseobjects are merged. The processing dened in this policy acts against the surviving record o themerge. In theEnterpriseMergePolicy element in the Best Record le, enter the ully qualiedname o this custom plug-in. The name o the deault merge policy,com.stc.eindex.update.impl.EnterpriseMergePolicy, is already entered.

    EnterpriseUnmergePolicy

    The enterprise unmerge policy denes additional processing to perorm ater an unmergetransaction occurs. The processing dened in this policy acts against the surviving record o themerge transaction that was unmerged. In theEnterpriseUnmergePolicy element o the BestRecord le, enter the ully qualied name o this custom plug-in. The name o the deault

    unmerge policy, com.stc.eindex.update.impl.EnterpriseUnmergePolicy , is alreadyentered.

    EnterpriseUpdatePolicy

    The enterprise update policy denes additional processing to perorm ater a record is updated.Inthe EnterpriseUpdatePolicy element o the Best Record le, enter the ully qualied name o

    this custom plug-in. The name o the deault update policy,com.stc.eindex.update.impl.EnterpriseUpdatePolicy , is already entered.

    EnterpriseCreatePolicy

    The enterprise create policy denes additional processing to perorm ater a new record isinserted into the master index database. In theEnterpriseCreatePolicy element o the BestRecord le, enter the ully qualied name o this custom plug-in. The name o the deault createpolicy, com.stc.eindex.update.impl.EnterpriseCreatePolicy , is already entered.

    Custom Plug ins or Master IndexCustomTransaction Processing

    Developing Oracle Java CAPS Master Patient Indexes 23

    Custom Plug-ins or Master IndexCustomTransaction Processing

  • 8/3/2019 821-2566

    24/52

    SystemMergePolicy

    The system merge policy denes additional processing to perorm ater two system objects aremerged. The processing dened in this le acts against the surviving enterprise record o themerge (and not the system record). In the SystemMergePolicy element o the Best Record le,enter the ully qualied name o this custom plug-in. The name o the deault merge policy,com.stc.eindex.update.impl.SystemMergePolicy, is already entered.

    SystemUnmergePolicy

    The system unmerge policy denes additional processing to perorm ater system objects areunmerged. The processing dened in this le acts against the surviving enterprise record o the

    system merge transaction that was unmerged. In theSystemUnmergePolicyelement in the BestRecord le, enter the ully qualied name o this custom plug-in. The name o the deault mergepolicy, com.stc.eindex.update.impl.SystemUnmergePolicy, is already entered.

    UndoAssumedMatchPolicy

    The undo assumed match policy denes additional processing to perorm ater an assumedmatch transaction is reversed. In theUndoAssumeMatchPolicy element in the Best Record le,enter the ully qualied name o this custom plug-in.

    Master IndexFieldValidationPlug-insYou can dene validations to be perormed against certain elds beore inormation is enteredinto the master index database. Once you create the custom plug-ins containing the validationlogic, enter the name o the plug-in in the Field Validation le. Follow these guidelines whenimplementing custom eld validators.

    The custom validation classes must implementcom.stc.eindex.objects.validation.ObjectValidator .

    The exception thrown iscom.stc.eindex.objects.validation.exception.ValidationException .

    One deault eld validator, validate-local-id, is provided to validate system and local ID eldsbeore processing data into the database. This is described inUnderstandingOracle Java CAPS

    Master IndexConfgurationOptions (Repository).

    Master Index FieldMaskingPlug-ins

    There might be instances where you want to mask certain data in records rom general users othe Patient Enterprise Data Manager and only allow access by administrators. To do this, youcan create a custom plug-in that displays asterisks (or other symbols) in place o the eld valueson the Patient EDM. Once you dene the custom plug-in, speciy the name o the customplug-in Java class in theobject-sensitive-plug-in-classelement o edm.xml).

    g g

    Developing OracleJava CAPSMaster Patient Indexes March 201124

    Custom Plug-ins or Master IndexCustomTransaction Processing

    http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563
  • 8/3/2019 821-2566

    25/52

    Oracle Java CAPS Master Patient Index provides a deault custom plug-in that denes eldmasking. The class is com.stc.eindex.security.VIPObjectSensitivePlugIn , which isspecied in theobject-sensitive-plug-in-classo edm.xml. This class contains logic that checks

    the value o the VIP Flag eld. I the value is V (VIP) or E (Employee), the values are maskedbyaseriesoXsoranyeldorwhichthe is-sensitive element is set to true in the rst section oedm.xml).

    Master IndexMatchProcessingLogicPlug-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 indexsystem, match processing is perormed by calling one o the ollowing execute matchunctions rom the MasterController class.

    executeMatch

    executeMatchUpdate

    executeMatchDupRecalc

    executeMatchUpdateDupRecalc

    executeMatchGui (this method is only called by the Patient EDM)

    These methods contain standard logic or processing records through the master indexdatabase, weighting incoming records against existing records, and then using those weights todetermine whether to insert a new record or update an existing record. In addition toconguring the match processing logic in the Threshold le, you can customize certain aspectso the processing logic using custom plug-ins that contain unctions ound in theExecuteMatchLogics class.

    CustomMatchProcessingLogicMethodsThere are ve decision branches where custom logic can be inserted. At specic points in matchprocessing, the execute match methods look or the value o the methods listed below. For moreinormation about the methods, see the Javadocs or the master index. These methods arecontained in the ExecuteMatchLogics class in the package com.stc.eindex.master.Forinormation about where the decision points are reached in the processing logic and how tochange the logic, seeUnderstandingOracle Java CAPSMaster IndexProcessing (Repository).The ollowing methods speciy the custom logic.

    bypassMatching - Indicates whether to perorm the match process on incoming records orto bypass the match process.

    disallowAdd - Indicates whether an incoming message can be inserted as a new record.

    disallowUpdate - Indicates whether an incoming record can update an existing record.

    rejectAssumedMatch - Indicates whether to accept or reject an assumed match o tworecords.

    rejectUpdate - Indicates whether to accept or reject an update to an existing record.

    Developing Oracle Java CAPS Master Patient Indexes 25

    Custom Plug-ins or Master IndexCustomTransaction Processing

    http://docs.sun.com/doc/821-2564http://docs.sun.com/doc/821-2564http://docs.sun.com/doc/821-2564
  • 8/3/2019 821-2566

    26/52

    CustomMatchProcessingLogic Plug-in Requirements

    The custom plug-ins you create to dene custom execute match logic must extend theExecuteMatchLogics class. In addition, the ollowing classes must be imported into the customplug-in.

    com.stc.eindex.objects.SystemObject

    com.stc.eindex.objects.EnterpriseObject

    com.stc.eindex.objects.exception.ObjectException

    com.stc.eindex.master.ExecuteMatchLogics

    com.stc.eindex.master.CustomizationException

    CustomMatchProcessingConfguration

    I you create a custom plug-in that denes custom processing logic or the execute matchmethods, you must speciy those custom plug-ins in the Threshold le in the master indexproject. I you create a plug-in or customizing logic in the execute match methods used by theback-end, such as by Collaborations or Business Processes, speciy the name o that class in thelogic-class element. I you create a plug-in or the Patient EDM, speciy the name o that class inthe logic-class-gui element. For example:

    com.stc.eindex.user.CustomCollaborationcom.stc.eindex.user.CustomPatient EDM

    For more inormation about the Threshold le, seeUnderstandingOracle Java CAPSMasterIndexConfgurationOptions (Repository).

    Master IndexCustomPlug-in ExceptionProcessingI a custom plug-in throws an exception o the class ObjectException orSystemObjectException, multiple stack traces are logged in the server log le, which can makeoperational management tasks more difcult. For cases where you do not want stack traces tobe logged, congure your custom plug-ins to throw exceptions o the class UserException orone o its derived classes (DataModifiedException or ValidationException). This is useulor user errors on the Patient Enterprise Data Manager (Patient EDM). When one o theseexceptions is thrown, no stack trace is entered in the log le but an error message still appearson the Patient EDM.

    For more inormation about these exception classes, see the Javadocs or Oracle Java CAPSMaster Index.

    Developing OracleJava CAPSMaster Patient Indexes March 201126

    Custom Plug-Ins or Master IndexCustomComponents

    http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563
  • 8/3/2019 821-2566

    27/52

    CustomPlug-Ins orMaster IndexCustomComponentsOracle Java CAPS Master Patient Index provides a exible ramework, allowing you to create

    custom Java classes to plug in to most master index application components. The ollowingtopics provide descriptions o some components or which you can create custom classes to usein your master index application.

    Master Index Survivor Calculator Plug-ins on page 27 Dene how the single best record(SBR) is generated.

    Master Index Query Builder Plug-ins on page 27 Dene how queries are perormedagainst the master index database.

    Master Index Block Picker Plug-ins on page 28 Denehowtheblocksoeldsinablocking query are selected during a query.

    Master Index Pass Controller Plug-ins on page 28 Dene how the master indexapplication determines whether to perorm additional match passes against a record.

    Match Engine Plug-ins on page 29 Dene logic that connects to a match engine otherthan the Oracle Java CAPS Match Engine.

    Standardization Engine Plug-ins on page 29 - Dene logic that connects to astandardization engine other than that provided by the Oracle Java CAPS Match Engine.

    Phonetic Encoders Plug-ins or a Master Index on page 29 Dene logic that connects tophonetic encoders other than those provided.

    Master IndexSurvivorCalculator Plug-ins

    The survivor calculator determines which eld values rom the various system records willpopulate the SBR or the enterprise record. You can create a custom survivor calculator classthat selects the surviving eld values. Your custom class must implement the survivor calculatorinterace. Call selectField in com.stc.eindex.survivor.SurvivorStrategyInterface toreturn the SBR value or each eld. For more inormation about the classes and methods to use,see the Javadocs or Oracle Java CAPS Master Index. The primary classes are contained in thecom.stc.eindex.survivor package. Enter the ully qualied class path or the custom survivor

    calculator in the Best Record le.

    Master IndexQueryBuilder Plug-ins

    The query builder denes the dierent types o queries that can be used in the master indexapplication. You can implement custom queries using custom plug-ins. To create a new querybuilder, you must dene a class that extends the base abstractcom.stc.eindex.querybuilder.QueryBuilder and then speciy that class in a query-builder

    Developing Oracle Java CAPS Master Patient Indexes 27

    Custom Plug-Ins or Master IndexCustomComponents

  • 8/3/2019 821-2566

    28/52

    element in the Candidate Select le. The exception thrown iscom.stc.eindex.querybuilder.QueryBuilderException . The ollowing methods must beimplemented.

    init - This method receives the XML elements ater the confgelement o the CandidateSelect le so the query builder can read its custom conguration.

    getApplicableQueryIds - This method returns an array o string IDs indicating the queryobjects that can be generated given the available criteria. For example, in the blockingconguration, the unique ID o each block denition is the string that is returned bygetApplicableQueryIds.

    buildQueryObject - This method constructs the query object based on one o the applicablequery IDs provided as an input argument.

    For more inormation about query-related Java classes, see the master index Javadocs.

    Master IndexBlockPickerPlug-ins

    The block picker chooses which block denition in the blocking query to use or the nextmatching pass. You can create a custom block picker class to select query blocks in a customizedmanner. I you create a custom block picker, speciy the ully qualied name o this customplug-in or theblock-pickerelement o the Match Field le. Follow these guidelines whenimplementing a custom block picker.

    Implement the com.stc.eindex.matching.BlockPicker interace to select the blocks inthe desired order.

    I none o the remaining blocks should be executed, throw a NoBlockApplicableExceptionrom the pickBlock method.

    Master IndexPassControllerPlug-ins

    The matching process can be executed in multiple stages. Ater a block is evaluated, the pass

    controller determines whether the results ound are sufcient or i matching should continue byperorming another match pass. I you create a custom pass controller, speciy the name o thecustom Pass Controller in thepass-controllerelement o the Match Field le. Follow theseguidelines when implementing a custom pass controller.

    Implement the com.stc.eindex.matching.PassController interace to evaluate whetherto do another pass or not.

    Return true rom evalAnotherPass to speciy that an additional pass be perormed; returnfalse to speciy that no additional passes are perormed.

    Developing OracleJava CAPSMaster Patient Indexes March 201128

    Implementing Master IndexCustomPlug-ins

  • 8/3/2019 821-2566

    29/52

    Match EnginePlug-ins

    You can dene classes to connect to a custom match engine instead o the Oracle Java CAPS

    Match Engine. Speciy the names o the custom classes you create in the matcher-api andmatcher-confgelements o the Match Field le. Follow these guidelines when implementingcustom match engine classes.

    Implement the com.stc.eindex.matching.MatcherAPI interace to communicate with thematch engine.

    Implement the com.stc.eindex.matching.MatchEngineConfiguration interace toretrieve any conguration values the match engine requires or initialization.

    StandardizationEnginePlug-ins

    You can dene classes to connect to a custom standardization engine instead o the Oracle JavaCAPS Match Engine. Speciy the names o the custom classes you create in the standardizer-apiand standardizer-confgelements o the Match Field le. Follow these guidelines whenimplementing custom standardization engine classes.

    Implement the com.stc.eindex.matching.StandardizerAPI interace to communicatewith the standardization engine.

    Implement the com.stc.eindex.matching.StandardizerEngineConfiguration interaceto retrieve any conguration values the standardization engine requires or initialization.

    PhoneticEncodersPlug-ins or aMaster Index

    The master index application supports several phonetic encoders, and you can dene customclasses to implement additional phonetic encoders i needed. Speciy the names o the customclasses you create in the encoder-implementation-classelement o the Match Field le. Whencreating a custom phonetic encoder class, implement thecom.stc.eindex.phonetic.PhoneticEncoder interace.

    ImplementingMaster IndexCustomPlug-insCustom plug-ins are created in the com.stc.eindex.user package, and the name you speciyor each plug-in is the name o the Java class created or the plug-in. You can create multiplesource les that make up a plug-in. When you speciy the custom plug-in in the congurationles, use the ully qualied class name o the class the master index application should call tocarry out the custom processing. For example, i you create a custom plug-in namedMergePolicy, the value to enter or the class in the Best Record le iscom.stc.eindex.user.MergePolicy.

    Developing Oracle Java CAPS Master Patient Indexes 29

    Implementing Master IndexCustomPlug-ins

  • 8/3/2019 821-2566

    30/52

    Follow these steps to implement a custom plug-in.

    Creating Master Index Custom Plug-ins on page 30 Building Master Index Custom Plug-ins on page 31

    Note You can create custom plug-ins that dene custom processing or that dene customcomponents. For additional inormation about how to implement specic custom-plug ins, seethe ollowing topics:

    Custom Plug-ins or Master Index Custom Transaction Processing on page 22 Custom Plug-Ins or Master Index Custom Components on page 27

    CreatingMaster IndexCustomPlug-ins

    You create a custom plug-in by composing Java code into a custom plug-in le in NetBeans.When you create a custom plug-in, a le is automatically created or you with the rst linealready entered (package com.stc.eindex.user;).

    ToCreateCustomPlug-ins

    In the Projects window, expand the master index project and then expand the masterindex

    application.

    For each sourcefle that defnes a custom plug-in, do the ollowing:

    a. Right-click the Custom Plug-ins older, and select New rom the context menu that appears.

    b. Enter the name o the Javaclass you want to create and then clickOK.

    The custom plug-in le appears in the NetBeans editor.

    c. Create the custom processing rules using Java code.

    d. Closeand save the fle.

    Build the custom plug-infles, as described under Building Master Index Custom Plug-inson

    page 31.

    Speciy the name o the class the masterindex application should call or the custom plug-in in

    the appropriate confguration fle.

    1

    2

    3

    4

    Developing OracleJava CAPSMaster Patient Indexes March 201130

    Generating the Master IndexApplication

  • 8/3/2019 821-2566

    31/52

    BuildingMaster IndexCustomPlug-ins

    In order or the custom plug-ins you create to become a part o the master index application,

    you must build the plug-in les. This compiles the Java code and incorporates it into theapplication les. Compiling errors or custom plug-ins are not written to a log. An errormessage trace appears on a console window alerting you to the errors that occurred.

    ToBuildCustomPlug-ins

    In the master index project, right-click the Custom Plug-ins older.

    Select Build rom the context menu that appears.

    Note I you modiy a custom plug-in le ater it has been checked in, be sure to check the leout beore making any changes; otherwise, any changes will be lost when you try to save the le.Rebuild the plug-in ater you save the changes, and then regenerate the application toincorporate the changes. Regenerating the application also rebuilds all custom plug-ins.

    GeneratingtheMaster IndexApplicationBeore you generate the application, review the conguration les and make any necessarymodications (see Confguring Oracle Java CAPSMaster Indexes (Repository) or moreinormation). Once all modications to the conguration les are complete and any customplug-ins are built, generate the master index application to update the application components.I you modiy any o the conguration les, match and standardization engine les, or customplug-ins ater you generate the application, you need to regenerate the application to update thecustom components.

    Note I any errors occur while compiling the application, they appear in the output panel in thebottom o the window. This window also displays the status o the generate process.

    ToGeneratetheApplication or theFirstTime

    Save anyconfguration changes to the masterindex project.

    Right-click the master index application in the Projects window.

    Select Generate.

    The project components are generated. This might take a ew minutes.

    1

    2

    1

    2

    3

    Developing Oracle Java CAPS Master Patient Indexes 31

    Generating the Master IndexApplication

    http://docs.sun.com/doc/821-2558http://docs.sun.com/doc/821-2558
  • 8/3/2019 821-2566

    32/52

    On the NetBeans toolbar, click Save.

    I you are using command line reports, do the ollowing:

    a. Export the generatedPerson_stc_eindex_client.jar and

    Person_stc_eindex_util.jar flestothe /lib subdirectory in the reports homedirectory.

    b. Inthe /lib subdirectory, renamePerson_stc_eindex_client.jar to

    stc_eindex_client.jar and renamePerson_stc_eindex_util.jar to

    stc_eindex_util.jar.

    ToRegenerate theApplication

    Save anyconfguration changes to the masterindex project.

    Right-click the master index application in the Projects window.

    Select Generate, and then clickYes on the dialog box that appears.

    The application components are regenerated. This might take a ew minutes. The output paneldisplays the status and any errors that occur.

    On the NetBeans toolbar, click Save.

    I there are any client projects with Collaborations that reerence the masterindex server

    project, reresh those Collaborations.

    I there were any changes to how incoming data is processed (such as changes to the output

    OTD), re-import the.jarfles.

    a. Open the Collaboration in the Collaboration Editorand click Import JAR Files.

    The Add/Remove Jar Files dialog box appears.

    b. For each master index application.jarfle, highlight the flename on the Add/Remove Jar

    Files dialog box, and then click Remove.

    c. For each fle to re-import, click Add, double-clickthe masterindex server project, select the

    .jarfle, and then click Import.

    I you are using command line reports, do the ollowing:

    a. Export the regeneratedPerson_stc_eindex_client.jar and

    Person_stc_eindex_util.jar flestothe /lib subdirectory in the reports homedirectory.

    4

    5

    1

    2

    3

    4

    5

    6

    7

    Developing OracleJava CAPSMaster Patient Indexes March 201132

    Master IndexDatabaseScripts and Design

  • 8/3/2019 821-2566

    33/52

    b. Inthe /lib subdirectory, renamePerson_stc_eindex_client.jar to

    stc_eindex_client.jar and renamePerson_stc_eindex_util.jar to

    stc_eindex_util.jar.

    Master IndexDatabaseScriptsandDesignBeore you create the master index database, amiliarize yoursel with the database scripts andthe database structure. Analyze your database requirements, including hardwareconsiderations, startup data, indexing needs, perormance, and so on.

    The ollowing topics provide inormation to help you in your analysis.

    Master Index Database Scripts on page 33 Master Index Database Requirements on page 33 Master Index Database Structure on page 35 Designing the Master Index Database on page 36

    Master Index Database Table Description or sbyn_systems on page 42 Master Index Database Table Description or sbyn_user_code on page 46

    Master IndexDatabaseScripts

    The database scripts include scripts or dening code lists and external systems, or creatingtables and indexes, and or dropping tables and indexes. These scripts appear under theDatabase Script node o the master index project, and are named Systems, Code List, CreateUser Indexes, Drop User Indexes, Create User Code Data, Create Person Database, and DropPerson Database. You can modiy these scripts as needed to customize the tables, indexes,

    startup data, and database distribution. You can also create new database scripts i needed.

    Master IndexDatabaseRequirements

    When conguring the master index database, there are several actors to consider, includingbasic sotware requirements, operating systems, disk space, and so on. This section provides asummary o requirements or the database. For more detailed inormation about designing andimplementing the database, reer to the appropriate Oracle or SQL Server documentation. Theperson responsible or the database conguration should be an Oracle or SQL Server databaseadministrator amiliar with the master index database and with your data processingrequirements.

    DatabasePlatormRequirements

    The master index database can be run on SQL Server or on Oracle. For specic version

    inormation, see Java CAPS 6.3 Components and Supported External Systems inPlanning or

    Developing Oracle Java CAPS Master Patient Indexes 33

    Master IndexDatabaseScripts and Design

    http://docs.sun.com/doc/821-2530/inst_support_extsys_r?a=viewhttp://docs.sun.com/doc/821-2530/inst_support_extsys_r?a=viewhttp://docs.sun.com/doc/821-2530/inst_support_extsys_r?a=view
  • 8/3/2019 821-2566

    34/52

    Oracle JavaCAPS 6.3 Installation . You must have this sotware installed beore beginning thedatabase installation. Make sure you also install the latest patches or the version you are using.

    OperatingSystemRequirements

    The database can be installed on any operating system supported by the database platorm youare using. See the Oracle or SQL Server documentation or more inormation.

    HardwareRequirements

    This section describes the minimum recommended hardware conguration or a databaseinstallation. These requirements are based on the minimum requirements recommended byOracle and SQL Server or a typical installation. Depending on the size o the database andexpected volume, you should increase these recommendations as needed. See your Oracle orSQL Server documentation or more inormation and or supported operating systems.

    Oracle Database

    For a Windows database server, the ollowing conguration is recommended as a minimalinstallation:

    Windows 2000 SP3 or later, Windows XP SP2, or Windows Server 2003

    Pentium 266 or later

    1 GB RAM (increase this based on the number o users, connections to the database, andvolume)

    Virtual memory should be double the amount o RAM

    3 GB disk space plus an additional 2 KB or each system record to be stored in the database(note that this is a conservative estimate per system record, assuming that most records donot contain complete data). This depends on the Oracle environment you install. EnterpriseEdition can take up to 5 GB.

    256-color video

    For a UNIX database server, the ollowing conguration is recommended as a minimalinstallation:

    256 MB RAM (increase this based on the number o users and connections to the database)

    Swap space should be a minimum o twice the amount o RAM

    2 GB disk space plus an additional 2 KB or each system record to be stored in the database(note that this is a conservative estimate per system record, assuming that most records do

    not contain complete data).

    Developing OracleJava CAPSMaster Patient Indexes March 201134

    Master IndexDatabaseScripts and Design

    http://docs.sun.com/doc/821-2530/inst_support_extsys_r?a=viewhttp://docs.sun.com/doc/821-2530/inst_support_extsys_r?a=view
  • 8/3/2019 821-2566

    35/52

    Note Disk space recommendations do not take into account the volume and processingrequirements or the number o users. These are minimal requirements to install a generic

    database. At a minimum, the empty database and the database sotware will require 2.5 GBo disk space.

    Microsot SQL Server

    The ollowing conguration is recommended as a minimal installation or a SQL Serverdatabase.

    Pentium III-compatible processor or higher 512 MB RAM as a minimum; at least 1 GB is recommended (increase this based on the

    number o users, connections to the database, and volume)

    3 GB disk space plus an additional 2 KB or each system record to be stored in the database(note that this is a conservative estimate per system record, assuming that most records donot contain complete data). This depends on the SQL Server environment you install.

    VGA or higher resolution

    Note Disk space recommendations do not take into account the volume and processingrequirements or the number o users. These are minimal requirements to install a genericdatabase. At a minimum, the empty database and the database sotware will require 1.6 GBo disk space.

    Master IndexDatabaseStructureThe master index database contains some common tables that are created or allimplementations and some that are customized or each implementation. The common tablesinclude standard Oracle or SQL Server tables and supporting tables, such as sbyn_seq_table,sbyn_common_header, and sbyn_common_detail. These tables do not store inormation aboutthe enterprise object structure you dened. The names o the tables that store inormationabout the enterprise object are customized based on the object structure.

    Two tables store inormation about the primary, or parent, object you dened:sbyn_parent_objectand sbyn_parent_objectsbr, whereparent_objectis the name you speciedor the parent object in the object structure. The sbyn_parent_objecttable stores parent objectdata rom each local system and the sbyn_parent_objectsbr table stores the parent object datacontained in the SBRs. Similar tables are created or each child object you dened in the objectstructure.

    For a complete description o the database tables, seeUnderstandingOracle Java CAPSMaster

    IndexConfgurationOptions (Repository).

    Developing Oracle Java CAPS Master Patient Indexes 35

    Master IndexDatabaseScripts and Design

    http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563http://docs.sun.com/doc/821-2563
  • 8/3/2019 821-2566

    36/52

    DesigningtheMaster IndexDatabase

    In designing the database, there are several actors to consider, such as the volume o data stored

    in the database and the number o transactions processed by the database daily. The masterindex database should be created in its own tablespaces. The ollowing sections describe someo the analyses to perorm along with considerations to take into account when designing thedatabase.

    DesigningorPerormanceOptimization

    The Oracle and SQL Server installation guides provide detailed inormation about installing the

    database sotware or optimal perormance. Both database platorms include guides containinginormation about monitoring and ne-tuning your database, including tuning memory, swapspace, I/O, CPU usage, block and le size, and so on. You should be amiliar with these conceptsprior to creating the database.

    DataStructureAnalysis

    Beore dening the object structure, you analyzed the structure o the legacy data to help you

    dene the object structure and the attributes o each eld. You can use this data analysis todetermine the amount o data that will be stored in the database, which will help you size themaster index database and decide how to best distribute the database. Knowing the volume oexisting data plus the expected daily transaction volume will help you plan the requirements othe 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 toenter in the common tables (described below), and should help you determine any deault

    values that have been entered into certain elds that could skew the matching probabilityweights.

    CommonTableData

    Common table data analysis involves gathering inormation about the abbreviations used orspecic data elements in each sending system, such as system codes and codes or certainattributes o the patients in your database, such as language, race, and marital status codes. The

    processing codes and their descriptions are stored in a set o database tables known as commonmaintenance tables. The master index project includes a script to help you load the processingcodes into the database.

    When an enterprise object appears on the Patient EDM, the master index application translatesthe processing codes dened in the common tables into their descriptions so the user is notrequired to decipher each code. The data elements stored in the common maintenance tablesare also used to populate the drop-down lists that appear or certain elds in the Patient EDM.

    Users can select rom these options to populate the associated elds.

    Developing OracleJava CAPSMaster Patient Indexes March 201136

    Master IndexDatabaseScripts and Design

  • 8/3/2019 821-2566

    37/52

    UserCodeData

    User code data analysis involves gathering inormation about the abbreviations used or specicdata elements in each sending system or a eld whose ormat or possible values are constrained

    by a separate eld. For example, i you store credit card inormation, you might have adrop-down list in the Credit Card eld or each credit card type. The ormat o the eld thatstores the credit card number is dependent on the type o credit card you select. You could alsouse user code data to validate cities with postal codes. The abbreviations and related constraintinormation are stored in the sbyn_user_code table. A sample script, Create User Code Data, isprovided to help you insert data into this table.

    DatabaseConsiderations

    When you create the master index database, you need to consider several actors, such as sizing,distribution, indexes, and extents. By deault, all o the master index database tables or anOracle database are installed in the system tablespace. You should install the master index tablesin dierent tablespaces, depending on the original size and expected volume o the database.For SQL Server, the master index tables belong to dbo by deault.

    Database Sizing

    To begin the database installation, you rst create an Oracle or SQL Server database instanceusing the provided conguration tools. Use the tools provided by Oracle or Microsot to denethe tablespace and extent sizing or the database.

    Database Distribution

    When you create the database instance, you can dene the distribution o your system tables,data tables, rollback logs, dump les, control les, and so on. Use internal policies regarding

    relational database distribution to determine how to best distribute your master index database.

    Database Indexes

    By deault, indexes are dened or the ollowing tables: sbyn_appl, sbyn_common_header,sbyn_common_detail, sbyn_enterprise, sbyn_transaction, sbyn_assumedmatch,sbyn_potentialduplicates, sbyn_audit, and sbyn_merge. Index scripts are also created orindexing the elds included in the deault blocking query in the Candidate Select le. You can

    create additional indexes against the database to optimize the searching and matchingprocesses. At a minimum, it is recommended that all combinations o elds used or blocking ormatching be indexed. For each query block dened in the