dvtk – ihe actor simulation
DESCRIPTION
DVTk – IHE Actor Simulation. Rick Busbridge Agfa Healthcare. DVTk IHE Actor Simulation. Requirements Data Sources Message Validation Message Comparison Configuration Configuration UI Applications VB Scripting Results. Scheduled Workflow. IHE Validation Framework. - PowerPoint PPT PresentationTRANSCRIPT
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