ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor...

22
ACC 2001 Demonstration of ACC 2001 Demonstration of DICOM Structured Reporting DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital Providence, RI USA Chief Medical Director and Co-Founder Heartlab, Inc., Westerly, RI USA

Transcript of ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor...

Page 1: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 2: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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.

Page 3: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

DICOM: The FoundationDICOM: The Foundation

Network-Connected Review

Remote Facility Stand-Alone Review

DiagnosticProcedures

Page 4: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

DICOM Structured ReportingDICOM Structured Reporting

Hemodynamics

DICOM SR

Physical Findings ECG ReportsConsults

and Notes

Other DatabaseInformation Ultrasound

Measurements

CodesCodesStandardStandard

History

Page 5: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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.

Page 6: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

Demo SystemDemo System

Templates

Database

XML Style Sheets

SRGen SRVueDICOMFiles

StandaloneViewer

WebBrowser

XMLXML

Page 7: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

Development SystemDevelopment System

SRGen DICOM SRSourceListing

DICOMDIR Source Listing

DDGen

DICOM Source Listings

DCMGen

Templates

Editor

build DICOMFiles

Database

Editor

Page 8: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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.

Page 9: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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>

Page 10: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 11: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 12: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 13: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 14: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 15: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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

Page 16: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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.

Page 17: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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>

Page 18: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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”

Page 19: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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>

Page 20: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

Integrating InformationIntegrating Information

Cath LabImages

OnlineReview

History

PhysicalFindings

Hemo-dynamics

ECG Waveforms& Reports

Consultsand Notes

Echo Images &Measurements

Digital Integrated

Cardiovascular Record!

Page 21: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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)

Page 22: ACC 2001 Demonstration of DICOM Structured Reporting Jonathan L. Elion MD, FACC Associate Professor of Medicine Brown University and the Miriam Hospital.

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