MIRC Clinical Trials Medical Imaging Resource Center.

Post on 27-Dec-2015

233 views 3 download

Tags:

Transcript of MIRC Clinical Trials Medical Imaging Resource Center.

MIRC Clinical TrialsMIRC Clinical Trials

Medical Imaging Resource CenterMedical Imaging Resource Center

RSNA2006 MIRC CoursesRSNA2006 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 ObjectiveMIRC 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 ConceptsMIRC 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 SoftwareThe RSNA MIRC Software

Query Service

Storage ServiceDocument index and storage

Author services

DICOM services

File ServicePublic and private file cabinets

XMLServerXMLServer

OS FileOS FileSystemSystem

InputInputQueueQueue

StorageStorageServiceService

MIRCMIRCIndexIndex

AdminAdminServiceService

AuthorAuthorServicesServices

FileFileServiceService

Ob

jec

t P

roc

es

so

rO

bje

ct

Pro

ce

ss

or

MIRCMIRCAnonymizerAnonymizer

DICOMDICOMImportImport

QueryQueryServiceService

MIRC Site ServicesMIRC Site Services

SubmitSubmitServiceService

ZipZipServiceService

TCETCEServiceService

HTTPHTTPExportExport

HTTPHTTPImportImport

DICOMDICOMExportExport

DICOMDICOMImportImport

MIRCMIRCAnonymizerAnonymizer

DatabaseDatabaseExportExport

DICOM ServiceDICOM 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 (de

identification and re-identification)

DICOM ServiceDICOM Service

Automatic trial patient ID generationConnection to other DICOM Services for clinical trials

– Support for encrypted communications (SSL)

DICOM import / DICOM exportHTTP(S) import / HTTP(S) exportDatabase export

Database InterfaceDatabase 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

FCDICOM

FCDICOM

PIDICOM

MIRC Clinical Trial Data FlowMIRC Clinical Trial Data Flow

FieldCenter Application:- Image reception- Anonymization- Transmission to PI

MIRC Site:- Image reception- Image Storage- Transfer to PACS and/or workstations

Database

HTTP

InternetHTTP / HTTPS

Anonymization & Anonymization & PseudonymizationPseudonymization

Real-World Data ModificationReal-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

PseudonymizationPseudonymization

Element types– Patient ID– Dates

• Birth• Study

– UIDs– Accession, non-unique IDs

Central vs distributed remapping

The HIPAA 18The HIPAA 18

1. Name 2. Location; all geographic subdivisions smaller than a state, including street

address, city, county, precinct, zip code, and their equivalent geocodes. 3. Dates (all dates related to the subject of the information, e.g. birth dates,

admission dates, discharge dates, encounter dates, surgery dates, etc.) 4. Telephone numbers 5. Fax numbers 6. Electronic mail addresses 7. Social security numbers 8. Medical record numbers 9. Health plan beneficiary numbers 10. Account numbers 11. Certificate / license numbers 12. Vehicle identifiers and serial numbers, including license plate numbers 13. Device identifiers and serial numbers 14. Web Universal Resource Locators (URLs) 15. Internet Protocol (IP) address numbers 16. Biometric identifiers, including finger and voice prints 17. Full face photographic images and any comparable images 18. Any other unique identifying number, characteristic, or code

Anonymizer ScriptingAnonymizer Scripting

• Modality-specific

• Manufacturer-specific

• MIRC-defined script languages– DICOM– XML

• Shared remapping tables– Self-consistency

DICOM AnonymizationDICOM 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 AnonymizationDICOM 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 AnonymizationDICOM 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 AnonymizationXML Anonymization

Comment: #comment

Identifier: $name

Path: /tag[n]/.../tag[n]/…/@attr

with wildcards [*]

Methods:Remapping: $uid( expression )Creation: $require( expression )Destruction: $remove()Debugging: $print( expression )

Expression: path “text” identifier $method() etc.

Assignment: identifier = expression

path = expression

Mapping / HashingMapping / 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:Data Formats:Beyond DICOMBeyond DICOM

Clinical Trial Data FilesClinical Trial Data Files

•Images

– DICOM, multi-media

•Text data

– XML

•Trial-specific file collections

– Zip

•Undefined file type

Data Object ClassesData Object Classes

• FileObject• File management methods• Common data access methods overridden by

subclasses:– getUID– getStudyUID– getDescription

– Subclasses• DicomObject

• XmlObject

• ZipObject

DicomObjectDicomObject

• Encapsulates a DICOM file

• Key methods:– getMircImage– getBufferedImage– getElementValue– 41 methods in all

XmlObjectXmlObject

• Encapsulates an XML file

• Key methods:– getDocument– getText– getDocumentElementName– getValue– 7 methods in all

• Problem: lack of standardization for UID, StudyUID, and Description

ZipObjectZipObject

• 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 SoftwareManaging Softwareand Configuration Updatesand Configuration Updates

Lessons from Field CentersLessons 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 ServiceMIRC Update Service

MIRCMIRCUpdateUpdateServletServlet

HTTP(S)HTTP(S)

FieldCenterFieldCenterStorage SCPHTTP ServerAnonymizerStorage SCUS/W Update

S/WS/W

Config 1Config 1

Config 2Config 2

Config nConfig n

FieldCenter SitesFieldCenter Sites

FieldCenterFieldCenter

Typical Imaging DataflowTypical Imaging Dataflow

PrincipalPrincipalInvestigatorInvestigator

PACSPACS

MIRCMIRC

ModalityModality

Field CenterField Center

DatabaseDatabase

Work-Work-stationsstations

PACSPACS

FieldCenterFieldCenterStorage SCPHTTP ServerAnonymizer

Storage SCUS/W Update

DICOMDICOM

HTTP(S)HTTP(S)

DIC

OM

DIC

OM

The FieldCenter ApplicationThe 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 ApplicationThe FieldCenter Application

The RSNA MIRC SoftwareThe RSNA MIRC Software

Available on the RSNA MIRC site (mirc.rsna.org)– Click the Downloads link in the header

The RSNA MIRC SoftwareThe RSNA MIRC Software

Runs on Windows, Mac, Linux, SolarisThree components:

Java / Tomcat / MIRC

All components are freeMIRC Users Group meetings:

11/27 1:30 - 3:30 E26211/30 12:15 - 2:15 E257

Questions/Answers & HelpQuestions/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