8 February 2008 DVTk – IHE Actor Simulation Rick Busbridge Agfa Healthcare

Preview:

Citation preview

8 February 2008

DVTk – IHE Actor Simulation

Rick BusbridgeAgfa Healthcare

2Rick Busbridge www.dvtk.org

DVTk IHE Actor Simulation• Requirements• Data Sources• Message Validation• Message Comparison• Configuration• Configuration UI• Applications• VB Scripting• Results

3Rick Busbridge www.dvtk.org

Scheduled Workflow

4Rick Busbridge www.dvtk.org

IHE Validation Framework

Pt. Registration [RAD-1] 12: Patient Update [RAD-12]

Pt. Registration [RAD-1] Patient Update [RAD-12]

Placer Order Management [RAD-2] Filler Order Management [RAD-3] Appointment Notification [RAD-48]

ADT

Query Images [RAD-14] Retrieve Images [RAD-16]

Image Display

Storage Commitment [RAD-10]

Modality Image Stored [RAD-8] Storage Commitment [RAD-10]

Creator Images Stored [RAD-18]

Procedure Scheduled [RAD-4] Image Availability Query [RAD-11] Procedure Updated [RAD-13] Performed Work Status Update [RAD-42] Performed Work Status Update [RAD-42] Instance Availability Notification [RAD-49]

Query Modality Worklist [RAD-5]

Evidence Creator

Performed Procedure

Step Manager

Modality PS in Progress [RAD-6] Modality PS Completed [RAD-7] Creator PS in Progress [RAD-20] Creator PS Completed [RAD-21]

Modality PS in Progress [RAD-6] Modality PS Completed [RAD-7] Creator PS in Progress [RAD-20] Creator PS Completed [RAD-21]

Modality PS in Progress [RAD-6] Modality PS Completed [RAD-7]

Creator PS in Progress [RAD-20] Creator PS Completed [RAD-21]

Order Placer

Acquisition Modality

Image Manager

Image Archive

DSS/ Order Filler

Example:Schedule Workflow

IHE Validation Framework is capable of emulating the actors and transactions defined in IHE.

5Rick Busbridge www.dvtk.org

Requirements• Use DVTk to provide the “missing actors” in an IHE Integration

Profile.• Clear results reporting.• Ease of use.• Flexibility.• Re-use DVTk Validation Engine.• Support DICOM and HL7 – and later others.

6Rick Busbridge www.dvtk.org

IHE Validation Framework

Emulate

Emulate

Emulate

Emulate

Emulate

Emulate

Emulate

System under Test

Example:Schedule Workflow

According the defined scenarios the DVTk IHE emulated actors will interface with the system(s) under test.

7Rick Busbridge www.dvtk.org

AcquisitionModality

DssOrderFiller

PpsManager

ImageManager

ImageArchive

SUT - AcquisitionModality in Scheduled Workflow Integration Profile

Query Modality Worklist [RAD-5]

Modality PS In Progress [RAD-6]

Modality PS Completed [RAD-7]

Storage Commitment [RAD-10]

Modality Image Stored [RAD-8]

DVTK IHE Actors - simulators

Modality PS In Progress [RAD-6]

Modality PS Completed [RAD-7]

Modality PS In Progress [RAD-6]

Modality PS Completed [RAD-7]

Testing an AcquisitionModality using DVTk

8Rick Busbridge www.dvtk.org

AdtPatientRegistration

OrderPlacer

PpsManager

AcquisitionModality

ImageManager

DssOrderFiller

SUT - DssOrderFiller in Scheduled Workflow Integration Profile

DVTK IHE Actors - simulators

Patient Registration [RAD-1]

Patient Update [RAD-12]

Placer Order Management [RAD-2]

Patient Registration [RAD-1]

Patient Update [RAD-12]

Filler Order Management [RAD-3]

Appointment Notification [RAD-48]

Modality PS In Progress [RAD-6]Modality PS Completed [RAD-7]

Modality PS In Progress [RAD-6]

Modality PS Completed [RAD-7]

Query Modality Worklist [RAD-5]

Storage Commitment [RAD-10]Procedure Scheduled [RAD-4]

Image Availability Query [RAD-11]

Procedure Updated [RAD-13]

Performed Work Status Update [RAD-42]

Instance Availability Notification [RAD-49]

Testing a DSS/OrderFiller using DVTk

9Rick Busbridge www.dvtk.org

PrintComposerPpsManager

OrderPlacerImageManagerImageDisplayImageArchive

EvidenceCreatorDssOrderFillerAdtPatientRegistration

PrintServer

AcquisitionModality

Supported Actors

10Rick Busbridge www.dvtk.org

Data SourcesDVTk IHE uses a number of data sources:• In-Built default values• User defined default values• DCM files (storage / worklist)

The DCM files are used by the Information Entity Assembly to provide Query/Retrieve and Modality Worklist Information Models which can be queried and retrieved.

11Rick Busbridge www.dvtk.org

Message Validation• DICOM Messages are validated using the DVTk Validation Engine as with

earlier applications.• Uses of Definition Files.• Produces XML output.

• HL7 done via NIST Web Service – provide XML conformance profile and XML validation context – returns XML validation result stream.

12Rick Busbridge www.dvtk.org

Data Directories• Various data directories can be defined where DCM files are read

/written.• Query/Retrieve, Archive and Storage Commitment servers can use

the same data directory to emulate an Archive.

13Rick Busbridge www.dvtk.org

Message Comparison• Messages form Transactions in IHE.• Values in messages in different transactions are automatically

compared to each other.• Comparison can be filtered.

14Rick Busbridge www.dvtk.org

Configuration• Configuration via XML file.• Only actors configured will be started (status ActorBeingEmulated).• Need to configure connections between peer actors.• Will automatically configure connections between two emulated

peers (coming soon).

15Rick Busbridge www.dvtk.org

Configuration UI (under construction)

Configuration UI is under developmentTool box containing:• Default Actors• Default Devices• Custom Devices• Networks

16Rick Busbridge www.dvtk.org

Actor configuration

DvtkIheActor

PeerActor1

PeerActor2

DvtkIheActor needsto be configured withpeer actor details

IHE Transactions

17Rick Busbridge www.dvtk.org

XML Configuration File

<?xml version="1.0" encoding="us-ascii" standalone="yes"?><IheIntegrationProfile> <IntegrationProfileName>Scheduled Workflow</IntegrationProfileName> <RootedBaseDirectory>C:\Program Files\DVT20</RootedBaseDirectory> <ResultsDirectory>results</ResultsDirectory> <CredentialsFilename></CredentialsFilename> <CertificateFilename></CertificateFilename> <NistWebServiceUrl>http://127.0.0.1:8080/axis2/services</NistWebServiceUrl> <Hl7ProfileDirectory>hl7Profiles</Hl7ProfileDirectory> <Hl7ProfileStoreName>hl7ProfileStore.xml</Hl7ProfileStoreName> <Hl7ValidationContextFilename>hl7ValidationContext.xml</Hl7ValidationContextFilename> <Interactive>True</Interactive> <ActorConfiguration> <ActorName> <ActorType>DssOrderFiller</ActorType> <ActorId>OF_ID1</ActorId> </ActorName> <ConfigState>ActorBeingEmulated</ConfigState> - ActorIsSut or ActorDisabled </ActorConfiguration> <DicomPeerToPeerConfiguration>... </DicomPeerToPeerConfiguration><Hl7PeerToPeerConfiguration>... </Hl7PeerToPeerConfiguration></IheIntegrationProfile>

18Rick Busbridge www.dvtk.org

DICOM Peer Actor Configuration Parameters

<DicomPeerToPeerConfiguration> <FromActor> <ActorName> <ActorType>AcquisitionModality</ActorType> <ActorId>AM_ID1</ActorId> </ActorName> <AeTitle>AM_AE</AeTitle> </FromActor> <ToActor> <ActorName> <ActorType>DssOrderFiller</ActorType> <ActorId>OF_ID1</ActorId> </ActorName> <AeTitle>DSS_AE</AeTitle> <IpAddress>localhost</IpAddress> </ToActor> <PortNumber>308</PortNumber> <SecureConnection>False</SecureConnection> <SourceDataDirectory>data\dssOrderFiller</SourceDataDirectory> <StoreDataDirectory>.</StoreDataDirectory> <StoreData>False</StoreData> <DefinitionFiles> <DefinitionFile>definitions\ModalityWorklist-FIND.def</DefinitionFile> </DefinitionFiles> </DicomPeerToPeerConfiguration>

19Rick Busbridge www.dvtk.org

HL7 Peer Actor Configuration Parameters

<Hl7PeerToPeerConfiguration> <FromActor> <ActorName> <ActorType>AdtPatientRegistration</ActorType> <ActorId>ADT_ID1</ActorId> </ActorName> <AeTitle>ADT_AE</AeTitle> </FromActor> <ToActor> <ActorName> <ActorType>OrderPlacer</ActorType> <ActorId>OP_ID1</ActorId> </ActorName> <AeTitle>OP_AE</AeTitle> <IpAddress>localhost</IpAddress> </ToActor> <PortNumber>508</PortNumber> <SecureConnection>False</SecureConnection> <ActorOption1></ActorOption1> <ActorOption2></ActorOption2> <ActorOption3></ActorOption3> <SessionId>1</SessionId> </Hl7PeerToPeerConfiguration>

20Rick Busbridge www.dvtk.org

ApplicationsDifferent kinds of applications can be built above the DVTk IHE Actors

assembly:• GUI / Command Line• Web Services• (NUnit) Automated Tests• VBScripts

21Rick Busbridge www.dvtk.org

VB ScriptingVBScript can be used to write scripts to implement various test

scenarios.Script writer has to define:• Test SetUp – define message comparison filters and user defined

default values.• Test Execution – implement test scenario.

22Rick Busbridge www.dvtk.org

Results• Both Detailed and Summary Results are produced.• A Detailed/Summary ResultsIndex file provide the links to the

underlying transaction results files.• The Message Comparison Results are shown in the ResultsIndex

file.

23Rick Busbridge www.dvtk.org

Work still to be done…• Graphical application – further development

Hope that the configuration UI will become the runtime UI too.• Integration of other EVS Web Services.• Expand number of actors supported – into other Integration Profiles.

Explore the new dimension of Integration Testing

DVTk

Recommended