MINT Web Based DICOM Storage MINT Web Based
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 PACS MINT Store Modalities MINT
Other HTTP Storage Systems n n n Caringo CAStor Amazon S 3 Microsoft Azure Net. App Bycast Storage. Grid Open. Stack
MINT Goals n Provide fast transport of DICOM studies over Web • Eliminate end of study problem • Storage commit is inherent n Provide an Web based DICOM Storage System • Long Term Archive • Caches n Eliminate the need for PACS migrations • Supports study. UIDs across domains • A MINT store can be walked and indexed by any authorized application, i. e. it can support multiple PACS
Essence of MINT n n n n RESTful Interface Study create, read, update, delete, copy, move Studies are Normalized, i. e. no metadata duplication DICOM objects addressed by UIDs are global across domains Entire study can be transmitted in one message Eliminates need for migration • PACS must percolate all changes to storage n MINT Store can be indexed by any authorize app
URI WADO n n One object at a time Only one use case in Sup 148 “Get an object”
How MINT is Like URI WADO n n Designed for Web HTTP support for DICOM study object retrieval
How MINT is Different from WADO n n n 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) n n It supports resources for Studies, Series, Objects, Types & Jobs Reference Implementation w/ client SDK
Problems MINT Addresses n Study size increasing • Time to display images increasing n Multiple mini-PACS w/ separate caches • Speed • Proprietary data • Increases complexity n n n 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 SOP Instances Metadata Binary Data
DICOM->MINT->DICOM Isomorphic n n n DICOM->MINT->DICOM Conformance tests are part of reference
Proposed MINT Operations
Study Create n Study Create POST <s>/studies/create [content] -> <study. UID> Note: <s> = <service> POST mint. jhu. edu/studies/create [content]
Read n Study GET <s>/studies/<study. UID> -> <study> GET <s>/studies/<study. UID>/<series. UID> -> <series> GET <s>/studies/<study. UID>/<series. UID>/<object. UID> -> <sop instance>
Read (cont) n n n Study Summary GET <s>/studies/<study. UID>/DICOM/summary. ext -> <summary> Study Metadata GET <s>/studies/<study. UID>/DICOM/metadata. ext -> <metadata> Where. EXT = XML, XML. gz, GPB, GBP. gz
Read (cont) n n n Study Binary Items GET <s>/studies/<study. UID>/DICOM/binaryitems -> [binary items] Study Read Report GET <s>/studies/<study. UID>/DICOM/reports. ext -> [DICOM SR] Study Read Change. Log GET <s>/studies/<study. UID>/DICOM/change. Log -> [change. Log info]
Update n n Get Update Lock POST <s>/studies/<study. UID>? lock=true -> <lock> Update Study POST <s>/studies/<study. UID>? lock=<lock> [content] -> [status msg]
Move, Copy & Delete n Study Copy POST <s>/studies/<study. UID>? action=copy; target= <URIor. Con> -> [status msg] n Study Move POST <s>/studies/<study. UID>? action=move; target= <URIor. Con> -> [status msg] n Study Delete DELETE <s>/studies/<study. UID> -> [status msg]
Study Search n n Study Search GET <s>/studies/search? <query> -> [search results] Query Parameters Study. UID, Issuer. Of. Patient. ID, Issuer. Of. Accession. Number, Modality. Types, Min. Study. Date-Time, Min. Study. Date, Max. Study. Date-Time, Max. Study. Date
Query for Notifications n n Study Read Change. Log GET <s>/studies/<study. UID>/DICOM/change. Log -> [change. Log] System Read Change. Log GET <s>/studies/change. Log -> [change. Log]
Questions?
Index the MINT Storage System n Study. Read. All Get <service>/studies? [what arguments? ] ; we need continuations
A Study’s History Time 5 min 1 Hour P 10 Instance P 10 1 Instance P 10 2 Instance P 10 3 Instance P 10 4 Instance P 10 5 Instance P 10 6 Instance P 10 7 Instance 8 P 10 Instance P 10 9 Instance P 10 10 Instance P 10 11 Instance P 10 12 Instance P 10 13 Instance 14 Series 1, 2 & 3 (From Modality) Series 4 (From Modality 2 Days P 10 Instance 15 HL 7 - 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 n RESTful interface to DICOM studies • Transport = HTTP 1. 1 (includes chunking) n n Leverages existing technologies Transmission through firewalls • Encoding XML • Operations CRUD (Create, Retrieve, Update, Delete) Search Notification • Data Model = DICOM Part 3 n n Leverages existing web technologies Allows transmission through firewalls
Current Status n n 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
- Slides: 26