MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo...
-
Upload
gavin-weaver -
Category
Documents
-
view
213 -
download
0
Transcript of MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo...
![Page 1: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/1.jpg)
MINT Meeting Agenda
August 16-17, 2010
![Page 2: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/2.jpg)
Monday, August 16, 2010
• 10:00 – 12:00 Overview and Demo• 12:00 – 1:00 Lunch• 1:00 – 3:00 Code and design walkthrough
including implementation challenges
• 3:00 – 3:15 Break• 3:15 – 5:30 Design meeting
![Page 3: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/3.jpg)
Tuesday, August 17, 2010
• 8:00 – 12:00 Design meeting (continued)• 12:00 – 1:00 Lunch• 1:00 – 2:00 Roadmap• 2:00 – 3:00 RSNA demonstration planning• 3:00 Meeting ends
![Page 4: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/4.jpg)
Demonstration
• DICOM->MINT Create (series 1)• Clear Canvas (time to first image)
– Single image at a time– Bulk loader
• DICOM->MINT Update (series 2)• Clear Canvas MPR (time to last image)
– Single image at a time– Bulk loader
• MINT->DICOM• Conformance Test (Tim)• Vital Implementation
![Page 5: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/5.jpg)
Design Issues• Unit and Integration Tests• Data Dictionary
– Types (MIME)– Management– Versioning
• Study Summary• Search Parameters• Bulk Binary Loading
– file storage– partial data/sub-selection– Multi-part Mime as payload
• Integration w/ MPI• Multiple Update Concurrency
• Multi-frame handling• Study creation with missing/invalid
fields• Part 10 information (and other 0002
info)• Security• Non-DICOM objects• De-identification• SDK design• Exception handling• Support for Multi-Frame• Comparisons after updates• Various representations (XML, GPB,
JSON)• Other projects related to MINT?
![Page 6: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/6.jpg)
Other MINT Issues/Questions
• MINT Reference (overview, API, SDK…)• What about exceptions? we need to define
them as part of MINT Standard. • Can we search using accession numbers?• Integration with MPI we need to modify the
URI …/IPDI/LMRN/GUID
![Page 7: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/7.jpg)
Multi-Frame Handling
To handle multiple BIDs per attribute, a frameCount attribute will be present indicating the number of BIDs for that attribute. The BIDs will be consecutive starting with the bid in the bid attribute:
<Attr tag="7fe00010" vr="OW" bid="1" frameCount=”10”/>
BIDs 1-10 would represent each frame
![Page 8: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/8.jpg)
Security / Auditing• Proposal #1
– Add XML element in changelog to indicate the user of the client. Up to MINT implementation to define how a client authenticates
– Add XML element for the client to specify the end user (this is not guaranteed to be correct, but useful)
– Define a HTTP header that can pass the end user identity for auditing purposes
– Look at specifying how MINT servers should audit via ATNA (the exact message format/schema)
• Document a cookbook recipe for how security could be implemented using MINT. This would include logging all activity to IHE ATNA audit log. Also include how fine grained security could be implemented
![Page 9: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/9.jpg)
Multi-Update Concurrency
• Add the baseline version # as part of the update message
• Updates will fail if the baseline version # does not match current version #
![Page 10: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/10.jpg)
Integration with MPI
• Decision: Not a problem for MINT to solve – we allow searching on Patient ID / Issuer which is extracted from the DICOM Attributes
• Clients should use PIX to resolve the different Patient ID / Issuers that it may need to search MINT with
![Page 11: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/11.jpg)
Exception Handling
• Use HTTP Error codes, need to define semantic meaning. If further specification for an HTTP Error code is needed, prefix the text message with a MINT standardized key.
![Page 12: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/12.jpg)
De-Identification
• Must have different uid’s (study, series, sop instance)
• Must have different patient demographics• Must have different mint uuids• Jim Philbin to write up a proposal for this
![Page 13: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/13.jpg)
Excluding Binary Items
• When client requests all binary items for a given type, any excluded binary items will not be returned. If a client wants to get an excluded binary item, they will have to request it explicitly by its BID
![Page 14: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/14.jpg)
SDK
• Helper classes that would let you:– Add new instances– Delete instances– Modify attributes (patient name)– Load metadata for a study– Access binary items– Create a new study– Find a study
• Direction – SDK will evolve as other MINT applications are built (e.g. QC, service tool, etc)
![Page 15: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/15.jpg)
Needed
• Utility to create the DICOM Data Dictionary automatically -> then we should use our DD to handle implicit.
• DICOM people should publish DD in XML.• Should we use Proto-bufs for internal
implementation. • Make the various representations lazy• How to handle updates
![Page 16: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/16.jpg)
Supporting Part 10 Headers
• We will store the Part 10 header in the metadata
• Recommend that any updater of studies include Part 10 headers in the metadata
• Rationale: More people will complain about it not being preserved than those that don’t want it
![Page 17: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/17.jpg)
Implementation Challenges
• Normalization algorithm- 1-pass or 2-pass
![Page 18: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/18.jpg)
Bulk Binary Partial Load
• Support both GET and POST
![Page 19: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/19.jpg)
Unit and Integration Tests
• Junit 4.0• Run unit tests before checking software in• Integrate w/ Ant
![Page 20: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/20.jpg)
Performance
• Need cookbook that describes how to get maximum performance– HTTP Chunking on server side– Jumbo frames– OS TCP Buffer sizes– Size of reads on client– Size of writes on server
![Page 21: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/21.jpg)
Version 1.0 Tasks
• Unit tests• Integration test• Features:– Non-DICOM Proprietary types
• Instructions for building, testing and configuring a download.
• Binary download of MINT Server, DICOM->MINT Server and Clear Canvas client
![Page 22: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/22.jpg)
High Level Decisions
• REST interfaces only to return XML (no more XHTML)
• GPB is supported for metadata only (for performance)
• Drop support for JSON (XML is adequate)• All MINT Date/Time format is in UTC DICOM
DT format (exception StudyDateTime for queries)
![Page 23: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/23.jpg)
Data Dictionary
• Need a document that defines DD and type creation• How to add types
– Need to associate with a particular seriesInstance or SOPInstance
– ** Document defining type definition– Define Use Cases (Jim P)– Define a type for Vital Volumes, AIM, MIME types– Sequence elements are atomic(?)
• Management (get DICOM committee to take this over)• Versioning
![Page 24: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/24.jpg)
DICOM Study Summary Fields
• Patient Name• Patient DOB• Patient Sex• MRN Domain (IPID)• MRN• Study Date & Time• Issuer of Accession #• Accession #• # of series/objects• Modality• Series descriptor?
• Issues:– Date & time problems– Time zone
• Study summary served as xml
• Study summary is all patient, study and series tags + # of instances (study level & series level)
• No need for Summary in Data Dictionary
![Page 25: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/25.jpg)
MINT Study Required Fields
• Study UID
![Page 26: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/26.jpg)
Study Queries
• Study Instance UID• Patient ID + Patient ID Issuer• Accession Number + Accession Number Issuer• StudyDateTimeFrom + StudyDateTimeTo
Date time searches will be inclusive of the dayTime is not required in search valuesDate/Time format is in DICOM DT formatIf time is supplied, but no date, study date time queries will not
work
![Page 27: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/27.jpg)
MINT Study Search Results
• Returned as XML
• Data– MINT Study UUID– Last Update Date/Time
![Page 28: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/28.jpg)
$MINTROOT/changelog
• Each Entry– MINT Study UUID– Change Number– Last Update Date/Time– Type (e.g. DICOM, PDF, etc)
![Page 29: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/29.jpg)
Root Study URL
• List of all types in study
![Page 30: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/30.jpg)
Other projects related to MINT?• MINT Proxy (federating MINT servers)
– Local caching MINT server– Single MINT server proxy into DICOM archives
• Anonymizing/de-identifiying MINT proxy• Storage of other data types in MINT
– AIM, PDF, JPEG, PNG, TIFF, video, audio• XIP to MINT adapter• XDS Interface?• HIE Gateway across different enterprises with different patient identifiers – look at XDS model for
this• QC Workstation / Toolkit (edit patient name, delete images, add images, split study, etc)• CSTORE SCP->MINT• CSTORE, CFIND, CMOVE SCU -> MINT Server• Simple viewer for web browser that is MINT enabled• Post processing example – listen for study changes and add content to server (e.g. generate JPEGs
for Key Images)• Security cookbook – how to implement ACLs against MINT• Architecture cookbook – how to support MINT with a DICOM P10 archive
![Page 31: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/31.jpg)
MINT Non Goals
![Page 32: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/32.jpg)
RSNA Tasks
• Performance numbers
![Page 33: MINT Meeting Agenda August 16-17, 2010. Monday, August 16, 2010 10:00 – 12:00Overview and Demo 12:00 – 1:00Lunch 1:00 – 3:00Code and design walkthrough.](https://reader035.fdocuments.us/reader035/viewer/2022062713/56649cc95503460f949913b7/html5/thumbnails/33.jpg)
Deidentification
• IHE Defines this through TCE spec• Revisit with Jim Philbin tomorrow