2009 Summer Project Week Slicer3 XNAT usecases
- 1 XNAT interface Worksheet
- 2 NOTES
- 3 General comments/questions
- 4 Use Case 1: Image Guided Therapy Planning and in OR
- 5 Use Case 2: Radiation Treatment Planning
- 6 Use Case 3: Quality Control Processing of Large Studies
- 7 Use Case 4: Longitudinal Studies
- 8 Use Case 5: Population Studies
XNAT interface Worksheet
- Determine User Interface Requirements for representative use cases
- Determine Webservices API Requirements for representative use cases
- Determine sufficiency of XNAT Data Model for representative use cases
- Refine description begun below
- populate the following categories for each use case:
- feature requirements
- existing features that will be used
- (prioritized) missing but essential
- missing and useful
- interface requirements
- existing features that will be used
- (prioritized) missing but essential
- missing and useful.
- send back out to use-case representatives for their additions, corrections.
- feature requirements
Below are notes from our discussion of use cases for XNAT infrastructure. First, group looks at XNAT Enterprise and XNAT Desktop user interfaces, question/answer session. Next, we walk thru a set of specific use cases offered by attendees.
XNAT Enterprise 9-10AM
- Can you have templates for creating directory structures on XNE? Dan recommends using script using webservices API to implement that template.
- Can we upload other formats besides DICOM? Dan demonstrates how to create a new folder with custom name (NRRD) into which we can subsequently upload. This may also be done using a script, using webservices API or using XNDesktop.
- Can share data with another project-- new project contains *links* to data from parent project. How do permissions work in this case? Bound by permissions of parent project.
- Sharing: multi-site projects -- each site have their own project; each site shares its data with collaborating sites. (this can be done now using REST API).
- Scientists in multi-site study download data from a single site's shared project. Work on that data.
- Want to upload new/derived data to that single site's shared project and then
- Want to share them back with other sites. Possible? This requires some clarification.
- Confusion about difference between assessors and reconstructions (reconstruction doesn't have concept of additional values yielded by processing -- assessors (like a FreeSurfer analysis) have their own XML specifications to contain specialized values ).
- XNAT Desktop: are their paradigms for setting tags? XND has its own set of default tags, and lets you set your own. But not clear what tags you need to set. Misha is working on this for now. For instance, there is a modality tag, but easy to forget to provide it.
- XNE GUI lets you store a search -- convenient to use as a template to grab data of interest.
- Are stored searches associated to project, to user? Now associated to a user; a user can share these with other users.
- How are web forms integrated (need to author screen class/template/action, maybe other java classes too for something more complicated, for each web form and install in your instance of XNATE)
- Options menu (within search) can be extended for processing (batchmake, loni pipeline)
XNAT Desktop (10-10:30AM)
- Desktop interface with file system & tag view.
- Manage files, apply metadata (apply automated rule or apply individual tags).
- DICOM rule is customizable, and may need to be adapted for individual use cases.
- Uses XNAT Data model,plus extra tags.
- Exchanges data with XNATE (download / upload)
- In order to upload from XNDesktop to XNE, the project needs to exist on XNE but no other tags are enforced.
- A project with incomplete metadata may upload to XNE in an less useful manner.
- Do we need to use the Web GUI & the Desktop GUI? WebGUI to create project, and XND to tag/upload? (Rather than a rich client interface like a PAX system) Can develop your own rich client interface to Webservices? Right now have not connected to PAX, but that is in the plan.
- Users will want to query for studies on patient, preview individual slices (maybe), look at how many studies there were for a patient, what modalities are present, (through a PAX-like interface) and download studies of interest.
- Can connect to another instance of XND, or an instance of XNE -- open remote connection, browse projects, right-click gives you option to download. Can select destination, apply data filters for download
- XND supports hierarchical data model -- but can customize your own hierarchy.
- Has data import wizard... extracts and also applies new metadata on import. Can capture metadata from folder structure (if structure is defined in a 'descriptor document' -- what is this?) Can apply additional tags as well.
- Wizard cannot save a template, but retains its settings between uses.
- Nomenclature: terminology for same concepts differs across fields and specialties; how to accommodate?
- Provide different starting points: ...
Use Case 1: Image Guided Therapy Planning and in OR
Step1. Subject is scanned and data is pushed to a networked disk (and referenced by a PACS system) automatically.
Step2. Researcher1 uses an XND client (on a laptop or a desktop system) to
- apply metadata (DICOM rule sufficient?)
- upload data to XNAT repository
Step3. Researcher2 opens slicer and querieswebservices for a list of subjects.
- Query for all subjects on system
- Choose a subject, query for available data...
- Browse results
- download data of interest
Step4. Completed neurosurgical planning analysis
- create mrml scene with segmentations, fiber tracking, etc.
- apply metadata (need custom metadata) --must be quick/easy to do
- Push an entire directory (includes NRRD, XML, DICOM, JPEG, MRML, related to a single subject.)
- Can we create MRML scene, save as a 'structural report or DICOM object' back to PAX -- why have XNAT at all? Tough to get data into PAX. Especially research data (like Slicer analyses). but maybe think of XNAT as a PAX substitute with richer interface.
- and upload results -- must be quick/easy to do (drag/drop, with confirmation0).
Step5. In IGT, search for and download scene for patient (subject) Clinician cuts network link to remote repository (all files are locally cached so OR system is self sufficient).
- download scene through slicer (from XNAT or local) is sufficient. May like a richer PAX-like interface for browsing available scenes. (might be several scenes worked up for a single patient...)
- Data doesn't need to go to Enterprise -- just needs to be managed so OR and clinician scientists have access.
- Existing data model may not be optimal (project?) Should be able to refer to subject alone, populated from original DICOM information. Hidden project? No need for extra tags -- so cumbersome to walk thru metadata wizard... simpler?
Use Case 2: Radiation Treatment Planning
------------------MODIFICATIONS TO THIS DESCRIPTION TO COME...-------------------------------
If XNAT is intended to replace existing PACS, then non need to anonymize data on upload. However, if XNAT is a "shadow" for PACS, then each upload of data associated with patient needs to go thru a coded anonymizer (so it's possible for authenticated persons to retrieve the patientID.
Step1. Patient is scanned, annotated on commercial software, Step2. Data push by several different options:
- Script to apply DICOM markup, then DICOM push (manned by a human)
- Automated script configured by a human each time (would apply DICOM markup)
- Lightweight client for an interactive push (would allow some QC and custom tagging on non-dicom datasets)
Step3. Treatment planning workups on data
- Query XNAT for all data tagged with PatientID = X
- or Query XNAT for all sets of data with some attribute
- Download results onto network disk
- Comparison study (adjustments over time to treatment plan)
- Annotation (including ROI drawing)
- Treatment plan versioning
Step4. Scientist/Clinician saves workups/plans
- Tag new workups (using lightweight client)
- Maybe just assign Content=TreatmentPlan TreatmentPlanName=Boost
- Upload & associate with PatientID
Step5. Researcher using data collected over time
- Reseracher queries XNAT for all data matching some criteria (all head+neck plans)
- Downloads selected result into appliction (Slicer)
- Segments, places fiducial markers, etc.
- May want to create a new "project" for the research (In physics research, a project might be 10 patients...) So ma y need a new "rendering" of data model that seems semantically appropriate for different fields)
- Want to tag the derived stuff and mrml scene
- Upload into project
- GESim is a 'staging area' data is annotated and then pushed out to PAX-like system currently.
- Goal: to push image studies and treatment plan with DICOM markup to XNE
- patients return for multiple visits for treatment so
- longitudinal imaging and
- longitudinal treatment plans will also be collected
- fix the workflow: patient, diagnosis, treatment plans (DICOMRT + proprietary (beam angles etc.)) treatment & followup.
- how is treatment plan fit? associated with a CT data set, but searching will always be based on patient.
- diagram should include MR CT/PET
- Interface to commercial systems?
- Appropriateness of XND for tagging & upload of non-imaging assessors?
- Specific user requirements for metadata authoring and upload client software?
- Would you want to Query on info in the treatment plan? Could generate custom rule for extracting proprietary info, but could be hairy. Plans have names (probably show up on the filename or directory name) but useful as a tag. Custom markup could be notes that could be for research purposes. Treated with a special procedure,
- Introduce data anonymization in the diagram somewhere.... Where does this fit in the workflow? Need the ID of data for treatment, but want anony for research...
- (Is there a built-in DICOM anonymizer in XNAT? -- Dan says yes.)
- Encrypt patient name?
- Or encoded mapping between patient name and anonymized ID
Use Case 3: Quality Control Processing of Large Studies
Step 1. Multiple study sites acquire imaging data and other assessors. Potentially LARGE throughput. ( maybe 1000 scans for year? )
Step 2. QC batch client 1 (at each site) automatically queries XNAT for protocol table (for site/subject/scanID/projectName), retrieves table, performs QC, validates/edits/deidentifies DICOM fields, generates QC report and notifies any site of errors in (or any missing) datasets. DICOM and/or custom metadata is applied, data is uploaded
Step3. QC batch client 2 (automatically?) queries for (site/subject/scanID/projectname): how many datasets do I need to process?, retrieves. For each new dataset: batch a visual inspection of data, render assessment form (current) unspecified tests, generates report when completed form is submitted.
Step4. Report is automatically uploaded and associated (via custom metadata) with image data.
Step5. QC batch client 3 - N (number of processing pipelines) queries for all data passing QC2, performs processing, performs QC on the processing and presents results for visual inspection, generates report, tag & upload all successful processing results and report.
- Large number of sites, number of modalities
- want simple interface: push this DICOM data to XNAT, or central repository at IOWA
- also want the upload to automatically look at dicom tags and validate that protocol was followed.
- if not (slice spacing is off...) that a message gets sent automatically (email?) saying "protocol was off on this scan!" immediately. So the site can immediately reacquire the image and resubmit.
- need the validation to be done at the scanner serial number level... so this information needs to also be set as metadata...
- Need to validate on several parameters. flip angle, TE, slice thickness, ..., by scanner type, serial number, series type (formatted string).
- Need to validate on upload: patientID is patientName ONLY 4 digits -- has to be specified (if DICOM file does not have four digit patientName, stop.) Auto-insert these from DICOM
- Need to automatically strip out SSN and other identity info from DICOM (anonymization) on upload too.
- DICOM browser will not be part of XNAT but useful tool and some of its features could be important into XND.
- Looking at new DICOM uploader applet:
- cannot yet create a new subject (but feature may be added)
- pops up file browser for choosing files to upload
- grabs files and uploads (does the anonymization and DICOM field editing in a specified way, on a per-project manner). XNE does DICOM metadata mapping on upload, (on server side?)
- Could to do Validation on server side -- since some scanners can directly do DICOM push to DICOM uploader. Uploader would ask server how to anonymize, and does it.
- When you did validation -- get a pop-up box with report with info.
- Want to validate prior to upload; if validation fails, site gets to REDO prior to upload (unless they choose to upload failing dataset.)
- Needs this process/workflow to be easy to teach and easy for people to remember.
- What QC is performed? Visual inspection of raw data; Hans will send QC procedure to Dan -- formal QC plan designed by consortium. Dan would like to implement a universal QC form on XNE; could use this as example of best practices.
- XNE currently allows projects to 'quarrantine' data -- quarantined data shows up in searches in different color to indicate its questionable quality.
- Use case needs customizable validation rule for getting out of quarrantine: Session contains multiple T1s, multiple T2s, etc. If ALL T2 scans are bad, then entire session is bad. However, if some T2 scans are ok, then Session may be ok. Some studies may require a single T1 and single T2...
- Might want to apply a label to data saying "This one is the best scan to use" -- right now infer this from computing a 'score'. Dan/Tim would like to see the rules for computing this score.
- Best way to get data in?:
- DICOM push from scanner
- DICOM uploader applet -- may be appropriate for this use case. Easy instructions, anonymization built in.
- XNDesktop interface (too heavy)
- DICOM browser (too powerful for this use case (errors))
- users need easy authentication: want to authenticate against a single existing gatekeeper. XNAT login = sharepoint login, etc.
Use Case 4: Longitudinal Studies
------------------MODIFICATIONS TO COME...-------------------------------
Step1. Imaging data and other assessors (induced pathology, etc.) are acquired and saved to a network disk.
Step2. Research assistant uses GUI to apply metadata at capture, or subsequently & uploads to XNAT.
- Need to specify whether subject is control or experimental
- Imagedata is typically in non-standard DICOM format.
- Need to associate new data to existing (or new) subject in longitudinal study -- need entities for:
Step3. Researcher queries for data using GUI, browses results and downloads to vendor tools for analysis.
Step4. Researcher generates derived data,
- applies metadata (provenance? and maybe notable parameters of interest).
- associates to subject or study (population)
- and uploads via GUI
- should be easy to train technicians to step thru workflow
- some data formats are NOT DICOM
- people are saving to one big disk -- need to manage all the data currently on disk, and manage all new acquisitions.
- separate uploader would be nice (for non-dicom data) -- uploader for .txt formats etc. Need to have this other stuff (even without metadata) but need to have this data managed, and associated with a dicom series, or patient, etc. Origin of this data? -- Might be a separate computer that collects stimulus/response or physiological response, saves data to a file, technician bundles data with a session. May be induced pathology data or image data associated with a small-animal subject. DICOM Browser lets you zip this stuff together and upload. XNATDesktop lets you manage data in a folder, apply tags and upload. Could we generate a set of tagging rules (maybe tag by file extension?)
- End-user convenience is high priority. steps for a research technician something like: put data in this folder, run this tagging script, run this upload script, and authentication should accomplished in a single step.
- Concepts in small animal domain -- these are similar to human imaging. Custom tags will be required for small-animal data. (Web forms for standard rad-read may be good starting point, with some variation.)
- Ease of browsing from the XNATE interface is important.
- Ease of import is important -- but for non-DICOM formats in this use-case, DICOM push to pre-archive will not work. Can't be downloaded from pre-archive yet (but on the to-do list). For now, would have to tag using XND prior to upload to XNE.
- Sounds like existing XNAT infrastructure should work at present for this use case; some usability issues can be addressed.
- Will need to upload 'assessors' (segmentations and analyses generated by vendor tools (Slicer), etc.)
Use Case 5: Population Studies
Step 1. Multiple sites acquire multi-modal imagedata, across multiple visits for multiple subjects.
Step 2. All acquired data has metadata applied (combination manual and automatic) Metadata enables association of all collected data with individual subject. Among other important descriptions, subjects must be distinguished as either controls or experimental
Step 3. Data is uploaded to XNAT, either automatically or manually via a GUI.
Step 4. Pre-processing (& QA?) client automatically queries for datastes, downloads, pre-processes data.
Step 5. Client software adds custom metadata that includes provenance, descriptions of any 'limitations' of data that may affect its shared use & automatcially uploads data/metadata back to XNAT.
Step 6. Processing/Analysis client automatically queries for datasets, downloads, processes and generates derived data.
Step 7. Client software adds custom metadata that includes provenance, descriptions that associate metadata with subject or study & automatically uploads to XNAT.
Step 8. Scientist using Analysis/Visualization client searches for data of interest, browses results & downloads using client GUI. May derive new data, apply metadata & upload using client GUI.