Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Entity–attribute–value model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Database model wikipedia , lookup
An Overview of the Integration of the UCSF Dept. of Radiology Teaching File with MIRC Wyatt M. Tellis University of California San Francisco Departments of Radiology and Biological and Medical Informatics Introduction • 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 2 UCSF 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.) 3 Input Screen on PACS Display Select key images using PACS “summary series” tool Demographics & history filled in automatically ACR codes used for indexing Additional content can be entered Search Page for Internal Use 5 UCSF Teaching File Display UCSF TF Within MIRC User Query Service RSNA UCSF uses its internal database to index its dynamically generated documents. Internet Index UCSF Index Index Server Server Server MedPix Query/Storage Service Interactions User Submits Search Receives Matching Results Query Service User Broadcast Query of All Storage Services User Views Content Hosted by Storage Services Independent MIRC Storage Services MIRC Storage Service Integration • 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 9 MIRC XML Document Schemas MIRCquery Document MIRCqueryresult Document Storage Service Model* User Storage Service XML Parser Control Logic Query Service Web Server DB Request Handlers *Courtesy of Steve Moore 11 Storage 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 12 Storage 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” 13 Storage 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 14 Storage 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 15 Storage 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 16 Query 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 17 Key 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 Key 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 19 Conclusion & Future Directions • 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 20 Conclusion & Future Directions • 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 21