an overview of the integration of the ucsf dept. of radiology teaching file with mirc wyatt m....

Post on 27-Mar-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

An Overview of the An Overview of the Integration of the UCSF Integration of the UCSF

Dept. of Radiology Dept. of Radiology Teaching File with MIRCTeaching File with MIRC

Wyatt M. TellisUniversity of California San Francisco

Departments of Radiology and

Biological and Medical Informatics

2

IntroductionIntroduction• MIRC is a “virtual” community of medical image

libraries that can be indexed and searched• Libraries can be:

– Teaching files– Research and reference image repositories– Clinical trial images and related data– Textbooks or papers

– PowerPoint © and other types of presentations

• This presentation describes the process of integrating an existing database driven teaching file with MIRC

3

UCSF Teaching File OverviewUCSF Teaching File Overview

• Web accessible• Database driven

– 4th Dimension© RDBMS

• Integrated with PACS– Images entered from the PACS display station– Images automatically converted from DICOM to JPEG– Reports automatically retrieved from RIS

• In use since 1998 with over 14,300 cases– Used by all sections (neuroradiology, chest, abdominal

imaging, skeletal, nuclear medicine, etc.)

Input Screen on PACS Input Screen on PACS DisplayDisplay

Demographics & history filled in automatically

ACR codes used for indexing

Additional content can be entered

Select key images using PACS “summary series” tool

5

Search Page for Internal UseSearch Page for Internal Use

UCSF Teaching File DisplayUCSF Teaching File Display

InternetInternet

ServerServer

Index

ServerServer

Index

UCSF

QueryService

MedPixServerServer

Index

RSNA

User

UCSF uses its internal database to index its dynamically generated documents.

UCSF TF Within MIRCUCSF TF Within MIRC

User

Independent MIRC Storage Services

User Submits Search

Broadcast Query of All Storage Services

User Views Content Hosted by Storage Services

Query Service

Receives Matching Results

Query/Storage Service Query/Storage Service InteractionsInteractions

9

MIRC Storage Service MIRC Storage Service IntegrationIntegration

• UCSF TF acts as MIRC “storage service”– Integration achieved through MIRC “query interface”

• MIRC “query interface” responsibilities:– Receive “MIRCquery” document via HTTP POST– Extract query parameters from “MIRCquery” document– Perform actual query– Generate “MIRCqueryresult” document containing

matching cases– Send “MIRCqueryresult” document back to query

service

MIRC XML Document MIRC XML Document SchemasSchemas

MIRCquery Document

MIRCqueryresult Document

11

Storage Service Storage Service ModelModel**

DB

QueryService

Storage ServiceUser

Web Server

ControlLogic

Request Handlers

XMLParser

*Courtesy of Steve Moore

12

Storage Service ComponentsStorage Service Components

• Web Server– 4D contains built-in web server– Handles network traffic between browser (and

query service) and teaching file server• Parses incoming HTTP requests• Sends HTTP response data

• Database– 4D contains built-in relational database– Used to store all text data

• Images stored externally with pointers in database

13

Storage Service ComponentsStorage Service Components

• Control Logic– Written in 4D’s scripting language

• Pascal-like syntax• Uses third party “plug-ins” to extend scripting

language’s capabilities

– Responsible for authenticating users– Delegates individual HTTP requests to

appropriate “handlers”

14

Storage Service ComponentsStorage Service Components

• XML Parser– “Expat4D” plug-in provides XML support

• 4D does not inherently support XML parsing• Freely available:

http://www.mitchenall.com/expat4d/• Based on the open source, event driven, XML parser

“Expat”

– Used to parse MIRCquery document

15

Storage Service ComponentsStorage Service Components

• Request Handlers– Individual “functions” written in 4D’s scripting

language– Approximately 70 handlers, each dedicated to

processing a specific request:• Perform query• Send list of matching cases• Send images

– Handlers can make direct calls to underlying database to process a request

16

Storage Service ComponentsStorage Service Components

• Request Handlers (cont’d)– Apply access restrictions– Each handler generates the output that is sent

as part of the HTTP response:• HTML• Binary data

– JPEG– PDF

• XML (for MIRC)

– New handler (“query interface”) added to process requests from MIRC query service

17

Query Interface OverviewQuery Interface Overview

• Single request handler– Receives MIRCquery document as input

• Uses Expat4D to parse XML

– Performs query of database using parameters specified in MIRCquery document

• Translate MIRC’s Boolean query syntax into database engine’s internal query language

• Map MIRCquery document elements to columns within the database’s schema

– Generates MIRCqueryresult document which is sent back to query service

Key Integration IssuesKey Integration Issues• Translating MIRC’s query syntax into

database engine’s internal query language– Supports Boolean operators: “and” and “or”– Uses quotes to define phrases – Uses parenthesis to create complex Boolean

searches– Sample query:

<MIRCquery>(alpha | “bravo charlie”) delta

</MIRCquery>

– Reused code from internal search page to process MIRC queries

• Query syntax is similar to the one already being used to search teaching file

19

Key Integration IssuesKey Integration Issues

• Mapping of MIRC XML document elements to database schema– 28 elements in MIRCquery document– MIRC spec allows you to ignore those that can’t

be mapped

• Anonymization of cases– Patient identifiers extensively used by

radiologists– Flags added to specify whether case has been

fully anonymized and can be shared with MIRC

20

Conclusion & Future Conclusion & Future DirectionsDirections

• Use of well established standards makes integration with MIRC straightforward– HTTP– XML

• MIRC schema extensive enough to accommodate our teaching file schema– Schema continues to evolve to meet the

community’s demands

21

Conclusion & Future Conclusion & Future DirectionsDirections

• Initially required only three days of development time with subsequent refinements over the next couple of years– Schema changes– Addition of anonymization support

• Use of the “MIRCdocument” to integrate teaching file with authoring software developed at UCSF for creating eCME courses

top related