210 likes | 220 Views
Dongbai Guo Architect and Senior Development Manager Oracle Corporation db.guo@oracle.com , dbguo@ieee.org Nashua, NH 03062, USA. Medical Image Quality Assurance with Automated Constraint Validation. Market Trends. Growth in medical imaging New applications and new branches of medicine
E N D
Dongbai Guo Architect and Senior Development Manager Oracle Corporation db.guo@oracle.com, dbguo@ieee.org Nashua, NH 03062, USA Medical Image Quality Assurance with Automated Constraint Validation
Market Trends Growth in medical imaging New applications and new branches of medicine Increased utilization Increased spatial and temporal resolution Exponential growth in data volume Computer aided detection (CAD) and diagnosis (CADx) Data integration and centralization Knowledge management, sharing and discovery
Impacts to DICOM Wider, but sometimes hasty, adoption Variant implementation quality Non-compliant images lead to integration nightmare for Clinical care Research Clinical trials We need ways to specify and validate constraints
Validation Applications Validate the conformance of a DICOM object with respect to The DICOM standard (www.dvtk.org) An institutional guideline A jurisdictional requirement A DICOM application
Formal Language Representation of Constraints Formal language representation Unambiguously specify constraints Unambiguously exchange constraints Object can be validated at the site of origination Stand-alone validation services Computer interpretable formal syntax
XML Encoding of Constraints Use an XML document to specify predicates to evaluate against a DICOM object Easy to exchange Constraint can be managed, enhanced, version-controlled Good readability Wide range of tools Using XML schema to validate syntax
Sample Constraint, 1 (1) SOPCommonModule::= (1.0) /* Based on P3.3 2007 table C.12-1 */ (1.1)( type1(00080016) (1.2) AND (1.3)type1(00080018) ) (1.4)when false log (“SOP common module validation failed”); (1.5)when false error (“Validation error: missing mandatory attribute for SOP common module”);
XML Mapping, 1 <?xml version="1.0" encoding="UTF-8"?> <CONFORMANCE_CONSTRAINT_DEFINITION xmlns="http://xmlns.oracle.com/ord/dicom/constraint" xmlns:dt="http://xmlns.oracle.com/ord/dicom/datatype" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/ord/dicom/constraint http://xmlns.oracle.com/ord/dicom/constraint"> <!-- line (0) --> <GLOBAL_RULE name="SOPCommonModule"> <!-- line (1) --> <DESCRIPTION>Based on P3.3 2007 table C.12-1</DESCRIPTION> <!-- line (1.0) --> <!-- line (1.2) The child predicates of a rule and implicitly combined with logical AND --> <PREDICATE> <!-- line (1.1) --> <BOOLEAN_FUNC operator="notEmpty"> <ATTRIBUTE_TAG>00080016</ATTRIBUTE_TAG> </BOOLEAN_FUNC> </PREDICATE> <PREDICATE> <!-- line (1.3) --> <BOOLEAN_FUNC operator="notEmpty"> <ATTRIBUTE_TAG>00080018</ATTRIBUTE_TAG> </BOOLEAN_FUNC> </PREDICATE> <ACTION action="log" when="false">SOP common module validation failed </ACTION> <!-- line (1.4) --> <ACTION action="error" when="false">missing mandatory attribute for SOP common module</ACTION> <!-- line (1.5) --> </GLOBAL_RULE>
Sample Constraint, 2 (2) CTImage ::= (2.1) (2.1.1) ( (00080016==”1.2.840.10008.5.1.4.1.1.2”) (2.1.2) implies (2.1.3) (( type1(00080008) AND (00080008 IN {“AXIAL”, “LOCALIZER”} ) ) (2.2) AND (2.2.1) (00080016==”1.2.840.10008.5.1.4.1.1.2”) (2.2.2) implies (2.2.3) ( type1(00280002) AND (00280002 ==’1’ )) (2.3) AND SOPCommonModule) (2.4) when false warning(“Validation warning: not a valid CT image”);
XML Mapping, 2 <GLOBAL_RULE name="ctImage"><!-- line (2) --> <PREDICATE><!-- line (2.1.2) --> <LOGICAL operator="derive"> <PREDICATE> <!-- line (2.1.1) --> <RELATIONAL operator="eq"> <ATTRIBUTE_TAG>00080016</ATTRIBUTE_TAG> <STRING_VALUE>1.2.840.10008.5.1.4.1.1.2</STRING_VALUE> </RELATIONAL></PREDICATE> <PREDICATE><!-- line (2.1.3) --> <LOGICAL operator="and"> <PREDICATE> <BOOLEAN_FUNC operator="notEmpty"> <ATTRIBUTE_TAG>00080008</ATTRIBUTE_TAG> </BOOLEAN_FUNC></PREDICATE> <PREDICATE> <RELATIONAL operator="in"> <ATTRIBUTE_TAG>00080008</ATTRIBUTE_TAG> < CODE_STRING>AXIAL</ CODE_STRING> <CODE_STRING>LOCALIZER</ CODE_STRING> </RELATIONAL></PREDICATE></LOGICAL> </PREDICATE></LOGICAL></PREDICATE>
Sample Constraint, 3 Context Sensitive Structure The value of an attribute determines the structure of a DICOM object Common in DICOM structured report Example Table C.17-4 SR document content module attributes,PS 3.3 – 2007, Can be broken down to attribute level predicates (value(0040A040)==“TEXT” notNULL(0040A160))
Implementation System implemented with PL/SQL, Java and C Part of Oracle database 11gR1 Data model manages user-defined constraints Changes to constraints does not interrupt database services Can batch-validate DICOM content stored in or managed by a database
Quality Assurance (QA) Validation of DICOM content By the capturing device At the PACS protocol layer Within an image archive At enterprise data exchange gateway As a quality assurance service component of any service oriented architecture Prevent application errors Avoid costly rescan of patients Eliminate waste in computation and network bandwidth
Using the QA Components Distributed QA agent Enable nation-wide radiation safety monitoring
Experiment Setup A clinical trial requires images contain all DICOM image related tags for an image processing application Verify part-10 file header exist Verify all general image module tags exist Image size (row/column) fell within the required range Pixel data exist and is either not compressed or compressed with a compatible codec
Experiment Result 15413 sample images collected from clinical trial sites 121 of them failed validation. All images passed validation can be analyzed by the image processing software
Conformance-aware Data Set The same DICOM object can be verified by different QA requirements Passed CT content validation Failed CT CAD application validation DICOM object and data flow can be associated with conformance results
Summary Formal language representation of DICOM constraint XML encoding of constraint document User-defined constraints Conformance-aware data flow