250 likes | 454 Views
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.
E N D
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.