260 likes | 625 Views
MINT Web Based DICOM Storage. MINT Web Based DICOM Storage. V iewers. V iewers. Modalities. Modalities. DICOM. MINT. PACS. PACS. MINT Store. MINT is designed for the efficient transport and storage of DICOM objects using Web technologies. Other HTTP Storage Systems. Caringo CAStor
E N D
MINTWeb Based DICOM Storage Viewers Viewers Modalities Modalities DICOM MINT PACS PACS MINTStore MINT is designed for the efficient transport and storage of DICOM objects using Web technologies
Other HTTP Storage Systems Caringo CAStor Amazon S3 Microsoft Azure NetAppBycastStorageGrid OpenStack
MINTGoals • Provide fast transport of DICOM studies over Web • Eliminate end of study problem • Storage commit is inherent • Provide an Webbased DICOM Storage System • Long Term Archive • Caches • Eliminate the need for PACS migrations • Supports studyUIDs across domains • A MINT store can be walked and indexed by any authorized application, i.e. it can support multiple PACS
Essence of MINT • RESTful Interface • Study create, read, update, delete, copy, move • Studies are Normalized, i.e. no metadata duplication • DICOM objects addressed by UIDs • UIDs are global across domains • Entire study can be transmitted in one message • Eliminates need for migration • PACS must percolate all changes to storage • MINT Store can be indexed by any authorize app
URI WADO One object at a time Only one use case in Sup148 “Get an object”
How MINT is Like URI WADO Designed for Web HTTP support for DICOM study object retrieval
How MINT is Different from WADO Focused DICOM transport & storage using HTTP It only supports DICOM objects (not rendered objects – but could be extended) It normalizes metadata Creates, Updates and Deletes DICOM studies Uses REST style resources rather than parameters to identify studies, series and objects
How MINT is Different from WADO(cont) It supports resources for Studies, Series, Objects, Types & Jobs Reference Implementation w/ client SDK
Problems MINT Addresses • Study size increasing • Time to display images increasing • Multiple mini-PACS w/ separate caches • Speed • Proprietary data • Increases complexity • DICOM Push model • Migrating the archive when changing vendors • Need for enterprise archive
Logical View of the DICOM MINT Type x • Metadata • Includes all non binary attributes found in all DICOM SOP instances in a given study • Normalized attributes according to DICOM Information Model • Is accessed independently from the binary data • References binary data items using their id • Binary Items • Can be retrieved in batch or individually • Are identified by study scoped ids (bids or binary ids) Voice Clip Private Attributes Image Patient Study Series Series Series SOP Instances SOP Instances SOP Instances Binary Data Metadata
DICOM->MINT->DICOMIsomorphic DICOM->MINT MINT->DICOM Conformance tests are part of reference
Study Create Study CreatePOST <s>/studies/create [content]-> <studyUID> Note: <s> = <service> POST mint.jhu.edu/studies/create [content]
Read StudyGET <s>/studies/<studyUID>-> <study>GET <s>/studies/<studyUID>/<seriesUID>-> <series>GET <s>/studies/<studyUID>/<seriesUID>/<objectUID>-> <sop instance>
Read (cont) Study SummaryGET <s>/studies/<studyUID>/DICOM/summary.ext-> <summary> Study MetadataGET <s>/studies/<studyUID>/DICOM/metadata.ext-> <metadata> Where.EXT = XML, XML.gz, GPB, GBP.gz
Read (cont) Study Binary ItemsGET <s>/studies/<studyUID>/DICOM/binaryitems-> [binary items] Study Read ReportGET <s>/studies/<studyUID>/DICOM/reports.ext-> [DICOM SR] Study Read ChangeLogGET <s>/studies/<studyUID>/DICOM/changeLog-> [changeLog info]
Update Get Update LockPOST <s>/studies/<studyUID>?lock=true-> <lock> Update StudyPOST <s>/studies/<studyUID>?lock=<lock> [content]-> [status msg]
Move, Copy & Delete Study CopyPOST <s>/studies/<studyUID>?action=copy; target= <URIorCon>-> [status msg] Study MovePOST <s>/studies/<studyUID>?action=move; target= <URIorCon>-> [status msg] Study DeleteDELETE <s>/studies/<studyUID>-> [status msg]
Study Search • Study SearchGET <s>/studies/search?<query>-> [search results] • Query Parameters StudyUID, IssuerOfPatientID, PatientID, IssuerOfAccessionNumber, AccessionNumber,ModalityTypes, MinStudyDate-Time, MinStudyDate, MaxStudyDate-Time, MaxStudyDate
Query for Notifications Study Read ChangeLogGET <s>/studies/<studyUID>/DICOM/changeLog-> [changeLog] System Read ChangeLogGET <s>/studies/changeLog-> [changeLog]
Index the MINT Storage System StudyReadAllGet<service>/studies?[what arguments?] ; we need continuations
A Study’s History Time 5 min 1 Hour 2 Days P10 Instance 1 P10 Instance 9 HL7 - PID P10 Instance 15 P10 Instance 2 P10 Instance 10 Need to update all instances in all caches with this change P10 Instance 3 P10 Instance 11 P10 Instance 4 P10 Instance 12 P10 Instance 5 P10 Instance 13 P10 Instance 6 P10 Instance 14 P10 Instance 7 P10 Instance 8 Series 1, 2 & 3 (From Modality) Series 4 (From Modality Patient Name Change (From HIS) Presentation State Added (From Viewer) • Studies are not created at one single point in time • New SOP Instances may be added to a study at any time • Changes to existing instances may be made at any time
MINT is Web Based • RESTful interface to DICOM studies • Transport = HTTP 1.1 (includes chunking) • Leverages existing technologies • Transmission through firewalls • Encoding XML • Operations CRUD (Create, Retrieve, Update, Delete) Search Notification • Data Model = DICOM Part 3 • Leverages existing web technologies • Allows transmission through firewalls
Current Status MINT Reference Implementation of Version 1.0 available at www.GOTMINT.org 4 vendors are implementing products 3 more vendors have committed to implement Currently working on version 1.1