Transcript
Page 1: Inside the RSNA MIRC Software

Medical Imaging Medical Imaging Resource CenterResource Center

Inside the RSNAInside the RSNAMIRC SoftwareMIRC Software

Page 2: Inside the RSNA MIRC Software

MIRC

An open community of An open community of medical imaging libraries medical imaging libraries and teaching files around and teaching files around the world, cooperating by the world, cooperating by sharing information sharing information through a common query through a common query formatformat

Page 3: Inside the RSNA MIRC Software

MIRC

Key RequirementsKey Requirements

•Support for:Support for:– Teaching filesTeaching files– Research datasetsResearch datasets– Educational materialsEducational materials– Clinical trials dataClinical trials data

• Open source (free)Open source (free)• Multi-platformMulti-platform

Page 4: Inside the RSNA MIRC Software

MIRC

MIRC ComponentsMIRC Components

InternetInternet

ServerServer

Index

ServerServer

IndexMIRC site B

ServerServer

Index

QueryService

MIRC site CServerServer

Index

RSNA site

User

MIRC site A

Page 5: Inside the RSNA MIRC Software

MIRC

DemonstrationDemonstration

•QueryQuery•Query resultsQuery results•Presentation formatsPresentation formats•Document creationDocument creation•Document submissionDocument submission•Site AdministrationSite Administration

Page 6: Inside the RSNA MIRC Software

MIRC

The URLsThe 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

Page 7: Inside the RSNA MIRC Software

MIRC

MIRC XML SchemasMIRC XML Schemas

•These define MIRC:These define MIRC:– MIRCqueryMIRCquery– MIRCqueryresultMIRCqueryresult

•This defines the RSNA This defines the RSNA MIRC implementation:MIRC implementation:– MIRCdocumentMIRCdocument

Page 8: Inside the RSNA MIRC Software

MIRC

The MIRCquery Schema - 1The MIRCquery Schema - 1<MIRCquery firstresult=”…” maxresults=”…” queryUID=”…” <MIRCquery firstresult=”…” maxresults=”…” queryUID=”…”

unknown=”…”>unknown=”…”><title> . . . </title><title> . . . </title><author><author> . . .. . . </author></author><abstract> . . . </abstract><abstract> . . . </abstract><keywords> . . . </keywords><keywords> . . . </keywords><history> . . . </history><history> . . . </history><findings> . . . </findings><findings> . . . </findings><diagnosis> . . . </diagnosis><diagnosis> . . . </diagnosis><discussion> . . . </discussion><discussion> . . . </discussion><pathology> . . . </pathology><pathology> . . . </pathology><anatomy> . . . </anatomy><anatomy> . . . </anatomy><organ-system> . . . </organ-system><organ-system> . . . </organ-system><code coding-system=”…”> . . . </code><code coding-system=”…”> . . . </code><modality> . . . </modality><modality> . . . </modality>

Page 9: Inside the RSNA MIRC Software

MIRC

The MIRCquery Schema - 2The MIRCquery Schema - 2<patient><patient>

<pt-age><pt-age><years> . . . </years><years> . . . </years><months> . . . </months><months> . . . </months><weeks> . . . </weeks><weeks> . . . </weeks><days> . . . </days><days> . . . </days>

</pt-age></pt-age><pt-sex> . . . </pt-sex><pt-sex> . . . </pt-sex><pt-race> . . . </pt-race><pt-race> . . . </pt-race>

</patient></patient><image><image>

<format> . . . </format><format> . . . </format><compression> . . . </compression><compression> . . . </compression><modality> . . . </modality><modality> . . . </modality><anatomy> . . . </anatomy><anatomy> . . . </anatomy><pathology> . . . </pathology><pathology> . . . </pathology>

</image></image>

Page 10: Inside the RSNA MIRC Software

MIRC

The MIRCquery Schema - 3The MIRCquery Schema - 3<document-type> . . . </document-type><document-type> . . . </document-type>

<category> . . . </category><category> . . . </category>

<level> . . . </level><level> . . . </level>

<access> . . . </access><access> . . . </access>

<peer-review/><peer-review/>

<language code=”…”> . . . </language><language code=”…”> . . . </language>

… … free text search field …free text search field …

</MIRCquery></MIRCquery>

Page 11: Inside the RSNA MIRC Software

MIRC

The MIRCqueryresult SchemaThe MIRCqueryresult Schema<MIRCqueryresult><MIRCqueryresult>

<preamble> . . . </preamble><preamble> . . . </preamble>

<MIRCdocument docref=”...URL...”><MIRCdocument docref=”...URL...”>

<title> . . . </title><title> . . . </title>

<author> . . . </author><author> . . . </author>

<abstract> . . . </abstract><abstract> . . . </abstract>

<access> . . . </access><access> . . . </access>

<peer-review/><peer-review/>

<level> . . . </level><level> . . . </level>

</MIRCdocument></MIRCdocument>

… … additional <MIRCdocument/> elements …additional <MIRCdocument/> elements …

</MIRCqueryresult></MIRCqueryresult>

Page 12: Inside the RSNA MIRC Software

MIRC

MIRC TransactionsMIRC TransactionsBrowser Query Svc Storage 1

GET

POST

Response

POST

Response

Response

httpxsl

MIRCquerytext/xml

http

xsl

http text/xml

???

xsl

http

MIRCqueryresponse

text/xml

Page 13: Inside the RSNA MIRC Software

MIRC

The RSNA MIRC SoftwareThe RSNA MIRC Software

• Query ServiceQuery Service• Storage ServiceStorage Service

•Storage ServiceStorage Service•Submit ServiceSubmit Service•Admin ServiceAdmin Service•XML ServerXML Server

• Authoring ToolAuthoring Tool

Page 14: Inside the RSNA MIRC Software

MIRC

TomcatTomcat

• Jakarta projectJakarta project– jakarta.apache.org/tomcatjakarta.apache.org/tomcat

• Servlet containerServlet container– Coyote http 1.1 connectorCoyote http 1.1 connector

• WebappsWebapps•ServletsServlets

Page 15: Inside the RSNA MIRC Software

MIRC

The Query Service WebappThe Query Service Webapp

• One servlet; responds to:One servlet; responds to:– http GET with no query stringhttp GET with no query string

• Returns HTML query formReturns HTML query form

– http GET with query stringhttp GET with query string• Handles as a POST (for Next/Prev Handles as a POST (for Next/Prev

buttons)buttons)

– http POST of text/xmlhttp POST of text/xml• Queries selected Storage Services, Queries selected Storage Services,

collates results and returns HTMLcollates results and returns HTML

• Supports standard query Supports standard query results display and case results display and case navigatornavigator

Page 16: Inside the RSNA MIRC Software

MIRC

The Storage Service Webapp The Storage Service Webapp - 1- 1

• Storage servlet; responds Storage servlet; responds to:to:– http POST of text/xml http POST of text/xml

MIRCqueryMIRCquery•Returns MIRCqueryresult as text/xml Returns MIRCqueryresult as text/xml

in the response textin the response text

– http GEThttp GET•Returns simple status of the storage Returns simple status of the storage

service as text/html in the response service as text/html in the response texttext

Page 17: Inside the RSNA MIRC Software

MIRC

The Storage Service Webapp The Storage Service Webapp - 2- 2

• Submit servlet; responds to: Submit servlet; responds to: – http GEThttp GET

•Returns HTML document submission Returns HTML document submission formform

– http POST of:http POST of:•multipart/form-datamultipart/form-data•application/x-zip-compressedapplication/x-zip-compressed•Returns submission results page as Returns submission results page as

text/html in the response texttext/html in the response text

Page 18: Inside the RSNA MIRC Software

MIRC

The Storage Service Webapp The Storage Service Webapp - 3- 3

• XML Server servlet; responds XML Server servlet; responds to: to: – http GET of an XML filehttp GET of an XML file

•Attempts to transform the documentAttempts to transform the document•Returns the results as text/html or Returns the results as text/html or

text/xmltext/xml

– Query string parametersQuery string parameters•xsl – defines the XSL file to usexsl – defines the XSL file to use•report – controls response to errorsreport – controls response to errors•zip – returns zip filezip – returns zip file

Page 19: Inside the RSNA MIRC Software

MIRC

The Storage Service Webapp The Storage Service Webapp - 4- 4

• Admin servlet; responds to: Admin servlet; responds to: – http GET with no query stringhttp GET with no query string

• Returns HTML admin pageReturns HTML admin page

– http GET with query stringhttp GET with query string• Processes query string as instructions and returns Processes query string as instructions and returns

a new HTML admin page with the resultsa new HTML admin page with the results

– Query string parametersQuery string parameters• listindex, reload, rebuild, save, deleteindexentrylistindex, reload, rebuild, save, deleteindexentry• listqueue, acceptqueueentry, deletequeueentrylistqueue, acceptqueueentry, deletequeueentry

– Protected by a realmProtected by a realm

Page 20: Inside the RSNA MIRC Software

MIRC

DemonstrationDemonstration

The test storage serviceThe test storage service

Page 21: Inside the RSNA MIRC Software

MIRC

Storage Service DirectoryStorage Service Directory

• /webapps/mircstorage/ /webapps/mircstorage/ – storage.xmlstorage.xml– inputqueue.xmlinputqueue.xml– documents/documents/

•(documentdirectory)/(documentdirectory)/– (MIRCdocument).xml(MIRCdocument).xml– locally referenced objects (images, …)locally referenced objects (images, …)

•(documentdirectory)/(documentdirectory)/– ……

Page 22: Inside the RSNA MIRC Software

MIRC

The XML Server in More The XML Server in More DetailDetail

• Invoked by http GET of Invoked by http GET of *.xml*.xml

• Parses the fileParses the file• Finds root element nameFinds root element name• Looks for <root>.xslLooks for <root>.xsl

– in document directoryin document directory– in root of the servletin root of the servlet

• MIRCdocument.xslMIRCdocument.xsl

Page 23: Inside the RSNA MIRC Software

MIRC

MIRCdocument.xslMIRCdocument.xsl

• Transforms Transforms MIRCdocuments to HTMLMIRCdocuments to HTML

• Three display modes:Three display modes:– pagepage– tabtab– MirctfMirctf

• Easily extensibleEasily extensible

Page 24: Inside the RSNA MIRC Software

MIRC

Advanced Installation TopicsAdvanced 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

Page 25: Inside the RSNA MIRC Software

MIRC

DemonstrationDemonstration

MIRCatMIRCat

Page 26: Inside the RSNA MIRC Software

MIRC

Questions/Answers & HelpQuestions/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

Page 27: Inside the RSNA MIRC Software

MIRC

Other Courses This WeekOther Courses This Week

•MIRCatMIRCat– How to Author MIRC How to Author MIRC Teaching File Teaching File DocumentsDocuments

•Technical DetailsTechnical Details– Inside the RSNA MIRC Inside the RSNA MIRC SoftwareSoftware


Top Related