Using the IHE Test Utility
The IHE test utility is a tool that assists in configuring and testing IHE scenarios. The IHE test utility is available from the Other Management menu in a registry production, or from the production menu in a foundation production. It can generate and send test data for PIX, PDQ, and XDS.b transactions, taking the place of an external testing utility like SoapUI.
Configuring your Productions to Use the Test Utility
In order to use the test utility, your Foundation production must have the HS.Test.ServiceOpens in a new tab enabled. This is the business service to which the utility will send SOAP messages. It includes a series of settings that point to the relevant business actors that perform the IHE transactions.
If you have installed one or more FHIR IHE profiles, your list of additional settings will include the relevant FHIR IHE business hosts.
To test XDS.b, your Foundation production must also have HS.IHE.XDSb.DocumentSource.OperationsOpens in a new tab enabled.
To test metadata update, your Foundation production must also have HS.IHE.XDSb.Administrator.OperationsOpens in a new tab enabled.
To enhance your ability to track down any testing issues, you may wish to enable TraceOperations in your PIX, PDQ, and XDS.b business operations. Just remember to turn off trace operations before going into a production environment.
Testing a PIX Add Transaction
To test adding a patient to your system via the PIX add transaction:
-
Click the PIX and PDQ menu tab.
-
Click Patient Add.
-
Optionally Enable logging.
-
Select whether you wish to use PIX v2 or PIX v3. This preselects the EndPoint as PIXv2.Manager or PIXv3.Manager.
-
Enter a set of demographics for the patient. A minimum set of demographics should include:
-
First Name
-
Last Name
-
Gender
-
Date of Birth
-
Assigning Authority — select an assigning authority from the dropdown which is populated by assigning authority registry entries that have an OID associated with them.
-
AssigningAuthority OID — this is populated automatically when you select an assigning authority.
-
Facility — select a facility from the dropdown which is populated by the facility registry. When you enter an assigning authority, if there is a facility with the same code, the utility selects this facility by default.
-
MRN — the test utility automatically suggests an incremented MRN when you select an assigning authority. Either accept the suggested MRN or enter your own.
-
-
Optionally change the EndPoint for the transaction. The EndPoint dropdown is populated from the Service Registry. The EndPoint field is preselected by the v2 and v3 buttons at the top of the page.
-
Click Submit Request.
The test utility returns a string which includes the patient’s name and the home community OID.
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the actual PIX Add. Click Next Session three more times to view additional processing that occurs on a PIX Add. You may wish to enable TraceOperations in HS.IHE.PIXv3.Source.OperationsOpens in a new tab, HS.IHE.PIX.Manager.ProcessOpens in a new tab, and HS.Hub.MPI.Manager in order enhance your ability to track down any issues that arise during testing.
Testing a PIX Search
In a PIX search, you provide a local patient identifier (MRN) and assigning authority and you receive the universal identifier (MPIID) in the response.
To test searching for a patient via PIX:
-
Click the PIX and PDQ menu tab.
-
Click Patient Search (PIX).
-
Optionally Enable logging.
-
Select whether you wish to use PIX v2 or PIX v3. This preselects the EndPoint as PIXv2.Manager or PIXv3.Manager.
-
Select an AssigningAuthority from the dropdown. The OIDs are shown next to the codes. The dropdown is populated by assigning authority registry entries that have an OID associated with them.
-
Enter the local patient identifier (MRN).
-
Optionally change the EndPoint for the transaction. The EndPoint dropdown is populated from the Service Registry. The EndPoint field is preselected by the v2 and v3 buttons at the top of the page. The typical choice is PIXv2.Manager or PIXv3.Manager.
-
Click Generate PIX Query Request.
The test utility returns a string which includes:
-
a timestamp
-
the patient’s name
-
the MPIID
-
the home community OID
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the actual search. You may wish to enable TraceOperations in HS.IHE.PIXv3.Consumer.OperationsOpens in a new tab and HS.IHE.PIX.Manager.ProcessOpens in a new tab in order enhance your ability to track down any issues that arise during testing.
Testing a PDQ Search
In a PDQ search, you provide demographics and you receive the universal identifier (MPIID) and a list of local MRNs and assigning authorities in the response.
To test searching for a patient via PDQ:
-
Click the PIX and PDQ menu tab.
-
Click Patient Search (PDQ).
-
Optionally Enable logging.
-
Select whether you wish to use PDQ v2 or PDQ v3. This preselects the EndPoint as PDQv2.Supplier or PDQv3.Supplier.
-
Enter whatever demographics that you have for the patient.
-
Optionally change the EndPoint for the transaction. The EndPoint dropdown is populated from the Service Registry. The EndPoint field is preselected by the v2 and v3 buttons at the top of the page. The typical choice is PDQv2.Supplier or PDQv3.Supplier.
-
Click Submit Request.
The test utility returns a string which includes:
-
a timestamp
-
the patient’s name
-
the MPIID
-
the home community OID
-
a list of local MRNs and assigning authorities
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the actual search. You may wish to enable TraceOperations in HS.IHE.PDQv3.Consumer.OperationsOpens in a new tab and HS.IHE.PDQ.Supplier.Process in order enhance your ability to track down any issues that arise during testing.
Testing a PIX Merge Transaction
In a PIX merge, you provide demographics, an assigning authority and facility, a surviving MRN, and a prior MRN. The system should merge the prior MRN into the surviving MRN and return a success or failure message in response.
To test PIX merge:
-
Click the PIX and PDQ menu tab.
-
Click Patient Merge.
-
Optionally Enable logging.
-
Select whether you wish to use PDQ v2 or PDQ v3. This preselects the EndPoint as PIXv2.Manager or PIXv3.Manager.
-
Enter the patient name.
-
Select an AssigningAuthority from the dropdown which is populated by assigning authority registry entries that have an OID associated with them. The AssigningAuthority OID is populated automatically when you select an assigning authority.
-
Select a Facility from the dropdown which is populated by the facility registry. When you enter an assigning authority, if there is a facility with the same code, the utility selects this facility by default.
-
Enter the surviving MRN.
-
Enter the Prior MRN.
-
Optionally change the EndPoint for the transaction. The EndPoint dropdown is populated from the Service Registry. The EndPoint field is preselected by the v2 and v3 buttons at the top of the page. The typical choice is PIXv2.Manager or PIXv3.Manager.
-
Click Submit PIX Merge Request.
The test utility returns a success or failure message.
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the actual PIX Merge. You may wish to enable TraceOperations in HS.IHE.PIXv3.Source.OperationsOpens in a new tab, HS.IHE.PIX.Manager.ProcessOpens in a new tab and HS.Hub.MPI.Manager in order enhance your ability to track down any issues that arise during testing.
Testing an XDS.b Provide and Register Transaction
An XDS.b provide and register (PnR) involves submitting:
-
a document to a repository
-
the document metadata to a registry
In the test utility, this is a two-part transaction: first identify the document, then submit it.
In addition to the HS.Test.ServiceOpens in a new tab, your Foundation production must have the HS.IHE.XDSb.DocumentSource.OperationsOpens in a new tab enabled in order to test XDS.b provide and register. This component builds the ProvideAndRegister transaction by extracting the relevant data from a CDA stream. It is only used in a testing context.
To test an XDS.b provide and register:
-
First perform a PIX or PDQ search for the patient as described in the previous sections. This will save you a lot of time and effort since the test utility remembers the results and offers to fill in certain fields for you.
-
Click the XDSb menu tab.
-
Click Provide & Register. This takes you to the document source page:
-
Choose a data source. The options are:
-
Upload Local CDA file — Select Choose File. Click the Browse button and select a C-CDA file on your local disk.
-
Use sample xdata block CDA — Select Use sample xdata block CDA to generate a CDA document from an xdata block. A sample is provided.
You can create an alternate CDA document in your own class if you like. Use the following specification to enter the location of your xdata block in the Use sample xdata block CDA field: xdata://classname:xdatablockname.
-
Use sample HL7 — Select Use sample HL7 to generate HL7 from an xdata block. A sample is provided, or you can create your own.
You can create an alternate HL7 document in your own class if like. Use the following specification to enter the location of your xdata block in the Use sample xdata block HL7 field: xdata://classname:xdataBlockName.
-
Upload Local (non) CDA file — Select Choose File. Click the Browse button and select a file not of CDA format on your local disk.
-
-
Click Upload/generate document. This takes you to the document submit page:
-
Optionally Enable logging.
-
If you have previously performed a PIX or PDQ search, you can select a patient from the Select Patient dropdown. This will also populate the Full Patient ID field with the MPIID of the form MPIID^^^&homeCommuniyOID&ISO.
-
If you did not select a patient, enter the MPIID in the Full Patient ID field of the form MRN^^^&AssigningAuthority&ISO. If this an HL7 transaction from an xdata block, this field should already be populated.
-
If you did not specify a Source Patient ID on the previous page, enter it here of the form MPIID^^^&homeCommuniyOID&ISO.
-
Optionally select non-default values for the following types of XDS.b metadata:
-
Format Code
-
Confidentiality Code
-
HealthcareFacilityType Code
-
Practice Setting Code
-
Type Code
-
Class Code
The values in the dropdowns come from the Coded Entry Registry, which is found under the IHE Configuration menu in the Registry namespace.
-
-
Select the endpoint for the generated provide and register transaction, typically your XDS.b repository.
-
Click Generate XDSb PnR Request.
This process kicks off the following steps:
-
The test utility sends a SOAP message containing the document and metadata to HS.Test.ServiceOpens in a new tab at the Foundation production.
-
HS.Test.ServiceOpens in a new tab forwards the document and metadata to HS.IHE.XDSb.DocumentSource.OperationsOpens in a new tab.
-
HS.IHE.XDSb.DocumentSource.OperationsOpens in a new tab generates a provide and register request and forwards it to the repository as a SOAP message.
-
The repository stores the document and sends an XDS.b register request to the registry.
-
HS.Test.ServiceOpens in a new tab returns a success or failure message.
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the Register request returned from the repository. You may wish to enable TraceOperations in HS.IHE.XDSb.DocumentSource.OperationsOpens in a new tab and HS.HC.IHE.XDSb.Registry.OperationsOpens in a new tab to enhance your ability to track down any issues that arise during testing. You can view the message trace of the repository side of the provide and register by opening the Interoperability message viewer on your repository production.
Testing an XDS.b Query
An XDS.b query transaction allows you to search the registry for documents that are related to specific patient. You can filter an XDS.b query by document type and document status. The query returns a list of document unique IDs and the name of the repository where they are stored.
In order to test an XDS.b query, your Foundation production must contain the HS.IHE.XDSb.Consumer.Operations or HS..HC.IHE.XDSb.Consumer.OperationsOpens in a new tab business host as well as the HS.Test.ServiceOpens in a new tab.
To test XDS.b query:
-
First perform a PIX or PDQ search for the patient as described in the previous sections. This will save you a lot of time and effort since the test utility remembers the results and offers to fill in certain fields for you.
-
Click the XDSb menu tab.
-
Click Query.
-
Optionally Enable logging.
-
If you already did a search for the patient, select the patient from the Select Patient dropdown. This will fill in the Full Patient ID.
-
If you did not conduct a search for the patient, enter the Full Patient ID (MPIID) of the form MRN^^^&AssigningAuthority&ISO.
-
If you are looking for a specific document, enter the Document Unique ID.
-
In the Document Status field, select whether you want only Approved documents, only Deprecated documents or both.
-
Optionally select Search for Stable documents or Search for OnDemand documents. The default is to check for both types if no checkbox is selected.
-
Select the EndPoint for your query, typically your document registry, XDSb.Registry.
-
Click Submit Request.
The query returns a list of document unique IDs and the name of the repository where they are stored.
Click the Session button to view a visual trace of the test utility session. Click Next Session to see the details of the XDS.b query. You may wish to enable TraceOperations in HS.IHE.XDSb.Consumer.Operations (or HS.HC.IHE.XDSb.Consumer.OperationsOpens in a new tab) and HS.HC.IHE.XDSb.Registry.OperationsOpens in a new tab to enhance your ability to track down any issues that arise during testing.
Testing an XDS.b Retrieve
You can retrieve a document that you queried for using the IHE test utility. While the IHE XDS.b Retrieve Document Set transaction allows you to retrieve multiple documents in a single transaction, the test utility supports the retrieval of only a single document for testing purposes.
In order to test an XDS.b retrieve, your Foundation production must contain the HS.IHE.XDSb.Consumer.Operations or HS.HC.IHE.XDSb.Consumer.OperationsOpens in a new tab business host as well as the HS.Test.ServiceOpens in a new tab.
To retrieve an XDS.b document:
-
Query for a patient’s documents as described above.
-
Click the XDSb menu tab.
-
Click Retrieve.
-
Optionally Enable Logging.
-
In the Select Document for Retrieval field, select a patient and document unique ID from the list returned by your previous query. This fills in the Repository Unique Id and Document Unique Id fields and selects the EndPoint associated with the Repository Unique Id OID.
-
Enter the Home Community ID (optional if it is the same community).
-
Click Submit Retrieve Request.
-
To view the document, click the View Document button that appears after the transaction succeeds.
Click the Session button to view a visual trace of the document retrieve session. You may wish to enable TraceOperations in HS.IHE.XDSb.Consumer.Operations or HS.HC.IHE.XDSb.Consumer.OperationsOpens in a new tab to enhance your ability to track down any issues that arise during testing. You can view the message trace of the repository side of the retrieve transaction by opening the message viewer on your repository production.