370 likes | 617 Views
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.
E N D
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 TCE Service HTTP Export XMLServer Input Queue Admin Service HTTP Import Object Processor DICOM Export OS File System Storage Service MIRC Index 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 Internet HTTP / HTTPS FC DICOM Database HTTP PI FC DICOM DICOM • MIRC Site: • Image reception • Image Storage • Transfer to PACS and/or workstations • FieldCenter Application: • Image reception • Anonymization • Transmission to PI
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 • 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: #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 / 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.
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
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 MIRC Update Servlet HTTP(S) S/W Config 1 FieldCenter Sites Config 2 Config n
Typical Imaging Dataflow Principal Investigator Field Center Modality PACS Work-stations DICOM PACS DICOM FieldCenter Storage SCP HTTP Server Anonymizer Storage SCU S/W Update HTTP(S) MIRC Database
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 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 1:30 - 3:30 E262 11/30 12:15 - 2:15 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