Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | megan-sanchez |
View: | 225 times |
Download: | 2 times |
Medical Imaging Medical Imaging Resource CenterResource Center
Inside the RSNAInside the RSNAMIRC SoftwareMIRC 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
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
MIRC
MIRC ComponentsMIRC Components
InternetInternet
ServerServer
Index
ServerServer
IndexMIRC site B
ServerServer
Index
QueryService
MIRC site CServerServer
Index
RSNA site
User
MIRC site A
MIRC
DemonstrationDemonstration
•QueryQuery•Query resultsQuery results•Presentation formatsPresentation formats•Document creationDocument creation•Document submissionDocument submission•Site AdministrationSite Administration
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
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
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>
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>
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>
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>
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
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
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
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
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
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
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
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
MIRC
DemonstrationDemonstration
The test storage serviceThe test storage service
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)/– ……
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
MIRC
MIRCdocument.xslMIRCdocument.xsl
• Transforms Transforms MIRCdocuments to HTMLMIRCdocuments to HTML
• Three display modes:Three display modes:– pagepage– tabtab– MirctfMirctf
• Easily extensibleEasily extensible
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
MIRC
DemonstrationDemonstration
MIRCatMIRCat
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
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