MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/ord/xml/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/ord/xml/ordcmcmd.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2007, 2012, Oracle and/or its affiliates. 
All rights reserved. -->
<!--   ordcmcmd.xml - Oracle Multimedia DICOM default constraint 
                 module definition document
  
   MODIFIED   (MM/DD/YY)
   jiezhan     03/09/12 - update DICOM standard to 2011
   dolin       06/23/09 - remove tag 7FE00010
   dolin       06/06/07 - 
   dguo        05/18/07 - change product name
   myalavar    04/09/07 - add major_minor version
   dguo        08/01/06 - Beta release 1
   dguo        04/03/05 - Created


-->

<CONFORMANCE_CONSTRAINT_DEFINITION xmlns="http://xmlns.oracle.com/ord/dicom/constraint_1_0" xmlns:dt="http://xmlns.oracle.com/ord/dicom/datatype_1_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/ord/dicom/constraint_1_0 http://xmlns.oracle.com/ord/dicom/constraint_1_0">
 <DOCUMENT_HEADER>
  <dt:DOCUMENT_CHANGE_LOG>
   <dt:DOCUMENT_MODIFIER>Oracle Multimedia</dt:DOCUMENT_MODIFIER>
   <dt:DOCUMENT_MODIFICATION_DATE>2012-03-09</dt:DOCUMENT_MODIFICATION_DATE>
   <dt:DOCUMENT_VERSION>2.0</dt:DOCUMENT_VERSION>
   <dt:MODIFICATION_COMMENT>Oracle default constraint module definition</dt:MODIFICATION_COMMENT>
   <dt:BASE_DOCUMENT>DICOM Base Standard 2011 Part 3.3</dt:BASE_DOCUMENT>
   <dt:BASE_DOCUMENT_DESCRIPTION>Downloadable from http://medical.nema.org/</dt:BASE_DOCUMENT_DESCRIPTION>
  </dt:DOCUMENT_CHANGE_LOG>
 </DOCUMENT_HEADER>

 <EXTERNAL_MACRO_INCLUDE name="CodeSequenceMacro">Defines a code sequence macro</EXTERNAL_MACRO_INCLUDE>
 <EXTERNAL_MACRO_INCLUDE name="PersonIdentifierMacro">Defines a person identification macro</EXTERNAL_MACRO_INCLUDE>
 <GLOBAL_RULE name="PatientModule">
   <DESCRIPTION>
     A subset of Patient Module defined in DICOM standard, 
     PS 3.3-2011, Table C.7-1
   </DESCRIPTION>
   <PREDICATE>
     <BOOLEAN_FUNC operator="notEmpty">
       <ATTRIBUTE_TAG>00100040</ATTRIBUTE_TAG>
     </BOOLEAN_FUNC>
   </PREDICATE>
   <PREDICATE>
     <DESCRIPTION>Patient's Sex</DESCRIPTION>
     <RELATIONAL operator="in">
       <ATTRIBUTE_TAG>00100040</ATTRIBUTE_TAG>
       <STRING_VALUE>M</STRING_VALUE>
       <STRING_VALUE>F</STRING_VALUE>
       <STRING_VALUE>O</STRING_VALUE>
     </RELATIONAL>
   </PREDICATE>
   <PREDICATE>
     <DESCRIPTION>Referenced patient sequence constraint, Table 10-11</DESCRIPTION>
     <LOGICAL operator="derive">
       <PREDICATE>
         <BOOLEAN_FUNC operator="occurs">
           <ATTRIBUTE_TAG>00081120</ATTRIBUTE_TAG>
         </BOOLEAN_FUNC>
       </PREDICATE>
       <PREDICATE>
         <LOGICAL operator="and">
           <PREDICATE>
             <BOOLEAN_FUNC operator="notEmpty">
               <ATTRIBUTE_TAG>00081120.00081150</ATTRIBUTE_TAG>
             </BOOLEAN_FUNC>
           </PREDICATE>
           <PREDICATE>
             <BOOLEAN_FUNC operator="notEmpty">
               <ATTRIBUTE_TAG>00081120.00081155</ATTRIBUTE_TAG>
             </BOOLEAN_FUNC>
           </PREDICATE>    
         </LOGICAL>
       </PREDICATE>
     </LOGICAL>
   </PREDICATE>
   <ACTION action="log" when="false">Validation error: missing mandatory attribute for patient module</ACTION>
   <ACTION action="warning" when="false">Warning: validation failure</ACTION>
 </GLOBAL_RULE>
 
 <GLOBAL_RULE name="GeneralStudyModule">
   <DESCRIPTION>
     A subset of General Study Module defined in DICOM standard, 
     PS 3.3-2011, Table C.7-3
   </DESCRIPTION>
   <PREDICATE>
     <DESCRIPTION>Referring Physician Identification Sequence</DESCRIPTION>
     <LOGICAL operator="derive">
       <PREDICATE>
         <BOOLEAN_FUNC operator="occurs">
           <ATTRIBUTE_TAG>00080096</ATTRIBUTE_TAG>
         </BOOLEAN_FUNC>
       </PREDICATE>
       <PREDICATE>
         <INVOKE_MACRO>
           <MACRO_NAME>PersonIdentifierMacro</MACRO_NAME>
           <PARAMETER>
             <NAME>PersonIDAttr</NAME>
             <VALUE>00080096</VALUE>
           </PARAMETER>
         </INVOKE_MACRO>
       </PREDICATE>
     </LOGICAL>
   </PREDICATE>
   <PREDICATE>
     <DESCRIPTION>Study Instance UID</DESCRIPTION>
     <BOOLEAN_FUNC operator="notEmpty">
       <ATTRIBUTE_TAG>0020000D</ATTRIBUTE_TAG>
     </BOOLEAN_FUNC>
   </PREDICATE>
 </GLOBAL_RULE>
  
  <GLOBAL_RULE name="GeneralSeriesModule">
    <DESCRIPTION>
      A subset of General Series Module defined in DICOM standard,
      PS 3.3-2011, Table C.7-5a
    </DESCRIPTION>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00080060</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
      <ACTION action="warning" when="false">
        missing attribute 00080060 
      </ACTION>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>0020000E</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
      <ACTION action="warning" when="false">
        missing attribute 0020000E 
      </ACTION>
    </PREDICATE>
    <PREDICATE>
      <LOGICAL operator="derive">
        <PREDICATE>
          <BOOLEAN_FUNC operator="notEmpty">
            <ATTRIBUTE_TAG>00400260</ATTRIBUTE_TAG>
          </BOOLEAN_FUNC>
        </PREDICATE>
        <PREDICATE>
          <INVOKE_MACRO>
            <MACRO_NAME>CodeSequenceMacro</MACRO_NAME>
            <PARAMETER>
              <NAME>CodeAttr</NAME>
              <VALUE>00400260</VALUE>
            </PARAMETER>
          </INVOKE_MACRO>
          <ACTION action="warning" when="false">
            missing attribute 00400260.00080100 or 00400260.00080102 
          </ACTION>
        </PREDICATE>
      </LOGICAL>
    </PREDICATE>
    <ACTION action="warning" when="false">
      GeneralSeriesModule is not satisfied
    </ACTION>
  </GLOBAL_RULE>  

  <GLOBAL_RULE name="SOPCommonModule">
    <DESCRIPTION>
      A subset of SOP Common Module defined in DICOM standard,
      PS 3.3-2011, Table C.12-1
    </DESCRIPTION>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00080016</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00080018</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
  </GLOBAL_RULE>
  
  <GLOBAL_RULE name="ImagePixelMacro">
    <DESCRIPTION>
      A subset of Image Pixel Macro defined in DICOM standard,
      PS 3.3-2011, Table C.7-11b
    </DESCRIPTION>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280002</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280004</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <RELATIONAL operator="in">
        <ATTRIBUTE_TAG>00280004</ATTRIBUTE_TAG>
        <STRING_VALUE>MONOCHROME1</STRING_VALUE>
        <STRING_VALUE>MONOCHROME2</STRING_VALUE>
        <STRING_VALUE>PALETTE COLOR</STRING_VALUE>
        <STRING_VALUE>RGB</STRING_VALUE>
        <STRING_VALUE>YBR_FULL</STRING_VALUE>
        <STRING_VALUE>YBR_FULL_422</STRING_VALUE>
        <STRING_VALUE>YBR_PARTIAL_422</STRING_VALUE>
        <STRING_VALUE>YBR_ICT</STRING_VALUE>
        <STRING_VALUE>YBR_RCT</STRING_VALUE>
      </RELATIONAL>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280010</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280011</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <LOGICAL operator="and">
        <PREDICATE>
          <BOOLEAN_FUNC operator="notEmpty">
            <ATTRIBUTE_TAG>00280100</ATTRIBUTE_TAG>
          </BOOLEAN_FUNC>
        </PREDICATE>
        <PREDICATE>
          <RELATIONAL operator="in">
            <ATTRIBUTE_TAG>00280100</ATTRIBUTE_TAG>
            <STRING_VALUE>8</STRING_VALUE>
            <STRING_VALUE>12</STRING_VALUE>
            <STRING_VALUE>16</STRING_VALUE>
            <STRING_VALUE>24</STRING_VALUE>
          </RELATIONAL>
        </PREDICATE>
      </LOGICAL>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280101</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <BOOLEAN_FUNC operator="notEmpty">
        <ATTRIBUTE_TAG>00280102</ATTRIBUTE_TAG>
      </BOOLEAN_FUNC>
    </PREDICATE>
    <PREDICATE>
      <LOGICAL operator="and">
        <PREDICATE>
          <BOOLEAN_FUNC operator="notEmpty">
            <ATTRIBUTE_TAG>00280103</ATTRIBUTE_TAG>
          </BOOLEAN_FUNC>
        </PREDICATE>
        <PREDICATE>
          <RELATIONAL operator="in">
            <ATTRIBUTE_TAG>00280103</ATTRIBUTE_TAG>
            <STRING_VALUE>0</STRING_VALUE>
            <STRING_VALUE>1</STRING_VALUE>
          </RELATIONAL>
        </PREDICATE>
      </LOGICAL>
    </PREDICATE>
    <PREDICATE>
      <LOGICAL operator="derive">
        <PREDICATE>
          <RELATIONAL operator="gt">
            <ATTRIBUTE_TAG>00280002</ATTRIBUTE_TAG>
            <STRING_VALUE>1</STRING_VALUE>
          </RELATIONAL>
        </PREDICATE>
        <PREDICATE>
          <BOOLEAN_FUNC operator="notEmpty">
            <ATTRIBUTE_TAG>00280006</ATTRIBUTE_TAG>
          </BOOLEAN_FUNC>
        </PREDICATE>
      </LOGICAL>
    </PREDICATE>
    <PREDICATE>
      <LOGICAL operator="derive">
        <PREDICATE>
          <LOGICAL operator="or">
            <PREDICATE>
              <RELATIONAL operator="eq">
                <ATTRIBUTE_TAG>00280004</ATTRIBUTE_TAG>
                <STRING_VALUE>PALETTE COLOR</STRING_VALUE>
              </RELATIONAL>
            </PREDICATE>
            <PREDICATE>
              <LOGICAL operator="and">
                <PREDICATE>
                  <BOOLEAN_FUNC operator="notEmpty">
                    <ATTRIBUTE_TAG>00089205</ATTRIBUTE_TAG>
                  </BOOLEAN_FUNC>
                </PREDICATE>
                <PREDICATE>
                  <RELATIONAL operator="in">
                    <ATTRIBUTE_TAG>00089205</ATTRIBUTE_TAG>
                    <STRING_VALUE>COLOR</STRING_VALUE>
                    <STRING_VALUE>MIXED</STRING_VALUE>
                  </RELATIONAL>
                </PREDICATE>
              </LOGICAL>
            </PREDICATE>
          </LOGICAL>
        </PREDICATE>
        <PREDICATE>
          <LOGICAL operator="and">
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281101</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281102</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281103</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281201</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>      
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281202</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>      
            <PREDICATE>
              <BOOLEAN_FUNC operator="notEmpty">
                <ATTRIBUTE_TAG>00281203</ATTRIBUTE_TAG>
              </BOOLEAN_FUNC>
            </PREDICATE>
          </LOGICAL>
        </PREDICATE>
      </LOGICAL>
    </PREDICATE>   
  </GLOBAL_RULE>

</CONFORMANCE_CONSTRAINT_DEFINITION>

OHA YOOOO