DVTk – IHE Actor Simulation
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.
DVTk – IHE Actor Simulation
E N D
Presentation Transcript
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
IHE Validation Framework Example:Schedule Workflow IHE Validation Framework is capable of emulating the actors and transactions defined in IHE.
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.
Emulate Emulate Emulate Emulate Emulate Emulate Emulate IHE Validation Framework Example:Schedule Workflow According the defined scenarios the DVTk IHE emulated actors will interface with the system(s) under test. System under Test
Testing an Acquisition Modality using DVTk
Testing a DSS/Order Filler using DVTk
Data Sources DVTk 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.
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.
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.
Message Comparison • Messages form Transactions in IHE. • Values in messages in different transactions are automatically compared to each other. • Comparison can be filtered.
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).
Configuration UI (under construction) Configuration UI is under development Tool box containing: • Default Actors • Default Devices • Custom Devices • Networks
Actor configuration DvtkIheActor needsto be configured withpeer actor details IHE Transactions
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>
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>
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>
Applications Different kinds of applications can be built above the DVTk IHE Actors assembly: • GUI / Command Line • Web Services • (NUnit) Automated Tests • VBScripts
VB Scripting VBScript 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.
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.
Work still to be done… • Graphical application – further developmentHope 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.