270 likes | 401 Views
Inside the RSNA MIRC Software. An open community of medical imaging libraries and teaching files around the world, cooperating by sharing information through a common query format. Key Requirements. Support for: Teaching files Research datasets Educational materials Clinical trials data
E N D
An open community of medical imaging libraries and teaching files around the world, cooperating by sharing information through a common query format
Key Requirements • Support for: • Teaching files • Research datasets • Educational materials • Clinical trials data • Open source (free) • Multi-platform
MIRC Components User Query Service MIRC site A Index RSNA site Internet Server Index MIRC site B Index Index Server Server Server MIRC site C
Demonstration • Query • Query results • Presentation formats • Document creation • Document submission • Site Administration
The URLs • RSNA MIRC site • http://mirc.rsna.org • The Current Site Release • http://mirc.rsna.org/mircsitesoftware • The Current MIRCat Release • http://mirc.rsna.org/mircatsoftware • The MIRC Specifications • http://mirc.rsna.org/mircdocumentation
MIRC XML Schemas • These define MIRC: • MIRCquery • MIRCqueryresult • This defines the RSNA MIRC implementation: • MIRCdocument
The MIRCquery Schema - 1 <MIRCquery firstresult=”…” maxresults=”…” queryUID=”…” unknown=”…”> <title> . . . </title> <author> . . . </author> <abstract> . . . </abstract> <keywords> . . . </keywords> <history> . . . </history> <findings> . . . </findings> <diagnosis> . . . </diagnosis> <discussion> . . . </discussion> <pathology> . . . </pathology> <anatomy> . . . </anatomy> <organ-system> . . . </organ-system> <code coding-system=”…”> . . . </code> <modality> . . . </modality>
The MIRCquery Schema - 2 <patient> <pt-age> <years> . . . </years> <months> . . . </months> <weeks> . . . </weeks> <days> . . . </days> </pt-age> <pt-sex> . . . </pt-sex> <pt-race> . . . </pt-race> </patient> <image> <format> . . . </format> <compression> . . . </compression> <modality> . . . </modality> <anatomy> . . . </anatomy> <pathology> . . . </pathology> </image>
The MIRCquery Schema - 3 <document-type> . . . </document-type> <category> . . . </category> <level> . . . </level> <access> . . . </access> <peer-review/> <language code=”…”> . . . </language> … free text search field … </MIRCquery>
The MIRCqueryresult Schema <MIRCqueryresult> <preamble> . . . </preamble> <MIRCdocument docref=”...URL...”> <title> . . . </title> <author> . . . </author> <abstract> . . . </abstract> <access> . . . </access> <peer-review/> <level> . . . </level> </MIRCdocument> … additional <MIRCdocument/> elements … </MIRCqueryresult>
GET Response Response Response xsl POST xsl http http ??? POST http text/xml MIRCquery text/xml xsl MIRCqueryresponse text/xml http MIRC Transactions Browser Query Svc Storage 1
The RSNA MIRC Software • Query Service • Storage Service • Storage Service • Submit Service • Admin Service • XML Server • Authoring Tool
Tomcat • Jakarta project • jakarta.apache.org/tomcat • Servlet container • Coyote http 1.1 connector • Webapps • Servlets
The Query Service Webapp • One servlet; responds to: • http GET with no query string • Returns HTML query form • http GET with query string • Handles as a POST (for Next/Prev buttons) • http POST of text/xml • Queries selected Storage Services, collates results and returns HTML • Supports standard query results display and case navigator
The Storage Service Webapp - 1 • Storage servlet; responds to: • http POST of text/xml MIRCquery • Returns MIRCqueryresult as text/xml in the response text • http GET • Returns simple status of the storage service as text/html in the response text
The Storage Service Webapp - 2 • Submit servlet; responds to: • http GET • Returns HTML document submission form • http POST of: • multipart/form-data • application/x-zip-compressed • Returns submission results page as text/html in the response text
The Storage Service Webapp - 3 • XML Server servlet; responds to: • http GET of an XML file • Attempts to transform the document • Returns the results as text/html or text/xml • Query string parameters • xsl – defines the XSL file to use • report – controls response to errors • zip – returns zip file
The Storage Service Webapp - 4 • Admin servlet; responds to: • http GET with no query string • Returns HTML admin page • http GET with query string • Processes query string as instructions and returns a new HTML admin page with the results • Query string parameters • listindex, reload, rebuild, save, deleteindexentry • listqueue, acceptqueueentry, deletequeueentry • Protected by a realm
Demonstration The test storage service
Storage Service Directory • /webapps/mircstorage/ • storage.xml • inputqueue.xml • documents/ • (documentdirectory)/ • (MIRCdocument).xml • locally referenced objects (images, …) • (documentdirectory)/ • …
The XML Server in More Detail • Invoked by http GET of *.xml • Parses the file • Finds root element name • Looks for <root>.xsl • in document directory • in root of the servlet • MIRCdocument.xsl
MIRCdocument.xsl • Transforms MIRCdocuments to HTML • Three display modes: • page • tab • Mirctf • Easily extensible
Advanced Installation Topics • Upgrading an installation • Enabling the admin service • Using realms to control access to the system • Redirecting clients to the MIRC site • Running multiple storage services • Installing the Tomcat service manager • Running Tomcat as a Windows service • Relocating the webapps directory • Running multiple instances of Tomcat
Demonstration MIRCat
Questions/Answers & Help • RSNA Forums: • http://forums.rsna.org • User Comments, Questions and Answers • RSNA MIRC Software Announcements • MIRC Implementers’ Corner • MIRC Technical Review Committee • Subscribe on the Forums site
Other Courses This Week • MIRCat • How to Author MIRC Teaching File Documents • Technical Details • Inside the RSNA MIRC Software