Sun Master Patient Index is implemented within a project in NetBeans. The Sun Master Patient Index project includes a set of configuration files, database files, and custom plug-ins that you can modify in order to customize your master index implementation. It includes additional components that are automatically updated when you generate the project, including a method Object Type Definition (OTD), an outbound OTD, Business Process methods, database scripts, and application JAR files. To complete the project, you create a Connectivity Map and Deployment Profile.
Additional Java CAPS components can be added to the client projects that share data with Sun Master Patient Index, including Services, Collaborations, OTDs, Web Connectors, Adapters, JMS Queues, JMS Topics, Business Processes, and so on.
The primary Sun Master Patient Index project components include the following. Each is described in more detail below.
The following figure illustrates the project and Environment components of Sun Master Patient Index.
These files define the configuration of the runtime environment, such as the object structure, how matching is performed, how the SBR is created, and so on. The runtime components configured by these files are listed in Sun Master Patient Index Runtime Environment Components
Object Definition - Defines the data structure of the object being indexed in a master patient index application.
Enterprise Data Manager - Configures the search functions and appearance of the Patient EDM, along with debug information and security information for authorization.
Candidate Select - Configures the Query Builder component of the master index application and defines the queries available for the index.
Match Field - Configures the Matching Service and defines the fields to be standardized or used for matching. It also specifies the match and standardization engines to use.
Threshold - Configures the Manager Service and defines certain system parameters, such as match thresholds, EUID attributes, and update modes. It also specifies the query from the Query Builder to use for matching queries.
Best Record - Configures the Update Manager and defines the strategies used by the survivor calculator to determine the field values for the single best record (SBR). You can define custom update procedures in this file.
Field Validation - Defines rules for validating field values. Rules are predefined for validating the local ID field and you can create custom validation rules to plug in to this file.
Security - This file is a placeholder to be used in future versions.
These scripts contain the SQL statements used to create the database and the required start-up data. A script is also included to create additional indexes against the database based on the predefined blocking query. A script to drop the database is provided for testing purposes.
Systems - Contains the SQL insert statements that add the external systems you specified in the wizard to the database. You can define additional systems in this file.
Code List - Contains the SQL statements to insert processing codes and drop-down list values into the database. Some of the entries in this file are generated by the wizard. Code lists must be defined in this file to make them available to the master index application.
Create Person database - Defines the structure of the master index database based on the object structure specified in the wizard. You can customize this file and then run it against an Oracle or SQL Server database to create a customized master index database.
Create User Indexes - Defines indexes against the fields that are defined for the blocking query in the Candidate Select file. You can define additional indexes if needed.
Create User Code Data - Provides a sample script for adding data to the sbyn_user_code table.
Drop Person database - Used primarily in testing when you need to drop existing database tables and create new ones. The delete script removes all tables related to the master index application so you can recreate a fresh database for your project.
Drop User Indexes - Used primarily in testing, when you need to drop existing indexes, or for loading large batches of data, when indexes can slow down the process. This script removes all indexes defined in the Create User Indexes script.
Custom plug-ins allow you to incorporate custom logic into Sun Master Patient Index by creating user-defined Java classes. Several custom plug-ins are already provided that automatically create aliases for person names when certain updates are made to a record. For example, if the first, last, middle, or maiden name is changed during a transaction, the previous name is added as an alias.
These files define characteristics of the standardization and matching processes. The configuration files under that Match Engine node define certain weighting characteristics and constants for the match engine. The configuration files under the Standardization Engine node define how to standardize names, business names, and address fields. You can customize these files as needed.
The outbound OTD in the Sun Master Patient Index project is based on the object structure define in the Object Definition file. The OTD is used for distributing information that has been added or updated in Sun Master Patient Index to external systems. It includes the objects and fields defined in the Object Definition file plus additional SBR information (such as the create date and create user) and additional system object information (such as the local ID and system code). If you plan to use this OTD to make the master index application data available to external systems, you must define a JMS Topic in the master index Connectivity Map to which the master index application can publish transactions.
These methods are used in Collaborations and Business Processes to process data through the master index. These methods are generated dynamically based on the object structure defines in the Object Definition file. The names, parameter types, and return types of these methods vary based on whether you modify the object structure in the Object Definition file. These methods are described in Understanding Sun Master Index Processing (Repository).
The master index project Connectivity Map consists of two required components: the web application service and the application service. Two optional components are a JMS Topic for broadcasting messages and an Oracle or SQL Server Adapter for database connectivity. In client project Connectivity Maps you can use any of the standard project components to define connectivity and data flow to and from the master index application. Client projects include those created for the external systems sharing data with the index through a Collaboration or Business Process.
For client projects, you can use connectivity components from the master index server project and any standard Java CAPS connectivity components, such as OTDs, Services, Collaborations, JMS Queues, JMS Topics, and Adapters. Client project components transform and route incoming data into the master index database according to the rules contained in the Collaborations or Business Processes. They can also route the processed data back to the appropriate local systems through Adapters.
The Deployment Profile defines information about the production environment, including information about the assignment of Services and message destinations to application or integration servers and JMS IQ Managers within the Sun Master Patient Index system. Each Sun Master Patient Index project must have at least one Deployment Profile, and can have several, depending on the project requirements and the number of Environments used. You need to deploy the Sun Master Patient Index server project before deploying the client projects in order to make the master index application available to the client Deployment Profiles.