Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACC 2001 Demonstration of DICOM Structured Reporting

Similar presentations


Presentation on theme: "ACC 2001 Demonstration of DICOM Structured Reporting"— Presentation transcript:

1 ACC 2001 Demonstration of 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

2 DICOM 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.

3 Diagnostic Procedures Network-Connected Review
DICOM: The Foundation Diagnostic Procedures Network-Connected Review Stand-Alone Review Remote Facility DICOM SR expands DICOM capabilities beyond image management, and adds the ability to interchange additional clinical data

4 DICOM Structured Reporting
Hemodynamics Physical Findings ECG Reports Consults and Notes Other Database Information Ultrasound Measurements History Codes Standard DICOM SR expands DICOM capabilities beyond image management, and adds the ability to interchange additional clinical data DICOM SR

5 Customization in DICOM SR
“Presentation” – the way the data appears on the screen or printed report is not specified by DICOM SR. DICOM SR also does not specify the user interface that is used to gather or interact with the information. Think of DICOM SR as “Structured Data Interchange” Finally, DICOM SR does not specify anything about the implementation of the database that underlies the data.

6 Demo System XML Standalone Viewer Web Browser XML Style Sheets
Database DICOM Files Web Browser SRGen SRVue Templates A high-level overview of the data generation and display strategy for the demonstration XML

7 DICOMDIR Source Listing
Development System DICOM Source Listings DCMGen Database Editor build DICOM Files DICOMDIR Source Listing DDGen SRGen DICOM SR Source Listing DICOM Source Listings are used (a human-reading representation of the DICOM content) Templates Editor

8 Making DICOM SR for SR2001 A database of patient information was created. 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!). A computer program (written in Java) reads a template, and combines it with its corresponding patient data. A DICOM SR file is created. Another computer program (also written in Java) transforms a DICOM file into its XML equivalent. Remember, we are going to generate XML via a Java routine, but… An XML “Stylesheet” (XSL) is used to specify how the data from the XML file is to appear on the final report. Many web browsers can show the XML+XSL directly, but for this demonstration, HTML was created.

9 Database Schema Patients Table Patient ID <more Patient data>
SR QCA Table SOP Instance UID Series Instance UID <more QCA data> SR QCA Data Table SOP Instance UID <more QCA data> Studies Table Study Instance UID Patient ID <more Study data> Image Table SOP Instance UID Series Instance UID <more Image data> DICOM XA Images Series Table Series Instance UID Study Instance UID <more Series data> SR Cath Data Table SOP Instance UID <more Cath data> SR Cath Table Series Instance UID Some of the reports need secondary tables to hold their data

10 Templates 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

11 Templates: Diagram Remember, we are going to generate XML via a Java routine, but…

12 Templates NL Relationship with Parent Value Type Concept Name VM 1
CONTAINER Resting 12-Lead ECG Report 18 > CONTAINS ECG Waveform Information 23 >> HAS ACQ CONTEXT PNAME Technician Name/ID 25 DATETIME Acquisition DateTime 27 NUM Lo Pass Filter 29 Quantitative Analysis 30 INCLUDE Global Measurements 31 Lead Measurements 32 Qualitative Analysis 33 TEXT Clinical Interpretation 34 Interpretive Statement 1-n Remember, we are going to generate XML via a Java routine, but…

13 Extending 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

14 DICOM 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 ; Code Value (0008,0102) ACC ; 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) ; DateTime (FFFE,E00D) ; End of Item #I17 Remember, we are going to generate XML via a Java routine, but…

15 Template-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

16 Template-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.

17 XML from ECG <Item>
<RelationshipType>HAS ACQ CONTEXT</RelationshipType> <ValueType>DATETIME</ValueType> <ConceptNameCodeSeq> <CodeValue>TI-0166</CodeValue> <CodingSchemeDesignatorACC2001</CodingSchemeDesignator> <CodeMeaning>Acquisition DateTime</CodeMeaning> </Item> </ConceptNameCodeSeq> <DateTime> </DateTime> Remember, we are going to generate XML via a Java routine, but…

18 XSL 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-of select="substring(DateTime, 1, 4)"/>, <xsl:value-of select="substring(DateTime, 9, 2)"/>:<xsl:value-of select="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” Remember, we are going to generate XML via a Java routine, but…

19 HTML 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> Remember, we are going to generate XML via a Java routine, but…

20 Integrating Information
Cath Lab Images Online Review History Physical Findings Hemo- dynamics ECG Waveforms & Reports Consults and Notes Echo Images & Measurements Digital Integrated Cardiovascular Record! DICOM SR expands DICOM capabilities beyond image management, and adds the ability to interchange additional clinical data

21 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)

22 Lessons 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


Download ppt "ACC 2001 Demonstration of DICOM Structured Reporting"

Similar presentations


Ads by Google