DICOM Service

Download Report

Transcript DICOM Service

MIRC Clinical Trials
Medical Imaging Resource Center
RSNA2006 MIRC Courses
Overview of the RSNA MIRC Software
Installing MIRC on Your Laptop
Using MIRC for Clinical Trials
Hands ON: Using the RSNA Teaching File
MIRC Project Objective
Support the production, storage, indexing and
distribution of medical imaging resources:
– Teaching files
– Scientific & technical documentation
– Research images & datasets
– Clinical trials data
MIRC Concepts
The key concepts:
– MIRC is a community of cooperating libraries
on the Internet.
– The libraries cooperate by supporting a
common query mechanism.
– The query mechanism allows users to find
information wherever it is stored.
The RSNA MIRC Software
Query Service
Storage Service
Document index and storage
Author services
DICOM services
File Service
Public and private file cabinets
MIRC Site Services
Submit
Service
Zip
Service
Input
Queue
Admin
Service
HTTP
Import
TCE
Service
OS File
System
Storage
Service
MIRC
Index
DICOM
Export
Object Processor
XMLServer
HTTP
Export
DICOM
Import
Query
Service
MIRC
Anonymizer
DICOM
Import
File
Service
Author
Services
Database
Export
MIRC
Anonymizer
DICOM Service
Receives DICOM objects from PACS,
workstations, modalities, …
Automatic document generation
– Images grouped into documents by study
– Template-driven
– Automatic JPEG generation from DICOM
– Programmable anonymization (deidentification and re-identification)
DICOM Service
Automatic trial patient ID generation
Connection to other DICOM Services for
clinical trials
– Support for encrypted communications (SSL)
DICOM import / DICOM export
HTTP(S) import / HTTP(S) export
Database export
Database Interface
Links to an externally developed database
Provides classes for interrogating:
– DICOM objects
– Metadata files:
• XML
• ZIP (with manifest)
Anonymization for DICOM and XML objects
MIRC Clinical Trial Data Flow
DICOM
FC
Database
HTTP
Internet
HTTP / HTTPS
DICOM
PI
DICOM
FC
FieldCenter Application:
- Image reception
- Anonymization
- Transmission to PI
MIRC Site:
- Image reception
- Image Storage
- Transfer to PACS
and/or workstations
Anonymization &
Pseudonymization
Real-World Data Modification
• Anonymization
– Removal of PHI
– Replacement of PHI with values that are the
same for all patients
• Pseudonymization
– Replacement of PHI with values that are
specific to the patient and the trial but which
are not available anywhere else
Pseudonymization
Element types
– Patient ID
– Dates
• Birth
• Study
– UIDs
– Accession, non-unique IDs
Central vs distributed remapping
The HIPAA 18
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Name
Location; all geographic subdivisions smaller than a state, including street
address, city, county, precinct, zip code, and their equivalent geocodes.
Dates (all dates related to the subject of the information, e.g. birth dates,
admission dates, discharge dates, encounter dates, surgery dates, etc.)
Telephone numbers
Fax numbers
Electronic mail addresses
Social security numbers
Medical record numbers
Health plan beneficiary numbers
Account numbers
Certificate / license numbers
Vehicle identifiers and serial numbers, including license plate numbers
Device identifiers and serial numbers
Web Universal Resource Locators (URLs)
Internet Protocol (IP) address numbers
Biometric identifiers, including finger and voice prints
Full face photographic images and any comparable images
Any other unique identifying number, characteristic, or code
Anonymizer Scripting
• Modality-specific
• Manufacturer-specific
• MIRC-defined script languages
– DICOM
– XML
• Shared remapping tables
– Self-consistency
DICOM Anonymization
Parameter access
@param(@ParameterName)
Date/time
@date(separator)
@time(separator)
Element access
@contents(ElementName)
@contents(ElementName,"regex")
@contents(ElementName,"regex","replacement")
Element creation and deletion
@require()
@require(ElementName)
@require(ElementName,"default value")
@empty()
@blank(n)
@remove()
@keep()
DICOM Anonymization
Special purpose data modification
@initials(ElementName)
@scramble(ElementName,word1skip,word1take,word2skip,word2take,...)
@alphabetichash(ElementName,maxCharsOutput)
@alphabetichash(ElementName,maxCharsOutput,maxWordsInput)
@numerichash(ElementName,maxCharsOutput)
@numerichash(ElementName,maxCharsOutput,maxWordsInput)
@ptid(siteid,ElementName,prefix,first,width,suffix)
@ptid(@SITEID,ElementName,@PREFIX,first,width,@SUFFIX)
@hashptid(siteid,ElementName,prefix,suffix)
@hashptid(@SITEID,ElementName,@PREFIX,@SUFFIX)
@offsetdate(siteid,ElementName,basedate)
@offsetdate(@SITEID,ElementName,@BASEDATE)
@incrementdate(ElementName,incInDays)
@round(ElementName,groupsize)
@round(ElementName,@ParameterName)
DICOM Anonymization
UID functions
@uid(root,ElementName)
@uid(@UIDROOT,ElementName)
@hashuid(root,ElementName)
@hashuid(@UIDROOT,ElementName)
Non-unique identifier functions
@accession(ElementName)
@id(ElementName)
@integer()
Conditional functions
@if(ElementName,exists){true clause}{false clause}
@if(ElementName,isblank){true clause}{false clause}
@if(ElementName,matches,"regex"){true clause}{false clause}
@quarantine()
@skip()
XML Anonymization
Comment:
Identifier:
Path:
#comment
$name
/tag[n]/...
/tag[n]/…/@attr
with wildcards [*]
Methods:
Remapping:
Creation:
Destruction:
Debugging:
$uid( expression )
$require( expression )
$remove()
$print( expression )
Expression:
path “text” identifier $method() etc.
Assignment:
identifier = expression
path = expression
Mapping / Hashing
• Central vs local mapping
– Central mapping is more controlled, but it
requires that PHI be kept at the PI’s site.
– Local mapping is more susceptible to data
loss, but has a different security profile.
• Hashing
– Very convenient in a multi-center trial and
very secure, but inversion can only be done
through a dictionary attack.
Data Formats:
Beyond DICOM
Clinical Trial Data Files
•Images
– DICOM, multi-media
•Text data
– XML
•Trial-specific file collections
– Zip
•Undefined file type
Data Object Classes
• FileObject
• File management methods
• Common data access methods overridden by
subclasses:
– getUID
– getStudyUID
– getDescription
– Subclasses
• DicomObject
• XmlObject
• ZipObject
DicomObject
• Encapsulates a DICOM file
• Key methods:
– getMircImage
– getBufferedImage
– getElementValue
– 41 methods in all
XmlObject
• Encapsulates an XML file
• Key methods:
– getDocument
– getText
– getDocumentElementName
– getValue
– 7 methods in all
• Problem: lack of standardization for UID,
StudyUID, and Description
ZipObject
• Encapsulates a zip file containing:
• An XML file named manifest.xml
– MIRC-defined schema for key elements
• Any other files
• Key methods:
– getManifestDocument
– getEntries
– extractFile
– extractFileText
– 15 methods in all
Managing Software
and Configuration Updates
Lessons from Field Centers
• IT support is almost unavailable.
• Initial software installation requires a
human being, but it should be simple.
• Software updates should require a person
to trigger them.
• Anonymizer scripts should be
automatically updated.
MIRC Update Service
FieldCenter
Storage SCP
HTTP Server
Anonymizer
Storage SCU
S/W Update
HTTP(S)
MIRC
Update
Servlet
S/W
Config 1
FieldCenter Sites
Config 2
Config n
FieldCenter
Typical Imaging Dataflow
Principal
Investigator
Field Center
Modality
PACS
Workstations
PACS
FieldCenter
Storage SCP
HTTP Server
Anonymizer
Storage SCU
S/W Update
HTTP(S)
MIRC
Database
DICOM
DICOM
The FieldCenter Application
Runs at the image acquisition site
Receives images and metadata files via the
DICOM and HTTP(S) protocols
Anonymizes images and metadata files
Transmits to the PI MIRC site via HTTP(S)
Automatically links to the PI MIRC site for
remapping tables and software updates
The FieldCenter Application
The RSNA MIRC Software
Available on the RSNA MIRC site
(mirc.rsna.org)
– Click the Downloads link in the header
The RSNA MIRC Software
Runs on Windows, Mac, Linux, Solaris
Three components:
Java / Tomcat / MIRC
All components are free
MIRC Users Group meetings:
11/27
11/30
1:30 - 3:30
12:15 - 2:15
E262
E257
Questions/Answers & Help
The MIRC Wiki
– http://mircwiki.rsna.org
RSNA Forums:
– http://forums.rsna.org
– User Comments, Questions and Answers
– RSNA MIRC Software Announcements
– MIRC Implementers’ Corner
Subscribe on the Forums site