1 / 22

ACC 2001 Demonstration of DICOM Structured Reporting

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. DICOM Structured Reporting.

lulasparks
Download Presentation

ACC 2001 Demonstration of DICOM Structured Reporting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 USAChief Medical Director and Co-FounderHeartlab, 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. Network-Connected Review DiagnosticProcedures Remote Facility Stand-Alone Review DICOM: The Foundation

  4. Hemodynamics Physical Findings ECG Reports Consultsand Notes History Standard Codes Other DatabaseInformation UltrasoundMeasurements DICOM SR DICOM Structured Reporting

  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. • Finally, DICOM SR does not specify anything about the implementation of the database that underlies the data.

  6. Demo System XML Style Sheets Standalone Viewer Database DICOMFiles Web Browser SRGen SRVue Templates XML

  7. DICOM Source Listings DCMGen Editor DICOMFiles DDGen build Database DICOMDIR Source Listing Templates SRGen DICOM SR Source Listing Editor Development System

  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. • 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. SR QCA Table SOP Instance UID Series Instance UID <more QCA data> SR QCA Data Table SOP Instance UID <more QCA data> DICOM XA Images SOP Instance UID <more Image data> Studies Table Study Instance UID Patient ID <more Study data> Image Table SOP Instance UID Series Instance UID <more Image data> Series Table Series Instance UID Study Instance UID <more Series data> SR Cath Table SOP Instance UID Series Instance UID <more Cath data> SR Cath Data Table SOP Instance UID <more Cath data> Database Schema Patients Table Patient ID <more Patient 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

  12. Templates

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

  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> <Item> <CodeValue>TI-0166</CodeValue> <CodingSchemeDesignatorACC2001</CodingSchemeDesignator> <CodeMeaning>Acquisition DateTime</CodeMeaning> </Item> </ConceptNameCodeSeq> <DateTime>200010151120</DateTime> </Item>

  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”

  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>

  20. Hemo-dynamics ECG Waveforms& Reports Consultsand Notes PhysicalFindings Echo Images &Measurements History OnlineReview Cath LabImages Digital Integrated Cardiovascular Record! Integrating Information

  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

More Related