<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="https://dcf.efsa.europa.eu/dcf-war/downloadResourcesPage/fileName/FormatWF2_BR.xslt"?><businessRuleSet>
<name>Requirements for CHEMICAL MONITORING data collection - SSD2</name>
<businessRulesList>
<businessRule>
<businessRuleCode>DOMAIN_ENRICHMENT</businessRuleCode>
<businessRuleType>enrichment</businessRuleType>
<description>The record is flagged according to the 'Programme legal reference' (progLegalRef) and the 'Coded description of the parameter' (paramCode.base) and additional data enrichment applied;</description>
<infoMessage>The record is flagged according to the 'Programme legal reference' (progLegalRef) and the 'Coded description of the parameter' (paramCode.base) and additional data enrichment applied;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>paramCode_base</dataElement>
<dataElement>sampMatCode</dataElement>
<dataElement>sampY</dataElement>
<dataElement>sampM</dataElement>
<dataElement>sampD</dataElement>
<dataElement>resUnit</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<transformation>
<transformationType>GET_CHEM_MON_ENRICHMENT</transformationType>
<input>
<transformationRole>progLegRefColumn</transformationRole>
<transformationOperand>
<dataElement>progLegalRef</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>foodEx2Column</transformationRole>
<transformationOperand>
<dataElement>sampMatCode</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>sampYColumn</transformationRole>
<transformationOperand>
<dataElement>sampY</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>sampMColumn</transformationRole>
<transformationOperand>
<dataElement>sampM</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>sampDColumn</transformationRole>
<transformationOperand>
<dataElement>sampD</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>paramColumn</transformationRole>
<transformationOperand>
<dataElement>paramCode_base</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>resUnitColumn</transformationRole>
<transformationOperand>
<dataElement>resUnit</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>isVetColumn</transformationRole>
<transformationOperand>
<dataElement>is_vet</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>isAddColumn</transformationRole>
<transformationOperand>
<dataElement>is_add</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>isPestColumn</transformationRole>
<transformationOperand>
<dataElement>is_pest</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>isOccColumn</transformationRole>
<transformationOperand>
<dataElement>is_occ</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>factorColumn</transformationRole>
<transformationOperand>
<dataElement>factor</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>MRL_PPPColumn</transformationRole>
<transformationOperand>
<dataElement>MRL_PPP</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>MRL_VMPRColumn</transformationRole>
<transformationOperand>
<dataElement>MRL_VMPR</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>plausibleCombinationPPPColumn</transformationRole>
<transformationOperand>
<dataElement>plausibleCombinationPPP</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>paramtype_recodedColumn</transformationRole>
<transformationOperand>
<dataElement>paramType_recoded</dataElement>
</transformationOperand>
</input>
</transformation>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON68</businessRuleCode>
<description>The domain of the progLegalRef should match with the paramCode domain;</description>
<infoMessage>The selected paramCode belongs to a domain different than the progLegalRef domain. Please check this record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>paramCode</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>is_vet</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>is_add</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_01_VMPR</businessRuleCode>
<description>If the value in 'Type of limit for the result evaluation' (evalLimitType) is equal to 'Maximum Residue Level (MRL)' (W002A) or is not reported, and the value in 'Type of result' (resType) is equal to 'Numerical value' (VAL), and the coded sample is unprocessed and is not wild, and the value in 'Result value' (resVal) is greater than the MRL, then the value in 'Evaluation of the result' (evalCode) must be different from 'Less than or equal to maximum permissible quantities' (J002A);</description>
<infoMessage>WARNING: The selected result evaluation (evalCode) is incorrect; result value (resVal) exceeds the result legal limit. Please correct this record;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode</dataElement>
<dataElement>paramCode</dataElement>
<dataElement>MRL_PPP</dataElement>
<dataElement>MRL_VMPR</dataElement>
<dataElement>resType</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
<dataElement>evalCode</dataElement>
<dataElement>resUnit</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W002A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<function>
<functionType>multiplication</functionType>
<operand>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
</operand>
</function>
</operand>
<operator>isGreaterThan</operator>
<operand>
<value>MRL_VMPR</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>J002A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_01_PPP</businessRuleCode>
<description>If 'Type of limit for the result evaluation' (evalLimitType) is equal to 'Maximum Residue Level (MRL)' (W002A) or is not reported, and the value in 'Type of result' (resType) is equal to 'Numerical value' (VAL), and the coded sample is unprocessed, and the value in 'Result value' (resVal) is greater than the MRL, then the value in 'Evaluation of the result' (evalCode) must be different from 'Less than or equal to maximum permissible quantities' (J002A);</description>
<infoMessage>The selected result evaluation (evalCode) is incorrect; result value (resVal) exceeds the result legal limit. Please correct this record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode.base</dataElement>
<dataElement>paramCode</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>is_vet</dataElement>
<dataElement>MRL_PPP</dataElement>
<dataElement>MRL_VMPR</dataElement>
<dataElement>resType</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
<dataElement>evalCode</dataElement>
<dataElement>resUnit</dataElement>
<dataElement>evalInfo.conclusion</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W002A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.conclusion</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>C08A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<function>
<functionType>multiplication</functionType>
<operand>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
</operand>
</function>
</operand>
<operator>isGreaterThan</operator>
<operand>
<value>MRL_PPP</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>J002A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_02_VMPR</businessRuleCode>
<description>If 'Type of limit for the result evaluation' (evalLimitType) is equal to 'Maximum Residue Level (MRL)' (W002A) or is not reported, and the value in 'Type of result' (resType) is equal to 'Numerical value' (VAL), and the coded sample is unprocessed and is not wild, and the value in 'Result value' (resVal) is less than or equal to the MRL, then the value in 'Evaluation of the result' (evalCode) must be different from 'Greater than maximum permissible quantities' (J003A) and 'Compliant due to measurement uncertainty' (J031A);</description>
<infoMessage>WARNING: The selected result evaluation (evalCode) is incorrect; the result value (resVal) is equal or below the result legal limit. Please correct this record;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode</dataElement>
<dataElement>paramCode</dataElement>
<dataElement>MRL_PPP</dataElement>
<dataElement>MRL_VMPR</dataElement>
<dataElement>resType</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
<dataElement>evalCode</dataElement>
<dataElement>resUnit</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W002A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<function>
<functionType>multiplication</functionType>
<operand>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
</operand>
</function>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<value>MRL_VMPR</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotInList</operator>
<operand>
<value>J003A</value>
<value>J031A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_02_PPP</businessRuleCode>
<description>If 'Type of limit for the result evaluation' (evalLimitType) is equal to 'Maximum Residue Level (MRL)' (W002A) or is not reported, and the value in 'Type of result' (resType) is equal to 'Numerical value' (VAL), and the coded sample is unprocessed, and the value in 'Result value' (resVal) is less than or equal to the MRL, then the value in 'Evaluation of the result' (evalCode) must be different from 'Greater than maximum permissible quantities' (J003A) and 'Compliant due to measurement uncertainty' (J031A);</description>
<infoMessage>The selected result evaluation (evalCode) is incorrect; the result value (resVal) is equal or below the result legal limit. Please correct this record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode.base</dataElement>
<dataElement>paramCode</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>is_vet</dataElement>
<dataElement>MRL_PPP</dataElement>
<dataElement>MRL_VMPR</dataElement>
<dataElement>resType</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
<dataElement>evalCode</dataElement>
<dataElement>resUnit</dataElement>
<dataElement>evalInfo.conclusion</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W002A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>MRL_PPP</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>MRL_VMPR</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.conclusion</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>C08A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<function>
<functionType>multiplication</functionType>
<operand>
<dataElement>factor</dataElement>
<dataElement>resVal</dataElement>
</operand>
</function>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<value>MRL_PPP</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotInList</operator>
<operand>
<value>J003A</value>
<value>J031A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_03</businessRuleCode>
<description>The value in paramType must be reported for multicomponents/sum to indicate if the full analysis has been performed as indicated by paramCode;</description>
<infoMessage>paramType is missing or not correct; P004A or P005A should be reported for multicomponents/sum to indicate if the full analysis has been performed as indicated by paramCode;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>paramType</dataElement>
<dataElement>paramCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>MULTI303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>P004A</value>
<value>P005A</value>
<value>P003A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>P004A</value>
<value>P005A</value>
<value>P002A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>RF-0075-001-PPP</value>
<value>RF-0690-006-PPP</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_03_b</businessRuleCode>
<description>The value in paramType should be equal to the pre-assigned paramType;</description>
<infoMessage>WARNING: the reported paramType is different from EFSA pre-assigned paramType;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>paramType</dataElement>
<dataElement>paramCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<transformation>
<transformationType>concatenate_field</transformationType>
<input>
<transformationRole>concatenatedDataElement</transformationRole>
<transformationOperand>
<dataElement>paramCode_base</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>concatenatedDataElement</transformationRole>
<transformationOperand>
<dataElement>paramType</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>separator</transformationRole>
<transformationOperand>
<value>_</value>
</transformationOperand>
</input>
<newDataElement>concatPP</newDataElement>
</transformation>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>concatPP</dataElement>
<ancestorLevel>PP303</ancestorLevel>
<hierarchyCode>paramType</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_04_PPP</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the combination of values in the matrix sampled, the 'Parameter code' (paramCode.base) and the 'Parameter type' (paramType) should match with the plausible legal combinations as reflected in the legal limits database (PlausibleCombinationPPP=1) or the value in 'Parameter type' (paramType) should be equal to 'Part of a sum' (P002A);</description>
<infoMessage>The selected paramCode does not refer to the correct legal Residue Definition for the sample analysed. Please correct the paramCode and verify or change paramType to P002A, if appropriate;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-04-22</lastUpdate>
<checkedDataElements>
<dataElement>is_pest</dataElement>
<dataElement>PlausibleCombinationPPP</dataElement>
<dataElement>sampMatCode</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>paramCode.base</dataElement>
<dataElement>paramType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>PARAM</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isNotInList</operator>
<operand>
<value>RF-0075-001-PPP</value>
<value>RF-0690-006-PPP</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>PlausibleCombinationPPP</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>COMP303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>RF-0075-001-PPP</value>
<value>RF-0690-006-PPP</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>PlausibleCombinationPPP</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>P002A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>PlausibleCombinationPPP</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>P002A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>LL_04_PPP_b</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the combination of values in the matrix sampled, and the 'Parameter code' (paramCode.base) should match with the plausible legal combinations as reflected in the legal limits database (PlausibleCombinationPPP=1) or the reported paramCode is a component of a multicomponent;</description>
<infoMessage>The selected paramCode does not refer to the correct legal Residue Definition for the sample analysed;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-04-22</lastUpdate>
<checkedDataElements>
<dataElement>is_pest</dataElement>
<dataElement>PlausibleCombinationPPP</dataElement>
<dataElement>sampMatCode</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>paramCode.base</dataElement>
<dataElement>paramType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramType</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>PARAM</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>PlausibleCombinationPPP</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>COMP303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON03</businessRuleCode>
<description>A value in the data element 'Analytical method code' (anMethCode.base) must be reported;</description>
<infoMessage>anMethCode.base is missing, though a value should be reported;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>anMethCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethCode.base</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON04</businessRuleCode>
<description>The value in the data element 'Result value recovery' (resValRec) should be greater than or equal to 1 (for 85%, the value 85 should be reported);</description>
<infoMessage>WARNING: resValRec is less than 1. Please check whether the resValRec is correctly reported (e.g. for 85%, the value 85 should be reported);</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2016-04-27</lastUpdate>
<checkedDataElements>
<dataElement>resValRec</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRec</dataElement>
</operand>
<operator>isGreaterThanOrEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON05</businessRuleCode>
<description>The value in the data element 'Result value recovery' (resValRec) should be between 50 and 150;</description>
<infoMessage>WARNING: resValRec is not between 50 and 150;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-30</lastUpdate>
<checkedDataElements>
<dataElement>resValRec</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRec</dataElement>
</operand>
<operator>isGreaterThanOrEqualTo</operator>
<operand>
<value>50</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRec</dataElement>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<value>150</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON06</businessRuleCode>
<description>The value in the data element 'Percentage of fat in the original sample' (exprResPerc.fatPerc) should be greater than or equal to 1 (e.g. for 85%, the value 85 should be reported);</description>
<infoMessage>WARNING: exprResPerc.fatPerc is less than 1. Please check whether the exprResPerc.fatPerc is correctly reported (e.g. for 85%, the value 85 should be reported);</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-04-12</lastUpdate>
<checkedDataElements>
<dataElement>exprResPerc.fatPerc</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResPerc.fatPerc</dataElement>
</operand>
<operator>isGreaterThanOrEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON07</businessRuleCode>
<description>The value in the data element 'Percentage of moisture in the original sample' (exprResPerc.moistPerc) should be greater than or equal to 1 (e.g. for 85%, the value 85 should be reported);</description>
<infoMessage>WARNING: exprResPerc.moistPerc is less than 1. Please check whether the exprResPerc.moistPerc is correctly reported (e.g. for 85%, the value 85 should be reported);</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-04-12</lastUpdate>
<checkedDataElements>
<dataElement>exprResPerc.moistPerc</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResPerc.moistPerc</dataElement>
</operand>
<operator>isGreaterThanOrEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON08</businessRuleCode>
<description>If the value in the data element 'Result value' (resVal) is equal to the value in the data element 'Result LOQ' (resLOQ), then the value in the data element 'Type of result' (resType) must be equal to 'Non Quantified Value (below LOQ)' (LOQ) or 'Result value' (resVal);</description>
<infoMessage>resType is not equal to LOQ or VAL, though resVal is equal to resLOQ;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2016-09-01</lastUpdate>
<checkedDataElements>
<dataElement>resVal</dataElement>
<dataElement>resLOQ</dataElement>
<dataElement>resType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resVal</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>LOQ</value>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON09</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode) is a dioxin or dioxin-like PCB, then the full set of the 29 dioxins and dioxin-like PCBs (17 PCDD/Fs, 12 dl-PCBs) should be reported (as listed in the Appendix to Annex II of the Commission Regulation (EC) 1881/2006);</description>
<infoMessage>WARNING: The full set of the 29 dioxins and dioxin-like PCBs (17 PCDD/Fs, 12 dl-PCBs) is not reported, though recommended, as listed in the Appendix to Annex II of the Commission Regulation (EC) 1881/2006;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2023-02-22</lastUpdate>
<checkedDataElements>
<dataElement>sampId</dataElement>
<dataElement>paramCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysDataCollection</systemVariable>
<systemVariable>sysOrganisation</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<forEach>
<dataElement>sampId</dataElement>
</forEach>
<transformation>
<transformationType>concatenation</transformationType>
<input>
<transformationRole>concatenatedDataElement</transformationRole>
<transformationOperand>
<dataElement>paramCode</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>separator</transformationRole>
<transformationOperand>
<value>$</value>
</transformationOperand>
</input>
</transformation>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000328-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000116-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000125-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%RF-00000117-ORG%RF-00000118-ORG%RF-00000119-ORG%RF-00000120-ORG%RF-00000121-ORG%RF-00000122-ORG%RF-00000123-ORG%RF-00000124-ORG%RF-00000126-ORG%RF-00000127-ORG%RF-00000128-ORG%RF-00000129-ORG%RF-00000330-ORG%RF-00000331-ORG%RF-00000332-ORG%RF-00000333-ORG%RF-00000334-ORG%RF-00000335-ORG%RF-00000336-ORG%RF-00000337-ORG%RF-00000338-ORG%RF-00000339-ORG%RF-00000341-ORG%RF-00000342-ORG%RF-00000343-ORG%RF-00000344-ORG%RF-00000345-ORG%RF-00000346-ORG%RF-00000347-ORG%</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON10</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode) is a non-dioxin-like PCB, then the six indicator congeners (PCB 28, 52, 101, 138, 153, and 180) should be reported (as listed in the Appendix to Annex II of the Commission Regulation (EC) 1881/2006);</description>
<infoMessage>WARNING: The six indicator congeners (PCB 28, 52, 101, 138, 153, and 180) are not all reported, though recommended, as listed in the Appendix to Annex II of the Commission Regulation (EC) 1881/2006;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>sampId</dataElement>
<dataElement>paramCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysDataCollection</systemVariable>
<systemVariable>sysOrganisation</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<forEach>
<dataElement>sampId</dataElement>
</forEach>
<transformation>
<transformationType>concatenation</transformationType>
<input>
<transformationRole>concatenatedDataElement</transformationRole>
<transformationOperand>
<dataElement>paramCode</dataElement>
</transformationOperand>
</input>
<input>
<transformationRole>separator</transformationRole>
<transformationOperand>
<value>$</value>
</transformationOperand>
</input>
</transformation>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000130-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%RF-00000134-ORG%RF-00000169-ORG%RF-00000186-ORG%RF-00000212-ORG%RF-00000251-ORG%RF-00000278-ORG%</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON11</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Mineral oils' (RF-00000396-ORG), or 'Mycotoxins' (RF-00000132-TOX), then a value in the data element 'Percentage of moisture in the original sample' (exprResPerc.moistPerc) should be reported (regardless of whether the result value is expressed in whole weight, fat weight or dry matter);</description>
<infoMessage>WARNING: exprResPerc.moistPerc is missing, though recommended when paramCode is a mineral oil or a mycotoxin;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-20</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>exprResPerc.moistPerc</dataElement>
<dataElement>is_occ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000396-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000132-TOX</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResPerc.moistPerc</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON12</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) is 'Acrylamide' (RF-00000410-ORG), then the value in the data element 'Legislative-classes' (sampMatCode.legis) must be reported and must contain the additional product classification (categories and sub-categories) based on Commission Regulation (EU) 2017/2158 and Commission Recommendation (EU) 2019/1888 on investigations into the levels of acrylamide in food;</description>
<infoMessage>sampMatCode.legis is not reported or does not contain specific product code, though paramCode is acrylamide (it is mandatory to provide additional product classification based on Commission Regulation (EU) 2017/2158 and (EU) 2019/1888 on acrylamide);</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2017-04-12</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.legis</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>RF-00000410-ORG</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A167B</termCode>
<hierarchyCode>legis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>A167B</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON14</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Bisphenol compounds' (RF-00001240-PAR), then a value in the data element 'Packaging-material' (sampMatCode.packmat) must be reported;</description>
<infoMessage>sampMatCode.packmat is missing, though mandatory when paramCode is a bisphenol compound;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2017-10-10</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.packmat</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00001240-PAR</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.packmat</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON15</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Polycyclic aromatic hydrocarbons' (RF-00000040-ORG), then a value in the data element 'Packaging-material' (sampMatCode.packmat) should be reported;</description>
<infoMessage>WARNING: sampMatCode.packmat is missing, though recommended when paramCode is a PAH;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-10-10</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.packmat</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000040-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.packmat</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON17</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Mycotoxins' (RF-00000132-TOX), then the value in the data element 'Method of production' (sampMatCode.prod) should be reported;</description>
<infoMessage>WARNING: sampMatCode.prod is missing though it is recommended to report whether the sample was obtained from the produce of traditional (non-organic) or organic farming when paramCode is a mycotoxin;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-20</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.prod</dataElement>
<dataElement>is_occ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000132-TOX</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.prod</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON18</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Arsenic and derivatives' (RF-00000127-CHE), and data are reported on rice (as grains for human consumption), then the value in the data element 'Process' (sampMatCode.process) should be reported;</description>
<infoMessage>WARNING: sampMatCode.process is not reported, though it is recommended to specifiy at least the codes for 'processed' or 'unprocessed' when reporting data on rice and paramCode is arsenic;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-20</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.process</dataElement>
<dataElement>sampMatCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000127-CHE</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A001C</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.process</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAttribute>
<dataElement>sampMatCode.base</dataElement>
<attributeName>allFacets</attributeName>
</catalogueAttribute>
</operand>
<operator>isLike</operator>
<operand>
<value>%F28%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON19</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) is equal to 'Chlorates' (RF-00000015-CHE), or 'Perchlorate' (RF-00001336-PAR), then the value in the data element 'Process' (sampMatCode.process) should be reported;</description>
<infoMessage>WARNING: sampMatCode.process is unknown, though it is should be specified if a process has been applied when paramCode is chlorate or perchlorate;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-04-15</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.process</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>RF-00000015-CHE</value>
<value>RF-00001336-PAR</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.process</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAttribute>
<dataElement>sampMatCode.base</dataElement>
<attributeName>allFacets</attributeName>
</catalogueAttribute>
</operand>
<operator>isLike</operator>
<operand>
<value>%F28%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON20</businessRuleCode>
<description>If the value in the data element 'Coded description of the matrix sampled' (sampMatCode.base) has as ancestor 'Processed or preserved seafood' (A0BZ4), or 'Fish, other aquatic animals and products derived thereof (feed)' (A0BNJ) and the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Brominated flame retardants' (RF-00000074-ORG), or 'Dioxins and PCBs' (RF-00000114-ORG), or 'Mercury and derivatives' (RF-00000169-CHE), then a value in 'Area of origin for fisheries or aquaculture activities code' (origFishAreaCode) should be reported;</description>
<infoMessage>WARNING: origFishAreaCode is missing, though recommended when data are reported on fish, and paramCode is BFR, dioxins and PCBs, or mercury and derivatives;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-20</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>origFishAreaCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000074-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000114-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000169-CHE</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BNJ</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BZ4</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>origFishAreaCode</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON21</businessRuleCode>
<description>If the value in the data element 'Parameter code' (paramCode.base) has as ancestor 'Brominated flame retardants' (RF-00000074-ORG), or 'Dioxins and PCBs' (RF-00000114-ORG), or '3-MCPDs' (RF-00000376-ORG), then a value in the data element 'Percentage of fat in the original sample' (exprResPerc.fatPerc) should be reported (regardless of whether the result value is expressed on whole weight, fat weight or dry matter);</description>
<infoMessage>WARNING: exprResPerc.fatPerc is missing, though recommended when reporting data on BFR, dioxins and PCBs, or 3-MCPDs;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-01-20</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>exprResPerc.fatPerc</dataElement>
<dataElement>is_occ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000376-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000114-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>RF-00000074-ORG</termCode>
<hierarchyCode>chemAnalysis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResPerc.fatPerc</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON22</businessRuleCode>
<description>If the value in 'Link To Original Sample’ (sampInfo.origSampId) is reported for a follow-up sample, then the value in 'Sampling Strategy’ (sampStrategy) should be 'suspect sampling' (ST30A);</description>
<infoMessage>WARNING: sampStrategy is not suspect sampling, though sampInfo.origSampId is reported;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-11</lastUpdate>
<checkedDataElements>
<dataElement>sampStrategy</dataElement>
<dataElement>sampInfo.origSampId</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampInfo.origSampId</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>ST30A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON23</businessRuleCode>
<description>The value in the data element 'Analytical Method Type' (anMethType) must be equal to 'Screening' (AT06A), or 'Confirmation' (AT08A);</description>
<infoMessage>anMethType is not screening or confirmation;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2016-05-10</lastUpdate>
<checkedDataElements>
<dataElement>anMethType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>AT06A</value>
<value>AT08A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON24</businessRuleCode>
<description>The value in the data element 'Result qualitative value' (resQualValue) must be equal to 'negative/absent' (NEG), because neither positive screening results nor qualitative confirmation results should be reported, unless the reported 'Parameter code' (paramCode.base) is equal to 'MOAHs 3 to 7 ring' (RF-00011484-PAR);</description>
<infoMessage>resQualValue is different from negative/absent;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-07</lastUpdate>
<checkedDataElements>
<dataElement>resQualValue</dataElement>
<dataElement>paramCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode.base</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>RF-00011484-PAR</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resQualValue</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>NEG</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON26</businessRuleCode>
<description>If the value in the data elemente 'Action Taken' (actTakenCode) is equal to 'Follow-up investigation' (I), then a value in the data element 'Conclusion of follow-up investigation' (evalInfo.conclusion) should be reported;</description>
<infoMessage>WARNING: evalInfo.conclusion is missing, though actTakenCode is follow-up investigation;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2016-05-10</lastUpdate>
<checkedDataElements>
<dataElement>actTakenCode</dataElement>
<dataElement>evalInfo.conclusion</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>actTakenCode</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>I</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.conclusion</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON27</businessRuleCode>
<description>If the result is reported for VMPR or pesticides (is_vet=1 or is_pest=1), then the value in 'Coded description of the matrix of the sample taken' (sampMatCode) should be equal to the value in 'Coded description of the analysed matrix' (anMatCode);</description>
<infoMessage>WARNING: anMatCode is reported different from sampMatCode. Please note that this information will not be used for further data analysis in the frame of the preparation of pesticides and VMPR reports;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-14</lastUpdate>
<checkedDataElements>
<dataElement>is_vet</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>sampMatCode</dataElement>
<dataElement>anMatCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>anMatCode</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON28</businessRuleCode>
<description>If the result is reported for VMPR (is_vet=1), then only recommended 'Sampling point' (sampPoint) codes should be reported;</description>
<infoMessage>WARNING: sampPoint is not in the recommended list of codes;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-04-15</lastUpdate>
<checkedDataElements>
<dataElement>is_vet</dataElement>
<dataElement>sampPoint</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampPoint</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>E101A</termCode>
<hierarchyCode>vmprClasses</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampPoint</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>E984A</termCode>
<hierarchyCode>vmprClasses</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampPoint</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>E300A</value>
<value>E510A</value>
<value>E520A</value>
<value>E010A</value>
<value>E700A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON30</businessRuleCode>
<description>If the value in the data element 'Evaluation of the result' (evalCode) is 'Above maximum permissible quantities (above level of concern)' (J003A), then the value in the data element 'Analytical Method Type' (anMethType) must be equal to 'Confirmation' (AT08A);</description>
<infoMessage>anMethType is not confirmation, though evalCode is above maximum permissible quantities;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>anMethType</dataElement>
<dataElement>evalCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J003A</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>AT08A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON31</businessRuleCode>
<description>If the value in the data element 'Accreditation procedure for the analytical method' (accredProc) is 'Accredited and validated according to Commission Implementing Regulation (EU) 2021/808' (V007A) and the value in the data element 'Analytical method type' (anMethType) is 'Confirmation' (AT08A) and the assigned 'Type of parameter' (paramType) is not equal to 'Part of a sum' (P002A), then a value in the data element 'CC alpha' (CCalpha) must be reported;</description>
<infoMessage>CCalpha is missing, though mandatory if accredProc is accredited and validated according to Com. Dec. 2002/657/EC and anMethType is confirmation and paramType is not part of a sum;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-05-01</lastUpdate>
<checkedDataElements>
<dataElement>accredProc</dataElement>
<dataElement>anMethType</dataElement>
<dataElement>paramCode.base</dataElement>
<dataElement>CCalpha</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>accredProc</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>V007A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>AT08A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>COMP303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>CCalpha</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON32</businessRuleCode>
<description>If the value in the data element 'Accreditation procedure for the analytical method' (accredProc) is 'Accredited and validated according to Commission Implementing Regulation (EU) 2021/808' (V007A) and the value in the data element 'Analytical method type' (anMethType) is 'Screening' (AT06A), then a value in the data element 'CC beta' (CCbeta) must be reported</description>
<infoMessage>CCbeta is missing, though mandatory if accredProc is accredited and validated according to Com. Dec. 2002/657/EC and anMethType is screening;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>accredProc</dataElement>
<dataElement>anMethType</dataElement>
<dataElement>CCbeta</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>accredProc</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>V007A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>AT06A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>CCbeta</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON33</businessRuleCode>
<description>If the value in 'Type of results' (resType) is equal to 'Qualitative value (binary)' (BIN), then the value in the data element 'Analytical method type' (anMethType) should be equal to 'Screening' (AT06A);</description>
<infoMessage>resType is BIN but anMethType is not screening;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>anMethType</dataElement>
<dataElement>resType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>AT06A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON34</businessRuleCode>
<description>If the value in the data element 'Analytical method type' (anMethType) is 'Confirmation' (AT08A), then the value in 'Type of results' (resType) should not be equal to 'Qualitative Value (Binary)' (BIN), and the value in 'Result qualitative value' (resQualValue) should not be reported;</description>
<infoMessage>WARNING: resType is equal to BIN or resQualValue is reported, though anMethType is confirmation;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>anMethType</dataElement>
<dataElement>resType</dataElement>
<dataElement>resQualValue</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>AT08A</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resQualValue</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON35</businessRuleCode>
<description>The value in the data element 'Type of limit for the result evaluation' (evalLimitType) should be equal to 'Maximum Residue Level (MRL)' (W002A), or 'Minimum Required Performance Limit (MRPL)' (W005A), or 'Reference point of action (RPA)' (W006A), or 'Presence' (W012A), or 'Maximum Limit' (W001A), or 'Action level' (W007A), or 'Target Level (TL)' (W008A), or 'National or local limit' (W990A);</description>
<infoMessage>WARNING: evalLimitType is not in the list of recommended codes;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2019-03-07</lastUpdate>
<checkedDataElements>
<dataElement>evalLimitType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>W002A</value>
<value>W005A</value>
<value>W006A</value>
<value>W012A</value>
<value>W001A</value>
<value>W007A</value>
<value>W008A</value>
<value>W990A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON36</businessRuleCode>
<description>If the value in the data element 'Type of limit for the result evaluation' (evalLimitType) is equal to 'Maximum Residue Level (MRL)' (W002A), then the value in 'Evaluation of the result' (evalCode) should be equal to 'Below or equal to maximum permissible quantities (below or equal to level of concern)' (J002A), or 'Above the maximum permissible quantities (above level of concern)' (J003A), or 'Compliant due to measurement uncertainty' (J031A), or 'result not evaluated' (J029A);</description>
<infoMessage>WARNING: evalCode is not in the recommended list of codes when evalLimitType is MRL;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2017-03-17</lastUpdate>
<checkedDataElements>
<dataElement>evalLimitType</dataElement>
<dataElement>evalCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W002A</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J002A</value>
<value>J003A</value>
<value>J031A</value>
<value>J029A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON37</businessRuleCode>
<description>If the result is reported for contaminants (is_occ=1) or additives (is_add=1), and the value in 'Evaluation of the result' (evalCode) is equal to 'Detected' (J041A), or 'Above the maximum permissible quantities' (J003A), then a value in the data element 'Action taken' (actTakenCode) should be reported;</description>
<infoMessage>WARNING: actTakenCode is missing, though recommended when evalCode is detected or greater than maximum permissible quantities;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>actTakenCode</dataElement>
<dataElement>is_add</dataElement>
<dataElement>is_occ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J041A</value>
<value>J003A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>actTakenCode</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON39</businessRuleCode>
<description>If the result is reported for additives (is_add=1), then the value in the data element 'Legislative-classes' (sampMatCode.legis) should contain the additional product classification (food category code) based on Commission Regulation (EC) No 1333/2008 on food additives, as last amended;</description>
<infoMessage>WARNING: sampMatCode.legis does not contain the specific food category code for additives (it is recommended to provide additional product classification based on Commission Regulation (EC) No 1333/2008 on food additives, as last amended);</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2024-02-26</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode.legis</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>is_add</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A163R</termCode>
<hierarchyCode>legis</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.legis</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>A163R</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAttribute>
<dataElement>sampMatCode.base</dataElement>
<attributeName>allFacets</attributeName>
</catalogueAttribute>
</operand>
<operator>isLike</operator>
<operand>
<value>%F33%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON40</businessRuleCode>
<description>If the value in the data element 'Type of result' (resType) is 'Qualitative Value (Binary)' (BIN), then the data element 'Result value' (resVal) must be empty;</description>
<infoMessage>A numerical value for resVal is reported, though resType is qualitative value (binary, BIN). Please check the record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2016-04-06</lastUpdate>
<checkedDataElements>
<dataElement>resType</dataElement>
<dataElement>resVal</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resVal</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON41</businessRuleCode>
<description>If the value in the data element 'Result type' (resType) is equal to 'Numerical Value' (VAL), then the value in the data element 'Result LOQ' (resLOQ) should not be greater than the value in the data element 'Result value' (resVal) (if the result is a positive detection, the result value cannot be below the reported LOQ);</description>
<infoMessage>WARNING: the selected resType is VAL for a result that contains a value less than the reported LOQ;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2016-07-15</lastUpdate>
<checkedDataElements>
<dataElement>resType</dataElement>
<dataElement>resLOQ</dataElement>
<dataElement>resVal</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<dataElement>resVal</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON42</businessRuleCode>
<description>If the value in the data element 'Result value recovery corrected' (resValRecCorr) is equal to 'Yes' (Y), then a value in the data element 'Result value recovery' (resValRec) should be reported;</description>
<infoMessage>WARNING: resValRec is missing, though resValRecCorr is reported; if the result is corrected for recovery the corrected value should be reported (mean recovery in the range of 70-120%);</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2016-07-15</lastUpdate>
<checkedDataElements>
<dataElement>resValRecCorr</dataElement>
<dataElement>resValRec</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRecCorr</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>Y</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRec</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON43</businessRuleCode>
<description>If the result is reported for pesticides or vmpr (is_pest=1 or is_vet=1), then the value in the data element 'Sampling year' (sampY) should be less than or equal to the data transmission year minus 1;</description>
<infoMessage>If this record should be included in an EU annual report, sampYear should be the year previous to the transmission year;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampY</dataElement>
<dataElement>is_vet</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampY</dataElement>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<function>
<functionType>subtraction</functionType>
<operand>
<constant>currentYear</constant>
<value>1</value>
</operand>
</function>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON44</businessRuleCode>
<description>A value in the data element 'Result LOQ' (resLOQ) should be reported, unless an unvalidated method is used, or resInfo.notSummed is equal to 'Yes' (Y), or the result is reported for VMPR (is_vet=1), or resType is equal to BIN;</description>
<infoMessage>resLOQ is missing, though a value should be reported;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>resLOQ</dataElement>
<dataElement>accredProc</dataElement>
<dataElement>resInfo.notSummed</dataElement>
<dataElement>resType</dataElement>
<dataElement>is_vet</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>is_add</dataElement>
<dataElement>paramCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resInfo.notSummed</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>Y</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>accredProc</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>V999A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON45</businessRuleCode>
<description>A value in at least one of the following data elements must be reported: 'Result LOQ' (resLOQ) or 'Result LOD' (resLOD) or 'CC beta' (CCbeta) or 'CC alpha' (CCalpha) if 'Analytical method' is not an unvalidated methods ('Accreditation procedure' not equal to 'Not validated') or resInfo.notSummed is not equal to 'Yes' (Y);</description>
<infoMessage>One of resLOQ, resLOD, CCbeta or CCalpha must be reported unless an unvalidated method is used;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>resLOQ</dataElement>
<dataElement>resLOD</dataElement>
<dataElement>CCbeta</dataElement>
<dataElement>CCalpha</dataElement>
<dataElement>accredProc</dataElement>
<dataElement>resInfo.notSummed</dataElement>
<dataElement>resType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>accredProc</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>V999A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resInfo.notSummed</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>Y</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOD</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>CCbeta</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>CCalpha</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON46</businessRuleCode>
<description>If the value in 'Evaluation of the result' (evalCode) is equal to 'greater than maximum permissible quantities' (J003A), or 'Compliant due to measurement uncertainty' (J031A), and the value in 'Type of limit for the result evaluation' (evalLimitType) is not equal to 'Presence' (W012A), then the value in 'Type of result' (resType) must be equal to 'VAL';</description>
<infoMessage>The selected resType code is different from VAL, though evalCode is 'greater than maximum permissible quantities' or 'compliant due to measurement uncertainty'. Please check the record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>resType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J003A</value>
<value>J031A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>W012A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON47</businessRuleCode>
<description>If the value in the data element 'Result type' (resType) is equal to 'Non Quantified Value (below LOQ)' (LOQ), then the value in the data element 'Result value' (resVal) should not be greater than the value in the data element 'Result LOQ' (resLOQ);</description>
<infoMessage>WARNING: the selected resType is LOQ for a result that contains a value greater than the reported LOQ;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2016-07-15</lastUpdate>
<checkedDataElements>
<dataElement>resType</dataElement>
<dataElement>resLOQ</dataElement>
<dataElement>resVal</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>LOQ</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resVal</dataElement>
</operand>
<operator>isLessThanOrEqualTo</operator>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON48</businessRuleCode>
<description>If the assigned paramType is different from 'Part of a sum' (P002A) and the value in the data element 'Result value' (resVal) is greater than or equal to the value in the data element 'Limit for the result evaluation' (evalLowLimit), then the value in the data element 'Evaluation of the result' (evalCode) should be different from 'Result not evaluated' (J029A);</description>
<infoMessage>WARNING: where resVal greater than or equal to evalLowLimit, then the evalCode is expected to be reported;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2018-03-16</lastUpdate>
<checkedDataElements>
<dataElement>paramCode.base</dataElement>
<dataElement>resVal</dataElement>
<dataElement>evalLowLimit</dataElement>
<dataElement>evalCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>COMP303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resVal</dataElement>
</operand>
<operator>isGreaterThanOrEqualTo</operator>
<operand>
<dataElement>evalLowLimit</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>J029A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON49</businessRuleCode>
<description>If the value in the data element 'Programme type' (progType) is equal to 'Official (EU) programme' (K009A), or 'Official (National and EU) programme' (K018A), and the value in 'Programme legal reference' (progLegalRef) contains 'Regulation (EC) No 396/2005 (amended)' (N027A), then the value in 'Sampling strategy' (sampStrategy) should only be equal to 'Objective sampling' (ST10A);</description>
<infoMessage>WARNING: sampStrategy is not 'Objective sampling', though only random sampling should be reported under EUCP for pesticides;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progType</dataElement>
<dataElement>progLegalRef</dataElement>
<dataElement>sampStrategy</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>K009A</value>
<value>K018A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>ST10A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON50</businessRuleCode>
<description>If the value in the data element 'Programme type' (progType) is equal to 'Official (EU) programme' (K009A), or 'Official (National and EU) programme' (K018A), and the value in 'Programme legal reference' (progLegalRef) contains 'Regulation (EC) No 396/2005 (amended)' (N027A), then the value in 'Sampling strategy' (sampStrategy) can only be equal to 'Objective sampling' (ST10A), or 'Selective sampling' (ST20A), or 'Suspect sampling' (ST30A);</description>
<infoMessage>The reported combination of codes for progType, progLegalRef and sampStrategy is not valid for pesticides. Please check these variables;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2024-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progType</dataElement>
<dataElement>progLegalRef</dataElement>
<dataElement>sampStrategy</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>K009A</value>
<value>K018A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>ST10A</value>
<value>ST20A</value>
<value>ST30A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON51</businessRuleCode>
<description>If the value in 'Programme legal reference' (progLegalRef) contains 'Regulation (EC) No 396/2005 (amended)' (N027A), then the value in 'Sampling strategy' (sampStrategy) can only be equal to 'Objective sampling' (ST10A), or 'Selective sampling' (ST20A), or 'Suspect sampling' (ST30A);</description>
<infoMessage>The reported sampStrategy is not valid for pesticides. Please check this variable;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampStrategy</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>ST10A</value>
<value>ST20A</value>
<value>ST30A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON52</businessRuleCode>
<description>If the value in 'Programme legal reference' (progLegalRef) contains 'Regulation (EC) No 396/2005 (amended)' (N027A), then the value in 'Programme type' (progType) can only be equal to 'Official (National) programme' (K005A), or 'Official (EU) programme' (K009A), or 'Official (National and EU) programme' (K018A), or 'EU increased control programme on imported food' (K019A);</description>
<infoMessage>The reported progType is not valid for pesticides. Please check this variable;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2024-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>progType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>K005A</value>
<value>K009A</value>
<value>K018A</value>
<value>K019A</value>
<value>K038A</value>
<value>K039A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON53</businessRuleCode>
<description>If the value in 'Programme legal reference' (progLegalRef) contains 'Regulation (EC) No 396/2005 (amended)' (N027A), and the value in'Programme type' (progType) is equal to 'EU increased control programme on imported food' (K019A), then the value in 'Sampling strategy' (sampStrategy) can only be equal to 'Suspect sampling' (ST30A);</description>
<infoMessage>sampStrategy is not 'suspect', though only suspect sampling should be reported under Reg. 669/2009 in pesticides;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progType</dataElement>
<dataElement>progLegalRef</dataElement>
<dataElement>sampStrategy</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>K019A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>ST30A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON54</businessRuleCode>
<description>If the value in 'Programme legal reference' (progLegalRef) contains 'Commission Implementing Regulation (EC) No 2019/1793' (N317A), then the value in 'Sampling strategy' (sampStrategy) can only be equal to 'Suspect sampling' (ST30A);</description>
<infoMessage>sampStrategy is not 'suspect', though only suspect sampling should be reported under Reg. 2019/1793;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampStrategy</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N317A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampStrategy</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>ST30A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON55</businessRuleCode>
<description>If the value in 'Programme legal reference' (progLegalRef) contains 'Samples of food products falling under Directive 2006/125/EC or 2006/141/EC' (N028A), then the value in the data element 'Coded description of the matrix of the sample taken' (sampMatCode.base) should have as parent term 'Food products for young population' (A03PV);</description>
<infoMessage>The reported sampMatCode does not refer to baby food, though progLegalRef is Directive 2006/125/EC or 2006/141/EC on samples of baby foods. Please check these variables;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2018-04-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampMatCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N028A%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N318A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A03PV</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON56</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the value in the data element 'Expression of result' (exprResType) can only be equal to 'Whole weight' (B001A), or 'Fat basis' (B003A), or 'Reconstituted product' (B007A);</description>
<infoMessage>The selected exprResType code is not correct for pesticides. It should be 'whole weight', or 'fat basis', or 'reconstituted product';</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>exprResType</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>B001A</value>
<value>B003A</value>
<value>B007A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON57</businessRuleCode>
<description>The combination of values in the data elements 'Parameter code' (paramCode.base), 'Sample taken identification code' (sampId) must be unique;</description>
<infoMessage>The combination of values in paramCode and sampId is not unique for the same sample. Please correct this record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-04-10</lastUpdate>
<checkedDataElements>
<dataElement>paramCode</dataElement>
<dataElement>sampId</dataElement>
<dataElement>sampAnId</dataElement>
<dataElement>anPortSeq</dataElement>
<dataElement>progLegalRef</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysDataCollection</systemVariable>
<systemVariable>sysOrganisation</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<forEach>
<dataElement>paramCode</dataElement>
<dataElement>sampId</dataElement>
</forEach>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N371A%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N027A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>paramCode</dataElement>
<dataElement>sampId</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>unique</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON58_a</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the country of sampling (sampCountry) should match with che country of the reporting organization (org_ID);</description>
<infoMessage>sampCountry does not match with che country of the reporting organization;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-04-22</lastUpdate>
<checkedDataElements>
<dataElement>ORG_ID</dataElement>
<dataElement>sampCountry</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>ORG_ID</dataElement>
<ancestorLevel>COUNTRY</ancestorLevel>
<hierarchyCode>ORGANIZATION</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>sampCountry</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>ORG_ID</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>412</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampCountry</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>XI</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON58_b</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the country of sampling (sampCountry) should match with che country of the reporting organization (org_ID);</description>
<infoMessage>WARNING:sampCountry does not match with che country of the reporting organization;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>ORG_ID</dataElement>
<dataElement>sampCountry</dataElement>
<dataElement>is_vet</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>ORG_ID</dataElement>
<ancestorLevel>COUNTRY</ancestorLevel>
<hierarchyCode>ORGANIZATION</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<dataElement>sampCountry</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>ORG_ID</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>412</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampCountry</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>XI</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON59</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the value in the data element 'Type of limit for the result evaluation' (evalLimitType) should be equal to 'Maximum Residue Level (MRL)' (W002A), or 'National or local limit' (W990A);</description>
<infoMessage>WARNING: evalLimitType is different from MRL and national or local limit;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>evalLimitType</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>W002A</value>
<value>W990A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON60</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the value in the data element 'Evaluation of the result' (evalCode) can only be equal 'greater than maximum permissible quantities' (J003A), or 'below or equal to maximum permissible quantities' (J002A), or 'Compliant due to measurement uncertainty' (J031A), or 'Result not evaluated' (J029A);</description>
<infoMessage>The reported evalCode is not one of the values allowed for pesticides;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J003A</value>
<value>J002A</value>
<value>J031A</value>
<value>J029A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON61</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1), then the value in the data element 'Type of result' (resType) can only be equal 'Non Detected Value (less than LOD)' (LOD), 'Non Quantified Value (less than LOQ)' (LOQ), 'Qualitative Value (Binary)' (BIN), or 'Numerical Value' (VAL);</description>
<infoMessage>The reported resType is not one of the values allowed for pesticides;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>resType</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>LOD</value>
<value>LOQ</value>
<value>VAL</value>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON62</businessRuleCode>
<description>If resInfo.notSummed is equal to 'Yes' (Y), then the result should be reported for multicomponents/sum and at least one of the components should be reported;</description>
<infoMessage>resInfo.notSummed is equal to yes, though the result is not reported for multicomponents/sum;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>resInfo.notSummed</dataElement>
<dataElement>paramCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resInfo.notSummed</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>Y</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode</dataElement>
<ancestorLevel>MULTI303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON63</businessRuleCode>
<description>If the value in 'Coded description of the matrix of the sample taken' (sampMatCode.base) has as parent term 'Food products for young population' (A03PV) (i.e. the sample is a baby food), then the value in 'Programme legal reference' (progLegalRef) should not contain 'Council Directive (EC) No 23/1996 (amended)' (N371A);</description>
<infoMessage>progLegalRef is Council Directive (EC) No 23/1996 (amended), though the reported sampMatCode is a baby food. Please check these variables since samples of baby food are excluded from VMPR legislation;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampMatCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A03PV</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isNotLike</operator>
<operand>
<value>%N371A%</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON64</businessRuleCode>
<description>If the sample reported is taken under Commission Implementing Regulation (EC) No 2019/1793 (N317A) (progLegalRef equal 'Commission Regulation (EC) No 669/2009 (amended)' (N243A) or progType equal 'EU increased control programme on imported food' (K019A) and progLegalRef equal 'Regulation (EC) No 396/2005 (amended)' (N027A)), then the value in ‘Country of origin’ (origCountry) can only be one of the country listed in thelegislation;</description>
<infoMessage>The selected origCountry is not a valid country code for sample taken under Commission Implementing Regulation (EC) No 2019/1793. Please correct this record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2023-03-16</lastUpdate>
<checkedDataElements>
<dataElement>progType</dataElement>
<dataElement>origCountry</dataElement>
<dataElement>progLegalRef</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>N317A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>K019A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>N027A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>origCountry</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>BR</value>
<value>CN</value>
<value>DO</value>
<value>EG</value>
<value>IN</value>
<value>KE</value>
<value>KH</value>
<value>KR</value>
<value>LK</value>
<value>MA</value>
<value>MX</value>
<value>MY</value>
<value>PK</value>
<value>TH</value>
<value>TR</value>
<value>UG</value>
<value>VN</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>origCountry</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>AR</value>
<value>AZ</value>
<value>BO</value>
<value>BR</value>
<value>CN</value>
<value>EG</value>
<value>ET</value>
<value>GE</value>
<value>GH</value>
<value>GM</value>
<value>ID</value>
<value>IN</value>
<value>IR</value>
<value>LB</value>
<value>LK</value>
<value>MG</value>
<value>NG</value>
<value>PK</value>
<value>SD</value>
<value>SL</value>
<value>SN</value>
<value>SY</value>
<value>TR</value>
<value>UG</value>
<value>US</value>
<value>UZ</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON65</businessRuleCode>
<description>The value in 'Result assessment' (evalInfo.resAsses) can only be equal to 'Compliant' (J037A) or 'Non compliant' (J038A);</description>
<infoMessage>The value in evalInfo.resAsses is not equal to compliant or non compliant, though only these values are allowed;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>evalInfo.resAsses</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.resAsses</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J037A</value>
<value>J038A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON66_a</businessRuleCode>
<description>If the value in 'Result assessment' (evalInfo.resAsses) is equal to 'Compliant' (J037A) and the value in 'Evaluation of the result' (evalCode) is equal to 'Above the level of concern' (J003A), or the value in 'Evaluation of the result' (evalCode) is equal to 'Detected' (J041A) and the value in (evalLimitType) is equal to 'Presence' (W012A), then a value in 'Conclusion of follow-up investigation' (evalInfo.conclusion) should be reported;</description>
<infoMessage>WARNING: evalInfo.conclusion is missing, though the result evaluation reported is an exceedance and the value reported in evalInfo.resAsses is compliant;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-03-20</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>evalInfo.resAsses</dataElement>
<dataElement>evalInfo.conclusion</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.resAsses</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J037A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J003A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J041A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>W012A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.conclusion</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON66_b</businessRuleCode>
<description>If the value in 'Result assessment' (evalInfo.resAsses) is equal to 'Non compliant' (J038A) and the value in 'Evaluation of the result' (evalCode) is not equal to 'Above the level of concern' (J003A), and the value in 'Evaluation of the result' (evalCode) is not equal to 'Detected' (J041A) and the value in (evalLimitType) is not equal to 'Presence' (W012A), then a value in 'Conclusion of follow-up investigation' (evalInfo.conclusion) should be reported;</description>
<infoMessage>WARNING: evalInfo.conclusion is missing, though the result evaluation reported is a non-exceedance and the value reported in evalInfo.resAsses is non-compliant;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-03-20</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>evalLimitType</dataElement>
<dataElement>evalInfo.resAsses</dataElement>
<dataElement>evalInfo.conclusion</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.resAsses</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J038A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>J003A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>J041A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalLimitType</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>W012A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.conclusion</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON67</businessRuleCode>
<description>The values in 'Sample taken assessment' (evalInfo.sampTkAsses) and 'Sampling event assessment' (evalInfo.sampEventAsses) should not be reported;</description>
<infoMessage>WARNING: evalInfo.sampTkAsses and/or evalInfo.sampEventAsses are reported. Please note that this information will not be used for further data analysis in the frame of the preparation of pesticides and VMPR reports;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2020-02-12</lastUpdate>
<checkedDataElements>
<dataElement>evalInfo.sampTkAsses</dataElement>
<dataElement>evalInfo.sampEventAsses</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.sampTkAsses</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.sampEventAsses</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON69</businessRuleCode>
<description>If the 'Expression of result type' (exprResType) is equal to 'Whole weight' (B001A) and the result is reported in feed, then the 'Percentage of moisture' (exprResPerc.moistPerc) should be reported;</description>
<infoMessage>moistPerc is missing, though the result reported for feed is expressed on whole weight;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>exprResType</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>exprResPerc.moistPerc</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>B001A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BB9</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResPerc.moistPerc</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON70</businessRuleCode>
<description>If the result is reported for pesticides in egg, milk, or meat, then the 'Expression of result' (exprResType) should be reported;</description>
<infoMessage>WARNING: exprResType is missing, though the analysis has been reported for pesticides in animal commodities;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>exprResType</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BXZ</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A031E</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0EZS</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON71</businessRuleCode>
<description>If the result is reported for contaminants (is_occ=1) in feed, then the 'Expression of result type' (exprResType) should be reported;</description>
<infoMessage>exprResType is missing, though the analysis has been reported in feed;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>exprResType</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>sampMatCode.base</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BB9</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON72</businessRuleCode>
<description>If the result is reported for pesticides and resType is equal to 'VAL', then the 'Result value uncertainty' (resValUncert) should be reported;</description>
<infoMessage>WARNING: resValUncert is missing, though resType is VAL for pesticides analysis;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>resValUncert</dataElement>
<dataElement>resType</dataElement>
<dataElement>is_pest</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>VAL</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValUncert</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON73</businessRuleCode>
<description>When reporting VMPR data on feed and water given to animal, the 'Target consumer' facet (F23) should be reported;</description>
<infoMessage>WARNING: facet F23 – target consumer is missing, though data are reported on feed or water given to animal;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2021-02-12</lastUpdate>
<checkedDataElements>
<dataElement>is_vet</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>sampMatCode.targcon</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0C5Y</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BB9</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAttribute>
<dataElement>sampMatCode.base</dataElement>
<attributeName>allFacets</attributeName>
</catalogueAttribute>
</operand>
<operator>isLike</operator>
<operand>
<value>%F23%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.targcon</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON76_a</businessRuleCode>
<description>When reporting VMPR results for two or more samples (sampId) with the same sampEventId the F01 facet code of the sampMatCode shall be the same for each sample reported;</description>
<infoMessage>The F01 facet code of the sampMatCode is not the same for each of the samples (sampId) reported for the same sample event (sampEventId);</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampEventId</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>sampMatCode.source</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysDataCollection</systemVariable>
<systemVariable>sysOrganisation</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<forEach>
<dataElement>sampEventId</dataElement>
</forEach>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N371A%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.source</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasNotAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BB9</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasNotAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0C5Y</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>sampMatCode.base</dataElement>
<ancestorLevel>IMPLSOURCE</ancestorLevel>
<hierarchyCode>MTX</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>is</operator>
<operand>
<constant>constant</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON76_b</businessRuleCode>
<description>When reporting VMPR results for two or more samples (sampId) with the same sampEventId the F01 facet code of the sampMatCode shall be the same for each sample reported;</description>
<infoMessage>The F01 facet code of the sampMatCode is not the same for each of the samples (sampId) reported for the same sample event (sampEventId);</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>progLegalRef</dataElement>
<dataElement>sampEventId</dataElement>
<dataElement>sampMatCode.base</dataElement>
<dataElement>sampMatCode.source</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysDataCollection</systemVariable>
<systemVariable>sysOrganisation</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<forEach>
<dataElement>sampEventId</dataElement>
</forEach>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>progLegalRef</dataElement>
</operand>
<operator>isLike</operator>
<operand>
<value>%N371A%</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.source</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasNotAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0BB9</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.base</dataElement>
</operand>
<operator>hasNotAsAncestor</operator>
<operand>
<catalogueTerm>
<termCode>A0C5Y</termCode>
<hierarchyCode>report</hierarchyCode>
</catalogueTerm>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.source</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>constant</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON77</businessRuleCode>
<description>If the analytical result refers to pooled samples (sampMethod equal to N002A - 'Pooled/batch' or 'N031A' - Pooled), then the value in sampUnitSizeUnit should be equal to 'Unit' (G005A) and the value in sampUnitSize should be contain the actual number of the single samples pooled;</description>
<infoMessage>WARNING: sampUnitSizeUnit or sampUnitSize is missing, though a pooled sample has been reported;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMethod</dataElement>
<dataElement>sampUnitSizeUnit</dataElement>
<dataElement>sampUnitSize</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMethod</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>N002A</value>
<value>N031A</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampUnitSizeUnit</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>G005A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampUnitSize</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON78</businessRuleCode>
<description>If the value in the data element 'Type of result' (resType) is equal to 'Qualitative Value (Binary)' (BIN), then the data element resLOQ should be empty;</description>
<infoMessage>A numerical value for resLOQ is reported, though resType is qualitative value (BIN). Please check the record;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>resType</dataElement>
<dataElement>resLOQ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>BIN</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON79</businessRuleCode>
<description>If the result is reported for contaminants (is_occ=1), then the value in 'Analytical Method' (anMethCode) should be different from 'Classification not possible' (F001A);</description>
<infoMessage>WARNING: anMethCode should be different from 'Classification not possible';</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>anMethCode</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>is_add</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>anMethCode</dataElement>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>F001A</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON80</businessRuleCode>
<description>If the result is reported for contaminants (is_occ=1), then a value in the data element 'Result value corrected for recovery' (resValRecCorr) should be reported;</description>
<infoMessage>WARNING: resValRecCorr is missing, though a value should be reported;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>resValRecCorr</dataElement>
<dataElement>is_occ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resValRecCorr</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON81</businessRuleCode>
<description>If the value reported in resVal is less than the value reported in resLOQ, then the value in resType should be equal to 'Below or equal to LOQ' (LOQ);</description>
<infoMessage>resType is not equal to LOQ, though resVal is less than resLOQ;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>resVal</dataElement>
<dataElement>resLOQ</dataElement>
<dataElement>paramCode.base</dataElement>
<dataElement>resType</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resVal</dataElement>
</operand>
<operator>isLessThan</operator>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<catalogueAncestor>
<dataElement>paramCode.base</dataElement>
<ancestorLevel>MULTI303</ancestorLevel>
<hierarchyCode>LEGALLIMIT</hierarchyCode>
</catalogueAncestor>
</operand>
<operator>isNotEqualTo</operator>
<operand>
<value>VALID</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resType</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>LOQ</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON82</businessRuleCode>
<description>The value in resLOQ should be different from 99999;</description>
<infoMessage>resLOQ can’t be equal to ‘99999’; please use the data element resInfo.notSummed to avoid storing a false LOQ;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>resLOQ</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>resLOQ</dataElement>
</operand>
<operator>isNotInList</operator>
<operand>
<value>999</value>
<value>9999</value>
<value>99999</value>
<value>999999</value>
<value>9999999</value>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON83</businessRuleCode>
<description>If the code F10.A18PX - 'not packed' is reported in sampMatCode, then the facet F19 -packMat and the facet F18 - packFormat should not be reported;</description>
<infoMessage>WARNING: Packaging material or packaging format are reported though the code F10.A18PX is reported;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2022-02-14</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode.packmat</dataElement>
<dataElement>sampMatCode.qual</dataElement>
<dataElement>sampMatCode.packformat</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.qual</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>A18PX</value>
</operand>
</simpleExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.packformat</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>sampMatCode.packmat</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON84</businessRuleCode>
<description>If the result is reported for contaminants (is_occ=1) or additivites (is_add=1), then the 'Expression of result type' (exprResType) should be reported;</description>
<infoMessage>WARNING: exprResType is missing, though the analysis has been reported in feed;</infoMessage>
<infoType>warning</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>exprResType</dataElement>
<dataElement>is_occ</dataElement>
<dataElement>is_Add</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_occ</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_add</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>exprResType</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>CHEMON85</businessRuleCode>
<description>If the result is reported for pesticides (is_pest=1) or VMPR (is_vet=1), and the value in 'Evaluation of the result' (evalCode) is equal to 'Detected' (J041A), or 'Above the maximum permissible quantities' (J003A), and the 'Result assessment' (evalInfo.resAsses) is empty or is equal to 'Non-compliant' (J038A), then a value in the data element 'Action taken' (actTakenCode) should be reported;</description>
<infoMessage>actTakenCode is missing, though it should be reported when evalCode is detected or greater than maximum permissible quantities;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2024-02-15</lastUpdate>
<checkedDataElements>
<dataElement>evalCode</dataElement>
<dataElement>actTakenCode</dataElement>
<dataElement>evalInfo.resAsses</dataElement>
<dataElement>is_pest</dataElement>
<dataElement>is_vet</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>no</ignoreNull>
<condition>
<logicalExpression>
<logicalConnector>and</logicalConnector>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_pest</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>is_vet</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>1</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalCode</dataElement>
</operand>
<operator>isInList</operator>
<operand>
<value>J041A</value>
<value>J003A</value>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<logicalConnector>or</logicalConnector>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.resAsses</dataElement>
</operand>
<operator>is</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>evalInfo.resAsses</dataElement>
</operand>
<operator>isEqualTo</operator>
<operand>
<value>J038A</value>
</operand>
</simpleExpression>
</logicalExpression>
</logicalExpression>
</logicalExpression>
</condition>
<verify>
<logicalExpression>
<simpleExpression>
<operand>
<dataElement>actTakenCode</dataElement>
</operand>
<operator>isNot</operator>
<operand>
<constant>null</constant>
</operand>
</simpleExpression>
</logicalExpression>
</verify>
</businessRule>
<businessRule>
<businessRuleCode>FOODEX2_SAMPMAT</businessRuleCode>
<businessRuleType>enrichment</businessRuleType>
<description>The value in sampMatCode should be coded according to foodEx2 classification rules;</description>
<infoMessage>sampMatCode is not coded according to foodEx2 classification rules;</infoMessage>
<infoType>error</infoType>
<status>inactive</status>
<lastUpdate>2018-05-02</lastUpdate>
<checkedDataElements>
<dataElement>sampMatCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<transformation>
<transformationType>FOODEX2_VALIDATION</transformationType>
<input>
<transformationRole>foodex2Column</transformationRole>
<transformationOperand>
<dataElement>sampMatCode</dataElement>
</transformationOperand>
</input>
</transformation>
</businessRule>
<businessRule>
<businessRuleCode>FOODEX2_ANMAT</businessRuleCode>
<businessRuleType>enrichment</businessRuleType>
<description>The value in anMatCode should be coded according to foodEx2 classification rules;</description>
<infoMessage>sampMatCode is not coded according to foodEx2 classification rules;</infoMessage>
<infoType>error</infoType>
<status>active</status>
<lastUpdate>2018-05-02</lastUpdate>
<checkedDataElements>
<dataElement>anMatCode</dataElement>
</checkedDataElements>
<appliesTo>
<systemVariable>sysRecord</systemVariable>
</appliesTo>
<ignoreNull>yes</ignoreNull>
<transformation>
<transformationType>FOODEX2_VALIDATION</transformationType>
<input>
<transformationRole>foodex2Column</transformationRole>
<transformationOperand>
<dataElement>anMatCode</dataElement>
</transformationOperand>
</input>
</transformation>
</businessRule>
</businessRulesList>
</businessRuleSet>