Simulators

Gazelle testbed also offers applications known as simulators. Those tools implement IHE actors and exchange data with systems under test in the context of IHE transactions. Available online all year long, you can use our simulators to test the IHE interfaces of your systems off the connectathon periods. Using those tools, you will also be able to check the conformance of the messages issued by your system; actually, the simulators are configured to call the validation services offered by Gazelle.

Important Reminder

When you are testing against one of the Gazelle simulators, you are exchanging messages over the Internet. In order to ensure that your system will be able to communicate with our tools, please make sure that your firewall settings enable Gazelle to access to your system and that you have provided Gazelle with a public IP address. Read more about IPv4 networking consideration in Wikipedia. As a reminder, this is the list of private ranges of IP addresses, the ones that Gazelle is not able to reach.

STARTEND
10.0.0.0 10.255.255.255
172.16.0.0 172.31.255.255
192.168.0.0 192.168.255.255

List of simulators

see Simulators section of the Gazelle user guide

Simulated profiles and actors

Communication with gazelle

Gazelle communicates with the simulators using web services calls. A simulator thus needs to expose some specific webservice API. The API allow gazelle to inform the simulator of the test instance participants and to provide relevant participants configuration to the simulator and to ask the simulator about feedback of the message exchanged between the simulator and the other test participants.

All simulators should have the method startTestInstance, to create a new interaction between the simulator and a system under test. After establishing a communication with the simulator, gazelle sent configuration of partners of the simulator on the test using another web service method: setTestPartenerConfiguration. If the simulator is an initiator, gazelle use the web service method sendMessage to force the simulator to execute the test.

Developers interested in the development of new simulator should visit the Gazelle Simulator Developer Guide

HMW Simulator

Click to here to enter the HMW Simulator

Introduction

The HMW Simulator emulates the actors involved in the Hospital Medication Workflow (HMW) integration profile. The simulator can be used to simulate the missing partner when testing that profiles :

Integration ProfileActorOption
HMW Prescription Placer  Advance Prescription Notification
HMW Pharmaceutical Adviser  Validated Order Confirmation
HMW Medication Dispenser  Advance Prescription Notification
HMW Administration Informer

 Advance Prescription Notification

 Validated Order Confirmation

 

The HMW simulator can help testing applications implementing all the actors participating to the profile.

 

For more details about the various functionnalities of the HMW Simulator, visit the following links.

  1. How to get started
  2. General Presentation
  3. Create and send a Prescription
  4. Discontinue a Prescription
  5. Replace a Prescription
  6. Validate a Prescription
  7. Dispense a Medication
  8. Administer a Medication
  9. HL7 messages validation

HMW Simulator : How to get started

Get a Gazelle account

 

First of all, note that, like the other applications from Gazelle testing platform, the HMW Simulator is linked to our CAS service. That means that, if you have an account created in Gazelle, you can use it, if you do not have one, you can create one now by filling the form here. Create an account in Gazelle is free. The login link ("cas login") is located in the top right corner of the page.

Be careful, you must be logged in order to use the HMW Simulator.


Registration of Systems Under Test (SUT) acting as HL7 responders

 

If your system acts as an HL7 responder in one of the transactions offered by the simulator (for example your system is an Pharmaceutical Adviser and supports PHARM-H1 transaction), you will have to enter its configuration in the application. (No need to enter one configuration per transaction for your SUT. For example, the Pharmaceutical Adviser acts as a responder for the transaction PHARM-H1 and PHARM-H3. Just need to enter one configuration for your Pharmaceutical Adviser SUT.)

In order to proceed, go to "System Configurations" and hit the "Create a Configuration" button. You can also copy copy or Edit edit an existing configuration (one of yours !).

In both cases, the simulator needs to know:

  • A name for your configuration (displayed in the drop-down list menus)
  • The actor played by your system under test
  • The receiving facility/application
  • The IP address
  • The port the system is listening on
  • The charset expected by your SUT

If you are logged in when creating the configuration, you will be set as the owner of the configuration. If you do not want other testers to send messages to your SUT you can uncheck the box "Do you want this configuration to be public?" and you will be the only one to be able to select your system in the drop-down list and to edit it (if logged in!).

Before sending messages to your system under test, ensure that your firewall options give to HMW Simulator the access to your system.

 

What is the Workflow Setup in the HMW Simulator and how to manage it

 

More than a big simulator for all actors acting in the HMW Supplement, the HMW Simulator simulates a typical workflow concerning the prescription, dispensing, distribution and administration of medication.

What does it means for the user ?

After to have enter your SUT configuration, you must create your own workflow setup. Each workflow setup will be linked to your gazelle account. So, you will be the only one to allow to modify your workflow setup. To create a new workflow setup, go to the workflow setup menu, enter the name of your workflow setup and configure each actors singly, below the sequence diagram.

 

hmw workflow setup actorhmw workflow setup actor not simulated

 

For each actors, you can decide to simulate this actor and choose the charset that you desire to use, OR select your SUT configuration in order to test your SUT. For example, if you want to test your Medication Dispenser actor, you will simulate the Prescription Placer, Pharmaceutical Adviser and the Administration Informer actors. Of course, you can have more than one SUT actor per workflow setup (with a maximum of three SUT).

 

About the color of the actor panel configuration header, the green means that the actor will be simulated, and the blue means the actor will be not simulated.

Don't forget to save your configuration in using the button below :

save the workflow

 

 

Soon as your workflow setup is ready, you can go to the next part and begin to use the HMW Simulator.

(If you need to work with a charset which doesn't appear in the charset drop-down list when you simulate an actor, don't hesitate to talk us.)

 

Visualize/Edit an existing Workflow Setup

You have the possibility to visualize or edit an existing Workflow Setup which has been created. For that, select, in the top of the page, the option "Visualize/Edit an existing Workflow Setup". Then, choose, among the available list, the workflow configuration that you desire. You can edit as you want the different actors configuration. Don't forget to save it.

HMW Simulator : General Presentation

HMW Actors

 

In the menu of the HMW Simulator, you can find the "simulators" label, which contains the access to the fourth actors define in the HMW TF supplement.

hmw actor list

 

When you hit one of this actor, you will arrive in the front page of the selected actor. The only action that you can do at this moment, it is to choose a Workflow configuration to work with it. A sequence diagram resumes the transaction(s) where the selected actor acts as an initiator.

At this point, there are two possibilities :

  • In the selected workflow setup, the selected actor is not simulated, it is your SUT. So you will see only the resume of the workflow setup configuration just below the sequence diagram.
  • In the selected workflow setup, the selected actor is simulated. So you will have different pannels below the configuration resume. The first is here to show you all action that you can do with the selected actor. The second shows all HL7 messages that the selected actor has send and received from the other actors. (see "HL7 messages validation").

(The color of the panel configuration header of the selected actor is salmon pink.)

salmon pink

 

Prescription Item Color highlighting

 

In using the HMW Simulator, you should see that the prescription items can be highlighted with different colors. Theses colors are the reflection of the prescription item status.

prescription item status

A prescription item can take 5 different status :

  • White color :  The prescription item just has been created and is waiting for validation.
  • Green color : The prescription item has been validated by the Pharmaceutical Adviser actor.
  • Blue color :    The medication linked to the prescription item has been dispensed, and the Medication Preparation Report has been sent by the Medication Dispenser actor.
  • Purple color : The medication linked to the prescription item has been administered, and the Administration Report has been sent by the Aministration Informer actor.
  • Red color :     The prescription item has been canceled, either by a discontinuation order, or by a replacement order.

HMW Simulator : Send a new prescription

How to create and send a new Prescription Order

 

If you decide to simulate the Prescription Placer actor, you will be able to access, to the Prescription Placer front page, see the tab below, which group all available action for the Prescription Placer actor.

prescription placer action table

 

In this section, we will see how to create and send a new Prescription Order to the other actors. First, choose, in the "Request Type" list : "New Order".

You can see that the level of prescription encoding is : "Encoded Medication" by default and can't be changed at this moment (see the HMW TF Supplement part 5.6.4.1.2). It will be possible in further version of this simulator.

At last, the "Advance Prescription Notification" option can be ticked or not. Please see the HMW TF Supplement, part 4.2 for more details about this option.

 

Now that you have chosen your request type, you must select a Patient to begin the creation of a new prescription. To do that, you will have to hit this button button for patient selection. You will enter to the Patient Information tab panel below :

 

panel to manage patient

You can either generate a new patient information or select an existing patient with the button button for patient selectionin the Action column. Some filters are available in the header of the Patient data table, to make the patient search easier.

The basic information about your selected patient will be display just below the Available Patient data table.

 

selected patient information

 

Once your patient has been selected, you must select the medication(s) that you desire put in your prescription. Hit the "Select the medication(s) to prescribe to the patient..." button to go to the Medication Information tab panel. Use the action button add a medication to add a medication to your prescription and the button delete a medication to delete it. The medication list of your selected medication(s) appear below the medication table. Use the button delete a medication next to the "Selected Medication" title to empty the entire list.

As for the Patient data table, the Medication data table allows you to use the filter, locate in the data table header, to search a specific medication.

medication information tab

 

To go to the next step, hit the "Go to the prescription item(s) configuration page..." button.

In this tab panel, you will be able to configure some information linked to each prescription item (if you don't remember what is a prescription item, go to the end of this part). You can come back to the previous tab panel when you want, to add or remove a medication or select an other patient for example.

When your have finish the creation of your prescription, hit the "Send Prescription" button to send the New Prescription Order to the other(s) actor(s). In order to see the HL7 messages sent, go to see the last panel named : "Messages send and received by the Prescription Placer Actor.", at the end of the page.

 

prescription item configuration

 

(Don't forget : "One Prescription Order will be related to one patient, and may refer to a particular encounter (visit). It will contain one prescription, and this prescription refers one prescriber, and contains zero or more prescription items. A prescription item contains one medication item and zero or more observations." cf HMW TF Supplement part ).

HMW Simulator : Discontinue a prescription

How to send a discontinue order for a prescription item

 

For the moment, only the Prescription Placer simulator allows to send a discontinuation order. This will be available for the Pharmaceutical Adviser simulator too in a future version of the HMW Simulator.

 

With the prescription placer simulator :

Always in the Prescription Placer actor page, if you desire discontinue a Prescription Order, select, in the "Request Type" List, the value : "Discontinuation". Then, hit the button select a prescription to select the prescription where the prescription item to discontinue is located.

 

prescription table

 

Some explanations about the Prescription Table :

You will see the Prescription Table Over. This Table shows all Prescription Order sent by the Prescription Placer simulator. Each lines of this table represents one Prescription. The medication list, is linked to the prescription item list. Thereby, in this example, for the first prescription (with the identifier "11^IHE_HMW_PP..."), the mirtazapine medication corresponds to the precription item with the placer order number : "29^IHE_HMW_PP...".

You can see, that for the second prescription, some prescription item are highlighted with a specific color. See the "Prescription Item Color highlighting" part of this tutorial for more information.

About the Prescription Status, see the HMW TF Supplement part 4.5.1.

 

 

discontinuation tab

Now, you can select the prescription item to discontinue. Be careful, you can discontinue only one item at a time. Hit the change statusdiscontinuation buttonbuttons to change the status of the pescription item.

change statusthe item won't be changed.

discontinuation buttonthe itm will be discontinued.

When your choice is made, hit the "Send Discontinuation Order" to send the discontinuation order to the Pharmaceutical Adviser actor.

(You only can discontinue a prescription item which is not yet validated by the Pharmaceutical Adviser actor. In other words, a prescription item with the status equals to "P3" or "V2".)

 

After to have send the discontinuation order, the HMW Simulator modifies the prescription item status to "P9".

discontinuation order executed

 

 

With the pharmaceutical adviser actor (not yet available)

HMW Simulator : Replace a prescription

How to send a replacement order for a prescription item

 

For the moment, only the Prescription Placer simulator allows to send a replacement order. This will be available for the Pharmaceutical Adviser simulator too in a future version of the HMW Simulator.

 

With the prescription placer simulator :

Always in the Prescription Placer actor page, if you desire replace a Prescription Order, select, in the "Request Type" List, the value : "Replacement". Then, hit the button select a prescription to select the prescription where the prescription item to replace is located.

 

prescription table

 

Some explanations about the Prescription Table :

You will see the Prescription Table Over. This Table shows all Prescription Order sent by the Prescription Placer simulator. Each lines of this table represents one Prescription. The medication list, is linked to the prescription item list. Thereby, in this example, for the first prescription (with the identifier "11^IHE_HMW_PP..."), the mirtazapine medication corresponds to the precription item with the placer order number : "29^IHE_HMW_PP...".

You can see, that for the second prescription, some prescription item are highlighted with a specific color. See the "Prescription Item Color highlighting" part of this tutorial for more information.

About the Prescription Status, see the HMW TF Supplement part 4.5.1.

 

As for the discontinuation order, select one prescription to work on it. Once the prescription selected, you will choose the prescription item to replace. For that, hit the button replacement button, in the Action column.

 

replacement order

 

You will be able to edit some information about the prescription item that you want to replace. The first panel shows you the information of the old prescription item, the item that is to be replace. The second panel shows you the information of the new item. Of course, you can change the medication linked to this prescription item, just need to hit the button medication replacement. As soon as you want to send your replacement order, just hit the "Send Replacement Order" button.

 

replacement configuration

 

After to have send the replacement order, the HMW Simulator modifies the status of the old prescription item to "P9" (in this example, this is the prescription item with the placer order number "33^IHE_HMW..."). And the new prescription item (in this example, this is the item with the placer order number "36^IHE_HMW...") takes the place of the old prescription item.

 

replacmenet works

 

With the pharmaceutical adviser actor (not yet available)

HMW Simulator : Validate a prescription

How to send a validation order for a prescription item

 

If you decided to simulate the Pahrmaceutical Adviser actor, you will be able to access, to the Pharmaceutical Adviser page, see the tab below, which group all available action for the Pharmaceutical Adviser actor.

pharmaceutical adviser main page

 

In this section, we will see how to send a Validated Order to the other actors. First, choose, in the "Request Type" list : "Validated Order".

You can see that the level of prescription encoding is : "Encoded Medication" by default and can't be changed at this moment (see the HMW TF Supplement part 5.6.4.1.2). It will be possible in further version of this simulator.

At last, the "Validated Order Confirmation" option can be ticked or not. Please see the HMW TF Supplement, part 4.2 for more details about this option.

 

Now that you have chosen your request type, you must select a Prescription. To do that, hit this button select a prescription. You will enter to the Prescription tab panel below. Then, hit the button select a prescription to select the prescription to validate.

prescription table

 

Some explanations about the Prescription Table :

You will see the Prescription Table Over. This Table shows all Prescription Order sent by the Prescription Placer simulator. Each lines of this table represents one Prescription. The medication list, is linked to the prescription item list. Thereby, in this example, for the first prescription (with the identifier "1^IHE_HMW_PP..."), the Visine medication corresponds to the precription item with the placer order number : "4^IHE_HMW_PP...".

You can see, that some prescription item are highlighted with a specific color. See the "Prescription Item Color highlighting" part of this tutorial for more information.

About the Prescription Status, see the HMW TF Supplement part 4.5.1.

 

validation order

Now, you can select the prescription item to validate. You can validate all item of a prescription at a time, or only some. Hit the change statusdiscontinuation buttonbuttons to validate or not the pescription item. When your choice is made, hit the "Send the Prescription Advice" button to send the validation order to the other actors.

change statusthe prescription item will be validated.

discontinuation button  the prescription item won't be validated.

After to have send the validation order, the HMW Simulator modifies the prescription item status to "V3".

 

validation order success

HMW Simulator : Dispense a medication

How to send a medication report

 

If you decided to simulate the Medication Dispenser actor, you will be able to access, to the Dispenser actor page.

medication dispenser main page

 

In this section, we will see how to send a Medication Preparation Report Order to the other actors.

Now, you must select a Prescription to work on it. To do that, hit this button select a prescription. You will enter to the Prescription tab panel below. Then, hit the button select a prescription to select the prescription to dispense.

prescription table

 

Some explanations about the Prescription Table :

You will see the Prescription Table Over. This Table shows all Prescription Order sent by the Prescription Placer simulator. Each lines of this table represents one Prescription. The medication list, is linked to the prescription item list. Thereby, in this example, for the first prescription (with the identifier "3^IHE_HMW_PP..."), the Visine medication corresponds to the precription item with the placer order number : "5^IHE_HMW_PP...".

You can see, that some prescription item are highlighted with a specific color. See the "Prescription Item Color highlighting" part of this tutorial for more information.

About the Prescription Status, see the HMW TF Supplement part 4.5.1.

 

medication order

Now, you can select the prescription item(s) to send the Medication Preparation Report. You can dispense all item of a prescription at a time, or only some. Hit the change statusdiscontinuation buttonbuttons to dispense or not the pescription item. When your choice is made, hit the "Send theMedication Preparation Report" button to send the medication preparation report order to the other actors.

change statusthe prescription item will be dispensed.

discontinuation button  the prescription item won't be dispensed.

After to have send the medication preparation report order, the HMW Simulator modifies the prescription item status to "D3".

 

medication order success

HMW Simulator : Administer a medication

How to send a new administration report

 

If you decided to simulate the Administration Informer actor, you will be able to access, to the Administration Informer page, see the tab below, which group all available action or the Administration Informer.

aministation main page

 

In this section, we will see how to send a new Administration Report Order to the other actors. First, choose, in the "Request Type" list : "New administration Report".

Now that you have chosen your request type, you must select a Prescription to begin. To do that, hit this button select a prescription. You will enter to the Prescription tab panel below. Then, hit the button select a prescription to select the prescription to validate.

prescription table

 

Some explanations about the Prescription Table :

You will see the Prescription Table Over. This Table shows all Prescription Order sent by the Prescription Placer simulator. Each lines of this table represents one Prescription. The medication list, is linked to the prescription item list. Thereby, in this example, for the first prescription (with the identifier "3^IHE_HMW_PP..."), the Visine medication corresponds to the precription item with the placer order number : "5^IHE_HMW_PP...".

You can see, that for the second prescription, some prescription item are highlighted with a specific color. See the "Prescription Item Color highlighting" part of this tutorial for more information.

About the Prescription Status, see the HMW TF Supplement part 4.5.1.

 

administration order

Now, you can select the prescription item to administer. You can administer all item of a prescription at a time, or only some. Hit the change statusdiscontinuation buttonbuttons to administer or not the pescription item. When your choice is made, hit the "Send Administration Report" button to send the administration report order to the other actors.

change statusthe prescription item will be administered.

discontinuation button  the prescription item won't be administered.

After to have send the administration report order, the HMW Simulator modifies the prescription item status to "A3".

 

administration order success

LCSD Simulator

 

Click to here to enter the LCSD Simulator

Introduction

The LCSD Simulator emulates the actors involved in the Laboratory Code Set Distribution (LCSD) integration profile. The simulator can be used to simulate the missing partner when testing that profiles :

 

Integration ProfileActorOption
LCSD Code Set Master  
LCSD Code Set Consumer   

 

The LCSD simulator can help testing applications implementing the Code Set Master  and/or the Code Set Consumer actor.

Thanks to a mechanism which enables Gazelle TestManagement to communicate with the simulator, this one can also be picked as a test partner during a connectathon if no another system supports this actor.

 

For more details about the various functionnalities of the HMW Simulator, visit the following links:

 

 

Release Notes

Roadmap

LCSD Simulator: User Manual Introduction

Click here to access the LCSD Simulator.

 

Introduction

The LCSD simulator is developed in conformance with the IHE technical framework, that means that national extensions are not (yet) taken into account.

This simulator can be an Initiator and a Responder.

As an initiator, this simulator is aimed to send messages to a responder. So, if your system is ready to listen and accessible from the Internet, you will be able to send some messages to it.

As a Responder, this simulator is aimed to listen messages from an initiator.

By now, this simulator can act as two different actors:

  • CSM (Code Set Master)
  • CSC (Code Set Consumer)

The table below gathers the supported affinity domains, transactions and SUT actors.

 

What is this simulator able to do ?

The simulator has been developed with the purpose of helping the developers of actors, such as the Code Set Master and the Code Set Consumer actors.  We have tried to manage most of the use cases, and  most of message  defined in the technical framework for those actors  are supported by the simulator.

The following table summarize the actors, profiles and transactions supported by the LCSD simulator.

 

Integration Profile Actor Affinity Domain Transaction System Under Test

 LCSD 

  CSM  

 IHE

 

LAB-51


 Code Set Master

 LCSD  

 CSC

 IHE

 

LAB-51


 Code Set Consumer  

 

Today the simulator supports all type of messages defined in the TF for the LCSD profile, except the batch option for which further development is required.

  • Observation Codes (MFN^M08^MFN_M08 message type)
  • Non-numeric Observation Codes (MFN^M09^MFN_M09 message type)
  • Battery Codes (MFN^M10^MFN_M10 message type)
  • Calculated Observation Codes (MFN^M11^MFN_M11 message type)
  • Batch option (IHE Lab Vol 1 section 8.3.1 )(Not Yet Available)

LCSD Simulator: How to get started

Get a Gazelle account

First of all, note that, like the other applications from Gazelle testing platform, the HMW Simulator is linked to our CAS service. That means that, if you have an account created in Gazelle, you can use it, if you do not have one, you can create one now by filling the form here. Create an account in Gazelle is free. The login link ("cas login") is located in the top right corner of the page.


Registration of Systems Under Test (SUT) acting as HL7 responders

If your system acts as an HL7 responder in one of the transactions offered by the simulator (for example your system is Code Set Consumer and supports LAB-51 transaction), you will have to enter its configuration in the application. 

In order to proceed, go to "System Configurations" and hit the "Create a Configuration" button. You can also copy copy or Edit edit an existing configuration (one of yours !).

In both cases, the simulator needs to know:

  • A name for your configuration (displayed in the drop-down list menus)
  • The actor played by your system under test
  • The receiving facility/application
  • The IP address
  • The port the system is listening on
  • The charset expected by your SUT

If you are logged in when creating the configuration, you will be set as the owner of the configuration. If you do not want other testers to send messages to your SUT you can uncheck the box "Do you want this configuration to be public?" and you will be the only one to be able to select your system in the drop-down list and to edit it (if logged in!).

Before sending messages to your system under test, ensure that your firewall options give to LCSD Simulator the access to your system.

LCSD Simulator: Code Set Master

Using the Code Set Master simulator to send Codes to your Code Set Consumer SUT

The CSM Simulator allows the users of the simulator to send Code Sets to CSC actors. The CSM simulator provides some sample Code Sets (at least one for each message type that can be used to feed client Code Set Consumer. In this case, the CSM Simulator acts as an initiator and the CSC SUT as a responder.

To communicate with your system under test, the simulator needs your system's endpoint configuration. The CSC actor acts as a  Go to the LCSD Simulator: How to get started part of this tutorial for further details.

  1. First at all, go to LCSD Simulator menu bar and select the CSM menu entry.
  2. A sequence Diagram Picture is available to help you to understand the transaction and the role of each actors.
  3. Choose your SUT configuration in the System Under Test drop-down list.
  4. You must choose the Codes to send to the CSC. Begin to choose the Code Set Category in the drop-down list, then choose the Code Sets in the Code Sets drop-down list. Use the  Icon used to display LCSD Codes. button to display the selected codes. (The screeshot below illustrates this part).
  5. At least, hit the Send message button to send the selected codes to the CSC SUT.

CSM Actor GUI sreenshot.

A tab with all messages for the transaction and the actor selected is available at the bottom. You can find your messages in using the filter fields.

You can display the codes send in each HL7 messages. To do that, just hit the Icon used to display LCSD Codes. buton in the action column. A new window will appear to display all codes contained in the selected HL7 message and send by the CSM actor.

 

HL7 validation

For further details about this functionnality of the LCSD Simulator, go to the HL7 messages validation page.

LCSD Simulator: Code Set Consumer

Send HL7 messages to the Code Set Consumer simulator

The simulator can act as a Code Set Consumer and receive messages from a distant system that implements the Code Set Master actor. 

  1. First at all, go to LCSD Simulator menu bar and select the CSC menu entry.
  2. A sequence Diagram Picture is available to help you to understand the transaction and the role of each actors.
  3. Below this picture, a tab with all messages for the transaction and the actor selected is available. You can find your messages in using the filter fields.
  4. Don't forget to refresh this messages list after to have send your message to the Simulator. To do that, only hit the "Refresh List" buttom.

You can display the codes send in each HL7 messages. To do that, just hit the Icon used to display LCSD Codes. buton in the action column. A new window will appear to display all codes contained in the selected HL7 message and send by the CSM actor.

The CSC Simulator is a responder and is able to respond to your CSM SUT with the appropriate Acknowledgment message. If the CSM message send to the CSC Simulator is not consistent with the IHE technical framework, the CSC will respond with an error Acknowledgment.

 

HL7 validation

For further details about this functionnality of the LCSD Simulator, go to the HL7 messages validation page.

HPD Simulator

Access the HPD Simulator

Introduction to the HPD Simulator tool

The HPD Simulator tool is developed in conformance with the IHE technical framework, that means that national extensions are not taken into account. This simulator is expected to act as an initiator or as a responder depending on the emulated actors.

As an initiator, this simulator is aimed to send messages to a responder. Consequently, if your system (named SUT or System Under Test) is ready to listen to a SOAP request and reachable from the Internet, you will be able to received messages from the simulator.

The table below gathers the supported affinity domains, transactions and SUT actors.

Integration profile

Actor

Option

Transaction

Affinity domain

System under test actor

Healthcare Provider Directory

Provider Information Directory

Provider information feed

ITI-59

IHE

Provider Information Consumer

"

Provider Information Directory

None

ITI-58

IHE

Provider Information Source

"

Provider Information Consumer

None

ITI-59

IHE

Provider Information Directory

"

Provider Information Source

None

ITi-58

IHE

Provider Information Directory

 

What is this simulator able to do ?

This simulator has been developed with the purpose of helping developers of IHE systems to test their systems with another IHE compliant system off connectathon periods. We try to manage most of the cases, that means that, step by step, we planned to offer you all the features defined in the technical framework. We also plan to implement national extensions if requested by the different organizations. Nevertheless, this tool is not a reference implementation.

For more detail, follow one of the links at the bottom of the page for instructions for these actors:

  • Provider Information Directory
  • Provider Information Consumer
  • Provider Information Source

Adding your system as a receiver (Provider Information directory)

In order to send messages to your system under test, the HPD Simulator tool needs to know the location of the web service endpoint of your system. This configuration has to be stored in the database of the application, so that you can re-use this configuration without creating it each time you need to perform a test. In order to proceed to configure the HPD Simulator, go to "SUT Configuration" and hit the "Create a new configuration" button. You can also copy or edit an existing configuration (one of yours !).

In both cases, the simulator needs to know:

  • The name of your configuration (shall be unique throught the application)
  • The name of your system under test (informational)
  • The URL of your endpoint
  • The base DN of your LDAP directory (to pre-fill the messages)
  • The transactions supported by your system (so that the tool knows which configurations are available depending the cases)

Message validation

The HPD Simulator embeds the validation service for checking the conformance of DSMLv2 messages exchanged in the context of the HPD profile. For each received and sent messages, you can ask the simulator to validate the messages. Below is the meaning of the different icons you can meet in the Test Report section of each page or under the Messages menu (gathers all the messages received and sent by the simulator).

Buttons (right-hand columns)
find Redirect to the permanent link gathering all the information about the selected exchange of messages
ok Call the validation service for the two messages (request/response) and display the result
hide the message from users (only available to admin users)
Icons (beside message type)
fail The message has been validated but the the validation service has found errors
ok The message has been validated, no error found
The message has not been validated yet

HPD - Provider Information Consumer

The Provider Information Consumer part of the tool is able to send DSMLv2 messages to query for healthcare providers.

To start, you will need to regiser your system under test as a HPD Provider Information Directory actor. To do so, go to SUT Configuration from the top menu bar and hit the “create a new configuration” button. Fill out the displayed form. Be aware that the URL you provide must be reachable by the tool (do not use private IP address nor host names).

Then, go to Simulators → Provider Information Consumer.

On that page, first select your system under test in the drop-down list and ensure that the connection information are correct.

A DSML message can contain several queries. To add a searchRequest element to the message which will be sent to your system:

  1. Click on “Append a new request”

  2. Select the organizational unit to query on. This will set the base DN for search

  3. If needed, set the request options in the first panel

  4. Set the filter in the second panel. You can add assertions by dropping the boxes from left to right. Populate the required fields (marked with a red *) before adding another assertion.

  5. If you want to restrain the content of the response to a sub set of attributes, open the “Expected attributes selection” panel and select all the attributes one by one.

Note that the tool has been populated with the list of object classes and attributes which might be known by the LDAP directory, this will help you with building your queries.

When you have all your search requests ready, hit the “Send request” button. The response is stored in the database and parsed by the tool. If its contains entries, their content will be displayed below the test report. The latter contains the messages sent and received which can be validated by calling the Gazelle HPD validation service (hit the green button).

Finally, a button invite you to perform another query. You will be able to either start a new message from scratch or to reuse the previous message.

Tips

 

When your message contains several searchRequest elements, you can edit or delete them using the icons on the right-hand of each message (under Batch Request).

HPD - Provider Information Directory

We did not implement our own LDAP directory but make use of the ApacheDS open source tool which supports LDAP3 and DSMLv2 queries.

Nevertheless, we have implemented the web service part of the Provider Information Directory as stated in the IHE Technical Framework.

SOAP web service: Provider Information Directory Service

SOAP interface is available and has been developed to respect the web service definition specified by IHE. You will access the Provider Information Directory Service at the following location: http://ovh1.ihe-europe.net:8180/HPDSimulator-ejb/ProviderInformationDirectory_Service/ProviderInformationDirectory_PortType?wsdl

This service offers the following methods:

  • ProviderInformationQueryRequest: it accepts batchRequest messages containing searchRequest elements

  • ProviderInformationFeedRequest : it accpets bachRequest messages containing addRequest, delRequest, modifyRequest and/or modDNRequest elements

Link with the LDAP Server

The Provider Information Directory Service is a front-end to the LDAP server configured as described in the first section of this document. The body part of the SOAP message is analysed and forwarded to ApacheDS through its DSML connector.

The received request may raise errors in ApacheDS which will be reported in the batchResponse returned by the tool; in that case, the error is stored in our database and the response is formatted to fit IHE requirements (no error message are sent back to the sender).

To verify that his/her query does not raise errors in the LDAP server, the user will be allowed to browse the logs under Simulators → Provider Information Directory → LDAP Server error logs.

Configuration

How to configure the LDAP Server (ApacheDS) and how to link the simulator and ApacheDS is explained in the Installation & Configuration manual of the tool and these actions shall only be performed by an administrator of the tool. If you feel like something is missing or goes wrong, feel free to contact the administator od the tool.

Sequence diagram

To better explain the workflow triggered by a call to the Provider Information Directory Service, a sequence diagram has been generated, see below.

sequence diagram

HPD - Provider Information Source

The Provider Information Source part of the tool is able to send DSMLv2 messages to feed the provider information directory.

To start, you will need to regiser your system under test as a HPD Provider Information Directory actor. To do so, go to SUT Configuration from the top menu bar and hit the “create a new configuration” button. Fill out the displayed form. Be aware that the URL you provide must be reachable by the tool (do not use private IP address nor host names).

Then, go to Simulators → Provider Information Source.

On that page, first select your system under test in the drop-down list and ensure that the connection information are correct.

A DSML message can contain several queries. To add a an element to the message which will be sent to your system:

  1. Select the kind of request to add (addRequest, delRequest, modifyRequest or modDNRequest)
  2. Click on “Append a new request”
  3. Select the organizational unit to create. This will set the base DN of the request then, you have several choices
  • For an addRequest request
    • Complete the DN of this new entry
    • The mandatory attributes to populate are selected by the tool based on the type of provider
    • You can add values to those attribures (if they are multi-valued - a + signe is displayed)
    • You can add optional atrributes
  • For a delRequest request
    • Complete the DN with the uid of the entry to delete (for example)
  • For a modDNRequest request
    • Complete the DN of the entry to modify
    • Give the new RDN
    • Optionaly give the new superior 
    • Specify whether or not the old RDN must be deleted
  • For a modifyRequest
    • Complete the DN of the entry to modify
    • List all the modifications which have to be done

Note that the tool has been populated with the list of object classes and attributes which might be known by the LDAP directory, this will help you with building your queries.

When you have all your search requests ready, hit the “Send request” button. The response is stored in the database and parsed by the tool. If its contains entries, their content will be displayed below the test report. The latter contains the messages sent and received which can be validated by calling the Gazelle HPD validation service (hit the green button).

Finally, a button invite you to perform another query. You will be able to either start a new message from scratch or to reuse the previous message.

Tips

When your message contains several searchRequest elements, you can edit or delete them using the icons on the right-hand of each message (under Batch Request).