application hosting lawrence tarbox, ph.d. chair wg 23 mallinckrodt institute of radiology...

31
Application Hosting Application Hosting Lawrence Tarbox, Ph.D. Lawrence Tarbox, Ph.D. Chair WG 23 Chair WG 23 Mallinckrodt Institute of Radiology Mallinckrodt Institute of Radiology Washington University in St. Louis Washington University in St. Louis School of Medicine School of Medicine

Upload: sophie-ford

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application HostingApplication Hosting

Lawrence Tarbox, Ph.D.Lawrence Tarbox, Ph.D.Chair WG 23Chair WG 23

Mallinckrodt Institute of RadiologyMallinckrodt Institute of RadiologyWashington University in St. Louis School of Washington University in St. Louis School of MedicineMedicine

Page 2: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

MotivationMotivation

To create a mechanism where To create a mechanism where applications written by one party applications written by one party could be launched and run on could be launched and run on systems created by multiple other systems created by multiple other partiesparties

To create a framework for To create a framework for exchanging information about those exchanging information about those applicationsapplications

To support both research and clinical To support both research and clinical environmentsenvironments

Page 3: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Initial Driver – Molecular Initial Driver – Molecular ImagingImaging

A ‘bright dot’ in the image A ‘bright dot’ in the image is not sufficientis not sufficient

Ideal is a quantitative Ideal is a quantitative number, with normal number, with normal ranges derived from ranges derived from population, as now done population, as now done in lab analysisin lab analysis

Newer agents will require Newer agents will require more sophisticated more sophisticated analysis:analysis:– Agent uptake/decay ratesAgent uptake/decay rates– Pre/post comparisonsPre/post comparisons– Comparisons with Comparisons with

surrounding tissuesurrounding tissue– CalibrationCalibration– ……

Hundreds of new agents Hundreds of new agents anticipatedanticipated

Page 4: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

ProblemProblem

Stakeholders in developing such Stakeholders in developing such agent-specific analysis applications agent-specific analysis applications typically are not the typically are not the vendors/creators of the medical vendors/creators of the medical workstationsworkstations

Little market incentive for medical Little market incentive for medical workstation vendorsworkstation vendors

Stakeholders do not want to develop Stakeholders do not want to develop multiple versions of an applicationmultiple versions of an application

Page 5: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Typical Plug-in Typical Plug-in ConceptConcept

……AA

EE

BB CC DD

FF

Page 6: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Extended Plug-in Extended Plug-in ConceptConcept

……

AA

EE

AA

DD

AA

CC

AA

BB

AA

Page 7: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Use Case – Agent-Specific Post Use Case – Agent-Specific Post ProcessingProcessing

MR MR CT CT PETPET

Molecular Imaging Plug -in Server

-- Agent Specific Acquisition/Recon

-- Agent Specific Image Analysis

PACS

Image Workstation

Plug-in Extension

SPECTSPECTMR MR CT CT PETPET

Molecular Imaging Plug -in Server

-- Agent Specific Acquisition/Recon

-- Agent Specific Image Analysis

Molecular Imaging Plug -in Server

-- Agent Specific Acquisition/Recon

-- Agent Specific Image Analysis

PACS

PACS

Image Workstation

Plug-in Extension

SPECTSPECT

1. System identifies the agent

2. System selects ‘plug-in’ app based on

agent

3. ‘Plug-in’ app performs

agent-specific analysis

Page 8: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Use Case – SOP-Specific Post Use Case – SOP-Specific Post ProcessingProcessing

New or Private SOP classes may be New or Private SOP classes may be unknown to a workstationunknown to a workstation– e.g. Radial IVUS imagese.g. Radial IVUS images

Workstation could look for a ‘plug-Workstation could look for a ‘plug-in’ application that does know how in’ application that does know how to handle the unknown SOP Classto handle the unknown SOP Class

Page 9: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Use Case – CAD/Screening Use Case – CAD/Screening ApplicationsApplications

‘‘Plug-in’ runs on a server that is Plug-in’ runs on a server that is fed sets of DICOM objects to fed sets of DICOM objects to analyze, and produces DICOM analyze, and produces DICOM Evidence Documents Evidence Documents

‘‘Plug-ins’ could run Plug-ins’ could run – on the central archiveon the central archive– on a manufacturer-supplied serveron a manufacturer-supplied server– as a remote serviceas a remote service

Page 10: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Use Case – Mammography Image Use Case – Mammography Image StorageStorage

Desire to archive both raw and Desire to archive both raw and processed dataprocessed data– Processed data to show what was used for Processed data to show what was used for

the diagnostic reportthe diagnostic report– Raw data for potential future enhancementsRaw data for potential future enhancements

No desire to double storage No desire to double storage requirements!requirements!

Solution – store raw plus reference to a Solution – store raw plus reference to a processing applicationprocessing application

Page 11: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Use Case – Multi-site Trials/ResearchUse Case – Multi-site Trials/Research

Need to perform the same Need to perform the same analysis on images collected at analysis on images collected at multiple sitesmultiple sites

Sites have multiple working Sites have multiple working environmentsenvironments

Trial coordinator would like to Trial coordinator would like to create a single analysis package create a single analysis package that could be run at all sitesthat could be run at all sites

Page 12: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Other Use CasesOther Use Cases

Customized Reporting and DisplayCustomized Reporting and Display– Site-specific reportsSite-specific reports

Print ComposingPrint Composing– Custom printing across multiple systemsCustom printing across multiple systems

Analysis of Image Data in Analysis of Image Data in RepositoriesRepositories– Faster to move apps than dataFaster to move apps than data

… …

Page 13: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Suggested StagingSuggested Staging

Stage one – Access to DICOM Datasets Stage one – Access to DICOM Datasets and Results Recordingand Results Recording

Stage Two – Access to Non-Interactive Stage Two – Access to Non-Interactive Application Services Application Services (e.g. print, archive)(e.g. print, archive)

Stage Three – Access to Interactive Stage Three – Access to Interactive Application Services Application Services (e.g. GUI, ‘skins’, (e.g. GUI, ‘skins’, rendering)rendering)

Stage Four – Standard Workflow Stage Four – Standard Workflow Descriptions, and Interactions Between Descriptions, and Interactions Between Hosted SoftwareHosted Software

Page 14: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Targets for Stage OneTargets for Stage One

Meta-data XML Schema to Describe an ApplicationMeta-data XML Schema to Describe an Application– Allows selection of appropriate applicationsAllows selection of appropriate applications– Allows administrator to determine compatibility of host Allows administrator to determine compatibility of host

system and hosted applicationsystem and hosted application Basic Launch and Control of a Hosted ApplicationBasic Launch and Control of a Hosted Application

– Load, Unload, Start, AbortLoad, Unload, Start, Abort Simple Interchange of Data Between a Hosting Simple Interchange of Data Between a Hosting

System and Hosted ApplicationsSystem and Hosted Applications– Data inputs and outputs described using DICOM Data inputs and outputs described using DICOM

SemanticsSemantics– DICOM messages/objects need not be used directly, DICOM messages/objects need not be used directly,

instead the API could give access to parts of the objectsinstead the API could give access to parts of the objects

Page 15: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

GoalsGoals

A Standardized API that is:A Standardized API that is:

Language independentLanguage independent Platform independentPlatform independent IP independentIP independent ExtensibleExtensible SecureSecure

Page 16: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Open Interface Standard Open Interface Standard versusversus Open SourceOpen Source

Analogy to traditional DICOM:Analogy to traditional DICOM:– The content and encoding of objects The content and encoding of objects

is standardis standard– The means for transporting the The means for transporting the

objects (e.g. the network) is standardobjects (e.g. the network) is standard

But … But … – How to do the implementation is not How to do the implementation is not

standardstandard

Page 17: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Open Interface Standard Open Interface Standard versusversus Open SourceOpen Source

Implementations of Open Implementations of Open Standard Interfaces can be Open Standard Interfaces can be Open Source or proprietarySource or proprietary

Implementations on either side of Implementations on either side of the interface need not be created the interface need not be created by the same entityby the same entity

Interoperability is gained by Interoperability is gained by adherence to the standardadherence to the standard

Page 18: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Research SupportResearch Support

Hosting System (e.g. Medical Workstation)Hosting System (e.g. Medical Workstation)

API (Socket)API (Socket)

Custom Research/University PrototypeCustom Research/University Prototype

API (Plug)API (Plug)

Custom ClassesCustom Classes OEM ClassesOEM Classes(e.g. watsyn™, IDL)(e.g. watsyn™, IDL)

Prototype Plug-In Development EnvironmentPrototype Plug-In Development Environment

Page 19: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Hosting System (e.g. Medical Workstation)Hosting System (e.g. Medical Workstation)

API (Socket)API (Socket)

CommercializationCommercialization

API (Plug)API (Plug)

Hosted Application (Plug-in)Hosted Application (Plug-in)

Page 20: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Caution! Caution!

WARNING – What you are about to see are preliminary ideas that may change at any moment!

Page 21: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application Description Document Application Description Document App IDApp ID

Identification by name, version, Identification by name, version, etc.etc.

Identification of functional Identification of functional categories and possible sub categories and possible sub categories.categories.

Identification descriptively, so Identification descriptively, so that a person understands what that a person understands what the application is.the application is.

Page 22: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application Description Document Application Description Document App PrerequisitesApp Prerequisites

Hardware (memory required, Hardware (memory required, swap required, disk space swap required, disk space required, processor required, processor considerations, special hardware, considerations, special hardware, etc.) etc.)

Software environment (operating Software environment (operating system, libraries present, system, libraries present, database facilities, versions, etc.)database facilities, versions, etc.)

Page 23: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application Description Document Application Description Document App InstallationApp Installation

The executable portion of the Hosted The executable portion of the Hosted ApplicationApplication

Short (and long?) user manual ensured Short (and long?) user manual ensured to be available as part of the application.to be available as part of the application.

A Hosted Application installer, which A Hosted Application installer, which may be provided as part of the Hosted may be provided as part of the Hosted Application package or which may Application package or which may merely be identified by the Hosted merely be identified by the Hosted Application package.Application package.

Page 24: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application Description Document Application Description Document ParametersParameters

Information equivalent to the DICOM Information equivalent to the DICOM Conformance Claim, e.g. SOP Conformance Claim, e.g. SOP Classes accepted and produced, Classes accepted and produced, languages and character sets, languages and character sets, constrains on combinations of constrains on combinations of datasets, etc. datasets, etc.

Specific parameters that the Hosted Specific parameters that the Hosted Application needs to execute (e.g., Application needs to execute (e.g., provided in a SR templates)provided in a SR templates)

Page 25: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Application Description Document Application Description Document SecuritySecurity

Application integrity check, by Application integrity check, by means of digital hash, digital means of digital hash, digital signature, or similar techniques.signature, or similar techniques.

Verified or validated Verified or validated configurations, e.g. “Confirmed to configurations, e.g. “Confirmed to work on product X version a.b”work on product X version a.b”

Licensing information Licensing information

Page 26: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

InterfacesInterfaces

Interfaces will be defined as Interfaces will be defined as web-services or grid services web-services or grid services – Can be implemented in any Can be implemented in any

languagelanguage– Can be local or remote Can be local or remote

(initial focus is local)(initial focus is local)– Is platform independentIs platform independent

Page 27: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

HostedApplicationHostedApplication InterfaceInterface

HostedApplication HostedApplication startupstartup (HostingSystem (HostingSystem host)host)

StatusStatus createJobcreateJob (DicomObject [] objects)(DicomObject [] objects) voidvoid cancelcancel ()() StatusStatus shutdownshutdown  ()()

How the Host System communicates with the Hosted Application

Page 28: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

HostingSystemHostingSystem InterfaceInterface

Object []Object [] getConfigurationParameters getConfigurationParameters ()()

voidvoid progressUpdate progressUpdate (String message, (String message, JobStatus status, JobStatus status, DicomObject [] intermediate_objects)DicomObject [] intermediate_objects)

StringString createUID createUID ()() statusstatus resultsReturn resultsReturn

(DicomObject [] result_objects)(DicomObject [] result_objects) statusstatus jobComplete jobComplete ()()

How the Hosted Application communicates with the Hosting System

Page 29: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

DICOMObjectDICOMObject Interface Interface

Information about how to access Information about how to access the objects, but not the objects the objects, but not the objects themselves.themselves.

Multiple Access Styles possible:Multiple Access Styles possible:– DICOM Network AccessDICOM Network Access– File-mapped DICOMFile-mapped DICOM– Parsed DICOMParsed DICOM

Access Styles negotiagedAccess Styles negotiaged

Page 30: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Work CycleWork Cycle

1.1. Define Use CasesDefine Use Cases

2.2. Derive RequirementsDerive Requirements

3.3. Review available technologyReview available technology

4.4. Create draft for public commentCreate draft for public comment

5.5. Freeze for trial useFreeze for trial use

6.6. Revise after feedback from Revise after feedback from implementersimplementers

7.7. BallotBallot

Page 31: Application Hosting Lawrence Tarbox, Ph.D. Chair WG 23 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine

Volunteers SolicitedVolunteers Solicited

WG 23 welcomes your input. We WG 23 welcomes your input. We would be even happier with your would be even happier with your assistance in creating this new assistance in creating this new standard.standard.– Join the mailing list and contribute Join the mailing list and contribute

ideasideas– Join us at future meetings Join us at future meetings

(next is planned for April 26 in Austin (next is planned for April 26 in Austin prior to SCAR)prior to SCAR)