MINT Web Based DICOM Storage MINT Web Based DICOM Storage MINT is designed for the efficient transport and storage of DICOM objects using Web technologies Modalities DICOM Viewers Viewers PACS PACS MINT Store Modalities MINT Other HTTP Storage Systems Caringo CAStor Amazon S3 Microsoft Azure NetApp Bycast StorageGrid OpenStack MINT Goals Provide fast transport of DICOM studies over Web • Eliminate end of study problem • Storage commit is inherent Provide an Web based 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 •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) Patient Voice Clip Private Attributes x Image Study Series Series Series SOP Instances SOP Instances SOP Instances Metadata Binary Data DICOM->MINT->DICOM Isomorphic DICOM->MINT MINT->DICOM Conformance tests are part of reference Proposed MINT Operations Study Create Study Create POST <s>/studies/create [content] -> <studyUID> Note: <s> = <service> POST mint.jhu.edu/studies/create [content] Read Study GET <s>/studies/<studyUID> -> <study> GET <s>/studies/<studyUID>/<seriesUID> -> <series> GET <s>/studies/<studyUID>/<seriesUID>/<objectUID> -> <sop instance> Read (cont) Study Summary GET <s>/studies/<studyUID>/DICOM/summary.ext -> <summary> Study Metadata GET <s>/studies/<studyUID>/DICOM/metadata.ext -> <metadata> Where .EXT = XML, XML.gz, GPB, GBP.gz Read (cont) Study Binary Items GET <s>/studies/<studyUID>/DICOM/binaryitems -> [binary items] Study Read Report GET <s>/studies/<studyUID>/DICOM/reports.ext -> [DICOM SR] Study Read ChangeLog GET <s>/studies/<studyUID>/DICOM/changeLog -> [changeLog info] Update Get Update Lock POST <s>/studies/<studyUID>?lock=true -> <lock> Update Study POST <s>/studies/<studyUID>?lock=<lock> [content] -> [status msg] Move, Copy & Delete Study Copy POST <s>/studies/<studyUID>?action=copy; target= <URIorCon> -> [status msg] Study Move POST <s>/studies/<studyUID>?action=move; target= <URIorCon> -> [status msg] Study Delete DELETE <s>/studies/<studyUID> -> [status msg] Study Search Study Search GET <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 ChangeLog GET <s>/studies/<studyUID>/DICOM/changeLog -> [changeLog] System Read ChangeLog GET <s>/studies/changeLog -> [changeLog] Questions? Index the MINT Storage System StudyReadAll Get <service>/studies?[what arguments?] ; we need continuations A Study’s History Time 5 min 1 Hour P10 Instance P10 1 Instance P10 2 Instance P10 3 Instance P10 4 Instance P10 5 Instance P10 6 Instance P10 7 Instance 8 P10 Instance P10 9 Instance P10 10 Instance P10 11 Instance P10 12 Instance P10 13 Instance 14 Series 1, 2 & 3 (From Modality) Series 4 (From Modality 2 Days P10 Instance 15 HL7 - PID Need to update all instances in all caches with this change 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
© Copyright 2026 Paperzz