此文章主要是通過示例代碼的方式來演示檢查Oracle DICOM 對象的一致性的具體方案,如果你對Oracle DICOM 相關操作的過程中存在不解之處的話,你就可以浏覽以下的文章對其進行了解。
該主題中的示例代碼演示了如何根據一組用戶指定的一致性規則檢查Oracle DICOM 數據的一致性。一致性規則在一個或多個約束定義文檔中指定,這些文檔是 XML 文檔,可以指定 DICOM 元數據模式無法表達的屬性關系和語義約束。默認的約束定義文檔ordcmct.XML在安裝期間加載。
描述如何自定義約束定義文檔的內容超出了本教程的討論范圍。對於本教程,將使用默認的約束定義文檔。
以下示例通過在源行的Oracle DICOM 上調用 isConformanceValid(),來通過標識符source_id檢查medical_image_table的 DICOM 列的一致性。
執行以下步驟:
1.查看 DICOM 圖像是否符合約束規則。從 SQL*Plus 會話中,執行以下腳本:
- @check_object_conform
check_object_conform.sql代碼如下:
Java代碼
- -- Set Data Model Repository
- execute ordsys.ord_dicom.setDataModel();
- select id, t.dicom.isconformanceValid('OracleOrdObject') as conformant
- from medical_image_table t;
- -- Set Data Model Repository
- execute ordsys.ord_dicom.setDataModel();
- select id, t.dicom.isconformanceValid('OracleOrdObject') as conformant
- from medical_image_table t;
2.如果Oracle DICOM 圖像不符合約束定義,系統會將一個或多個消息插入表,通過查詢ORDDCM_CONFORMANCE_VLD_MSGS視圖可以看到這些消息。該視圖列出了在約束驗證期間生成的約束消息。從 SQL*Plus 會話中,執行以下腳本:
- @revIEw_conform_msgs
revIEw_conform_msgs.sql代碼如下:
Java代碼
- describe orddcm_conformance_vld_msgs;
- select * from orddcm_conformance_vld_msgs;
- describe orddcm_conformance_vld_msgs;
- select * from orddcm_conformance_vld_msgs;