Sun Master Patient Index has two types of components: Repository and runtime. The Repository components work within NetBeans and are used during the design and configuration phases to create and customize the master patient index and to define connectivity between external systems and Sun Master Patient Index. The primary Repository components include the following:
Sun Master Patient Index provides the following editors to help you customize the files in the Sun Master Patient Index project.
Configuration Editor (Repository) - Allows you to customize certain portions of the XML configuration files using a graphic interface. The Configuration Editor provides validation services for file structure and syntax.
XML Editor - Allows you to review and customize the XML configuration files. The editor provides schema validation services and verification for XML syntax. The XML editor is automatically launched when you open a Sun Master Patient Index configuration file.
Text Editor – Allows you to review and customize the database scripts for the master index. This editor is very similar to the XML editor but without the verification services. The text editor is automatically launched when you open a Sun Master Patient Index database script or configuration file.
Java Source Editor – Allows you to create and customize custom plug-in classes for the master index application. This editor is a simple text editor, similar to the Java Source Editor in the Java Collaboration Editor. The Java source editor is automatically launched when you open a custom plug-in file.
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.
The Sun Master Patient Index Environments define the deployment environment of the runtime components, including the Logical Host and application server. For client projects referencing the Sun Master Patient Index project, an Environment might also include a JMS IQ Manager, constants, Web Connectors, and External Systems. Each Environment represents a unit of software that implements Sun Master Patient Index. You must define and configure at least one Environment for Sun Master Patient Index before you can deploy the application. The application server hosting Sun Master Patient Index is configured within the Environment.