RADCIS Status Report and 3yr Plan August 1, 2005

Download Report

Transcript RADCIS Status Report and 3yr Plan August 1, 2005

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