ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor...
-
Upload
rosa-ramsey -
Category
Documents
-
view
214 -
download
0
Transcript of ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor...
ACC 2001 Demonstration of DICOM ACC 2001 Demonstration of DICOM Structured ReportingStructured Reporting
Jonathan L. Elion MD, FACCAssociate Professor of Medicine
Brown University and the Miriam HospitalProvidence, RI USA
Chief Medical Director and Co-FounderHeartlab, Inc., Westerly, RI USA
DICOM Structured ReportingDICOM Structured Reporting
Image data represents only a fraction of the clinically useful information describing the diagnostic studies done on any individual patient.
The American College of Cardiology’s “Structured Reporting 2001” demonstration represents the first comprehensive application of DICOM SR to information interchange in Cardiology.
In large measure, Structured Reporting is the final, critical element in the development of a DICOM-based integration of cardiovascular information.
DICOM: The FoundationDICOM: The Foundation
Network-Connected Review
Remote Facility Stand-Alone Review
DiagnosticProcedures
DICOM Structured ReportingDICOM Structured Reporting
Hemodynamics
DICOM SR
Physical Findings ECG ReportsConsults
and Notes
Other DatabaseInformation Ultrasound
Measurements
CodesCodesStandardStandard
History
Customization in DICOM SRCustomization in DICOM SR
“Presentation” – the way the data appears on the screen or printed report is not specified by DICOM SR.
Finally, DICOM SR does not specify anything about the implementation of the database that underlies the data.
DICOM SR also does not specify the user interface that is used to gather or interact with the information.
Demo SystemDemo System
Templates
Database
XML Style Sheets
SRGen SRVueDICOMFiles
StandaloneViewer
WebBrowser
XMLXML
Development SystemDevelopment System
SRGen DICOM SRSourceListing
DICOMDIR Source Listing
DDGen
DICOM Source Listings
DCMGen
Templates
Editor
build DICOMFiles
Database
Editor
Making DICOM SR for SR2001 Making DICOM SR for SR2001
1. A database of patient information was created.
2. Templates were created for each of the information types shown in this demonstration; ECG, Cardiac Cath, Hemodynamics, and QCA/QVA (381 lines of specs, 2599 context group items!).
3. A computer program (written in Java) reads a template, and combines it with its corresponding patient data. A DICOM SR file is created.
4. Another computer program (also written in Java) transforms a DICOM file into its XML equivalent.
5. An XML “Stylesheet” (XSL) is used to specify how the data from the XML file is to appear on the final report.
6. Many web browsers can show the XML+XSL directly, but for this demonstration, HTML was created.
Database SchemaDatabase Schema
Patients TablePatient ID<more Patient data>
SR QCA TableSOP Instance UIDSeries Instance UID<more QCA data>
Series TableSeries Instance UIDStudy Instance UID<more Series data>
Studies TableStudy Instance UIDPatient ID<more Study data>
SR QCA Data TableSOP Instance UID<more QCA data>
SR Cath Data TableSOP Instance UID<more Cath data>
SR Cath TableSOP Instance UIDSeries Instance UID<more Cath data>
Image TableSOP Instance UIDSeries Instance UID<more Image data>
DICOM XA ImagesSOP Instance UID<more Image data>
Templates Drive Database SchemaTemplates Drive Database Schema
A row that has a VM of 1 can all live in the main data table
A template whose VM’s are all 1 corresponds to a database schema with a single (wide) row
Any row of the template that has a VM of anything other than 1 requires a secondary table
A CONTAINER with a VM that is not 1 requires a secondary table
A CONTAINER with any row that has a VM that is not 1 requires a secondary table
Templates: DiagramTemplates: Diagram
HAS ACQ CO NTEXTTech Nam e/ID
PNAM E
HAS ACQ CO NTEXTAcq u isitio n DateTim e
DATETIM E
HAS ACQ CO NTEXTL o Pass F Ilter
NUM
* CO NTAINSECG W avefo rm In fo
CO NTAINE R
CO NTAINSG lo b al M easu rem en ts
CO NTAINE R
CO NTAINSL ead M easu rem en ts
CO NTAINE R
CO NTAINSQ u an titative An alysis
CO NTAINE R
CO NTAINSClin ical In terp retation
TEX T
* CO NTAINSIn terp retive S tatem en t
CO NTAINE R
CO NTAINSQ u alitative An alysis
RO O TRestin g 12-L ead ECG Rep o rt
CO NTAINE R
TemplatesTemplates
NL Relationship with Parent
Value Type Concept Name VM
1 CONTAINER Resting 12-Lead ECG Report 1
18 > CONTAINS CONTAINER ECG Waveform Information 1
23 >> HAS ACQ CONTEXT PNAME Technician Name/ID 1
25 >> HAS ACQ CONTEXT DATETIME Acquisition DateTime 1
27 >> HAS ACQ CONTEXT NUM Lo Pass Filter 1
29 > CONTAINS CONTAINER Quantitative Analysis 1
30 >> CONTAINS INCLUDE Global Measurements 1
31 >> CONTAINS INCLUDE Lead Measurements 1
32 > CONTAINS CONTAINER Qualitative Analysis 1
33 >> CONTAINS TEXT Clinical Interpretation 1
34 >> CONTAINS CONTAINER Interpretive Statement 1-n
Extending Template DescriptionsExtending Template Descriptions
Each row of the template that specifies actual data had two additional columns added: Name of the ODBC connection for the data source (table) Name of the field within the table that holds the data value
This connection between template and data turned out to be the single most important factor to manage for the project
As database schemas to support the templates were developed, these two columns established the connection between templates and data
DICOM SR from ECGDICOM SR from ECG
; Template ECG01 Row 25 >> VM=1 [HAS ACQ CONTEXT] DATETIME "Acquisition DateTime" (FFFE,E000) 0xffffffff ; Item #I17 (0040,A010) "HAS ACQ CONTEXT" ; Relationship Type (0040,A040) DATETIME ; Value Type (0040,A043) 0xffffffff ; Concept Name Code Sequence (FFFE,E000) 0xffffffff ; Item #I18 (0008,0100) TI-0166 ; Code Value (0008,0102) ACC2001 ; Coding Scheme Designator (0008,0104) "Acquisition DateTime“
; Code Meaning (FFFE,E00D) ; End of Item #I18 (FFFE,E0DD) ; End of Concept Name Code Seq (0040,A120) 200010151120 ; DateTime (FFFE,E00D) ; End of Item #I17
Template-Traversing AlgorithmTemplate-Traversing Algorithm
Templates were parsed and data “pulled” to fill the required items (rather than “pushing” data out through a template).
Template specifications were expanded to include the name of the ODBC data source (table) and field name that contained the corresponding information
The algorithm was implemented using stacks to keep track of events, take non-linear processing paths
Approach chosen for “simplicity” and ease of reading; in retrospect, a fully recursive set of procedures may be more logical and robust
Templates written in conformance with Supplement 53 are difficult to parse using a one-pass approach:
BEGIN/END blocks are not specified explicitly, but rather are inferred from nesting levels (requires look-ahead)
The occurrence of an item with VM of 1-n within a container requires “looping” for the entire container
Template-Traversing AlgorithmTemplate-Traversing Algorithm
When INCLUDE found, current parsing status is pushed onto the LIFO stack; when the end of that template is reached, the status is restored from the top of the stack and scanning continues.
For rows or CONTAINERs with a VM that is not 1 the corresponding rows of the Template must be traversed multiple times (in a loop): The same Stack is used, only this time, at the end of a pass,
it's value is not popped off the stack. Instead, its value is peeked at to find the row that represents
the top of the loop. Scanning continues at that row. This continues until eventually, the data is exhausted. When
this happens (sensed at the bottom of the loop), it is time to pop the values off the top of stack (discarding them) and move on.
XML from ECGXML from ECG
<Item> <RelationshipType>HAS ACQ CONTEXT</RelationshipType> <ValueType>DATETIME</ValueType> <ConceptNameCodeSeq> <Item> <CodeValue>TI-0166</CodeValue>
<CodingSchemeDesignatorACC2001</CodingSchemeDesignator> <CodeMeaning>Acquisition DateTime</CodeMeaning> </Item> </ConceptNameCodeSeq> <DateTime>200010151120</DateTime></Item>
XSL Stylesheet for ECGXSL Stylesheet for ECG
<!-- Acquisition DateTime --> <xsl:for-each select="key('content-item', 'TI-0166')"> <b><xsl:value-of select="ConceptNameCodeSeq/Item/CodeMeaning"/>: </b> <xsl:value-of select="substring(DateTime, 5, 2)"/>/<xsl:value-of
select="substring(DateTime, 7, 2)"/>/<xsl:value-ofselect="substring(DateTime, 1, 4)"/>,
<xsl:value-of select="substring(DateTime, 9, 2)"/>:<xsl:value-ofselect="substring(DateTime, 11, 2)"/><br/>
</xsl:for-each><br/>
A “pull” approach was used for the XSL, creating a report that was “fill-in-the-blank”. Not every XML item was used (only those called for in by the report). This is like a word processor “mail-merge”
HTML for ECGHTML for ECG
<p><center><h1>Resting 12-Lead ECG Report: Robert Johnson</h1></center></p><b>Clinical Context: </b>Routine<br><b>Acquisition DateTime: </b>10/15/2000, 11:20<br>
Integrating InformationIntegrating Information
Cath LabImages
OnlineReview
History
PhysicalFindings
Hemo-dynamics
ECG Waveforms& Reports
Consultsand Notes
Echo Images &Measurements
Digital Integrated
Cardiovascular Record!
What’s Next?What’s Next?
Additional templates will be developed for Cardiology, the SR2001 templates will be refined.
These templates will be reviewed first by the interested professional organizations.
The templates will then be presented for public comment and review, and revised as needed.
The templates and Cardiology terms will be finalized and formally incorporated into the DICOM standard as “Information Object Definitions” (IOD’s)
Lessons LearnedLessons Learned
Template-driven PULL processing is more complex than data-driven PUSH models (but PULL approach is probably needed for template-based SR)
Vocabulary maintenance is a very big task!
XSL for display can be more automated
Extremely helpful to have the printed documentation of the template produced directly from the database (and this tool was handy for formatting the documentation versions)
Central library for templates should be considered with web-based (Java?) editing (password protected)
WG1 has also been using diagrams to show the templates; these are hard to keep in synch with the template when changes are made; an automated approach to produce the diagrams from the templates should be considered