Oracle® Healthcare Master Person Index

Working With HPD Profile Application User's Guide

Release 4.0.1

E68431-02

May 2016

Oracle Healthcare Master Person Index Working With HPD Profile Application User's Guide Release 4.0.1

E68431-02

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

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

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

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

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

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

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

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

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

Contents

List of Figures

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Finding Information and Patches on My Oracle Support

- Finding Oracle Documentation

- Conventions

1 Overview of the HPD Application

- Introducing OHMPI's HPD Support

- Understanding HPD Application's Design-time Components

- Understanding HPD Application's Runtime Components

- HPD Services

- Individual Provider Master Person Index

- Organizational Provider Master Person Index

- Linking to HPD Application Tasks

- For a Production Environment

- Additional Steps to Set Up the HPD Application

- For Running Test Data

2 Creating HPD Application Related Projects

- Creating HPD Application Related Projects

- To Create HPD Application Related Projects

- Configuring Individual/Organizational Provider MPI Project

- Using HPD Project's Context-Sensitive Menu

- Configuring HPD Project

- To Configure services.properties

- Building HPD Application Related Projects

- To Build Individual Provider MPI Project

- To Build Organizational Provider MPI Project

- To Build HPD Project

3 Creating MPI and HPD Database Tables

- Creating MPI and HPD Application Database Tables

- Creating MPI and HPD Database Tables Automatically

- Creating Individual Provider MPI Database Tables Manually

- To Create the Individual Provider MPI Database Tables

- To Create the Organizational Provider MPI Database Tables

- To Create the HPD Relationship Database Tables

4 Configuring an Application Server

- Configuring Application Server Resources

- Creating JDBC Data Resources for Individual Provider MPI Application

- Creating JDBC Data Resources for Organizational Provider MPI Application

- Creating JDBC Data Resources for HPD Application

- Creating JMS Resources for Individual Provider MPI Application

- To Create JMS Server

- To Create JMS Module

- To Create JMS Connection Factory

- To Create JMS Topic

- Creating JMS Resources for Organizational MPI Provider Application

- Creating JMS Resources for HPD Application

- To Create JMS Server

- To Create JMS Module

- To Create JMS Connection Factory

- To Create JMS Queue (HPDFeedQueue)

- To Create JMS Queue (HPDFeedDeadQueue)

- To Edit a Queue

- Creating User Accounts for Individual/Organizational MPI Application MIDM Access

5 Configuring and Using Audit Record Repository

6 Deploying the HPD Application

- Deploying and Running Individual Provider MPI Application

- Deploying and Running Individual Provider MPI Application on an Oracle WebLogic Server

- Deploying and Running Organizational Provider MPI Application

- Deploying HPD Application

- Running Data through the HPD Application

- To Run HPD Sample Data

7 Monitoring and Maintaining Master Index Data for Individual/Organizational Providers

- Using MIDM to Monitor and Maintain Master Index Data for Individual/Organizational Providers

- Logging in to the Master Index Data Manager

- To Log in to the MIDM

A Sample HPD Messages

- HPD Feed Sample Message (Add Individual Provider, Organization Provider, Certificate and Relationship Group)

- HPD Query Sample Message (Query Individual Provider by display name)

- HPD Query Sample Message (Query Relationship Group by Owner)

List of Figures

- 1-1 HPD Application Runtime Components

Preface

This document provides information on the Healthcare Provider Directory (HPD) Profile that supports queries against, and management of, healthcare provider information that can be publicly shared in a directory structure.

Audience

This document is intended for users of the OHMPI who want to create an HPD Profile compliant application.

Documentation Accessibility

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

Access to Oracle Support

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

Related Documents

For more information and instructions for implementing and using a master person index application, see the following documents in the Oracle Healthcare Master Person Index documentation set:

- Oracle Healthcare Master Person Index Analyzing and Cleansing Data User's Guide

- Oracle Healthcare Master Person Index Australia Patient Solution User's Guide

- Oracle Healthcare Master Person Index Command Line Reports and Database Management User's Guide

- Oracle Healthcare Master Person Index Configuration Guide

- Oracle Healthcare Master Person Index Configuration Reference

- Oracle Healthcare Master Person Index Data Manager User's Guide

- Oracle Healthcare Master Person Index Installation Guide

- Oracle Healthcare Master Person Index Loading the Initial Data Set User's Guide

- Oracle Healthcare Master Person Index Match Engine Reference

- Oracle Healthcare Master Person Index Message Processing Reference

- Oracle Healthcare Master Person Index Provider Index User's Guide

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

- Oracle Healthcare Master Person Index Relationship Management Data Manager User's Guide

- Oracle Healthcare Master Person Index Relationship Management REST APIs Reference Guide

- Oracle Healthcare Master Person Index Relationship Management User's Guide

- Oracle Healthcare Master Person Index Release Notes

- Oracle Healthcare Master Person Index Security Guide

- Oracle Healthcare Master Person Index Standardization Engine Reference

- Oracle Healthcare Master Person Index Third Party Licenses and Notices

- Oracle Healthcare Master Person Index United Kingdom Patient Solution User's Guide

- Oracle Healthcare Master Person Index United States Patient Solution User's Guide

- Oracle Healthcare Master Person Index User's Guide

- Oracle Healthcare Master Person Index Working With HPD Profile Application User's Guide

- Oracle Healthcare Master Person Index Working With IHE Profiles User's Guide

Note:
These documents are designed to be used together when implementing a master index application.

Finding Information and Patches on My Oracle Support

Your source for the latest information about Oracle Healthcare Master Person Index is Oracle Support's self-service website My Oracle Support (formerly MetaLink).

Before you install and use Oracle Healthcare Master Person Index, always visit the My Oracle Support website for the latest information, including alerts, White Papers, installation verification (smoke) tests, bulletins, and patches.

Creating a My Oracle Support Account

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

To register for My Oracle Support:

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

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

3. Follow the instructions on the registration page.

Signing In to My Oracle Support

To sign in to My Oracle Support:

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

2. Click Sign In.

3. Enter your user name and password.

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

Finding Information on My Oracle Support

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

Searching by Article ID

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

To search by article ID:

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

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

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

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

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

Searching by Product and Topic

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

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

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

Finding Patches on My Oracle Support

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

To locate and download a patch:

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

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

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

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

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

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

5. Click Download. Follow the instructions on the screen to download, save, and install the patch files.

Finding Oracle Documentation

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

Finding Oracle Health Sciences Documentation

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

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

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

Finding Other Oracle Documentation

To get user documentation for other Oracle products:

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

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

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

3. Click the link for the documentation you need.

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Overview of the HPD Application

This chapter provides an overview of the Healthcare Provider Directory (HPD) Application in Oracle Healthcare Master Person Index (OHMPI). It also provides links to instructions in the following chapters that help you understand and use OHMPI and the HPD Application.

This chapter includes the following sections:

- Introducing OHMPI's HPD Support

- Linking to HPD Application Tasks

Introducing OHMPI's HPD Support

Integrating the Healthcare Enterprise's (IHE) Healthcare Provider Directory (HPD) specification is available at http://www.ihe.net/uploadedFiles/Documents/ITI/IHE_ITI_Suppl_HPD.pdf. It supports management (persistence and access) of healthcare provider information in a directory structure. HPD directory structure is a listing of the following two categories of healthcare providers that are classified by provider type, specialties, credentials, demographics, and service locations:

- Individual Provider: A person who provides healthcare services, such as a physician, nurse, or pharmacist.

- Organizational Provider: Organization that provides or supports healthcare services, such as hospital, Healthcare Information Exchange (HIE), Managed Care, Integrated Delivery Network (IDN), and Association.

OHMPI's HPD Application serves as the Provider Information Directory actor defined by IHE's HPD Profile and provides a flexible solution to healthcare integration needs. It uses processing logic based on the guidelines and standards put forth by IHE to assure compatibility with other vendors and healthcare organizations. A Provider Information Source interfaces with the Provider Information Directory to send new and updated provider information. A Provider Information Consumer interfaces with the Provider Information Directory to query provider information. Provider Information Directory can rely on other external Provider Information Directories for federation.

OHMPI's HPD support leverages the advanced standardization and matching algorithms of Master Person Index to cross-reference and uniquely identify the individual providers and organizational providers. Master Person Index provides a single complete view of the participants in the healthcare system and is able to quickly reconcile which information is associated with which provider.

The HPD Application processes HPD Feed and HPD Query messages based on the IHE IT infrastructure technical frameworks. Information about the state of the HPD Application is provided by a common logging, alerting, error handling, and reporting mechanism.

Understanding HPD Application's Design-time Components

HPD Application's design-time is composed of the following three top-level NetBeans Projects:

- Individual Provider MPI Project

- Organizational Provider MPI Project

- HPD Project

When a new HPD Project is created in NetBeans, a pre-defined Individual Provider MPI Project and a pre-defined Organizational Provider MPI Projects are also created. The three projects need to be configured, built, and deployed separately.

The out-of-box Individual or Organizational Provider MPI Project has a pre-defined MPI object model that is compatible with IHE's HPD specification.

The HPD Project maintains the relationship between the Individual Providers and Organizational Providers.

Note:
The term HPD Project is used for the design-time NetBeans project, and HPD Application for the runtime overall HPD application.

Understanding HPD Application's Runtime Components

The HPD Application Runtime has a number of components, which are illustrated in Figure 1-1. They are:

- HPD Services

- Individual Provider Master Person Index

- Organizational Provider Master Person Index

These three runtime components correspond to the three NetBeans Projects in design-time.

Figure 1-1 HPD Application Runtime Components

HPD Services

This component serves as the frontage for the HPD Application's Runtime. It provides the web service interface defined by IHE's HPD Profile. Behind the scene, this component interacts with:

- Individual/Organizational Provider MPI component to persist and query Individual/Organizational Providers, respectively.

- Relationship Manager to persist and manage group and membership relationship between Individual Providers and Organizational Providers.

HPD Web Service's interface is defined by the IHE specification. You can refer to the WSDL and XSD Schema at:

- ftp://ftp.ihe.net/TF_Implementation_Material/ITI/wsdl/HPD_ProviderInformationDirectory.wsdl

- ftp://ftp.ihe.net/TF_Implementation_Material/ITI/schema/IHE/(HPD)%20DSMLv2.xsd

- ftp://ftp.ihe.net/TF_Implementation_Material/ITI/schema/IHE/HPDFederatedStructures.xsd

Individual Provider Master Person Index

This component is the core Individual Provider identity resolution component that leverages OHMPI's powerful matching and standardization engines to uniquely identify and cross-reference individual provider objects based on a canonical individual provider object model.

OHMPI's powerful, extensible, and configurable Match Engine compares complex data records containing a multitude of data types and calculates a global composite weight that reflects how closely the records match. From this, OHMPI builds a cross-index that is used to provide a single view of the Individual Provider information from multiple source systems in real time.

Organizational Provider Master Person Index

Similar to Individual Provider Master Person Index, this component provides MPI functionality for Organizational Providers.

Linking to HPD Application Tasks

This document includes several tasks that are optional and some that are required for a production environment. The tasks are listed by category, as below.

For a Production Environment

For a production environment, you need to configure certain variables unless you specified the correct values during installation, and source systems need to be added in the Individual/Organizational Provider MPI Project. Optionally, you can configure Master Person Index processing.

Additional Steps to Set Up the HPD Application

Perform the following additional steps before you begin using the HPD Application:

- Create HPD application databases and tables. For information, see Chapter 3, "Creating MPI and HPD Database Tables".

- Configure application server resources. For information, see Configuring Application Server Resources.

For Running Test Data

If you performed a complete installation of OHMPI, you are ready to work with the HPD Application and can start running test data, and using the Master Index Data Manager (MIDM). For instructions on running test data and monitoring the processed data, see Running Data through the HPD Application.

2 Creating HPD Application Related Projects

This chapter provides procedures on how to create, configure, and build HPD Application related projects. It also discusses the features of an HPD Project's context-sensitive menu.

This chapter includes the following sections:

- Creating HPD Application Related Projects

- Configuring Individual/Organizational Provider MPI Project

- Using HPD Project's Context-Sensitive Menu

- Configuring HPD Project

- Building HPD Application Related Projects

Creating HPD Application Related Projects

HPD Application design-time support is a NetBeans plug-in. The New HPD Project wizard takes your input and creates an HPD Project along with two pre-configured Master Person Index (MPI) Projects for Individual Provider and Organizational Provider. You are able to fine-tune the matching service of the Master Person Index for Individual and Organizational Provider, and configure various properties of the HPD project. The HPD Project's Create Database dialog allows you to easily create database tables for Individual/Organizational Provider and their Relationship. Once the database table is created, you can deploy the Individual/Organizational Provider MPI Project and HPD Project to the target server using the application server administration console.

To Create HPD Application Related Projects

To create HPD Application related projects, perform the following:

1. From the NetBeans IDE, click File and then choose New Project.
The New Project dialog appears.

2. Choose OHMPI in the Project Category. In the Projects section of the Choose Project panel, choose HPD Profile Application and click Next.
The New HPD Project dialog appears.

3. In the Name and Location panel, perform the following:

1. In the Project Name field, type a name for your project (for example, HPD1).

2. In the Project Location field, browse to the path where you want to create the HPD Project.
The Project Folder field populates with the path and name of your project.

3. Click Finish.

Two pre-defined MPI Projects for Individual Provider and Organizational Provider are created automatically along with the HPD Project.

The two MPI Projects are named by <hpd_project_name>-IndProvider, and <hpd_project_name>-OrgProvider, respectively. The corresponding application names for these two MPI Projects are fixed to HPDIndProvider and HPDOrgProvider, respectively. Note the difference between the project name and application name. Later on, the two MPI Project's application names are needed to configure various Application Server resources.

Note:
These two MPI Projects have to be built and deployed separately along with the HPD Project.

Configuring Individual/Organizational Provider MPI Project

You can configure several features of the Master Person Index to customize how data is matched and processed in the Individual/Organizational Provider MPI Project. The type and quality of data stored for a provider varies from system to system and from organization to organization. The Master Person Index takes this into account and lets you to tailor the processing for your specific data requirements. For example, you may know that some systems contain more accurate data than others. You can weight those systems higher when determining which values will populate the single best record (SBR). Also, some fields might contain more accurate data than others and would thus be given a higher match weight than other less accurate fields.

You can configure the following components of the Master Person Index:

- Provider demographic queries, matching queries, and queries performed from the MIDM.

- Standardization and matching rules, including which fields to standardize, which fields to match, a range of match weights to assign to each field, and the type of algorithm to use to match each field.

- Filters for match results (for example, you can configure the Master Person Index to ignore default values).

- The single best record and how it is formed.

- The appearance of the Master Index Data Manager (MIDM).

- Field validations.

In addition, you can customize logic for the underlying process of the Master Person Index. For complete information on configuring the Master Person Index, see Oracle Healthcare Master Person Index Configuration Guide.

If you modify the configuration of the Individual/Organizational Provider MPI Project, you need to do the following:

- Clean the Individual/Organizational Provider MPI Project.

- Generate Master Index Files.

- Build the Individual/Organizational Provider MPI Project.

- Deploy the Individual/Organizational Provider MPI Project.

Note:
You cannot modify the object model in the Individual/Organizational Provider MPI Project.

Using HPD Project's Context-Sensitive Menu

The context-sensitive menu that you access by right-clicking an HPD Project in the left panel of NetBeans IDE provides you with the necessary tools to manage the HPD Project.

- Build: Builds an HPD Project and generates its artifacts.

- Clean and Build: Removes generated artifacts from an HPD Project and then rebuilds the project and generates new artifacts.

- Clean: Removes generated artifacts from an HPD Project.

- Create Database: Opens the Create Database dialog. For information, see Creating MPI and HPD Database Tables Automatically).

- Set as Main Project: Sets the selected HPD Project as the main project.

- Open Required Project: Opens the associated Individual/Organizational Provider MPI Projects.

- Close: Closes the HPD Project.

- Properties: Opens the Project Properties dialog, where you can change various runtime HPD configurations.

Configuring HPD Project

Before building HPD Project, you need to configure it. This includes:

- Editing the following configuration file to change HPD service properties.
services.properties

To Configure services.properties

Following is a list of user-configurable properties for HPD Project. You need to manually edit the services.properties file before building the HPD Project.

Note:
If you have to change any of these configurations after you build and/or deploy the HPD project, you can always rebuild and redeploy the HPD project after updating the services.properties file. Alternatively, you can create a runtime property file called hpd.properties under the <app_server_domain>/config/ohmpi directory. The properties defined in the runtime hpd.properties overwrite the properties defined in services.properties at build time.

Open the services.properties file under the HPD Project's Configuration Files from within NetBeans IDE and make the appropriate edits.

- base_dn=o=ORACLE,dc=HPD

- ohmpi_assigning_authority_name=OHMPIAssigningAuthority

- sole_source_system=IHEAssigningAuthority

- fail_on_unknown_attribute_in_query=false

- check_base_dn=false

- use_ohmpi_assigning_authority_in_query_response=false

- support_implicit_federation=false

- federation_self_directory_id=

- federation_self_directory_uri=

- federated_directories=

The following table provides detailed explanations to these properties:

Property Name

Property Description

base_dn

This is the Base DN for all the objects in the directory.
As per IHE's HPD specification,

- The Individual Provider's DN is ou=HCProfessional,<base_dn>

- The Organizational Provider's DN is ou= HCRegulatedOrganization,<base_dn>

- The (Group) Relationship's DN is ou=Relationship,<base_dn>

- The Membership's DN is ou=HPDProviderMembership,<base_dn>

- The Service's DN is ou=Services,<base_dn>

- The Credential's DN is ou=HPDCredential,<base_dn>

ohmpi_assigning_authority_name

OHMPI's Assigning Authority Name. This is the namespace to scope all the EUIDs assigned by OHMPI.

sole_source_system

Name of the single source system in HPD Feed. This is to support a special use case of Provider Information Directory where there is only a single source system for Individual/Organizational Providers.
See use_ohmpi_assigning_authority_in_query_response for more information. This property is only applicable when use_ohmpi_assigning_authority_in_query_response is set to false.

fail_on_unknown_attribute_in_query

Whether to fail on unknown attribute in HPD Query.

check_base_dn

Whether to verify Base DN in HPD Query.

use_ohmpi_assigning_authority_in_query_response

Whether to use OHMPI Assigning Authority for DNs in HPD Query response.

- If this is set to true, then DNs in the HPD Query response are scoped by the value of ohmpi_assigning_authority_name. For example, uid=OHMPIAssigningAuthority:0000000001, where 0000000001 is an EUID assigned by OHMPI.

- If this is set to false, then DNs in the HPD Query response are scoped by the value of sole_source_system from HPD Feed. For example, uid=IHEAssigningAuthority:Ind00001.

support_implicit_federation

Whether to perform implicit federation when the Provider Information Consumer is not federation-aware. In other words, if the HPD Query request does not contain federation related control element, whether the Provider Information Directory should try to perform federation anyway.

federation_self_directory_id

A unique global identifier to identify this Provider Information Directory for federation.

federation_self_directory_uri

Service endpoint of this Provider Information Directory for federation.

federated_directories

A list of federated directory entries delimited by '$'. Each federated directory entry is in the format of DIRECTORY_ID^DIRECTORY_URI[^DIRECTORY_BASE_DN].
For example:

federated_directories=directoryId-1^http://10.242.100.100:12290/Connectathon/IheAdapter/HpdService/HpdService^DC=HPD,O=OTHER_CAREEV,C=US$directoryId-2^http://10.242.100.100:15280/HPD/ProviderInformationDirectoryService^dc=HPD,o=IOD Incorporated

Leave the value of this property blank if there is no federated directory.

Building HPD Application Related Projects

This section provides the steps to build an HPD Project along with the Individual/Organizational Provider MPI Project.

To Build Individual Provider MPI Project

1. In the left panel of NetBeans IDE, right-click the Individual Provider MPI Project icon (for example, HPD1-IndProvider).
The context-sensitive menu appears.

2. Run Generate Master Index Files first.

3. To build the Individual MPI Project, click Build on the context-sensitive menu.

When you build the Individual Provider MPI Project, the following artifact is created:

- <hpd_project_name>-IndProvider.ear: This is the deployable file for the Individual Provider MPI Project.

To Build Organizational Provider MPI Project

1. In the left panel of NetBeans IDE, right-click the project icon (for example, HPD1-OrgProvider).
The context-sensitive menu appears.

2. Run Generate Master Index Files first.

3. To build an Organizational MPI Project, click Build on the context-sensitive menu.

When you build the Organizational Provider MPI Application project, the following artifact is created:

- <hpd_project_name>-OrgProvider.ear: This is the deployable file for the Organizational Provider MPI Project.

To Build HPD Project

1. In the left panel of NetBeans IDE, right-click the HPD Project icon (for example, HPD1).
The context-sensitive menu appears.

2. To build HPD Project, click Build on the context-sensitive menu.

When you build the HPD Application project, the following artifacts are created:

Note:
For OHMPI 4.0 release, only <hpd_project_name>.ear is created.

- <hpd_project_name>.ear: This is the deployable file for the HPD Project.

- audit-repo-syslog-client.jar: The JAR file that contains the functionality of the audit repository syslog client.

- ihe-atna-audit-client.jar: The JAR file that contains the functionality of the IHE ATNA audit client.

- ohmpi_audit_client.properties: The property file used to configure where the audit server is located.

After building a WebLogic-targeted IHE Profiles Application project (and before starting WebLogic Application Server), manually copy the following files from the IHE Profiles Application project's dist directory to the appropriate WebLogic domain's lib directory (for example, user_projects\domains\domain_name\lib):

- audit-repo-syslog-client.jar

- ihe-atna-audit-client.jar

- ohmpi_audit_client.properties

- net.java.hulp.i18n-2.1-SNAPSHOT.jar: This file is available in the <HPD project>/<HPD Individual Provider project>/lib folder.

3 Creating MPI and HPD Database Tables

This chapter provides procedures that lead you through creating HPD Application databases and tables.

Creating MPI and HPD Application Database Tables

After installing OHMPI, you need to create database tables for both Individual/Organizational Provider MPI and HPD Application. You must create these tables before you can work with the HPD Application. You can either create the database tables through OHMPI design-time (which is recommended), or create them manually.

For instructions on creating databases and tables using OHMPI design-time, see Creating MPI and HPD Database Tables Automatically.

For instructions on creating database tables manually, see Creating Individual Provider MPI Database Tables Manually.

Creating MPI and HPD Database Tables Automatically

The following three database schemas are created:

- Schema for Individual Provider MPI (default: hpd_ip)

- Schema for Organizational Provider MPI (default: hpd_op)

- Schema for HPD Relationship (default: hpd)

1. Right-click the name of your HPD Project in the left panel of the NetBeans IDE and choose Create Database.
The Create Database dialog appears. Provide the credentials for an existing Oracle server.

2. With the Root Connection tab selected, do the following to configure the database:

- Server Host: The name of the server where the database is located.

- Server Port: The port number of the server where the database is located

- SID/Service Name: Oracle System Identifier or service name

- Root User: The login name of the root user to the database.

- SQL URL: The URL for the database (This is automatically generated.)

3. After the Connection requirements for the database are set, click Test Connection.

4. When satisfied with the Connection settings, click the Schema-Ind Provider tab.

5. With the Schema-Ind Provider tab selected, do the following to configure the database user for the Individual Provider MPI:

- Accept the default database user for the Individual Provider MPI or type a new user.

- Accept the default password or type a new password.

- Click View to view a selected database script. A database script (for example, adding/removing MPI source systems) has to be edited from the corresponding Individual Provider MPI Project.

- Click Run All to run all the database scripts in the current tab.

6. Repeat step 5 for Schema-Org Provider and Schema-HPD.
The Privileges tab identifies the Oracle privileges given to each created user and it is for information only.

Creating Individual Provider MPI Database Tables Manually

Before you begin, make sure you have Oracle installed as a service with remote host access enabled.

To Create the Individual Provider MPI Database Tables

To create the individual Provider MPI Database tables, perform the following:

1. Create an Oracle environment and user (for example, hpd_ip) for the Individual Provider MPI tables by running the following command:
grant CREATE SESSION, CREATE TABLE, CREATE TRIGGER, CREATE PROCEDURE, UNLIMITED TABLESPACE, CREATE TYPE to <USER_NAME> identified by <PASSWORD>

2. Open systems.sql in a text editor and add the source systems with which you will be sharing data.
See step 5 for the location of systems.sql file.

For more information about modifying this file, see Oracle Healthcare Master Person Index User's Guide.

3. (Optional) Open codelist.sql in a text editor, and add any common code information you need for the Individual Provider MPI Project.
See step 5 for the location of codelist.sql file.

For more information about modifying this file, see Oracle Healthcare Master Person Index User's Guide.

The default configuration does not use common code tables. Adding this feature will cause additional validations to be performed against incoming data.

4. Log in to the hpd_ip schema as the user you created above.

5. Run the following SQL files against the hpd_ip schema (<hpd_project_name>\<hpd_project_name>-IndProvider\src\DatabaseScript).
The create.sql file must be run first.

- create.sql

- systems.sql

- codelist.sql

- create-index.sql

To Create the Organizational Provider MPI Database Tables

The procedure to create the Organizational Provider MPI Database tables is similar to the procedure in To Create the Individual Provider MPI Database Tables. Replace Individual Provider by Organizational Provider, and replace hpd_ip by hpd_op.

To Create the HPD Relationship Database Tables

Before you begin, create the individual provider MPI database tables and organizational provider MPI database tables. For instructions, see To Create the Individual Provider MPI Database Tables and To Create the Organizational Provider MPI Database Tables.

1. Create an Oracle environment and user (for example, hpd) for the HPD relationship tables by running the following command:
grant CREATE SESSION, CREATE TABLE, CREATE TRIGGER, CREATE PROCEDURE, UNLIMITED TABLESPACE, CREATE TYPE to <USER_NAME> identified by <PASSWORD>

2. Navigate to the directory to which you created the HPD Project, and then navigate to the src\DatabaseScripts folder.

- create_hpd_ohmpi_tables.sql - creates all the HPD relationship tables.

- drop_hpd_ohmpi_tables.sql - drops all the HPD relationship tables.

3. Log in to the hpd schema as the user you created above.

4. Run create_hpd_ohmpi_tables.sql against the hpd schema.

4 Configuring an Application Server

You must configure application server resources, such as JDBC resources, JMS resources, and user accounts for the Individual/Organizational Provider MPI and the HPD Application.

Configuring Application Server Resources

Before running OHMPI with HPD Application, you must configure application server resources.

- Creating JDBC Data Resources for Individual Provider MPI Application

- Creating JDBC Data Resources for Organizational Provider MPI Application

- Creating JDBC Data Resources for HPD Application

- Creating JMS Resources for Individual Provider MPI Application

- Creating JMS Resources for Organizational MPI Provider Application

- Creating JMS Resources for HPD Application

- Creating User Accounts for Individual/Organizational MPI Application MIDM Access

Creating JDBC Data Resources for Individual Provider MPI Application

1. For instructions on how to start and stop Oracle WebLogic Server, see Oracle Fusion Middleware Online Documentation 12c Release 1 (12.1.3).

2. Launch the Oracle WebLogic Server Administration Console.

3. Log in using the default user Name (weblogic) and Password (welcome1).
The Oracle WebLogic Administration Console appears.

4. On the left panel, under Domain Structure, expand Services, click JDBC, and then choose Data Sources.
A Summary of JDBC Data Sources appears in the right panel.

5. To create a new JDBC Data Source, click New at the bottom of the right panel and select Generic Data Source from the drop-down list.
Settings for a new JDBC Data Source appear in the right panel of the page. It is here that you will create a new JDBC Data Source.

6. In the Name field, type <mpi_application_name>DataSource.
The name you enter here will propagate elsewhere, and it must be the Individual Provider MPI application name that has already been created (for example, HPDIndProviderDataSource).

7. In the JNDI Name field, type jdbc/<mpi_application_name>DataSource.
Use the name you entered in step 6 here (for example, jdbc/HPDIndProviderDataSource).

8. In the Database Type drop-down list, choose the appropriate type (for example: Oracle) and click Next.

9. In the Database Driver drop-down list, choose the appropriate driver.
For example, Oracle's Driver (Thin XA) for Instance Connections; Versions: 9.0.1 and later.

10. Click Next.
Transaction Options appear on the page.

11. Click Next.
Connection Properties appears on the Create a New JDBC Data Source panel. Use it to define the connection properties.

12. In the Database Name field, type a name for the database to which you want to connect (for example, hpd_ip).

13. In the Host Name field, type the name or the IP address of the database server (for example, localhost).

14. In the Port field, type the port on the database server that is used to connect to the database (for example, 1521).

15. In the Database User Name field, type the database account user name you want to use to create database connections (for example, hpd_ip).

16. In the Password field, type a password for your database account to use to create database connections.

17. In the Confirm Password field, re-type the password to confirm it.

18. Click Next.
The Settings for HPDIndProviderDataSource page appears in the right panel.

19. Click Test Configuration and if successful click Next. If it fails, check the above steps.
Select Targets appears on the Create a New JDBC Data Source page in the right panel. Here you select one or more targets to deploy the new JDBC data source.

20. In the Servers check list, select one or more target servers and click Finish.

Note:
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

21. Repeat the above steps to create jdbc/HPDIndProviderSequenceDataSource.

Creating JDBC Data Resources for Organizational Provider MPI Application

The procedure to create JDBC Data Resources for Organizational Provider MPI Application is same as procedure in Creating JDBC Data Resources for Individual Provider MPI Application. Replace HPDIndProvider by HPDOrgProvider, and replace hpd_ip by hpd_op.

Creating JDBC Data Resources for HPD Application

The procedure to create JDBC Data Resources for HPD Application is same as procedure in Creating JDBC Data Resources for Individual Provider MPI Application. Replace HPDIndProvider by HPD, and replace hpd_ip by hpd. Only HPDDataSource needs to be created. No corresponding HPDSequenceDataSource needs to be created though.

Creating JMS Resources for Individual Provider MPI Application

JMS servers act as management containers for the queues and topics in the JMS modules that are targeted to them.

The following procedure includes instructions for creating JMS resources, which includes:

- JMS Server

- JMS Module

- JMS Connection Factory in the specific JMS Module

- JMS Topic in the specific JMS Module

To Create JMS Server

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then choose JMS Servers.
A Summary of JMS Servers appears in the right panel. It includes a table that summarizes the JMS servers that have been created in the current WebLogic Server domain.

2. In the table of previously created JMS Servers, click New.
The Create a New JMS Server panel appears.

3. In the Name field, type the name for your new JMS Server.

Note:
This name already exists in the table of previously created JMS Servers (in the example, HPDIndProviderJMSServer).

4. Click Next.
Select targets appear in the right panel under Create a New JMS Server.

5. From the Target drop-down list, select a target server instance or migratable target on which you want to deploy the JMS Server.
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

6. Click Finish.

To Create JMS Module

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then choose JMS Modules.
The JMS Modules panel appears.

2. In the JMS Modules table, click New to add a new JMS Module.
The Create JMS System Module panel appears.

3. In the Name field, type the new JMS Module name as <mpi_application_name>JMSModule.

Note:
Be consistent to the name chosen for the JDBC Data Source and the JMS Server (in the previous examples the key word was HPDIndProvider, making this name HPDIndProviderJMSModule).

4. Click Next.
Targets appear in the right panel under Create a New JMS System Module.

5. In the Servers area, select the server or cluster on which you want to deploy this JMS system module.
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

Retain the default, examplesServer.

6. Click Finish.

To Create JMS Connection Factory

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then choose JMS Modules.

2. Choose the JMS Module (for example, HPDIndProviderJMSModule) from the table of JMS Modules.
The Settings for HPDIndProviderJMSModule page appears in the right panel.

3. In the Summary of Resources table, click New.

4. Under the Type column in the Summary of Resources table, choose Connection Factory, and click Next.
Another panel of Create a New JMS System Module Resource appears.

5. In the Name field, type <mpi_application_name>OutBoundSender. (For example, HPDIndProviderOutBoundSender.)

6. In the JNDI Name field, type jms/<mpi_application_name>OutBoundSender. (For example, jms/HPDIndProviderOutBoundSender.)

7. Ensure that the XA Connection Factory Enabled check box is selected.

8. Click Next.

9. In the Target field, retain the default server instance, which is exampleServer, and click Finish.
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

To Create JMS Topic

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then choose JMS Modules.

2. In the right panel, choose the JMS Module you created (in the example, HPDIndProviderJMSModule) from the table of JMS Modules.
Settings for HPDIndProviderJMSModule appear in the right panel with a Summary of Resources table.

3. In the Summary of Resources table, click New, select Topic, and then click Next.
The Create a New JMS System Module Resource panel appears on the right side of the window. Use this panel to set the properties that identify the new topic.

4. In the Name field, under JMS Destination Properties, type <mpi_application_name>Topic (for example, HPDIndProviderTopic).

5. Set jms/HPDIndProviderTopic as the JNDI Name and click Next.
The Create a New JMS System Module Resource page appears in the right panel. Use this page to set the properties that will be used to target your new JMS system module resource.

6. In the Subdeployments drop-down list, select the topic name you just created (for example, HPDIndProviderTopic) and click Create a New Subdeployment.

7. In the Subdeployment Name field, type <mpi_application_name>Topic (for example, HPDIndProviderTopic), and click OK.

8. In the Targets table of JMS Servers, select <mpi_application_name>JMSServer (for example, HPDIndProviderJMSServer).
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

9. Click Finish.

Creating JMS Resources for Organizational MPI Provider Application

The procedure to create JMS Resources for Organizational Provider MPI Application is same as procedure in Creating JMS Resources for Individual Provider MPI Application. Replace HPDIndProvider by HPDOrgProvider.

Creating JMS Resources for HPD Application

The JMS resources for the HPD application are similar to those of the MPI project, but require some different steps.

The following procedure includes instructions for creating JMS resources for the HPD application:

- JMS Server

- JMS Module

- JMS Connection Factory

- Two JMS Queues

- Edit a Queue

To Create JMS Server

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Servers.
A Summary of JMS Servers appears in the right panel. It includes a table that summarizes the JMS servers that have been created in the current WebLogic Server domain.

2. In the table of previously created JMS Servers, click New.
The Create a New JMS Server panel appears.

3. In the Name field, type HPDJMSServer as the name of your new JMS Server.

4. Click Next.
Select targets appear in the right panel under Create a New JMS Server.

5. From the Target drop-down list, select a target server instance or migratable target on which you want to deploy the JMS Server.
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

6. Click Finish.

To Create JMS Module

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Modules.
The JMS Modules panel appears.

2. In the JMS Modules table, click New to add a new JMS Module.
The Create JMS System Module panel appears.

3. In the Name field, type HPDJMSModule as the new JMS Module name.

4. Click Next.
Targets appear in the right panel under Create a New JMS System Module.

5. In the Servers area, select the server or cluster on which you want to deploy this JMS system module.
If you are deploying on a Clustered environment, select the appropriate target server with the cluster environment.

6. Click Finish.

To Create JMS Connection Factory

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Modules.

2. Select the HPDJMSModule JMS Module from the table of JMS Modules.

3. In the Summary of Resources table, click New.

4. Under the Type column in the Summary of Resources table, select Connection Factory, and click Next.
Another panel of Create a New JMS System Module Resource appears.

5. In the Name field, type HPDFeedConnectionFactory.

6. In the JNDI Name field, type jms/HPDFeedConnectionFactory.

7. Ensure that the XA Connection Factory Enabled check box is selected.

8. Click Next.

9. In the Target field, retain the default server instance, and click Finish.
If you are deploying on a clustered environment, select the appropriate target server with the cluster environment.

10. In the Summary of Resources screen, select HPDFeedConnectionFactory.
The Settings for the HPDFeedConnectionFactory panel appears.

11. Click the Default Delivery tab.

12. Set the value of Default Unit-of-Order for Producer as System-generated.

13. Click Save.

To Create JMS Queue (HPDFeedQueue)

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Modules.

2. Select the HPDJMSModule JMS Module from the table of JMS Modules.

3. In the Summary of Resources table, click New.

4. Under the Type column in the Summary of Resources table, select Queue, and click Next.
Another panel of Create a New JMS System Module Resource appears.

5. In the Name field, type HPDFeedQueue.

6. In the JNDI Name field, type jms/HPDFeedQueue.

7. Click Next.

8. Click Create a New Subdeployment.

9. Accept the default subdeployment name of HPDFeedQueue.

10. Click OK.

11. From the Targets drop-down list, select HPDJMSServer.

12. Click Finish.

To Create JMS Queue (HPDFeedDeadQueue)

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Modules.

2. Select the HPDJMSModule JMS Module from the table of JMS Modules.

3. In the Summary of Resources table, click New.

4. Under the Type column in the Summary of Resources table, select Queue, and click Next.
Another panel of Create a New JMS System Module Resource appears.

5. In the Name field, type HPDFeedDeadQueue.

6. In the JNDI Name field, type jms/HPDFeedDeadQueue.

7. Click Next.

8. Click Create a New Subdeployment.

9. Accept the default subdeployment name of HPDFeedQueue.

10. Click OK.

11. From the Targets drop-down list, select HPDJMSServer.

12. Click Finish.

To Edit a Queue

1. On the left panel, under Domain Structure, expand Services, click Messaging, and then select JMS Modules.

2. Select the JMS Module HPDJMSModule from the table of JMS Modules.

3. In the Summary of Resources table, select HPDFeedQueue.
The Settings for the HPDFeedQueue panel appears.

4. Click the Delivery Failure tab.

5. In the Redelivery Limit field, enter 1.

6. From the Error Destination drop-down list, select HPDFeedDeadQueue.

7. Click Save.

Creating User Accounts for Individual/Organizational MPI Application MIDM Access

You create user accounts for Individual/Organizational Provider MIDM access using the WebLogic Admin Console. There are three pre-defined user groups for the MIDM, and you can define additional user groups each with different permissions. For more information about configuring user groups (roles) for MIDM, see Oracle Healthcare Master Person Index Data Manager User's Guide.

In this step, you create the MasterIndex.Admin, IndProviderAdministrator, and OrgProviderAdministrator groups, and then create two new users.

1. On the left panel, under Domain Structure, expand Services, and then choose Security Realms.

2. In the table on the Summary of Security Realms panel, click myrealm.
The Settings for myrealm panel appears.

3. Select the Users and Groups tab and then click Groups.

4. In the Groups table, click New.

5. In the Name field, type MasterIndex.Admin and click OK.

6. In the Groups table, click New.

7. In the Name field, type IndProviderAdministrator and click OK.

8. In the Groups table, click New.

9. In the Name field, type OrgProviderAdministrator and click OK.

10. On the Settings for myrealm panel, select Users and Groups and then Users.

11. In the Users table, click New.

12. Type a name (for example, midm_ip) and a password for the new user you are creating for the Individual Provider MPI and click OK.

13. Select User Group.

14. Drag MasterIndex.Admin and IndProviderAdministrator from the Available list to the Chosen list.

15. Type a name (for example, midm_op) and a password for the new user you are creating for the Organizational Provider MPI and click OK.

16. Select User Group.

17. Drag MasterIndex.Admin and OrgProviderAdministrator from the Available list to the Chosen list.

18. Add the user MasterIndex.WSUser and then add the MasterIndex.Admin group for it.
For more details, see Oracle Healthcare Master Person Index User's Guide.

5 Configuring and Using Audit Record Repository

Note:
This chapter is applicable from OHMPI 4.0.1 release onwards.

For information, see Oracle Healthcare Master Person Index Working With IHE Profiles User's Guide.

6 Deploying the HPD Application

This chapter provides procedures on how to deploy the HPD Application to the WebLogic application server and how to run HPD sample data through the HPD Application.

This chapter includes the following section:

- Deploying and Running Individual Provider MPI Application

Deploying and Running Individual Provider MPI Application

This procedure leads you through the steps to deploy and run an Individual MPI Application on Oracle WebLogic Server.

Deploying and Running Individual Provider MPI Application on an Oracle WebLogic Server

1. On the left panel of the WebLogic Server Administration Console, under Domain Structure, select Environment and then choose Deployments.
The Summary of Deployments panel appears.

2. On the right side of the panel under Deployments, click Install.
A Summary of Deployments panel with a Deployments table containing a list of EAR files appears.

3. Locate your Individual Provider MPI Application EAR file and click Next. For more information, see Chapter 2, "Creating HPD Application Related Projects".
The Install Application Assistant page appears in the right panel.

4. Locate the deployment you want to install and prepare for deployment.

Tip:
Select the file path that represent the application root directory, archive file, exploded archive directory, or application module descriptor that you want to install. You can also enter the path of the application directory or file in the Path field.

Note:
Only valid file paths are displayed. If you cannot find your deployment files, upload your file(s) and/or confirm that your application contains the required deployment descriptors.

5. Click Next.

Note:
When deploying an MPI EAR file through the WebLogic Admin Console under Security, ensure that you choose DD Only. If you choose one of the other options, you will not be able to log into the MIDM.

6. Click Finish.

7. Launch Master Index Data Manager (MIDM) from a web browser, enter the following:

- For Individual Provider MPI Application: http://localhost:7001/HPDIndProviderMIDM

Note:
The HPDIndProvider portion of HPDIndProviderMIDM is from the Individual Provider MPI application name.

8. Log in using your configured user name and password.

Deploying and Running Organizational Provider MPI Application

The procedure to deploy and running Organization Provider MPI Application is same as procedure in Deploying and Running Individual Provider MPI Application on an Oracle WebLogic Server. Replace Individual Provider by Organizational Provider and HPDIndProvider by HPDOrgProvider.

Deploying HPD Application

The procedure to deploy and running Organization Provider MPI Application is same as procedure in Deploying and Running Individual Provider MPI Application on an Oracle WebLogic Server. Replace Individual Provider by HPD. There is no MIDM access though.

Running Data through the HPD Application

OHMPI provides HPD sample data to help you get started with the application. The sample data illustrates basic HPD Feed and HPD Query usage. It is provided in the form of soapUI test cases.

To Run HPD Sample Data

Under the samples\hpd directory of your OHMPI installation, there is a soapUI sample project that you can use to test your HPD Feed and HPD Query web services.

Before you begin, ensure the application server is running, your HPD Application has been deployed, and soapUI has been installed properly.

Note:
To install soapUI:

1. Go to http://soapui.org.

2. Download the latest version for your platform (for example, soapui-x64-5.0.0.exe for Windows).

3. Run the executable file.

For best results, run the tests in the order they are displayed in the project. If the tests are run out of order additional errors will occur because the response from the Master Person Index will be different.

1. Adjust web service URLs in the sample soapUI project if necessary.
The soapUI sample project provided is based on an HPD Application deployed on WebLogic with default configuration, that is, the HPD web services are assumed to be running at http://localhost:7001/ProviderInformationDirectory/ProviderInformationDirectory_Service. If your HPD Application is running on a different host or a different port on WebLogic, then you need to adjust the above URL in the soapUI sample project accordingly. To adjust the URLs, open samples\hpd\hpd-samples-soapui-project.xml in your favorite editor, and replace all instances of the above two URLs based on the following instructions:

For WebLogic, the web service URLs should be in the following format: (the default port number on WebLogic is 7001):

http://<host_name>:<port_number>/ProviderInformationDirectory/ProviderInformationDirectory_Service

2. To start soapUI, go to the ${SOAPUI_HOME}\bin directory and invoke soapui.bat.

3. To import the HPD samples soapUI project, click File, select Import Project, and then select hpd-samples-soapui-project.xml from the samples\hpd directory.

4. Select the HPD Samples node in the project tree. In the Custom Properties tab, update the following properties accordingly: (This is only needed by the "TC0 - Re-initialize Database Tables" Test Case.)

- HPD_IND_PROVIDER_DB_USER: This is the database user name for Individual Providers. The default value is hpd_ip.

- HPD_IND_PROVIDER_DB_PASSWORD: This is the database user's password for Individual Providers. The default value is hpd_ip.

- HPD_ORG_PROVIDER_DB_USER: This is the database user name for Organizational Providers. The default value is hpd_op.

- HPD_ORG_PROVIDER_DB_PASSWORD: This is the database user's password for Organizational Providers. The default value is hpd_op.

- HPD_RELATIONSHIP_DB_USER: This is the database user name for HPD Relationship. The default value is hpd.

- HPD_RELATIONSHIP_DB_PASSWORD: This is the database user's password for HPD Relationship. The default value is hpd.

- IND_PROVIDER_MPI_PROJECT: This is the location of the MPI Project for the Individual Providers.

- ORG_PROVIDER_MPI_PROJECT: This is the location of the MPI Project for the Organizational Providers.

- HPD_EAR_PROJECT: This is the location of the HPD Project.

5. Expand the HPD Samples node in the project tree.

6. Double click the HPD Samples Test Suite node to show the Test Suite Editor.

7. Click Run to run all the test cases in the test suite.

8. After running a test suite, you can:

- Check whether the tests passed or failed within soapUI.

- Review records using the Master Index Data Manager (MIDM).

HPD Feed is an asynchronous transaction per IHE's HPD specification. The client (Provider Information Source) always gets an immediate acknowledgement of the feed transaction. However, the actual persistence of the provider information happens asynchronously in the background. This is the reason for the (30 seconds) delay at the end of HPD Feed Test Case. If the MPI and HPD Applications are accessed the first time, it might take a longer time for the actual persistence of the provider information to finish. If the HPD Query tests fail, wait a couple of minutes and try again.

You can rerun the complete HPD Sample Test Suite (including Database Initialization, HPD Feed, and HPD Query).

7 Monitoring and Maintaining Master Index Data for Individual/Organizational Providers

Use the Master Index Data Manager (MIDM) to monitor and maintain the individual and/or organizational provider's master index data.

This chapter includes the following section:

- Using MIDM to Monitor and Maintain Master Index Data for Individual/Organizational Providers

Using MIDM to Monitor and Maintain Master Index Data for Individual/Organizational Providers

The Master Index Data Manager (MIDM) provides the following functions so that you can maintain the patient records in the master person index database:

- View individual/organizational provider records

- Compare individual/organizational records

- Merge and unmerge individual/organizational records

- Compare records that are flagged as possible duplicates

- Resolve or merge potential duplicate records

- Review and reverse automatic record matches made by the master person index

- Create reports on master person index data and statistics, including records added or updated, potential duplicates, merged and unmerged records, and so on

Logging in to the Master Index Data Manager

The MIDM is accessed through a web browser, and requires you to log in before you can access any provider information. The URL for the MIDM is:

- http://<host>:<port>/<mpi_application_name>MIDM

where,

- <host> is the name of the server machine.

- <port> is the HTTP port number of the application server.

- <mpi_application_name> is the name of the MPI application.

The default URLs for MIDM are:

- http://localhost:7001/HPDIndProviderMIDM (Individual Provider)

- http://localhost:7001/HPDOrgProviderMIDM (Organizational Provider)

To Log in to the MIDM

Before you begin:

- Ensure you have a login ID and password.

- Ensure the application server is running.

1. Launch a web browser.

2. In the Address field, enter the appropriate URL.
The login page appears.

3. In the upper right portion of the page, select the language for the MIDM display.

4. Enter your user ID and password in the appropriate fields.

5. Click Login.
The initial page appears. By default, the initial page is the Record Details page. You can configure the default page.

A Sample HPD Messages

HPD Feed Sample Message (Add Individual Provider, Organization Provider, Certificate and Relationship Group)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope>
<soap:Header/>
<soap:Body>
<dsml:batchRequest
xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
<dsml:addRequest
dn="uid=IHEAssigningAuthority:101,ou=HCProfessional,o=ORACLE,dc=HPD"
>
<dsml:attr name="uid">
<dsml:value>IHEAssigningAuthority:101</dsml:value>
</dsml:attr>
<dsml:attr name="cn">
<dsml:value>Ann Andrews</dsml:value>
</dsml:attr>
<dsml:attr name="sn">
<dsml:value>Andrews</dsml:value>
</dsml:attr>
<dsml:attr name="initials">
<dsml:value/>
</dsml:attr>
<dsml:attr name="givenName">
<dsml:value>Ann</dsml:value>
</dsml:attr>
<dsml:attr name="displayName">
<dsml:value>Ann Andrews</dsml:value>
</dsml:attr>
<dsml:attr name="title">
<dsml:value>MD</dsml:value>
</dsml:attr>
<dsml:attr name="gender">
<dsml:value>F</dsml:value>
</dsml:attr>
<dsml:attr name="mail">
<dsml:value>ann.andrews@gmail.com</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderLanguageSupported">
<dsml:value>en</dsml:value>
<dsml:value>es</dsml:value>
</dsml:attr>
<dsml:attr name="HcIdentifier">
<dsml:value>1.3.6.1.4.1.21367.1776:IHENA:A-919191:Active</dsml:value>
</dsml:attr>
<dsml:attr name="physicalDeliveryOfficeName">
<dsml:value>Mercy Philadelphia Hospital</dsml:value>
</dsml:attr>
<dsml:attr name="HcSpecialisation">
<dsml:value>Anesthesiology</dsml:value>
</dsml:attr>
<dsml:attr name="HcProfession">
<dsml:value>207L00000X</dsml:value>
</dsml:attr>
<dsml:attr name="description">
<dsml:value>Anesthesiology</dsml:value>
</dsml:attr>
<dsml:attr name="telephoneNumber">
<dsml:value>+1 215 748 9020</dsml:value>
</dsml:attr>
<dsml:attr name="facsimileTelephoneNumber">
<dsml:value>+1 215 555 3333</dsml:value>
</dsml:attr>
<dsml:attr name="mobile">
<dsml:value>+1 215 555 2222</dsml:value>
</dsml:attr>
<dsml:attr name="pager">
<dsml:value>+1 215 555 1111</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderMailingAddress">
<dsml:value>addr=501 S. 54th Street, Philadelphia PA, 19143$city=Philadelphia$state=PA$country=US$postalCode=19143</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderPracticeAddress">
<dsml:value>addr=202 22nd Avenue, Philadelphia PA, 19102$city=Philadelphia$state=PA$country=US$postalCode=19102</dsml:value>
</dsml:attr>
<dsml:attr name="hpdCredential">
<dsml:value>hpdCredentialId=101,ou=HPDCredential,o=ORACLE,dc=HPD</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderStatus">
<dsml:value>Active</dsml:value>
</dsml:attr>
<dsml:attr name="objectClass">
<dsml:value>top</dsml:value>
<dsml:value>person</dsml:value>
<dsml:value>organizationalperson</dsml:value>
<dsml:value>inetorgperson</dsml:value>
<dsml:value>naturalPerson</dsml:value>
<dsml:value>HCProfessional</dsml:value>
<dsml:value>HPDProvider</dsml:value>
</dsml:attr>
</dsml:addRequest>
<dsml:addRequest
dn="hpdCredentialId=101,ou=HPDCredential,o=ORACLE,dc=HPD">
<dsml:attr name="hpdCredentialId">
<dsml:value>101</dsml:value>
</dsml:attr>
<dsml:attr name="credentialName">
<dsml:value>A_Degree@Connectathon_domain_name</dsml:value>
</dsml:attr>
<dsml:attr name="credentialType">
<dsml:value>degree</dsml:value>
</dsml:attr>
<dsml:attr name="credentialNumber">
<dsml:value>1.3.6.1.4.1.21367.13.95:AAAA</dsml:value>
</dsml:attr>
<dsml:attr name="credentialDescription">
<dsml:value/>
</dsml:attr>
<dsml:attr name="objectClass">
<dsml:value>top</dsml:value>
<dsml:value>HPDProviderCredential</dsml:value>
</dsml:attr>
</dsml:addRequest>
<dsml:addRequest
dn="uid=IHEAssigningAuthority:11,ou=HCRegulatedOrganization,o=ORACLE,dc=HPD">
<dsml:attr name="uid">
<dsml:value>IHEAssigningAuthority:11</dsml:value>
</dsml:attr>
<dsml:attr name="o">
<dsml:value>Mercy Health Center</dsml:value>
</dsml:attr>
<dsml:attr name="HcRegisteredName">
<dsml:value>Mercy Philadelphia Hospital</dsml:value>
</dsml:attr>
<dsml:attr name="businessCategory">
<dsml:value>Hospital</dsml:value>
</dsml:attr>
<dsml:attr name="description">
<dsml:value/>
</dsml:attr>
<dsml:attr name="hpdProviderLanguageSupported">
<dsml:value>en</dsml:value>
<dsml:value>es</dsml:value>
</dsml:attr>
<dsml:attr name="HcIdentifier">
<dsml:value>1.3.6.1.4.1.21367.1776:IHENA:O-121212:Active</dsml:value>
</dsml:attr>
<dsml:attr name="telephoneNumber">
<dsml:value>+1 215 748 9000</dsml:value>
</dsml:attr>
<dsml:attr name="facsimileTelephoneNumber">
<dsml:value>+1 215 555 2222</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderMailingAddress">
<dsml:value>addr=202 22nd Avenue, Philadelphia PA, 19102$city=Philadelphia$state=PA$country=US$postalCode=19102</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderPracticeAddress">
<dsml:value>addr=501 S. 54th Street, Philadelphia PA, 19143$city=Philadelphia$state=PA$country=US$postalCode=19143</dsml:value>
</dsml:attr>
<dsml:attr name="hpdCredential">
<dsml:value>hpdCredentialId=11,ou=HPDCredential,o=ORACLE,dc=HPD</dsml:value>
</dsml:attr>
<dsml:attr name="hpdProviderStatus">
<dsml:value>Active</dsml:value>
</dsml:attr>
<dsml:attr name="objectClass">
<dsml:value>top</dsml:value>
<dsml:value>organization</dsml:value>
<dsml:value>HcRegulatedOrganization</dsml:value>
<dsml:value>uidObject</dsml:value>
<dsml:value>HPDProvider</dsml:value>
</dsml:attr>
</dsml:addRequest>
<dsml:addRequest
dn="hpdCredentialId=11,ou=HPDCredential,o=ORACLE,dc=HPD">
<dsml:attr name="hpdCredentialId">
<dsml:value>11</dsml:value>
</dsml:attr>
<dsml:attr name="credentialName">
<dsml:value>Emergency
Hospital@Connectathon_domain_name</dsml:value>
</dsml:attr>
<dsml:attr name="credentialType">
<dsml:value>certificate</dsml:value>
</dsml:attr>
<dsml:attr name="credentialNumber">
<dsml:value>1.3.6.1.4.1.21367.13.95:1111</dsml:value>
</dsml:attr>
<dsml:attr name="credentialDescription">
<dsml:value/>
</dsml:attr>
<dsml:attr name="objectClass">
<dsml:value>top</dsml:value>
<dsml:value>HPDProviderCredential</dsml:value>
</dsml:attr>
</dsml:addRequest>
<dsml:addRequest
dn="cn=MercyCenterHospitalGroup,ou=Relationship,o=ORACLE,dc=HPD">
<dsml:attr name="cn">
<dsml:value>MercyCenterHospitalGroup</dsml:value>
</dsml:attr>
<dsml:attr name="owner">
<dsml:value>uid=IHEAssigningAuthority:11,ou=HCRegulatedOrganization,o=ORACLE,dc=HPD</dsml:value>
</dsml:attr>
<dsml:attr name="member">
<dsml:value>uid=IHEAssigningAuthority:101,ou=HCProfessional,o=ORACLE,dc=HPD</dsml:value>
</dsml:attr>
<dsml:attr name="objectClass">
<dsml:value>top</dsml:value>
<dsml:value>groupOfNames</dsml:value>
</dsml:attr>
</dsml:addRequest>
</dsml:batchRequest>
</soap:Body>
</soap:Envelope>

HPD Query Sample Message (Query Individual Provider by display name)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<dsml:batchRequest xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core" requestID="batchRequestID1">
<dsml:searchRequest dn="ou=HCProfessional,o=ORACLE,dc=HPD"
scope="singleLevel" derefAliases="derefFindingBaseObj"
requestID="searchRequestID1">
<dsml:filter>
<dsml:equalityMatch name="displayName">
<dsml:value>Ann Andrews</dsml:value>
</dsml:equalityMatch>
</dsml:filter>
</dsml:searchRequest>
</dsml:batchRequest>
</soap:Body>
</soap:Envelope>

HPD Query Sample Message (Query Relationship Group by Owner)

<soap-env:Envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope">
<soap-env:Body>
<dsml:batchRequest xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dsml:searchRequest dn="ou=Relationship,o=ORACLE,dc=HPD" scope="singleLevel" derefAliases="derefFindingBaseObj">
<dsml:filter>
<dsml:substrings name="owner">
<dsml:any>IHEAssigningAuthority:11</dsml:any>
</dsml:substrings>
</dsml:filter>
</dsml:searchRequest>
</dsml:batchRequest>
</soap-env:Body>
</soap-env:Envelope>

Oracle Legal Notices

Copyright Notice

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

License Restrictions Warranty/Consequential Damages Disclaimer

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

Warranty Disclaimer

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

Restricted Rights Notice

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

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

Hazardous Applications Notice

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

Trademark Notice

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

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

Third-Party Content, Products, and Services Disclaimer

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

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

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

Private Alpha and Beta Draft Documentation Notice

If this document is in private preproduction status:

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

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

Documentation Accessibility

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

Access to Oracle Support

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