<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:CDA="http://www.openhealthtools.org/mdht/schemas/cda/4" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
  <uml:Class xmi:id="_2LMIwBSVEeGGzu7fmW9pXw" name="AllergiesSection">
    <ownedComment xmi:id="_2LRBQRSVEeGGzu7fmW9pXw" annotatedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <body>This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives) used to assure the safety of health care delivery. At a minimum, it should list currently active and any relevant historical allergies and adverse reactions.</body>
    </ownedComment>
    <ownedRule xmi:id="_V6kyobbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_V6kyorbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_V6q5QLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionCodeP" constrainedElement="_2LN98BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_V6q5QbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_V6nO4LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionCode" constrainedElement="_2LN98BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_V6nO4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and 
let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 
value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_V6tVgLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionTitle" constrainedElement="_2LPMEBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_V6tVgbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.title.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_V6vKsLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionText" constrainedElement="_2LPzIBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_V6vKsbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.text.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_cirvELbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntry">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fG5TcLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_cirvEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.nullFlavor &lt;> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(consol::AllergiesSection::AllergyProblemActEntry))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_qRCVcLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_qRC8gLbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_44BM8LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_44CbELbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_621qELbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_6224MLbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Sp-IELbQEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Sp-vILbQEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Kq48MLbREeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Kq6KULbREeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WR6NMLbSEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WR7bULbSEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_26zK8LbSEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_2LMIwBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_260ZELbSEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1')</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_EEbhsBVgEeGQCvUGzi1kDQ" general="_bGzYgBVdEeGQCvUGzi1kDQ">
      <ownedComment xmi:id="_l-8SQHauEeGK39q3kclbsA">
        <body>couple</body>
      </ownedComment>
    </generalization>
    <ownedAttribute xmi:id="_2LN98BSVEeGGzu7fmW9pXw" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2LPMEBSVEeGGzu7fmW9pXw" name="title" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_EaTNsDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2LPzIBSVEeGGzu7fmW9pXw" name="text" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_0jvq8E8AEd6ohP_YEXs4Wg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2LPzIhSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2LPzIRSVEeGGzu7fmW9pXw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fG56gLS6EeWcPq3zAthoUQ" name="entry" type="_fG4sYLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fG56gbS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fG56grS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_SvZ88DxYEd6JwqSGecoePg"/>
      <association href="../consol.uml#_fG5TcLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fG4sYLS6EeWcPq3zAthoUQ" name="AllergyProblemActEntry">
      <ownedRule xmi:id="_cjCUYLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionAllergyProblemActEntryAllergyProblemAct">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fG7vsLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_cjCUYbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.act->exists(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyProblemAct))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fG4sYbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_r0FX0DxXEd6JwqSGecoePg"/>
      </generalization>
      <ownedAttribute xmi:id="_fG7vsbS6EeWcPq3zAthoUQ" name="allergyProblemAct" type="_2EAisBSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fG7vsrS6EeWcPq3zAthoUQ" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fG7vs7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_mNS5ATxYEd6JwqSGecoePg"/>
        <association href="../consol.uml#_fG7vsLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <uml:Association xmi:id="_2LNW4RSVEeGGzu7fmW9pXw" memberEnd="_2LNW4hSVEeGGzu7fmW9pXw">
    <ownedEnd xmi:id="_2LNW4hSVEeGGzu7fmW9pXw" type="_2LMIwBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_2LNW4RSVEeGGzu7fmW9pXw"/>
  </uml:Association>
  <CDA:CDATemplate xmi:id="_2LMv0BSVEeGGzu7fmW9pXw" base_Class="_2LMIwBSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.2.6.1">
    <ruleId>CONF:7527</ruleId>
    <ruleId>CONF:10379</ruleId>
  </CDA:CDATemplate>
  <CDA:CodeSystemConstraint xmi:id="_2LN98RSVEeGGzu7fmW9pXw" code="48765-2" displayName="Allergies, adverse reactions, alerts" base_Property="_2LN98BSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_3-cwsCWrEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:15350</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_2LPMERSVEeGGzu7fmW9pXw" base_Property="_2LPMEBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7534</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2LPzIxSVEeGGzu7fmW9pXw" base_Property="_2LPzIBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7530</ruleId>
  </CDA:PropertyValidation>
  <CDA:AssociationValidation xmi:id="_2LNW4xSVEeGGzu7fmW9pXw" base_Association="_2LNW4RSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7531</ruleId>
    <ruleId>CONF:7532</ruleId>
  </CDA:AssociationValidation>
  <uml:Class xmi:id="_bGzYgBVdEeGQCvUGzi1kDQ" name="AllergiesSectionEntriesOptional">
    <ownedComment xmi:id="_bGzYgRVdEeGQCvUGzi1kDQ" annotatedElement="_bGzYgBVdEeGQCvUGzi1kDQ">
      <body>This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives) used to assure the safety of health care delivery. At a minimum, it should list currently active and any relevant historical allergies and adverse reactions.</body>
    </ownedComment>
    <ownedRule xmi:id="_WY5tYLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_bGzYgBVdEeGQCvUGzi1kDQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WY5tYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WY8JoLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCode" constrainedElement="_bGzYihVdEeGQCvUGzi1kDQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WY8JobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and 
let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 
value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WY-l4LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCodeP" constrainedElement="_bGzYihVdEeGQCvUGzi1kDQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WY-l4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WZBCILbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTitle" constrainedElement="_bGzYixVdEeGQCvUGzi1kDQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WZBCIbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.title.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WZC3ULbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalText" constrainedElement="_bGzYjBVdEeGQCvUGzi1kDQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WZC3UbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.text.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_dc4GcbbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalEntry">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fNKTgLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_dc4Gc7bPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.nullFlavor &lt;> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(consol::AllergiesSectionEntriesOptional::AllergyProblemActEntry))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_FHCOMBVgEeGQCvUGzi1kDQ">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_qIf_wDxXEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_bGzYihVdEeGQCvUGzi1kDQ" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_bGzYixVdEeGQCvUGzi1kDQ" name="title" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_EaTNsDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_bGzYjBVdEeGQCvUGzi1kDQ" name="text" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_0jvq8E8AEd6ohP_YEXs4Wg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bGzYjhVdEeGQCvUGzi1kDQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bGzYjRVdEeGQCvUGzi1kDQ" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fNKTgbS6EeWcPq3zAthoUQ" name="entry" type="_fNJFYLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fNKTgrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fNKTg7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_SvZ88DxYEd6JwqSGecoePg"/>
      <association href="../consol.uml#_fNKTgLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fNJFYLS6EeWcPq3zAthoUQ" name="AllergyProblemActEntry">
      <ownedRule xmi:id="_ddiNwLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalAllergyProblemActEntryAllergyProblemAct">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fNLhoLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ddiNwbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.act->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyProblemAct))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fNJFYbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_r0FX0DxXEd6JwqSGecoePg"/>
      </generalization>
      <ownedAttribute xmi:id="_fNLhobS6EeWcPq3zAthoUQ" name="allergyProblemAct" type="_2EAisBSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fNMIsLS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fNMIsbS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_mNS5ATxYEd6JwqSGecoePg"/>
        <association href="../consol.uml#_fNLhoLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_45wiEBkaEeGs5a462vYX5Q" base_Class="_bGzYgBVdEeGQCvUGzi1kDQ" templateId="2.16.840.1.113883.10.20.22.2.6">
    <ruleId>CONF:7800, CONF:10378</ruleId>
  </CDA:CDATemplate>
  <uml:Class xmi:id="_2EaLUBSVEeGGzu7fmW9pXw" name="AllergyObservation">
    <eAnnotations xmi:id="_2EaLURSVEeGGzu7fmW9pXw" source="uml2.alias">
      <details xmi:id="_2EaLUhSVEeGGzu7fmW9pXw" key="Allergies and Intolerances"/>
    </eAnnotations>
    <ownedComment xmi:id="_2F5ZEBSVEeGGzu7fmW9pXw" annotatedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <body>This clinical statement represents that an allergy or adverse reaction exists or does not exist. The agent that is the cause of the allergy or adverse reaction is represented as a manufactured material participant playing entity in the allergy - intolerance observation. While the agent is often implicit in the alert observation (e.g. &quot;allergy to penicillin&quot;), it should also be asserted explicitly as an entity. The manufactured material participant is used to represent natural and non-natural occurring substances.&#xD;
NOTE: The agent responsible for an allergy or adverse reaction is not always a manufactured material (for example, food allergies), nor is it necessarily consumed. The following constraints reflect limitations in the base CDA R2 specification, and should be used to represent any type of responsible agent.</body>
    </ownedComment>
    <ownedRule xmi:id="_ouJssCFKEeG9m6LRl9ardQ" name="AllergyObservationValueOriginalText" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_5qNlMCFKEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>value SHOULD contain zero or one [0..1] originalText</body>
        <body>self.value.oclAsType(datatypes::CD).originalText->size() = 1</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_cf38gCFLEeG9m6LRl9ardQ" name="AllergyObservationOriginalTextReference" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_iuCH4CFLEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>originalText, if present, MAY contain zero or one [0..1] reference</body>
        <body>self.value.oclAsType(datatypes::CD).originalText->size() = 1 implies self.value.oclAsType(datatypes::CD).originalText->one(reference->size() = 1)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_bTC9MOJPEeG3cO7ebC3QuA" name="AllergyObservationOriginalTextReferenceValue" constrainedElement="_cf38gCFLEeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_e7dOUOJPEeG3cO7ebC3QuA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference, if present, SHOULD contain zero or one [0..1] reference/@value</body>
        <body>self.value.oclAsType(datatypes::CD).originalText.reference->size() = 1 implies self.value.oclAsType(datatypes::CD).originalText.reference.value->size() = 1</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_nV_8ECFMEeG9m6LRl9ardQ" name="AllergyObservationReferenceValue" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_j5kg4CKeEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative</body>
        <body>not self.code.originalText.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.code.originalText.reference.value.substring(2, self.code.originalText.reference.value.size())).oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_8gb1UCFTEeG9m6LRl9ardQ" name="SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_L6csQCFUEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry AllergyStatusObservation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::AllergyStatusObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VBabUCFVEeG9m6LRl9ardQ" name="SubstanceOrDeviceAllergyObservationReactionInversionIndicator" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_f5vPwCFVEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Reaction Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ReactionObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_2EaLbxSVEeGGzu7fmW9pXw" name="SubstanceOrDeviceAllergyObservationSeverityInversionIndicator">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_2EaLcBSVEeGGzu7fmW9pXw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vk2aQbbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationTemplateId" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vk2aQrbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.7')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vk_kMLbPEeWQ25S2Lv5Ssw" name="AllergyObservationClassCode" constrainedElement="_2Em_oBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vk_kMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::ActClassObservation::OBS</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlCAcLbPEeWQ25S2Lv5Ssw" name="AllergyObservationMoodCode" constrainedElement="_2Em_ohSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlCAcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_ActMoodDocumentObservation::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlDOkLbPEeWQ25S2Lv5Ssw" name="AllergyObservationId" constrainedElement="_2EnmsBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlDOkbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.id->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlJ8QLbPEeWQ25S2Lv5Ssw" name="AllergyObservationCodeP" constrainedElement="_2EaLdBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlJ8QbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlGR4LbPEeWQ25S2Lv5Ssw" name="AllergyObservationCode" constrainedElement="_2EaLdBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlG48LbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlQC4LbPEeWQ25S2Lv5Ssw" name="AllergyObservationStatusCodeP" constrainedElement="_2EoNwxSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlQC4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlNmoLbPEeWQ25S2Lv5Ssw" name="AllergyObservationStatusCode" constrainedElement="_2EoNwxSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlNmobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlSfILbPEeWQ25S2Lv5Ssw" name="AllergyObservationEffectiveTime" constrainedElement="_2Epb4BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlSfIbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.effectiveTime.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlkzALbPEeWQ25S2Lv5Ssw" name="AllergyObservationValueP" constrainedElement="_2EaLdhSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlkzAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VlVicLbPEeWQ25S2Lv5Ssw" name="AllergyObservationValue" constrainedElement="_2EaLdhSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlVicbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_WsSjcLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipant" constrainedElement="_FQD_EjJDEeG6R8Pb5FT2Ow">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_WsSjcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->size() &lt;= 1</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_bysckLbPEeWQ25S2Lv5Ssw" name="AllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fCtXALS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_bysckbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation::AllergyStatusObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_bzd4obbPEeWQ25S2Lv5Ssw" name="AllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fCzdoLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_bzd4orbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation::ReactionObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_b0nvMLbPEeWQ25S2Lv5Ssw" name="AllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fC49MLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_b0nvMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation::SeverityObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_2F5ZERSVEeGGzu7fmW9pXw" general="_mgny4NF8EeOHUokOVP95oQ"/>
    <ownedAttribute xmi:id="_2Em_oBSVEeGGzu7fmW9pXw" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2Em_oRSVEeGGzu7fmW9pXw" name="OBS">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdkkDcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2Em_ohSVEeGGzu7fmW9pXw" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2Em_oxSVEeGGzu7fmW9pXw" name="EVN">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW30DcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EnmsBSVEeGGzu7fmW9pXw" name="id" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_culQ8DxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2EnmsxSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2EnmshSVEeGGzu7fmW9pXw" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EaLdBSVEeGGzu7fmW9pXw" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EoNwxSVEeGGzu7fmW9pXw" name="statusCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2Epb4BSVEeGGzu7fmW9pXw" name="effectiveTime" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2Epb4xSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2Epb4hSVEeGGzu7fmW9pXw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EaLdhSVEeGGzu7fmW9pXw" name="value" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_FQD_EDJDEeG6R8Pb5FT2Ow" name="participant" type="_0HgNkDJAEeG6R8Pb5FT2Ow" isReadOnly="true" association="_FQD_EjJDEeG6R8Pb5FT2Ow">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_APAVMc_TEeOGjf7FaidRGw"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_APAVMM_TEeOGjf7FaidRGw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fCtXAbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fCsI4LS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCtXArS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCtXA7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fCtXALS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fCzdobS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fCyPgLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCzdorS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fC0EsLS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fCzdoLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fC49MbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fC3vELS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fC49MrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fC49M7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fC49MLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_0HgNkDJAEeG6R8Pb5FT2Ow" name="Participant">
      <ownedComment xmi:id="_UJ7XoM-GEeG0zqUqBXbhpA">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_Vl0DkLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantTypeCodeP" constrainedElement="_098tYDJAEeG6R8Pb5FT2Ow">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vl0DkbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>true</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_VlyOYLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantTypeCode" constrainedElement="_098tYDJAEeG6R8Pb5FT2Ow">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VlyOYbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>not self.typeCode.oclIsUndefined() and self.typeCode.oclIsKindOf(vocab::ParticipationType) and 
let value : vocab::ParticipationType = self.typeCode.oclAsType(vocab::ParticipationType) in 
value = vocab::ParticipationType::CSM</body>
        </specification>
      </ownedRule>
      <ownedRule name="AllergyObservationParticipantParticipantRole">
        <constrainedElement xmi:type="uml:Association" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_Oi4gMjJBEeG6R8Pb5FT2Ow"/>
        <specification xmi:type="uml:OpaqueExpression">
          <language>OCL</language>
          <body>self.participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::AllergyObservation::Participant::ParticipantRole))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_0HgNkTJAEeG6R8Pb5FT2Ow">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_51DLwEcZEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_098tYDJAEeG6R8Pb5FT2Ow" name="typeCode" visibility="private" isReadOnly="true">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__y7BekDcEd6xYZuu1VKCVw"/>
        <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_CRBsgEreEd6FXKclYGEDCw"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_Oi4gMDJBEeG6R8Pb5FT2Ow" name="participantRole" type="_4Lj44DJAEeG6R8Pb5FT2Ow" isReadOnly="true" association="_Oi4gMjJBEeG6R8Pb5FT2Ow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tJrDUTJBEeG6R8Pb5FT2Ow" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tJrDUDJBEeG6R8Pb5FT2Ow" value="1"/>
      </ownedAttribute>
      <nestedClassifier xmi:type="uml:Class" xmi:id="_4Lj44DJAEeG6R8Pb5FT2Ow" name="ParticipantRole">
        <ownedRule name="AllergyObservationParticipantParticipantRoleClassCodeP">
          <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_6LgXYDJAEeG6R8Pb5FT2Ow"/>
          <specification xmi:type="uml:OpaqueExpression">
            <language>OCL</language>
            <body>true</body>
          </specification>
        </ownedRule>
        <ownedRule name="AllergyObservationParticipantParticipantRoleClassCode">
          <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_6LgXYDJAEeG6R8Pb5FT2Ow"/>
          <specification xmi:type="uml:OpaqueExpression">
            <language>OCL</language>
            <body>not self.classCode.oclIsUndefined() and self.classCode.oclIsKindOf(vocab::RoleClassRoot) and 
let value : vocab::RoleClassRoot = self.classCode.oclAsType(vocab::RoleClassRoot) in 
value = vocab::RoleClassRoot::MANU</body>
          </specification>
        </ownedRule>
        <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntity">
          <constrainedElement xmi:type="uml:Association" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_QPyG4jJBEeG6R8Pb5FT2Ow"/>
          <specification xmi:type="uml:OpaqueExpression">
            <language>OCL</language>
            <body>self.playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(consol::AllergyObservation::Participant::ParticipantRole::PlayingEntity))</body>
          </specification>
        </ownedRule>
        <generalization xmi:id="_4Lj44TJAEeG6R8Pb5FT2Ow">
          <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#__QZaIEcZEd6besF9iFIJkQ"/>
        </generalization>
        <ownedAttribute xmi:id="_6LgXYDJAEeG6R8Pb5FT2Ow" name="classCode" visibility="private" isReadOnly="true">
          <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__zE4tEDcEd6xYZuu1VKCVw"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uiVfYTJBEeG6R8Pb5FT2Ow" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uiVfYDJBEeG6R8Pb5FT2Ow" value="1"/>
          <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_Z6ZKgEreEd6FXKclYGEDCw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_QPyG4DJBEeG6R8Pb5FT2Ow" name="playingEntity" type="_E1B60DJBEeG6R8Pb5FT2Ow" isReadOnly="true" association="_QPyG4jJBEeG6R8Pb5FT2Ow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tvKWATJBEeG6R8Pb5FT2Ow" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tvKWADJBEeG6R8Pb5FT2Ow" value="1"/>
        </ownedAttribute>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_E1B60DJBEeG6R8Pb5FT2Ow" name="PlayingEntity">
          <ownedRule xmi:id="_c0knsDJCEeG6R8Pb5FT2Ow" name="AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue" constrainedElement="_aK9hIDJCEeG6R8Pb5FT2Ow">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_ol9LEDJCEeG6R8Pb5FT2Ow">
              <language>Analysis</language>
              <language>OCL</language>
              <body>reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1</body>
              <body>not self.code.originalText.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.code.originalText.reference.value.substring(2, self.code.originalText.reference.value.size())).oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_WQI8oOJSEeG3cO7ebC3QuA" name="AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue" constrainedElement="_aK9hIDJCEeG6R8Pb5FT2Ow">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_af_oQOJSEeG3cO7ebC3QuA">
              <language>Analysis</language>
              <language>OCL</language>
              <body>reference, if present, SHOULD contain zero or one [0..1] @value</body>
              <body>not self.code.originalText.reference.oclIsUndefined() implies self.code.originalText.reference.value->size() = 1</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_aK9hIDJCEeG6R8Pb5FT2Ow" name="AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_uNieoDJCEeG6R8Pb5FT2Ow">
              <language>Analysis</language>
              <language>OCL</language>
              <body>originalText, if present, SHOULD contain zero or one [0..1] reference</body>
              <body>not self.code.originalText.oclIsUndefined() implies not self.code.originalText.reference.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI">
            <constrainedElement xmi:type="uml:Class" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_E1B60DJBEeG6R8Pb5FT2Ow"/>
            <specification xmi:type="uml:OpaqueExpression">
              <language>Analysis</language>
              <language>OCL</language>
              <body>code SHALL be selected from ValueSet Substance-Reactant for Intolerance 2.16.840.1.113762.1.4.1010.1 DYNAMIC. Note: Value set intentionally defined as a GROUPING made up of: Value Set: Medication Drug Class (2.16.840.1.113883.3.88.12.80.18) (NDFRT drug class codes); Value Set: Clinical Drug Ingredient (2.16.840.1.113762.1.4.1010.7) (RxNORM ingredient codes); Value Set: Unique Ingredient Identifier - Complete Set (2.16.840.1.113883.3.88.12.80.20) (UNII ingredient codes); Value Set: Substance Other Than Clinical Drug (2.16.840.1.113762.1.4.1010.9) (SNOMED CT substance codes).</body>
              <body>( code.oclIsUndefined() or code.isNullFlavorUndefined() ) implies ( not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and ( ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.5' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.4.9' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined() ) ) )</body>
            </specification>
          </ownedRule>
          <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntityClassCode">
            <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_F56fQDJBEeG6R8Pb5FT2Ow"/>
            <specification xmi:type="uml:OpaqueExpression">
              <language>OCL</language>
              <body>isDefined('classCode') and self.classCode=vocab::EntityClassRoot::MMAT</body>
            </specification>
          </ownedRule>
          <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntityCode">
            <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_KmLkoDJCEeG6R8Pb5FT2Ow"/>
            <specification xmi:type="uml:OpaqueExpression">
              <language>OCL</language>
              <body>not self.code.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <generalization xmi:id="_E1B60TJBEeG6R8Pb5FT2Ow">
            <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_Lr9i8EcaEd6besF9iFIJkQ"/>
          </generalization>
          <ownedAttribute xmi:id="_F56fQDJBEeG6R8Pb5FT2Ow" name="classCode" visibility="private" isReadOnly="true">
            <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yoL-EDcEd6xYZuu1VKCVw"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7gMc8TJBEeG6R8Pb5FT2Ow" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7gMc8DJBEeG6R8Pb5FT2Ow" value="1"/>
            <defaultValue xmi:type="uml:LiteralString" xmi:id="_IIVpMDJCEeG6R8Pb5FT2Ow" value="MMAT"/>
            <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_SxK9sErhEd6FXKclYGEDCw"/>
          </ownedAttribute>
          <ownedAttribute xmi:id="_KmLkoDJCEeG6R8Pb5FT2Ow" name="code" visibility="private" type="_C4w3oNJCEeOj_bXCpQOG9w" isReadOnly="true" aggregation="composite">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MFs2oTJCEeG6R8Pb5FT2Ow" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MFs2oDJCEeG6R8Pb5FT2Ow" value="1"/>
            <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_JVhioErhEd6FXKclYGEDCw"/>
          </ownedAttribute>
          <nestedClassifier xmi:type="uml:Class" xmi:id="_C4w3oNJCEeOj_bXCpQOG9w" name="CE">
            <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText">
              <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_NuttgNJCEeOj_bXCpQOG9w"/>
              <specification xmi:type="uml:OpaqueExpression">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.originalText.oclIsUndefined()) and self.originalText.isNullFlavorUndefined()) implies (not self.originalText.oclIsUndefined()) ))</body>
              </specification>
            </ownedRule>
            <ownedRule name="AllergyObservationParticipantParticipantRolePlayingEntityCETranslation">
              <constrainedElement xmi:type="uml:Property" href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_PrSu8NJCEeOj_bXCpQOG9w"/>
              <specification xmi:type="uml:OpaqueExpression">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.translation->isEmpty()) and self.translation->exists(element | element.isNullFlavorUndefined())) implies (not self.translation->isEmpty()) ))</body>
              </specification>
            </ownedRule>
            <generalization xmi:id="_C4z68NJCEeOj_bXCpQOG9w">
              <general xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
            </generalization>
            <ownedAttribute xmi:id="_NuttgNJCEeOj_bXCpQOG9w" name="originalText" visibility="private" isReadOnly="true" aggregation="composite">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NuttgtJCEeOj_bXCpQOG9w"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NuttgdJCEeOj_bXCpQOG9w" value="1"/>
              <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_TgJEsD55Ed6cla2oXsPtlA"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_PrSu8NJCEeOj_bXCpQOG9w" name="translation" visibility="private" isReadOnly="true" aggregation="composite">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PrSu8tJCEeOj_bXCpQOG9w"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PrSu8dJCEeOj_bXCpQOG9w" value="*"/>
              <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_DtKpQD57Ed6cla2oXsPtlA"/>
            </ownedAttribute>
          </nestedClassifier>
        </nestedClassifier>
      </nestedClassifier>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fCsI4LS6EeWcPq3zAthoUQ" name="AllergyStatusObservationEntryRelationship">
      <ownedRule xmi:id="_bzEQALbPEeWQ25S2Lv5Ssw" name="AllergyObservationAllergyStatusObservationEntryRelationshipAllergyStatusObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fCvMMLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_bzEQAbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fCsI4bS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fCvMMbS6EeWcPq3zAthoUQ" name="allergyStatusObservation" type="_2FRuAhSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCvzQLS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCvzQbS6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fCvMMLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fCyPgLS6EeWcPq3zAthoUQ" name="ReactionObservationEntryRelationship">
      <ownedRule xmi:id="_bz26MLbPEeWQ25S2Lv5Ssw" name="AllergyObservationReactionObservationEntryRelationshipReactionObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fC1S0LS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_bz26MbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fCyPgbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fC1S0bS6EeWcPq3zAthoUQ" name="reactionObservation" type="_2E_aIRSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fC154LS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fC154bS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fC1S0LS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fC3vELS6EeWcPq3zAthoUQ" name="SeverityObservationEntryRelationship">
      <ownedRule xmi:id="_b1Cl8bbPEeWQ25S2Lv5Ssw" name="AllergyObservationSeverityObservationEntryRelationshipSeverityObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fC6yYLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_b1Cl8rbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fC3vEbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fC7ZcLS6EeWcPq3zAthoUQ" name="severityObservation" type="_2FGu4hSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fC7ZcbS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fC7ZcrS6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fC6yYLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <uml:Association xmi:id="_2Ej8URSVEeGGzu7fmW9pXw" memberEnd="_2Ej8UhSVEeGGzu7fmW9pXw">
    <ownedEnd xmi:id="_2Ej8UhSVEeGGzu7fmW9pXw" type="_2EaLUBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_2Ej8URSVEeGGzu7fmW9pXw"/>
  </uml:Association>
  <uml:Association xmi:id="_2EkjYBSVEeGGzu7fmW9pXw" memberEnd="_2EkjYRSVEeGGzu7fmW9pXw">
    <ownedEnd xmi:id="_2EkjYRSVEeGGzu7fmW9pXw" type="_2EaLUBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_2EkjYBSVEeGGzu7fmW9pXw"/>
  </uml:Association>
  <uml:Association xmi:id="_-xkhwhUvEeGbmN_W114JUw" memberEnd="_-xkhwxUvEeGbmN_W114JUw">
    <ownedEnd xmi:id="_-xkhwxUvEeGbmN_W114JUw" type="_2EaLUBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_-xkhwhUvEeGbmN_W114JUw"/>
  </uml:Association>
  <CDA:CDATemplate xmi:id="_96YgEBnaEeGs5a462vYX5Q" base_Class="_2EaLUBSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.4.7">
    <ruleId>CONF:7381</ruleId>
    <ruleId>CONF:10488</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_2F280hSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2F3j4hSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EdOoRSVEeGGzu7fmW9pXw" severity="INFO"/>
  <CDA:ConstraintValidation xmi:id="_2Ed1sBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EecwBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EfD0BSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2Efq4BSVEeGGzu7fmW9pXw" severity="WARNING">
    <ruleId>CONF:7402</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2Efq4RSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7403</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EgR8BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7404</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2Eg5ABSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7405</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EhgEBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7406</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EhgERSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7407</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EiHIBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7419</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EiuMBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EjVQBSVEeGGzu7fmW9pXw" base_Constraint="_2EaLbxSVEeGGzu7fmW9pXw">
    <ruleId>CONF:9964</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2EjVQRSVEeGGzu7fmW9pXw"/>
  <CDA:PropertyValidation xmi:id="_2Em_pBSVEeGGzu7fmW9pXw" base_Property="_2Em_ohSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7380</ruleId>
    <ruleId>R2.0=CONF:1098-7380</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2EnmtBSVEeGGzu7fmW9pXw" base_Property="_2EnmsBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7382</ruleId>
    <ruleId>R2.0=CONF:1098-7382</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_2EbZcRSVEeGGzu7fmW9pXw" code="ASSERTION" base_Property="_2EaLdBSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:15948</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_2EoNwhSVEeGGzu7fmW9pXw" severity="WARNING">
    <ruleId>CONF:7422</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_2EoNxBSVEeGGzu7fmW9pXw" code="completed" base_Property="_2EoNwxSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7386</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_2EqC8BSVEeGGzu7fmW9pXw" base_Property="_2Epb4BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7387</ruleId>
  </CDA:PropertyValidation>
  <CDA:EntryRelationship xmi:id="_2Ej8UxSVEeGGzu7fmW9pXw" severity="WARNING" base_Association="_2Ej8URSVEeGGzu7fmW9pXw" typeCode="MFST">
    <ruleId>CONF:7447</ruleId>
    <ruleId>CONF:7907</ruleId>
    <ruleId>CONF:15955</ruleId>
  </CDA:EntryRelationship>
  <CDA:EntryRelationship xmi:id="_2EkjYhSVEeGGzu7fmW9pXw" severity="INFO" base_Association="_2EkjYBSVEeGGzu7fmW9pXw" typeCode="SUBJ">
    <ruleId>CONF:9961</ruleId>
    <ruleId>CONF:9962</ruleId>
    <ruleId>CONF:15956</ruleId>
  </CDA:EntryRelationship>
  <uml:Class xmi:id="_2EAisBSVEeGGzu7fmW9pXw" name="AllergyProblemAct">
    <eAnnotations xmi:id="_2EAisRSVEeGGzu7fmW9pXw" source="uml2.alias">
      <details xmi:id="_2EAishSVEeGGzu7fmW9pXw" key="Allergies and Drug Sensitivities"/>
    </eAnnotations>
    <eAnnotations xmi:id="_2EAisxSVEeGGzu7fmW9pXw" source="uml2.alias">
      <details xmi:id="_2EAitBSVEeGGzu7fmW9pXw" key="Allergy and Drug Sensitivity"/>
    </eAnnotations>
    <ownedComment xmi:id="_2GDKEBSVEeGGzu7fmW9pXw" annotatedElement="_2EAisBSVEeGGzu7fmW9pXw">
      <body>This clinical statement act represents a concern relating to a patient's allergies or adverse events. A concern is a term used when referring to patient's problems that are related to one another. Observations of problems or other clinical statements captured at a point in time are wrapped in a Allergy Problem Act, or &quot;Concern&quot; act, which represents the ongoing process tracked over time. This outer Allergy Problem Act (representing the &quot;Concern&quot;) can contain nested problem observations or other nested clinical statements relevant to the allergy concern.</body>
    </ownedComment>
    <ownedRule xmi:id="_L5MNcCWFEeGWfpmyutaqOA" name="AllergyProblemActEffectiveTimeLow" constrainedElement="_2EAisBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_UD7aQCWFEeGWfpmyutaqOA">
        <language>OCL</language>
        <body>(self.statusCode.code = 'active') implies not self.effectiveTime.low.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_2F-RkBSVEeGGzu7fmW9pXw" name="AllergyProblemActEffectiveTimeHigh">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_2F-RkRSVEeGGzu7fmW9pXw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>If statusCode/@code=&quot;completed&quot; Completed, then effectiveTime SHALL contain [1..1] high</body>
        <body>(self.statusCode.code = 'completed') implies not self.effectiveTime.high.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkAFsLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActTemplateId" constrainedElement="_2EAisBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkAFsbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.30')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkEXILbPEeWQ25S2Lv5Ssw" name="AllergyProblemActClassCode" constrainedElement="_2ELh0RSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkEXIbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::x_ActClassDocumentEntryAct::ACT</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkGMULbPEeWQ25S2Lv5Ssw" name="AllergyProblemActMoodCode" constrainedElement="_2EMI4BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkGMUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_DocumentActMood::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkHacLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActId" constrainedElement="_2EMv8BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkHacbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.id->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkJPoLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCode" constrainedElement="_2EMv9BSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkJPobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkjfULbPEeWQ25S2Lv5Ssw" name="AllergyProblemActStatusCodeP" constrainedElement="_2ENXABSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkjfUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkNhELbPEeWQ25S2Lv5Ssw" name="AllergyProblemActStatusCode" constrainedElement="_2ENXABSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkNhEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VkwToLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActEffectiveTime" constrainedElement="_2EPMMBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkwTobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.effectiveTime.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_bx1g8LbPEeWQ25S2Lv5Ssw" name="AllergyProblemActEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fCjmALS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_bx1g8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyProblemAct::AllergyObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_2GDKExSVEeGGzu7fmW9pXw">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_YiANsDxYEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_2ELh0RSVEeGGzu7fmW9pXw" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2ELh0hSVEeGGzu7fmW9pXw" name="ACT">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYUDcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EMI4BSVEeGGzu7fmW9pXw" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2EMI4RSVEeGGzu7fmW9pXw" name="EVN">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW30DcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EMv8BSVEeGGzu7fmW9pXw" name="id" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_culQ8DxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2EMv8hSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2EMv8RSVEeGGzu7fmW9pXw" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EMv9BSVEeGGzu7fmW9pXw" name="code" visibility="private" type="_nG6-gMTyEeOYw6YTCsSKiw" isReadOnly="true"/>
    <ownedAttribute xmi:id="_2ENXABSVEeGGzu7fmW9pXw" name="statusCode" visibility="private" isReadOnly="true" aggregation="composite">
      <ownedComment xmi:id="_2ENXARSVEeGGzu7fmW9pXw">
        <body>&lt;p>&#xD;
The statusCode associated with any concern must be one of the following values:&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;b>active&lt;/b>: A concern that is still being tracked.&#xD;
&lt;b>suspended&lt;/b>: A concern that is active, but which may be set aside. For example, this value might be used to suspend concern&#xD;
about a patient problem after some period of remission, but before assumption that the concern has been resolved.&#xD;
&lt;b>aborted&lt;/b>: A concern that is no longer actively being tracked, but for reasons other than because the problem was resolved.&#xD;
This value might be used to mark a concern as being aborted after a patient leaves care against medical advice.&#xD;
&lt;b>completed&lt;/b>:&#xD;
The problem, allergy or medical state has been resolved and the concern no longer needs to be tracked except for&#xD;
historical purposes.&#xD;
&lt;/p></body>
      </ownedComment>
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2ENXAxSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2ENXAhSVEeGGzu7fmW9pXw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2EPMMBSVEeGGzu7fmW9pXw" name="effectiveTime" visibility="private" isReadOnly="true" aggregation="composite">
      <ownedComment xmi:id="_2EPMMRSVEeGGzu7fmW9pXw">
        <body>The effectiveTime element records the starting and ending times during which the concern was active.</body>
      </ownedComment>
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2EPMMxSVEeGGzu7fmW9pXw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2EPMMhSVEeGGzu7fmW9pXw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fCkNELS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fCf7oLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCk0ILS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCk0IbS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_Dw0uYUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fCjmALS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_nG6-gMTyEeOYw6YTCsSKiw" name="CD">
      <ownedComment xmi:id="_3Z9IIMTyEeOYw6YTCsSKiw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_tMlVMMTyEeOYw6YTCsSKiw" name="AllergyProblemActCDCodeAndCodeSystemValues" constrainedElement="_nG6-gMTyEeOYw6YTCsSKiw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_zAcKMMTyEeOYw6YTCsSKiw">
          <language>Analysis</language>
          <language>OCL</language>
          <body>/@code SHALL=&quot;CONC&quot; Concern (CodeSystem: HL7ActClass 2.16.840.1.113883.5.6) or code/@code SHALL=&quot;48765-2&quot; Allergies, adverse reactions, alerts (CodeSystem: LOINC 2.16.840.1.113883.6.1 STATIC)</body>
          <body>(code = 'CONC' and codeSystem = '2.16.840.1.113883.5.6') or (code = '48765-2' and codeSystem = '2.16.840.1.113883.6.1')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_VkzW8LbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCDCode" constrainedElement="_nl9D4MTyEeOYw6YTCsSKiw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VkzW8bbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.code.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_Vk0lELbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCDCodeSystem" constrainedElement="_nl9q8MTyEeOYw6YTCsSKiw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vk0lEbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.codeSystem.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_nG7lkMTyEeOYw6YTCsSKiw">
        <general xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
      </generalization>
      <ownedAttribute xmi:id="_nl9D4MTyEeOYw6YTCsSKiw" name="code" visibility="private" isReadOnly="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://DATATYPES_MODEL/datatypes.uml#_WswmEETbEeC_V4iAGO_Ujg"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_phVLccTyEeOYw6YTCsSKiw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_phVLcMTyEeOYw6YTCsSKiw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_XcVvsDxkEd6JwqSGecoePg"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_nl9q8MTyEeOYw6YTCsSKiw" name="codeSystem" visibility="private" isReadOnly="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://DATATYPES_MODEL/datatypes.uml#_RpDqMDrsEeCN26jpCPaoAw"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p_fHEcTyEeOYw6YTCsSKiw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p_fHEMTyEeOYw6YTCsSKiw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_3fx3ADxkEd6JwqSGecoePg"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fCf7oLS6EeWcPq3zAthoUQ" name="AllergyObservationEntryRelationship">
      <ownedRule xmi:id="_byQ-wLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActAllergyObservationEntryRelationshipAllergyObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fCnQYLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_byQ-wbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->exists(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fCf7obS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fCnQYbS6EeWcPq3zAthoUQ" name="allergyObservation" type="_2EaLUBSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCnQYrS6EeWcPq3zAthoUQ" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCn3cLS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fCnQYLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <uml:Association xmi:id="_2F6nMBSVEeGGzu7fmW9pXw" memberEnd="_2F6nMRSVEeGGzu7fmW9pXw">
    <ownedEnd xmi:id="_2F6nMRSVEeGGzu7fmW9pXw" type="_2EAisBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_2F6nMBSVEeGGzu7fmW9pXw"/>
  </uml:Association>
  <CDA:CDATemplate xmi:id="_09uuIBnaEeGs5a462vYX5Q" base_Class="_2EAisBSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.4.30">
    <ruleId>CONF:7471, CONF:10489</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_2F7OQhSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7509</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2F71UBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7915</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2F-RkhSVEeGGzu7fmW9pXw" base_Constraint="_2F-RkBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:10085</ruleId>
    <ruleId>R2.1=CONF:1198-10085</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_2F-4oxSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2F_fsBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2F_ftRSVEeGGzu7fmW9pXw" severity="INFO"/>
  <CDA:ConstraintValidation xmi:id="_2GAGwhSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EBw0BSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2ECX4BSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EC-8RSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EDmABSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EENEBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EE0IBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EE0IRSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EFbMBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EGCQBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2EGpUBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EIegBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EJFkBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EJsoBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:ConstraintValidation xmi:id="_2EKTsBSVEeGGzu7fmW9pXw" severity="WARNING"/>
  <CDA:PropertyValidation xmi:id="_2ELh0xSVEeGGzu7fmW9pXw" base_Property="_2ELh0RSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7469, R2.1=CONF:1198-7469</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2EMI4hSVEeGGzu7fmW9pXw" base_Property="_2EMI4BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7470, R2.1=CONF:1198-7470</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2EMv8xSVEeGGzu7fmW9pXw" base_Property="_2EMv8BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7472, R2.1=CONF:1198-7472</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_2EN-ERSVEeGGzu7fmW9pXw" base_Property="_2ENXABSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7485, R2.1=CONF:1198-7485, R2.1=CONF:1198-19086</ruleId>
    <reference href="../consol-vocab.uml#_2GDxJhSVEeGGzu7fmW9pXw"/>
  </CDA:ValueSetConstraint>
  <CDA:PropertyValidation xmi:id="_2EPMNBSVEeGGzu7fmW9pXw" base_Property="_2EPMMBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7498</ruleId>
    <ruleId>R2.1=CONF:1198-7498</ruleId>
  </CDA:PropertyValidation>
  <CDA:EntryRelationship xmi:id="_2F6nMhSVEeGGzu7fmW9pXw" base_Association="_2F6nMBSVEeGGzu7fmW9pXw" typeCode="SUBJ">
    <ruleId>CONF:7509, CONF:7915, CONF:14925</ruleId>
  </CDA:EntryRelationship>
  <uml:Class xmi:id="_2FGu4hSVEeGGzu7fmW9pXw" name="SeverityObservation">
    <ownedComment xmi:id="_2FGu4xSVEeGGzu7fmW9pXw" annotatedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <body>This clinical statement represents the gravity of the problem, such as allergy or reaction, in terms of its actual or potential impact on the patient. The Severity Observation can be associated with an Allergy Obervation, Reaction Observation or both. When the Severity Observation is associated directly with an Allergy it characterizes the Allergy. When the Severity Observation is associated with a Reaction Observation it characterizes a Reaction. A person may manifest many symptoms in a reaction to a single substance, and each reaction to the substance can be represented. However, each reaction observation can have only one severity observation associated with it. For example, someone may have a rash reaction observation as well as an itching reaction observation, but each can have only one level of severity</body>
    </ownedComment>
    <ownedRule xmi:id="_sBN0ECK3EeG9m6LRl9ardQ" name="SeverityObservationTextReference" constrainedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_wsR1ACK3EeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>text, if present, SHOULD contain zero or one [0..1] reference</body>
        <body>not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_wNrf4OJWEeG3cO7ebC3QuA" name="SeverityObservationTextReferenceValue" constrainedElement="_sBN0ECK3EeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ztTocOJWEeG3cO7ebC3QuA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference, if present, SHOULD contain zero or one [0..1] @value</body>
        <body>self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_0IXhYCK3EeG9m6LRl9ardQ" name="SeverityObservationReferenceValue" constrainedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3NEBcCK3EeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1)</body>
        <body>not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VolDsLbPEeWQ25S2Lv5Ssw" name="SeverityObservationTemplateId" constrainedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VolDsbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.8')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VopVILbPEeWQ25S2Lv5Ssw" name="SeverityObservationClassCode" constrainedElement="_2FKZQRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VopVIbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::ActClassObservation::OBS</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoqjQLbPEeWQ25S2Lv5Ssw" name="SeverityObservationMoodCode" constrainedElement="_2FLAUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VorKULbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_ActMoodDocumentObservation::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vou0sLbPEeWQ25S2Lv5Ssw" name="SeverityObservationCodeP" constrainedElement="_2FLAUxSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vou0sbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vos_gLbPEeWQ25S2Lv5Ssw" name="SeverityObservationCode" constrainedElement="_2FLAUxSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vos_gbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'SEV' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoxQ8LbPEeWQ25S2Lv5Ssw" name="SeverityObservationText" constrainedElement="_2FGu5xSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoxQ8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>((not self.text.oclIsUndefined()) and self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined())</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vo1iYLbPEeWQ25S2Lv5Ssw" name="SeverityObservationStatusCodeP" constrainedElement="_2FM1gBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vo1iYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VozGILbPEeWQ25S2Lv5Ssw" name="SeverityObservationStatusCode" constrainedElement="_2FM1gBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VozGIbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vo5MwLbPEeWQ25S2Lv5Ssw" name="SeverityObservationValue" constrainedElement="_2FGu6hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vo5MwbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '255604002' or value.code = '371923003' or value.code = '6736007' or value.code = '371924009' or value.code = '24484000' or value.code = '399166001'))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpEy8LbPEeWQ25S2Lv5Ssw" name="SeverityObservationValueP" constrainedElement="_2FGu6hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpEy8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_2FODoBSVEeGGzu7fmW9pXw">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_bJyIQDxYEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_2FKZQRSVEeGGzu7fmW9pXw" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVecEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_2FKZQhSVEeGGzu7fmW9pXw" value="OBS"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_FcjT0EbtEd6besF9iFIJkQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FLAUBSVEeGGzu7fmW9pXw" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__zOoCEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_2FLAURSVEeGGzu7fmW9pXw" value="EVN"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_BLZhcEo_Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FLAUxSVEeGGzu7fmW9pXw" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FGu5xSVEeGGzu7fmW9pXw" name="text" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rsy1gSKyEeG9m6LRl9ardQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rsy1gCKyEeG9m6LRl9ardQ" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FM1gBSVEeGGzu7fmW9pXw" name="statusCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FGu6hSVEeGGzu7fmW9pXw" name="value" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_cAAIcBneEeGs5a462vYX5Q" base_Class="_2FGu4hSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.4.8">
    <ruleId>CONF:7347</ruleId>
    <ruleId>CONF:10525</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_2FJyMBSVEeGGzu7fmW9pXw"/>
  <CDA:PropertyValidation xmi:id="_2FKZQxSVEeGGzu7fmW9pXw" base_Property="_2FKZQRSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7345</ruleId>
    <ruleId>R2.0=CONF:1098-7345</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2FLAUhSVEeGGzu7fmW9pXw" base_Property="_2FLAUBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7346</ruleId>
    <ruleId>R2.0=CONF:1098-7346</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_2FLnYBSVEeGGzu7fmW9pXw" code="SEV" displayName="Severity observation" base_Property="_2FLAUxSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7349</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:TextValue xmi:id="_2FHV8BSVEeGGzu7fmW9pXw" severity="WARNING" base_Property="_2FGu5xSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7350</ruleId>
  </CDA:TextValue>
  <CDA:CodeSystemConstraint xmi:id="_2FM1gRSVEeGGzu7fmW9pXw" code="completed" base_Property="_2FM1gBSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7352</ruleId>
  </CDA:CodeSystemConstraint>
  <uml:Class xmi:id="_2E_aIRSVEeGGzu7fmW9pXw" name="ReactionObservation">
    <ownedComment xmi:id="_j3HUIBraEeGo461UQq-B1g">
      <body>This clinical statement represents an undesired symptom, finding, etc., due to an administered or exposed substance. A reaction can be defined with respect to its severity, and can have been treated by one or more interventions.</body>
    </ownedComment>
    <ownedRule xmi:id="_gBlYICKdEeG9m6LRl9ardQ" name="ReactionObservationTextReference" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_sG9OgCKdEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>text, if present, SHOULD contain zero or one [0..1] reference</body>
        <body>not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_l-kdAOJVEeG3cO7ebC3QuA" name="ReactionObservationTextReferenceValue" constrainedElement="_gBlYICKdEeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_qB5IgOJVEeG3cO7ebC3QuA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference, if present, SHOULD contain zero or one [0..1] @value</body>
        <body>self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_0eDcUCKdEeG9m6LRl9ardQ" name="ReactionObservationReferenceValue" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3rGAECKdEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1)</body>
        <body>not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_1SPc4CKeEeG9m6LRl9ardQ" name="ReactionObservationEffectiveTimeLow" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_7fXGcCKeEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>effectiveTime, if present, SHOULD contain zero or one [0..1] low</body>
        <body>not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.low.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_3qPPACKeEeG9m6LRl9ardQ" name="ReactionObservationEffectiveTimeHigh" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_8rNOgCKeEeG9m6LRl9ardQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>effectiveTime, if present, SHOULD contain zero or one [0..1] high</body>
        <body>not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.high.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_jm2UICYKEeGWfpmyutaqOA" name="ReactionObservationSeverityObservationInversionInd" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_qNTDsCYKEeGWfpmyutaqOA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; TRUE</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_IvIIQBrcEeGo461UQq-B1g" name="ReactionObservationProcedureActivityProcedureInversionInd" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_XcWKoBrcEeGo461UQq-B1g">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry ProcedureActivityProcedure SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True(CONF:7343).</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.procedure.oclIsTypeOf(consol::ProcedureActivityProcedure))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_P3TE0BrcEeGo461UQq-B1g" name="ReactionObservationMedicationActivityInversionInd" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_U-Q-oBrcEeGo461UQq-B1g">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry MedicationActivity SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True.</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.substanceAdministration.oclIsTypeOf(consol::MedicationActivity))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VnxLYLbPEeWQ25S2Lv5Ssw" name="ReactionObservationTemplateId" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VnxycLbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.9')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vn6VULbPEeWQ25S2Lv5Ssw" name="ReactionObservationClassCode" constrainedElement="_2FAoQBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vn6VUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::ActClassObservation::OBS</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vn7jcLbPEeWQ25S2Lv5Ssw" name="ReactionObservationMoodCode" constrainedElement="_2FAoQhSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vn8KgLbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_ActMoodDocumentObservation::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vn9YoLbPEeWQ25S2Lv5Ssw" name="ReactionObservationId" constrainedElement="_2FBPUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vn9YobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.id->size() = 1</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vn_N0LbPEeWQ25S2Lv5Ssw" name="ReactionObservationCode" constrainedElement="_2FBPVRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vn_N0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoBqELbPEeWQ25S2Lv5Ssw" name="ReactionObservationText" constrainedElement="_2FDEgBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoBqEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>((not self.text.oclIsUndefined()) and self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined())</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoF7gLbPEeWQ25S2Lv5Ssw" name="ReactionObservationStatusCodeP" constrainedElement="_2FDrkRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoF7gbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoDfQLbPEeWQ25S2Lv5Ssw" name="ReactionObservationStatusCode" constrainedElement="_2FDrkRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoEGULbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoIXwLbPEeWQ25S2Lv5Ssw" name="ReactionObservationEffectiveTime" constrainedElement="_2FE5sBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoIXwbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>((not self.effectiveTime.oclIsUndefined()) and self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined())</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoMpMLbPEeWQ25S2Lv5Ssw" name="ReactionObservationValue" constrainedElement="_2FFgwRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoMpMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VoY2cLbPEeWQ25S2Lv5Ssw" name="ReactionObservationValueP" constrainedElement="_2FFgwRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VoY2cbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_b1kxcLbPEeWQ25S2Lv5Ssw" name="ReactionObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDBgELS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_b1kxcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation::SeverityObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_b2msMLbPEeWQ25S2Lv5Ssw" name="ReactionObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDGYkLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_b2msMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation::ProcedureActivityProcedureEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_b35FoLbPEeWQ25S2Lv5Ssw" name="ReactionObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDL4ILS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_b35FobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation::MedicationActivityEntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_2FwPIhSVEeGGzu7fmW9pXw">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_bJyIQDxYEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_2FAoQBSVEeGGzu7fmW9pXw" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2FAoQRSVEeGGzu7fmW9pXw" name="OBS">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdkkDcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FAoQhSVEeGGzu7fmW9pXw" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__zOoCEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_vhOLMNchEeGfQ6frO0B-Jg" value="EVN"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FBPUBSVEeGGzu7fmW9pXw" name="id" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_culQ8DxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ky9dsRrbEeGo461UQq-B1g" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ky9dsBrbEeGo461UQq-B1g" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FBPVRSVEeGGzu7fmW9pXw" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FDEgBSVEeGGzu7fmW9pXw" name="text" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZBorQSIgEeG9m6LRl9ardQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZBorQCIgEeG9m6LRl9ardQ" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FDrkRSVEeGGzu7fmW9pXw" name="statusCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FE5sBSVEeGGzu7fmW9pXw" name="effectiveTime" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ohOT0SIiEeG9m6LRl9ardQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ohOT0CIiEeG9m6LRl9ardQ" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FFgwRSVEeGGzu7fmW9pXw" name="value" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fDBgEbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fDAR8LS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDBgErS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDBgE7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fDBgELS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fDGYkbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fDFKcLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDGYkrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDGYk7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fDGYkLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fDL4IbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fDKC8LS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDMfMLS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDMfMbS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fDL4ILS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fDAR8LS6EeWcPq3zAthoUQ" name="SeverityObservationEntryRelationship">
      <ownedRule xmi:id="_b2APQLbPEeWQ25S2Lv5Ssw" name="ReactionObservationSeverityObservationEntryRelationshipSeverityObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDDVQLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_b2APQbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fDAR8bS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fDDVQbS6EeWcPq3zAthoUQ" name="severityObservation" type="_2FGu4hSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDDVQrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDDVQ7S6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fDDVQLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fDFKcLS6EeWcPq3zAthoUQ" name="ProcedureActivityProcedureEntryRelationship">
      <ownedRule xmi:id="_b3RakLbPEeWQ25S2Lv5Ssw" name="ReactionObservationProcedureActivityProcedureEntryRelationshipProcedureActivityProcedure">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDINwLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_b3RakbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.procedure->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fDFKcbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fDINwbS6EeWcPq3zAthoUQ" name="procedureActivityProcedure" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="consol-procedures.uml#_2OG58RSVEeGGzu7fmW9pXw"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDINwrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDI00LS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_MpocMUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fDINwLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fDKC8LS6EeWcPq3zAthoUQ" name="MedicationActivityEntryRelationship">
      <ownedRule xmi:id="_b4XmwLbPEeWQ25S2Lv5Ssw" name="ReactionObservationMedicationActivityEntryRelationshipMedicationActivity">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fDOUYLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_b4XmwbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.substanceAdministration->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fDKC8bS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fDO7cLS6EeWcPq3zAthoUQ" name="medicationActivity" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="consol-medications.uml#_2GHbgBSVEeGGzu7fmW9pXw"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDO7cbS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fDO7crS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_Px50sUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fDOUYLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <uml:Association xmi:id="_2FRG8RSVEeGGzu7fmW9pXw" memberEnd="_2FRG8hSVEeGGzu7fmW9pXw">
    <ownedEnd xmi:id="_2FRG8hSVEeGGzu7fmW9pXw" type="_2E_aIRSVEeGGzu7fmW9pXw" isReadOnly="true" association="_2FRG8RSVEeGGzu7fmW9pXw"/>
  </uml:Association>
  <CDA:CDATemplate xmi:id="_kdmRwBncEeGs5a462vYX5Q" base_Class="_2E_aIRSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.4.9">
    <ruleId>CONF:7323</ruleId>
    <ruleId>CONF:10523</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_2FvBAxSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_2FvoEhSVEeGGzu7fmW9pXw"/>
  <CDA:PropertyValidation xmi:id="_2FAoRBSVEeGGzu7fmW9pXw" base_Property="_2FAoQhSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7326</ruleId>
    <ruleId>R2.0=CONF:1098-7326</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2FBPVBSVEeGGzu7fmW9pXw" base_Property="_2FBPUBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7329</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2FB2YBSVEeGGzu7fmW9pXw" base_Property="_2FBPVRSVEeGGzu7fmW9pXw">
    <ruleId>CONF:16851</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2FDrkBSVEeGGzu7fmW9pXw" severity="WARNING" base_Property="_2FDEgBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7330</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_2FDrkhSVEeGGzu7fmW9pXw" code="completed" base_Property="_2FDrkRSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7328</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_2FFgwBSVEeGGzu7fmW9pXw" severity="WARNING" base_Property="_2FE5sBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7332</ruleId>
    <ruleId>R2.0=CONF:1098-7332</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_lYTaEBraEeGo461UQq-B1g" base_Property="_2FAoQBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7325</ruleId>
    <ruleId>R2.0=CONF:1098-7325</ruleId>
  </CDA:PropertyValidation>
  <CDA:EntryRelationship xmi:id="_bF9LEBrbEeGo461UQq-B1g" severity="WARNING" base_Association="_2FRG8RSVEeGGzu7fmW9pXw" typeCode="SUBJ">
    <ruleId>CONF:7580</ruleId>
    <ruleId>CONF:7581</ruleId>
    <ruleId>CONF:15922</ruleId>
  </CDA:EntryRelationship>
  <CDA:CodeSystemConstraint xmi:id="_KuCXYBwNEeGlALrr33gUJg" code="48765-2" displayName="Allergies, adverse reactions, alerts" base_Property="_bGzYihVdEeGQCvUGzi1kDQ">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_3-cwsCWrEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:15346</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:TextValue xmi:id="_skqTkBwNEeGlALrr33gUJg" base_Property="_bGzYixVdEeGQCvUGzi1kDQ">
    <ruleId>CONF:7802, R2.1=CONF:1198-7802</ruleId>
  </CDA:TextValue>
  <CDA:PropertyValidation xmi:id="_2GICwBwNEeGlALrr33gUJg" base_Property="_bGzYjBVdEeGQCvUGzi1kDQ">
    <ruleId>CONF:7803, R2.1=CONF:1198-7803</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="__eoqQBwNEeGlALrr33gUJg" severity="WARNING">
    <ruleId>CONF:7805</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_kWt0YBxSEeGGdsHVD60BZA" base_Property="_2Em_oBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7379</ruleId>
    <ruleId>R2.0=CONF:1098-7379</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_eWhS0B0eEeGGdsHVD60BZA" base_Property="_2EaLdhSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7390</ruleId>
    <ruleId>CONF:9139</ruleId>
    <reference href="../consol-vocab.uml#_i0QFQCXYEeGD8_EQPvfzIQ"/>
  </CDA:ValueSetConstraint>
  <uml:Association xmi:id="_lqJOQh0aEeGGdsHVD60BZA" memberEnd="_lqJOQx0aEeGGdsHVD60BZA">
    <ownedEnd xmi:id="_lqJOQx0aEeGGdsHVD60BZA" type="_bGzYgBVdEeGQCvUGzi1kDQ" isReadOnly="true" association="_lqJOQh0aEeGGdsHVD60BZA"/>
  </uml:Association>
  <uml:Class xmi:id="_2FRuAhSVEeGGzu7fmW9pXw" name="AllergyStatusObservation">
    <ownedComment xmi:id="_2FRuAxSVEeGGzu7fmW9pXw" annotatedElement="_2FRuAhSVEeGGzu7fmW9pXw">
      <body>&lt;p>&#xD;
This template represents the status of the allergy indicating whether it is active, no longer active, or is an historic allergy. There can be only one allergy status observation per alert observation.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
THIS TEMPLATE HAS BEEN DEPRECATED AND MAY BE DELETED FROM A FUTURE RELEASE OF THIS IMPLEMENTATION GUIDE. USE OF THIS TEMPLATE IS NOT RECOMMENDED.&#xD;
&lt;/p></body>
    </ownedComment>
    <ownedRule xmi:id="_VpRnQLbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationTemplateId" constrainedElement="_2FRuAhSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpSOULbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.28')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpUDgLbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationClassCode" constrainedElement="_2FV_cBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpUDgbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::ActClassObservation::OBS</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpV4sLbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationMoodCode" constrainedElement="_2FV_cxSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpV4sbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_ActMoodDocumentObservation::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpaxMLbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationCodeP" constrainedElement="_2FWmgBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpaxMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpXt4LbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationCode" constrainedElement="_2FWmgBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpXt4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vpg30LbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationStatusCodeP" constrainedElement="_2FX0oBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vpg30bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpebkLbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationStatusCode" constrainedElement="_2FX0oBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpebkbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_VpvhULbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationValueP" constrainedElement="_2FRuChSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_VpvhUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Vpj7ILbPEeWQ25S2Lv5Ssw" name="AllergyStatusObservationValue" constrainedElement="_2FRuChSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vpj7IbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and 
let value : datatypes::CE = element.oclAsType(datatypes::CE) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or value.code = '73425007' or value.code = '413322009'))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_2FbfABSVEeGGzu7fmW9pXw">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_bJyIQDxYEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_2FV_cBSVEeGGzu7fmW9pXw" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2FV_cRSVEeGGzu7fmW9pXw" name="OBS">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdYEDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yVdkkDcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FV_cxSVEeGGzu7fmW9pXw" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_2FV_dBSVEeGGzu7fmW9pXw" name="EVN">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW3UDcEd6xYZuu1VKCVw"/>
        <instance xmi:type="uml:EnumerationLiteral" href="pathmap://VOCAB_MODEL/vocab.uml#__yeW30DcEd6xYZuu1VKCVw"/>
      </defaultValue>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FWmgBSVEeGGzu7fmW9pXw" name="code" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FX0oBSVEeGGzu7fmW9pXw" name="statusCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_2FRuChSVEeGGzu7fmW9pXw" name="value" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_52DvABnaEeGs5a462vYX5Q" base_Class="_2FRuAhSVEeGGzu7fmW9pXw" templateId="2.16.840.1.113883.10.20.22.4.28">
    <ruleId>CONF:7317</ruleId>
    <ruleId>CONF:10490</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_2FUxUBSVEeGGzu7fmW9pXw"/>
  <CDA:PropertyValidation xmi:id="_2FV_chSVEeGGzu7fmW9pXw" base_Property="_2FV_cBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7318</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_2FV_dRSVEeGGzu7fmW9pXw" base_Property="_2FV_cxSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7319</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_2FWmgRSVEeGGzu7fmW9pXw" code="33999-4" displayName="Status" base_Property="_2FWmgBSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_3-cwsCWrEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7320</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:TextValue xmi:id="_2FS8IBSVEeGGzu7fmW9pXw"/>
  <CDA:CodeSystemConstraint xmi:id="_2FX0oRSVEeGGzu7fmW9pXw" code="completed" base_Property="_2FX0oBSVEeGGzu7fmW9pXw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:7321</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:ValueSetConstraint xmi:id="_2FTjMRSVEeGGzu7fmW9pXw" base_Property="_2FRuChSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7322</ruleId>
    <reference href="../consol-vocab.uml#_2FctIBSVEeGGzu7fmW9pXw"/>
  </CDA:ValueSetConstraint>
  <CDA:AssociationValidation xmi:id="_i7X6oCAqEeGq2sn1dgvG_g" severity="WARNING" base_Association="_lqJOQh0aEeGGdsHVD60BZA">
    <ruleId>CONF:7804, CONF:7805</ruleId>
  </CDA:AssociationValidation>
  <CDA:TextValue xmi:id="_iecvoCCOEeGq2sn1dgvG_g"/>
  <CDA:ConstraintValidation xmi:id="_0KsogCFKEeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_ouJssCFKEeG9m6LRl9ardQ">
    <ruleId>CONF:7422</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_mSUG8CFLEeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_cf38gCFLEeG9m6LRl9ardQ">
    <ruleId>CONF:15949</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_xUgzoCFMEeG9m6LRl9ardQ" base_Constraint="_nV_8ECFMEeG9m6LRl9ardQ">
    <ruleId>CONF:15951</ruleId>
  </CDA:ConstraintValidation>
  <CDA:EntryRelationship xmi:id="_gj6AYCFQEeG9m6LRl9ardQ" severity="INFO" base_Association="_-xkhwhUvEeGbmN_W114JUw" typeCode="SUBJ">
    <ruleId>CONF:7440</ruleId>
    <ruleId>CONF:7906</ruleId>
    <ruleId>CONF:15954</ruleId>
  </CDA:EntryRelationship>
  <CDA:ActRelationship xmi:id="_5HFbQCFQEeG9m6LRl9ardQ" base_Association="_-xkhwhUvEeGbmN_W114JUw"/>
  <CDA:ConstraintValidation xmi:id="_UHQ8sCFUEeG9m6LRl9ardQ" base_Constraint="_8gb1UCFTEeG9m6LRl9ardQ">
    <ruleId>CONF:7446</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_mLLYoCFVEeG9m6LRl9ardQ" base_Constraint="_VBabUCFVEeG9m6LRl9ardQ">
    <ruleId>CONF:7449</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ActRelationship xmi:id="_J-iHQCFWEeG9m6LRl9ardQ" base_Association="_2EkjYBSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_kAPmECKdEeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_gBlYICKdEeG9m6LRl9ardQ">
    <ruleId>CONF:15917</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_5EW5ECKdEeG9m6LRl9ardQ" base_Constraint="_0eDcUCKdEeG9m6LRl9ardQ">
    <ruleId>CONF:15919</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_DpWFUCKfEeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_3qPPACKeEeG9m6LRl9ardQ">
    <ruleId>CONF:7334</ruleId>
    <ruleId>R2.0=CONF:1098-7334</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_ICYiICKfEeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_1SPc4CKeEeG9m6LRl9ardQ">
    <ruleId>CONF:7333</ruleId>
    <ruleId>R2.0=CONF:1098-7333</ruleId>
  </CDA:ConstraintValidation>
  <CDA:PropertyValidation xmi:id="_R4ulECKzEeG9m6LRl9ardQ" severity="WARNING">
    <ruleId>CONF:9117</ruleId>
    <ruleId>CONF:9118</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_xKFLUCK3EeG9m6LRl9ardQ" severity="WARNING" base_Constraint="_sBN0ECK3EeG9m6LRl9ardQ">
    <ruleId>CONF:15928</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_3ucQMCK3EeG9m6LRl9ardQ" base_Constraint="_0IXhYCK3EeG9m6LRl9ardQ">
    <ruleId>CONF:15930</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_gBGW4CWFEeGWfpmyutaqOA" base_Constraint="_L5MNcCWFEeGWfpmyutaqOA">
    <ruleId>CONF:7504</ruleId>
    <ruleId>R2.1=CONF:1198-7504</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_rgdFYCWhEeGWfpmyutaqOA">
    <ruleId>CONF:7421</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_lGdg0CXKEeGWfpmyutaqOA">
    <ruleId>CONF:10083</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_7ZihUCXKEeGWfpmyutaqOA">
    <ruleId>CONF:10084</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_oGz9UCXTEeGWfpmyutaqOA" severity="WARNING">
    <ruleId>CONF:7424</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_BI13YCXUEeGWfpmyutaqOA" severity="WARNING">
    <ruleId>CONF:7425</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_XNKqMCXUEeGWfpmyutaqOA">
    <ruleId>CONF:7426</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_BSGroCXVEeGWfpmyutaqOA" severity="INFO">
    <ruleId>CONF:7431</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_r9M7ECYKEeGWfpmyutaqOA" base_Constraint="_jm2UICYKEeGWfpmyutaqOA">
    <ruleId>CONF:10375</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_LPerMCYLEeGWfpmyutaqOA" base_Constraint="_IvIIQBrcEeGo461UQq-B1g">
    <ruleId>CONF:7343</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_eqOzsCYLEeGWfpmyutaqOA"/>
  <CDA:ConstraintValidation xmi:id="_QuussCYMEeGWfpmyutaqOA" base_Constraint="_P3TE0BrcEeGo461UQq-B1g">
    <ruleId>CONF:7344</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_kTFLMCYOEeGWfpmyutaqOA" severity="WARNING">
    <ruleId>CONF:9118</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ValueSetConstraint xmi:id="_vj2U0CYOEeGWfpmyutaqOA">
    <reference href="../consol-vocab.uml#_xQv28CXLEeGnSfJ2zNllag"/>
  </CDA:ValueSetConstraint>
  <CDA:ValueSetConstraint xmi:id="_q-cRgCZyEeGtVbZZHlmnzA" base_Property="_2FGu6hSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7356</ruleId>
    <ruleId>R2.0=CONF:1098-7356</ruleId>
    <reference href="../consol-vocab.uml#_cOR30CXNEeGnSfJ2zNllag"/>
  </CDA:ValueSetConstraint>
  <CDA:PropertyValidation xmi:id="__uvHMCnAEeGHDN_aHIiN8Q" severity="WARNING">
    <ruleId>CONF:9117</ruleId>
    <ruleId>CONF:9118</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_DrnMcCnBEeGHDN_aHIiN8Q">
    <reference href="../consol-vocab.uml#_xQv28CXLEeGnSfJ2zNllag"/>
  </CDA:ValueSetConstraint>
  <CDA:ValueSetConstraint xmi:id="_AIIMsCnDEeGHDN_aHIiN8Q" severity="WARNING">
    <ruleId>CONF:9117</ruleId>
    <ruleId>CONF:16038</ruleId>
    <reference href="../consol-vocab.uml#_xQv28CXLEeGnSfJ2zNllag"/>
  </CDA:ValueSetConstraint>
  <CDA:ActRelationship xmi:id="_whZe4Cx0EeG6iqE9PBsDjg" base_Association="_2FRG8RSVEeGGzu7fmW9pXw"/>
  <CDA:ValueSetConstraint xmi:id="_j6I_oCzFEeG6iqE9PBsDjg" base_Property="_2FFgwRSVEeGGzu7fmW9pXw">
    <ruleId>CONF:7335</ruleId>
    <ruleId>R2.0=CONF:1098-7335</ruleId>
    <reference href="../consol-vocab.uml#_2SVSkRSVEeGGzu7fmW9pXw"/>
  </CDA:ValueSetConstraint>
  <CDA:CodeSystemConstraint xmi:id="_bVJRwDJBEeG6R8Pb5FT2Ow" code="CSM" displayName="Consumable" base_Property="_098tYDJAEeG6R8Pb5FT2Ow">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_Z0Bk4E6SEeC5ttwajeXVXg"/>
    <ruleId>CONF:7403</ruleId>
    <ruleId>R2.0=CONF:1098-7403</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:CodeSystemConstraint xmi:id="_j-UHADJBEeG6R8Pb5FT2Ow" code="MANU" displayName="Manufactured Product" base_Property="_6LgXYDJAEeG6R8Pb5FT2Ow">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_dHx4caDqEd-dVeaMP0XXQw"/>
    <ruleId>CONF:7405</ruleId>
    <ruleId>R2.0=CONF:1098-7405</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_96euEDJBEeG6R8Pb5FT2Ow" base_Property="_F56fQDJBEeG6R8Pb5FT2Ow">
    <ruleId>CONF:7407</ruleId>
    <ruleId>R2.0=CONF:7407</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_M0Hb0DJCEeG6R8Pb5FT2Ow" base_Property="_KmLkoDJCEeG6R8Pb5FT2Ow">
    <ruleId>CONF:7419</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_pb9mADJCEeG6R8Pb5FT2Ow" base_Constraint="_c0knsDJCEeG6R8Pb5FT2Ow">
    <ruleId>CONF:15953</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_uwgBwDJCEeG6R8Pb5FT2Ow" severity="WARNING" base_Constraint="_aK9hIDJCEeG6R8Pb5FT2Ow">
    <ruleId>CONF:7425</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_Oi4gMjJBEeG6R8Pb5FT2Ow" memberEnd="_Oi4gMDJBEeG6R8Pb5FT2Ow _Oi4gMzJBEeG6R8Pb5FT2Ow">
    <ownedEnd xmi:id="_Oi4gMzJBEeG6R8Pb5FT2Ow" type="_0HgNkDJAEeG6R8Pb5FT2Ow" isReadOnly="true" association="_Oi4gMjJBEeG6R8Pb5FT2Ow"/>
  </uml:Association>
  <uml:Association xmi:id="_QPyG4jJBEeG6R8Pb5FT2Ow" memberEnd="_QPyG4DJBEeG6R8Pb5FT2Ow _QPyG4zJBEeG6R8Pb5FT2Ow">
    <ownedEnd xmi:id="_QPyG4zJBEeG6R8Pb5FT2Ow" type="_4Lj44DJAEeG6R8Pb5FT2Ow" isReadOnly="true" association="_QPyG4jJBEeG6R8Pb5FT2Ow"/>
  </uml:Association>
  <uml:Association xmi:id="_FQD_EjJDEeG6R8Pb5FT2Ow" memberEnd="_FQD_EDJDEeG6R8Pb5FT2Ow _FQD_EzJDEeG6R8Pb5FT2Ow">
    <ownedEnd xmi:id="_FQD_EzJDEeG6R8Pb5FT2Ow" type="_2EaLUBSVEeGGzu7fmW9pXw" isReadOnly="true" association="_FQD_EjJDEeG6R8Pb5FT2Ow"/>
  </uml:Association>
  <CDA:PropertyValidation xmi:id="_lqjE4OJBEeG3cO7ebC3QuA" base_Property="_bGzYihVdEeGQCvUGzi1kDQ">
    <ruleId>CONF:15345</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_cdsB0OJDEeG3cO7ebC3QuA" base_Property="_2LN98BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:15349</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_Gt6FMOJPEeG3cO7ebC3QuA" base_Property="_2EaLdBSVEeGGzu7fmW9pXw">
    <ruleId>CONF:15947</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_fXgRIOJPEeG3cO7ebC3QuA" severity="WARNING" base_Constraint="_bTC9MOJPEeG3cO7ebC3QuA">
    <ruleId>CONF:15950</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_kop6UOJSEeG3cO7ebC3QuA" severity="WARNING" base_Constraint="_WQI8oOJSEeG3cO7ebC3QuA">
    <ruleId>CONF:15952</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_q_Ja8OJVEeG3cO7ebC3QuA" severity="WARNING" base_Constraint="_l-kdAOJVEeG3cO7ebC3QuA">
    <ruleId>CONF:15918</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_0mkLsOJWEeG3cO7ebC3QuA" severity="WARNING" base_Constraint="_wNrf4OJWEeG3cO7ebC3QuA">
    <ruleId>CONF:15929</ruleId>
  </CDA:ConstraintValidation>
  <uml:Class xmi:id="_uCiIYLNwEeOtlapy2HWYww" clientDependency="_0f27sLNxEeOtlapy2HWYww" name="AllergyConcernAct2">
    <ownedComment xmi:id="_kWCYcLNxEeOtlapy2HWYww">
      <body>&lt;p>&#xD;
This template reflects an ongoing concern on behalf of the provider that placed the allergy on a patient's allergy list. As long as the underlying condition is of concern to the provider (i.e., as long as the allergy, whether active or resolved, is of ongoing concern and interest to the provider), the statusCode is &quot;active&quot;. Only when the underlying allergy is no longer of concern is the statusCode set to &quot;completed&quot;. The effectiveTime reflects the time that the underlying allergy was felt to be a concern.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The statusCode of the Allergy Concern Act is the definitive indication of the status of the concern, whereas the effectiveTime of the nested Allergy - Intolerance Observation is the definitive indication of whether or not the underlying allergy is resolved.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The effectiveTime/low of the Allergy Concern Act asserts when the concern became active. This equates to the time the concern was authored in the patient's chart. The effectiveTime/high asserts when the concern was completed (e.g., when the clinician deemed there is no longer any need to track the underlying condition).&#xD;
&lt;/p></body>
    </ownedComment>
    <ownedRule xmi:id="_Y4TvELbPEeWQ25S2Lv5Ssw" name="AllergyProblemActTemplateId" constrainedElement="_uCiIYLNwEeOtlapy2HWYww">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y4TvEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.30' and id.extension = '2015-08-01')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y4XZcLbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCode" constrainedElement="_K0IpwKvuEeS-mulaI3YUlw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y4XZcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y4gjYLbPEeWQ25S2Lv5Ssw" name="AllergyConcernAct2AuthorParticipation" constrainedElement="_lUnZMLN0EeOtlapy2HWYww">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y4gjYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.author->select(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation))->size() >= 0</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hmiDcLbPEeWQ25S2Lv5Ssw" name="AllergyConcernAct2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fj2VMLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hmiDcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyConcernAct2::AllergyObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_uCivcLNwEeOtlapy2HWYww" general="_2EAisBSVEeGGzu7fmW9pXw"/>
    <substitution xmi:id="_0f27sLNxEeOtlapy2HWYww" name="AllergyProblemAct" client="_uCiIYLNwEeOtlapy2HWYww" supplier="_2EAisBSVEeGGzu7fmW9pXw" contract="_2EAisBSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="_lUlkALN0EeOtlapy2HWYww" name="authorParticipation" isReadOnly="true" association="_lUnZMLN0EeOtlapy2HWYww">
      <type xmi:type="uml:Class" href="consol-other.uml#_7jqj4KrlEeOxqJAXCMXUYg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lUlkAbN0EeOtlapy2HWYww"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lUlkArN0EeOtlapy2HWYww" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_K0IpwKvuEeS-mulaI3YUlw" name="code" visibility="private" type="_LgbIAKvuEeS-mulaI3YUlw" isReadOnly="true" redefinedProperty="_2EMv9BSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="_fj2VMbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fj1HELS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fj2VMrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fj2VM7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_Dw0uYUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fj2VMLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_LgbIAKvuEeS-mulaI3YUlw" name="CD">
      <ownedComment xmi:id="_MH-kQKy_EeSB84STE1Ny6A">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_bqaDUKvuEeS-mulaI3YUlw" name="AllergyProblemActCDCodeAndCodeSystemValues" constrainedElement="_nG6-gMTyEeOYw6YTCsSKiw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_bqaDUavuEeS-mulaI3YUlw">
          <language>Analysis</language>
          <language>OCL</language>
          <body>/@code SHALL=&quot;CONC&quot; Concern (CodeSystem: HL7ActClass 2.16.840.1.113883.5.6)</body>
          <body>(code = 'CONC' and codeSystem = '2.16.840.1.113883.5.6') or (code = '48765-2' and codeSystem = '2.16.840.1.113883.6.1')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_Y4bq4LbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCDCode" constrainedElement="_MnGcMKvuEeS-mulaI3YUlw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y4bq4bbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.code.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_Y4eHILbPEeWQ25S2Lv5Ssw" name="AllergyProblemActCDCodeSystem" constrainedElement="_MnHqUKvuEeS-mulaI3YUlw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y4eHIbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.codeSystem.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_LgbIAavuEeS-mulaI3YUlw" general="_nG6-gMTyEeOYw6YTCsSKiw"/>
      <ownedAttribute xmi:id="_MnGcMKvuEeS-mulaI3YUlw" name="code" visibility="private" isReadOnly="true" redefinedProperty="_nl9D4MTyEeOYw6YTCsSKiw">
        <type xmi:type="uml:PrimitiveType" href="pathmap://DATATYPES_MODEL/datatypes.uml#_WswmEETbEeC_V4iAGO_Ujg"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MnGcMavuEeS-mulaI3YUlw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MnGcMqvuEeS-mulaI3YUlw" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_MnHqUKvuEeS-mulaI3YUlw" name="codeSystem" visibility="private" isReadOnly="true" redefinedProperty="_nl9q8MTyEeOYw6YTCsSKiw">
        <type xmi:type="uml:PrimitiveType" href="pathmap://DATATYPES_MODEL/datatypes.uml#_RpDqMDrsEeCN26jpCPaoAw"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MnHqUavuEeS-mulaI3YUlw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MnHqUqvuEeS-mulaI3YUlw" value="1"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fj1HELS6EeWcPq3zAthoUQ" name="AllergyObservation2EntryRelationship">
      <ownedRule xmi:id="_hm7FALbPEeWQ25S2Lv5Ssw" name="AllergyConcernAct2AllergyObservation2EntryRelationshipAllergyObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fj3jULS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hm7FAbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->exists(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation2))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fj1HEbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fj3jUbS6EeWcPq3zAthoUQ" name="allergyObservation2" type="_uVJogLj5EeODDJAC5t5vpw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fj3jUrS6EeWcPq3zAthoUQ" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fj3jU7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fj3jULS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_ePScoLNxEeOtlapy2HWYww" base_Class="_uCiIYLNwEeOtlapy2HWYww" templateId="2.16.840.1.113883.10.20.22.4.30" templateVersion="2015-08-01">
    <ruleId>CONF:1198-7471, CONF:1198-10489, CONF:1198-32543</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_ptgzcLNxEeOtlapy2HWYww" base_Generalization="_uCivcLNwEeOtlapy2HWYww"/>
  <uml:Association xmi:id="_lUnZMLN0EeOtlapy2HWYww" memberEnd="_lUlkALN0EeOtlapy2HWYww _lUnZMbN0EeOtlapy2HWYww">
    <ownedEnd xmi:id="_lUnZMbN0EeOtlapy2HWYww" type="_uCiIYLNwEeOtlapy2HWYww" isReadOnly="true" association="_lUnZMLN0EeOtlapy2HWYww"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_r8PNcLN0EeOtlapy2HWYww" severity="WARNING" base_Association="_lUnZMLN0EeOtlapy2HWYww">
    <ruleId>CONF:1198-31145</ruleId>
  </CDA:AssociationValidation>
  <CDA:CodeSystemConstraint xmi:id="_I2tmcLN6EeOtlapy2HWYww" code="CONC" displayName="Concern">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_wOhRcE6REeC5ttwajeXVXg"/>
    <ruleId>CONF:19158</ruleId>
    <ruleId>CONF:32154</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_PVWd0LN6EeOtlapy2HWYww">
    <ruleId>CONF:7477</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_aMz6I7N7EeOtlapy2HWYww">
    <ruleId>CONF:1198-7498</ruleId>
  </CDA:PropertyValidation>
  <uml:Class xmi:id="_uVJogLj5EeODDJAC5t5vpw" clientDependency="_Oapv4Lj7EeODDJAC5t5vpw" name="AllergyObservation2">
    <ownedComment xmi:id="_d2V3QLj6EeODDJAC5t5vpw">
      <body>This template reflects a discrete observation about a patient's allergy or intolerance. Because it is a discrete observation, it will have a statusCode of &quot;completed&quot;. The effectiveTime, also referred to as the &quot;biologically relevant time&quot; is the time at which the observation holds for the patient. For a provider seeing a patient in the clinic today, observing a history of penicillin allergy that developed five years ago, the effectiveTime is five years ago. &#xD;
The effectiveTime of the Allergy - Intolerance Observation is the definitive indication of whether or not the underlying allergy/intolerance is resolved. If known to be resolved, then an effectiveTime/high would be present. If the date of resolution is not known, then effectiveTime/high will be present with a nullFlavor of &quot;UNK&quot;.&#xD;
The agent responsible for an allergy or adverse reaction is not always a manufactured material (for example, food allergies), nor is it necessarily consumed. The following constraints reflect limitations in the base CDA R2 specification, and should be used to represent any type of responsible agent, i.e., use playingEntity classCode = &quot;MMAT&quot; for all agents, manufactured or not.</body>
    </ownedComment>
    <ownedRule xmi:id="_OMO6kLkVEeODDJAC5t5vpw" name="AllergyObservationValueOriginalText" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_OMO6kbkVEeODDJAC5t5vpw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_okdgoLkXEeODDJAC5t5vpw" name="AllergyObservationOriginalTextReference" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_okdgobkXEeODDJAC5t5vpw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_E9i2ELkYEeODDJAC5t5vpw" name="AllergyObservationOriginalTextReferenceValue" constrainedElement="_cf38gCFLEeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_E9i2EbkYEeODDJAC5t5vpw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_dwX2gLkYEeODDJAC5t5vpw" name="AllergyObservationReferenceValue" constrainedElement="_2EaLUBSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_dwX2gbkYEeODDJAC5t5vpw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_6bV7wKwAEeS-mulaI3YUlw" name="SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_6bV7wawAEeS-mulaI3YUlw">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_YbNUcPfpEeO297ryy8ptVg" name="SubstanceOrDeviceAllergyObservationReactionInversionIndicator">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_YbNUcffpEeO297ryy8ptVg">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Reaction Observation (V2) SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ReactionObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_uBVvYPfpEeO297ryy8ptVg" name="SubstanceOrDeviceAllergyObservationSeverityInversionIndicator">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_uBVvYffpEeO297ryy8ptVg">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation (V2) SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5DV8LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationTemplateId" constrainedElement="_uVJogLj5EeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5D9ALbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.7' and id.extension = '2014-06-09')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5O8ILbPEeWQ25S2Lv5Ssw" name="AllergyObservation2NegationInd" constrainedElement="_Xu9-cLj8EeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5O8IbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>(not self.negationInd.oclIsUndefined()) implies (not self.negationInd.oclIsUndefined())</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5Vp0LbPEeWQ25S2Lv5Ssw" name="AllergyObservationCodeP" constrainedElement="_PWM_4LkAEeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5Vp0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5SmgLbPEeWQ25S2Lv5Ssw" name="AllergyObservationCode" constrainedElement="_PWM_4LkAEeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5SmgbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5uEULbPEeWQ25S2Lv5Ssw" name="AllergyObservationValueP" constrainedElement="_3bHDQLkAEeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5uEUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.value->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y5cXgLbPEeWQ25S2Lv5Ssw" name="AllergyObservationValue" constrainedElement="_3bHDQLkAEeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y5cXgbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y6L-YLbPEeWQ25S2Lv5Ssw" name="AllergyObservationStatusCodeP" constrainedElement="_Kgc-oPr7EeO3D4OxHxUkag">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6L-YbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y6Ge0LbPEeWQ25S2Lv5Ssw" name="AllergyObservationStatusCode" constrainedElement="_Kgc-oPr7EeO3D4OxHxUkag">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6Ge0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y6Rd8LbPEeWQ25S2Lv5Ssw" name="AllergyObservationEffectiveTime" constrainedElement="_QjUYoLkTEeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6Rd8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.effectiveTime.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y6lnALbPEeWQ25S2Lv5Ssw" name="AllergyObservation2AuthorParticipation" constrainedElement="_Gwg5QLj8EeODDJAC5t5vpw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6lnAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.author->select(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation))->size() >= 0</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zpkz8LbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipant" constrainedElement="_EB7dAPrwEeO3D4OxHxUkag">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zpkz8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hnSRYLbPEeWQ25S2Lv5Ssw" name="AllergyObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fj5_kLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hnSRYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation2::ReactionObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hoADELbPEeWQ25S2Lv5Ssw" name="AllergyObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fj-RALS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hoADEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation2::SeverityObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_howRALbPEeWQ25S2Lv5Ssw" name="AllergyObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkCicLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_howRAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::AllergyObservation2::AllergyStatusObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_uVNS4Lj5EeODDJAC5t5vpw" general="_2EaLUBSVEeGGzu7fmW9pXw"/>
    <substitution xmi:id="_Oapv4Lj7EeODDJAC5t5vpw" name="AllergyObservation" client="_uVJogLj5EeODDJAC5t5vpw" supplier="_2EaLUBSVEeGGzu7fmW9pXw" contract="_2EaLUBSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="_GwfEELj8EeODDJAC5t5vpw" name="authorParticipation" isReadOnly="true" association="_Gwg5QLj8EeODDJAC5t5vpw">
      <type xmi:type="uml:Class" href="consol-other.uml#_7jqj4KrlEeOxqJAXCMXUYg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GwfrILj8EeODDJAC5t5vpw"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GwfrIbj8EeODDJAC5t5vpw" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_Xu9-cLj8EeODDJAC5t5vpw" name="negationInd" visibility="private" isReadOnly="true">
      <ownedComment xmi:id="_h08I4Lj8EeODDJAC5t5vpw">
        <body>Note: Use negationInd=&quot;true&quot; to indicate that the allergy was not observed.</body>
      </ownedComment>
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBooleanObject"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Xu9-crj8EeODDJAC5t5vpw"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Xu9-cbj8EeODDJAC5t5vpw" value="1"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_LYVyAExtEd6h-an5IXo-DA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_PWM_4LkAEeODDJAC5t5vpw" name="code" visibility="private" isReadOnly="true" redefinedProperty="_2EaLdBSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_3bHDQLkAEeODDJAC5t5vpw" name="value" visibility="private" isReadOnly="true" redefinedProperty="_2EaLdhSVEeGGzu7fmW9pXw">
      <ownedComment xmi:id="_YroBsLkBEeODDJAC5t5vpw">
        <body>Note: The consumable participant points to the precise allergen or substance of intolerance. Because the consumable and the reaction are more clinically relevant than a categorization of the allergy/adverse event type, many systems will simply assign a fixed value here (e.g. &quot;allergy to substance&quot;).</body>
      </ownedComment>
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_Kgc-oPr7EeO3D4OxHxUkag" name="statusCode" visibility="private" isReadOnly="true" redefinedProperty="_2EoNwxSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_QjUYoLkTEeODDJAC5t5vpw" name="effectiveTime" visibility="private" type="_wqODoLkTEeODDJAC5t5vpw" isReadOnly="true" aggregation="composite" redefinedProperty="_2Epb4BSVEeGGzu7fmW9pXw">
      <ownedComment xmi:id="_atg7wLkTEeODDJAC5t5vpw">
        <body>Note: If the allergy/intolerance is known to be resolved, but the date of resolution is not known, then the high element SHALL be present, and the nullFlavor attribute SHALL be set to 'UNK'.</body>
      </ownedComment>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QjUYorkTEeODDJAC5t5vpw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QjUYobkTEeODDJAC5t5vpw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_EB6O4PrwEeO3D4OxHxUkag" name="participant" type="_OIcaAPrwEeO3D4OxHxUkag" isReadOnly="true" redefinedProperty="_FQD_EDJDEeG6R8Pb5FT2Ow" association="_EB7dAPrwEeO3D4OxHxUkag">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HZywsfrwEeO3D4OxHxUkag" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HZywsPrwEeO3D4OxHxUkag" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fj5_kbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fj4xcLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fj5_krS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fj5_k7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fj5_kLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fj-RAbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fj9C4LS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fj-RArS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fj-RA7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fj-RALS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fkCicbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fkAtQLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkCicrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkCic7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fkCicLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_wqODoLkTEeODDJAC5t5vpw" name="IVLTS">
      <ownedComment xmi:id="_P_7GMKy_EeSB84STE1Ny6A">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_Y6WWcLbPEeWQ25S2Lv5Ssw" name="AllergyObservation2IVLTSLow" constrainedElement="_xrzccLkTEeODDJAC5t5vpw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6WWcbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.low.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_Y6ZZwLbPEeWQ25S2Lv5Ssw" name="AllergyObservation2IVLTSHigh" constrainedElement="_xry1YLkTEeODDJAC5t5vpw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6ZZwbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (((not self.high.oclIsUndefined()) and self.high.isNullFlavorUndefined()) implies (not self.high.oclIsUndefined()) ))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_wqOqsLkTEeODDJAC5t5vpw">
        <general xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      </generalization>
      <ownedAttribute xmi:id="_xrzccLkTEeODDJAC5t5vpw" name="low" visibility="private" isReadOnly="true" aggregation="composite">
        <ownedComment xmi:id="_DOJR0LkUEeODDJAC5t5vpw">
          <body>Note: The effectiveTime/low (a.k.a. &quot;onset date&quot;) asserts when the allergy/intolerance became biologically active.</body>
        </ownedComment>
        <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_BY5uUD6AEd6cla2oXsPtlA"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4mAOcLkTEeODDJAC5t5vpw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4l_nYLkTEeODDJAC5t5vpw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_fmxbID6AEd6cla2oXsPtlA"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_xry1YLkTEeODDJAC5t5vpw" name="high" visibility="private" isReadOnly="true" aggregation="composite">
        <ownedComment xmi:id="_FuJwcLkUEeODDJAC5t5vpw">
          <body>Note: The effectiveTime/high (a.k.a. &quot;resolution date&quot;) asserts when the allergy/intolerance became biologically resolved.</body>
        </ownedComment>
        <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_BY5uUD6AEd6cla2oXsPtlA"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xry1YrkTEeODDJAC5t5vpw"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xry1YbkTEeODDJAC5t5vpw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_jfCGID6AEd6cla2oXsPtlA"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_OIcaAPrwEeO3D4OxHxUkag" name="Participant">
      <ownedComment xmi:id="_Q1DKMPrwEeO3D4OxHxUkag">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_ZqG_cLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantParticipantRole" constrainedElement="___wyoPrwEeO3D4OxHxUkag">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZqG_cbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::AllergyObservation2::Participant::ParticipantRole))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_OIdBEPrwEeO3D4OxHxUkag" general="_0HgNkDJAEeG6R8Pb5FT2Ow"/>
      <ownedAttribute xmi:id="___vkgPrwEeO3D4OxHxUkag" name="participantRole" type="_OOs9kPrxEeO3D4OxHxUkag" isReadOnly="true" redefinedProperty="_Oi4gMDJBEeG6R8Pb5FT2Ow" association="___wyoPrwEeO3D4OxHxUkag">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GCOrYfrxEeO3D4OxHxUkag" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GCOrYPrxEeO3D4OxHxUkag" value="1"/>
      </ownedAttribute>
      <nestedClassifier xmi:type="uml:Class" xmi:id="_OOs9kPrxEeO3D4OxHxUkag" name="ParticipantRole">
        <ownedRule xmi:id="_Zqoj4LbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantParticipantRolePlayingEntity" constrainedElement="_qBuYkPrxEeO3D4OxHxUkag">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zqoj4bbPEeWQ25S2Lv5Ssw">
            <language>OCL</language>
            <body>self.playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(consol::AllergyObservation2::Participant::ParticipantRole::PlayingEntity))</body>
          </specification>
        </ownedRule>
        <generalization xmi:id="_OOs9kfrxEeO3D4OxHxUkag" general="_4Lj44DJAEeG6R8Pb5FT2Ow"/>
        <ownedAttribute xmi:id="_qBsjYPrxEeO3D4OxHxUkag" name="playingEntity" type="_dcuKcPryEeO3D4OxHxUkag" isReadOnly="true" redefinedProperty="_QPyG4DJBEeG6R8Pb5FT2Ow" association="_qBuYkPrxEeO3D4OxHxUkag">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uxzcYfrxEeO3D4OxHxUkag" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uxzcYPrxEeO3D4OxHxUkag" value="1"/>
        </ownedAttribute>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_dcuKcPryEeO3D4OxHxUkag" name="PlayingEntity">
          <ownedRule xmi:id="_04NdIPr1EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_04NdIfr1EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_OD_zUPr6EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_OD_zUfr6EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_-QiT4Pr0EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_-QiT4fr0EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_IyzYwPr1EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_IyzYwfr1EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_TULFwPr1EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_TULFwfr1EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_pMHe4Pr0EeO3D4OxHxUkag" name="AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_pMHe4fr0EeO3D4OxHxUkag">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_Y6gugLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantParticipantRolePlayingEntityCode" constrainedElement="_yZIS8PryEeO3D4OxHxUkag">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6gugbbPEeWQ25S2Lv5Ssw">
              <language>OCL</language>
              <body>not self.code.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <generalization xmi:id="_dcuxgPryEeO3D4OxHxUkag" general="_E1B60DJBEeG6R8Pb5FT2Ow"/>
          <ownedAttribute xmi:id="_yZIS8PryEeO3D4OxHxUkag" name="code" visibility="private" type="_BGJEgPr0EeO3D4OxHxUkag" isReadOnly="true" aggregation="composite" redefinedProperty="_KmLkoDJCEeG6R8Pb5FT2Ow">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yZIS8vryEeO3D4OxHxUkag" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yZIS8fryEeO3D4OxHxUkag" value="1"/>
          </ownedAttribute>
          <nestedClassifier xmi:type="uml:Class" xmi:id="_BGJEgPr0EeO3D4OxHxUkag" name="CE">
            <ownedRule xmi:id="_Y6ijsLbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText" constrainedElement="_G6Dj4Pr0EeO3D4OxHxUkag">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6ijsbbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.originalText.oclIsUndefined()) and self.originalText.isNullFlavorUndefined()) implies (true) ))</body>
              </specification>
            </ownedRule>
            <ownedRule xmi:id="_Y6jx0LbPEeWQ25S2Lv5Ssw" name="AllergyObservationParticipantParticipantRolePlayingEntityCETranslation" constrainedElement="_G6EK8Pr0EeO3D4OxHxUkag">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y6jx0bbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.translation->isEmpty()) and self.translation->exists(element | element.isNullFlavorUndefined())) implies (true) ))</body>
              </specification>
            </ownedRule>
            <generalization xmi:id="_BGJrkPr0EeO3D4OxHxUkag" general="_C4w3oNJCEeOj_bXCpQOG9w"/>
            <ownedAttribute xmi:id="_G6Dj4Pr0EeO3D4OxHxUkag" name="originalText" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_NuttgNJCEeOj_bXCpQOG9w">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_G6Dj4vr0EeO3D4OxHxUkag"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_G6Dj4fr0EeO3D4OxHxUkag" value="1"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_G6EK8Pr0EeO3D4OxHxUkag" name="translation" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_PrSu8NJCEeOj_bXCpQOG9w">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_G6EK8vr0EeO3D4OxHxUkag"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_G6EK8fr0EeO3D4OxHxUkag" value="*"/>
            </ownedAttribute>
          </nestedClassifier>
        </nestedClassifier>
      </nestedClassifier>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fj4xcLS6EeWcPq3zAthoUQ" name="ReactionObservation2EntryRelationship">
      <ownedRule xmi:id="_hnoPoLbPEeWQ25S2Lv5Ssw" name="AllergyObservation2ReactionObservation2EntryRelationshipReactionObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fj70wLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hnoPobbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fj4xcbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fj70wbS6EeWcPq3zAthoUQ" name="reactionObservation2" type="_U3yosPDxEeOKPKE9au0oug" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fj70wrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fj70w7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fj70wLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fj9C4LS6EeWcPq3zAthoUQ" name="SeverityObservation2EntryRelationship">
      <ownedRule xmi:id="_hoWoYLbPEeWQ25S2Lv5Ssw" name="AllergyObservation2SeverityObservation2EntryRelationshipSeverityObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkAGMLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hoWoYbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fj9C4bS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fkAGMbS6EeWcPq3zAthoUQ" name="severityObservation2" type="_B0oKYPJdEeO2NaSiicarcg" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkAGMrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkAGM7S6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fkAGMLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fkAtQLS6EeWcPq3zAthoUQ" name="AllergyStatusObservationEntryRelationship">
      <ownedRule xmi:id="_hpNkALbPEeWQ25S2Lv5Ssw" name="AllergyObservation2AllergyStatusObservationEntryRelationshipAllergyStatusObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkDwkLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hpNkAbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fkAtQbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fkDwkbS6EeWcPq3zAthoUQ" name="allergyStatusObservation" type="_2FRuAhSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkDwkrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkDwk7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fkDwkLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_HX1C0Lj6EeODDJAC5t5vpw" base_Class="_uVJogLj5EeODDJAC5t5vpw" templateId="2.16.840.1.113883.10.20.22.4.7" templateVersion="2014-06-09">
    <ruleId>CONF:1098-7381</ruleId>
    <ruleId>CONF:1098-10488</ruleId>
    <ruleId>CONF:1098-32526</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_2XNlALj6EeODDJAC5t5vpw" base_Generalization="_uVNS4Lj5EeODDJAC5t5vpw"/>
  <uml:Association xmi:id="_Gwg5QLj8EeODDJAC5t5vpw" memberEnd="_GwfEELj8EeODDJAC5t5vpw _GwhgULj8EeODDJAC5t5vpw">
    <ownedEnd xmi:id="_GwhgULj8EeODDJAC5t5vpw" type="_uVJogLj5EeODDJAC5t5vpw" isReadOnly="true" association="_Gwg5QLj8EeODDJAC5t5vpw"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_LxPBILj8EeODDJAC5t5vpw" severity="WARNING" base_Association="_Gwg5QLj8EeODDJAC5t5vpw">
    <ruleId>CONF:1098-31143</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_ZN-6ILj8EeODDJAC5t5vpw" severity="INFO" base_Property="_Xu9-cLj8EeODDJAC5t5vpw">
    <ruleId>CONF:1098-31526</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_PWNm8LkAEeODDJAC5t5vpw" code="ASSERTION" displayName="Assertion" base_Property="_PWM_4LkAEeODDJAC5t5vpw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-15948</ruleId>
    <ruleId>CONF:1098-32153</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_PWQDMLkAEeODDJAC5t5vpw" base_Property="_PWM_4LkAEeODDJAC5t5vpw">
    <ruleId>CONF:1098-15947</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_3bHDQbkAEeODDJAC5t5vpw" base_Property="_3bHDQLkAEeODDJAC5t5vpw">
    <ruleId>CONF:1098-7390</ruleId>
    <reference href="../consol-vocab.uml#_i0QFQCXYEeGD8_EQPvfzIQ"/>
  </CDA:ValueSetConstraint>
  <CDA:PropertyValidation xmi:id="_8aRr8LkAEeODDJAC5t5vpw" base_Property="_3bHDQLkAEeODDJAC5t5vpw"/>
  <CDA:PropertyValidation xmi:id="_QjUYo7kTEeODDJAC5t5vpw" base_Property="_QjUYoLkTEeODDJAC5t5vpw">
    <ruleId>CONF:1098-7387</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_y0WY4LkTEeODDJAC5t5vpw" severity="INFO" base_Property="_xry1YLkTEeODDJAC5t5vpw">
    <ruleId>CONF:1098-31539</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_1c2sMLkTEeODDJAC5t5vpw" base_Property="_xrzccLkTEeODDJAC5t5vpw">
    <ruleId>CONF:1098-31538</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_j4148MTyEeOYw6YTCsSKiw" base_Property="_2EMv9BSVEeGGzu7fmW9pXw">
    <ruleId>CONF:NEW</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_oLhPEMTyEeOYw6YTCsSKiw" base_Property="_nl9D4MTyEeOYw6YTCsSKiw">
    <ruleId>CONF:NEW</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_orOp4MTyEeOYw6YTCsSKiw" base_Property="_nl9q8MTyEeOYw6YTCsSKiw">
    <ruleId>CONF:NEW</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_u1HZQMTyEeOYw6YTCsSKiw" base_Constraint="_tMlVMMTyEeOYw6YTCsSKiw">
    <ruleId>CONF:NEW</ruleId>
  </CDA:ConstraintValidation>
  <uml:Class xmi:id="_mgny4NF8EeOHUokOVP95oQ" name="SubstanceOrDeviceAllergyObservation">
    <ownedComment xmi:id="_mgny4dF8EeOHUokOVP95oQ">
      <body>This clinical statement represents that an allergy or adverse reaction to a substance or device exists or does not exist. The agent that is the cause of the allergy or adverse reaction is represented as a participant in the observation.</body>
    </ownedComment>
    <ownedRule xmi:id="_mgny4tF8EeOHUokOVP95oQ" name="SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator" constrainedElement="_mgny4NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_mgny49F8EeOHUokOVP95oQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Allergy Status Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::AllergyStatusObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_mgny5NF8EeOHUokOVP95oQ" name="SubstanceOrDeviceAllergyObservationReactionInversionIndicator" constrainedElement="_mgny4NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_mgny5dF8EeOHUokOVP95oQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Reaction Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ReactionObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_mgny5tF8EeOHUokOVP95oQ" name="SubstanceOrDeviceAllergyObservationSeverityInversionIndicator" constrainedElement="_mgny4NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_mgny59F8EeOHUokOVP95oQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_0FQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationTemplateId" constrainedElement="_mgny4NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_0FQbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.24.3.90')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_3voLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationClassCode" constrainedElement="_mgny6dF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_3vobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.classCode=vocab::ActClassObservation::OBS</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_49wLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationMoodCode" constrainedElement="_mgny69F8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_49wbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.moodCode=vocab::x_ActMoodDocumentObservation::EVN</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_6L4LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationId" constrainedElement="_mgny7dF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_6L4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.id->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_-dULbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationCodeP" constrainedElement="_mgny8NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_-dUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Y_8BELbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationCode" constrainedElement="_mgny8NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Y_8BEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZABgoLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationStatusCode" constrainedElement="_mgny8dF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZABgobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZAD84LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationStatusCodeP" constrainedElement="_mgny8dF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAD84bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZAFyELbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationEffectiveTime" constrainedElement="_mgny9NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAFyEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.effectiveTime.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZAIOULbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationValue" constrainedElement="_mgny99F8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAIOUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZATNcLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationValueP" constrainedElement="_mgny99F8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZATNcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZAxHgLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipant" constrainedElement="_CAWowNIdEeO-TcA3qYv-cw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAxHgbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->size() >= 0</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hvUMALbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkspwLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hvUMAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation::AllergyStatusObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hwJ5gLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkwUILS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hwJ5gbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation::ReactionObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_hw6HcrbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationEntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkz-gLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_hw6Hc7bPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation::SeverityObservationEntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_mgny6NF8EeOHUokOVP95oQ">
      <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_bJyIQDxYEd6JwqSGecoePg"/>
    </generalization>
    <ownedAttribute xmi:id="_mgny6dF8EeOHUokOVP95oQ" name="classCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yVecEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_mgny6tF8EeOHUokOVP95oQ" value="OBS"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_FcjT0EbtEd6besF9iFIJkQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny69F8EeOHUokOVP95oQ" name="moodCode" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__zOoCEDcEd6xYZuu1VKCVw"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_mgny7NF8EeOHUokOVP95oQ" value="EVN"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_BLZhcEo_Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny7dF8EeOHUokOVP95oQ" name="id" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_culQ8DxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgny79F8EeOHUokOVP95oQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgny7tF8EeOHUokOVP95oQ" value="*"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_UGBfwEo8Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny8NF8EeOHUokOVP95oQ" name="code" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_WEYp4Eo8Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny8dF8EeOHUokOVP95oQ" name="statusCode" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgny89F8EeOHUokOVP95oQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgny8tF8EeOHUokOVP95oQ" value="1"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_c-D3cEo8Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny9NF8EeOHUokOVP95oQ" name="effectiveTime" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgny9tF8EeOHUokOVP95oQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgny9dF8EeOHUokOVP95oQ" value="1"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_fUQ50Eo8Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_mgny99F8EeOHUokOVP95oQ" name="value" visibility="private" isReadOnly="true" aggregation="composite">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgny-dF8EeOHUokOVP95oQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgny-NF8EeOHUokOVP95oQ" value="1"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_tRpv0Eo-Ed6c3qsAxlFHaQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_CAVaoNIdEeO-TcA3qYv-cw" name="participant" type="_cBOJoNIdEeO-TcA3qYv-cw" isReadOnly="true" association="_CAWowNIdEeO-TcA3qYv-cw">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CAWBsNIdEeO-TcA3qYv-cw"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CAWBsdIdEeO-TcA3qYv-cw" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fkspwbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fkq0kLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkspwrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkspw7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fkspwLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fkwUIbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fkvGALS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkwUIrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkwUI7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fkwUILS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fk0lkLS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fkywYLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fk0lkbS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fk0lkrS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fkz-gLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_cBOJoNIdEeO-TcA3qYv-cw" name="Participant">
      <ownedComment xmi:id="_tCxmINIdEeO-TcA3qYv-cw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_ZAdlgbbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantTypeCode" constrainedElement="_v4zYENIdEeO-TcA3qYv-cw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAdlgrbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.typeCode=vocab::ParticipationType::CSM</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_ZBKJELbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRole" constrainedElement="_FB4qoNIeEeO-TcA3qYv-cw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZBKJEbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation::Participant::ParticipantRole))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_cBOJodIdEeO-TcA3qYv-cw">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_51DLwEcZEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_v4zYENIdEeO-TcA3qYv-cw" name="typeCode" visibility="private" isReadOnly="true">
        <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__y7BekDcEd6xYZuu1VKCVw"/>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_9ijLQNIdEeO-TcA3qYv-cw" value="CSM"/>
        <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_CRBsgEreEd6FXKclYGEDCw"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_FB4DkNIeEeO-TcA3qYv-cw" name="participantRole" type="_PzEVQNIeEeO-TcA3qYv-cw" isReadOnly="true" association="_FB4qoNIeEeO-TcA3qYv-cw">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NxmMwdIeEeO-TcA3qYv-cw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NxmMwNIeEeO-TcA3qYv-cw" value="1"/>
      </ownedAttribute>
      <nestedClassifier xmi:type="uml:Class" xmi:id="_PzEVQNIeEeO-TcA3qYv-cw" name="ParticipantRole">
        <ownedRule xmi:id="_ZAfasLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRoleClassCode" constrainedElement="_V0yAENIeEeO-TcA3qYv-cw">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAfasbbPEeWQ25S2Lv5Ssw">
            <language>OCL</language>
            <body>isDefined('classCode') and self.classCode=vocab::RoleClassRoot::MANU</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="_ZBdrELbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity" constrainedElement="_chjaENIeEeO-TcA3qYv-cw">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZBdrEbbPEeWQ25S2Lv5Ssw">
            <language>OCL</language>
            <body>self.playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation::Participant::ParticipantRole::PlayingEntity))</body>
          </specification>
        </ownedRule>
        <generalization xmi:id="_PzEVQdIeEeO-TcA3qYv-cw">
          <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#__QZaIEcZEd6besF9iFIJkQ"/>
        </generalization>
        <ownedAttribute xmi:id="_V0yAENIeEeO-TcA3qYv-cw" name="classCode" visibility="private" isReadOnly="true">
          <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__zE4tEDcEd6xYZuu1VKCVw"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V0yAEtIeEeO-TcA3qYv-cw" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V0yAEdIeEeO-TcA3qYv-cw" value="1"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_V0yAE9IeEeO-TcA3qYv-cw" value="MANU"/>
          <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_Z6ZKgEreEd6FXKclYGEDCw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_chiL8NIeEeO-TcA3qYv-cw" name="playingEntity" type="_3jqVgNIeEeO-TcA3qYv-cw" isReadOnly="true" association="_chjaENIeEeO-TcA3qYv-cw">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0xAAodIeEeO-TcA3qYv-cw" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0xAAoNIeEeO-TcA3qYv-cw" value="1"/>
        </ownedAttribute>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_3jqVgNIeEeO-TcA3qYv-cw" name="PlayingEntity">
          <ownedRule xmi:id="_FJf5ENIfEeO-TcA3qYv-cw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_FJf5EdIfEeO-TcA3qYv-cw">
              <language>Analysis</language>
              <language>OCL</language>
              <body>code/originalText/reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1</body>
              <body>not self.code.originalText.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.code.originalText.reference.value.substring(2, self.code.originalText.reference.value.size())).oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_IX4goNIfEeO-TcA3qYv-cw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_IX4godIfEeO-TcA3qYv-cw">
              <language>Analysis</language>
              <language>OCL</language>
              <body>reference, if present, SHOULD contain zero or one [0..1] @value</body>
              <body>not self.code.originalText.reference.oclIsUndefined() implies self.code.originalText.reference.value->size() = 1</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_JFlUINIfEeO-TcA3qYv-cw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_JFlUIdIfEeO-TcA3qYv-cw">
              <language>Analysis</language>
              <language>OCL</language>
              <body>originalText, if present, SHOULD contain zero or one [0..1] reference</body>
              <body>not self.code.originalText.oclIsUndefined() implies not self.code.originalText.reference.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_yXHowGOVEeSLXfr4DK4AdA" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI" constrainedElement="_E1B60DJBEeG6R8Pb5FT2Ow">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_yXHowWOVEeSLXfr4DK4AdA">
              <language>Analysis</language>
              <language>OCL</language>
              <body>code MAY be selected from ValueSet Substance-Reactant for Intolerance 2.16.840.1.113762.1.4.1010.1 DYNAMIC. Note: Value set intentionally defined as a GROUPING made up of: Value Set: Medication Drug Class (2.16.840.1.113883.3.88.12.80.18) (NDFRT drug class codes); Value Set: Clinical Drug Ingredient (2.16.840.1.113762.1.4.1010.7) (RxNORM ingredient codes); Value Set: Unique Ingredient Identifier - Complete Set (2.16.840.1.113883.3.88.12.80.20) (UNII ingredient codes); Value Set: Substance Other Than Clinical Drug (2.16.840.1.113762.1.4.1010.9) (SNOMED CT substance codes).</body>
              <body>( code.oclIsUndefined() or code.isNullFlavorUndefined() ) implies ( not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and ( ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.5' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.4.9' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined() ) ) )</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_ZAn9kLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityClassCode" constrainedElement="_ArBioNIfEeO-TcA3qYv-cw">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAn9kbbPEeWQ25S2Lv5Ssw">
              <language>OCL</language>
              <body>isDefined('classCode') and self.classCode=vocab::EntityClassRoot::MMAT</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_ZApywLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode" constrainedElement="_6NgQINIfEeO-TcA3qYv-cw">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZApywbbPEeWQ25S2Lv5Ssw">
              <language>OCL</language>
              <body>not self.code.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <generalization xmi:id="_3jqVgdIeEeO-TcA3qYv-cw">
            <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_Lr9i8EcaEd6besF9iFIJkQ"/>
          </generalization>
          <ownedAttribute xmi:id="_ArBioNIfEeO-TcA3qYv-cw" name="classCode" visibility="private" isReadOnly="true">
            <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yoL-EDcEd6xYZuu1VKCVw"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ArBiotIfEeO-TcA3qYv-cw" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ArBiodIfEeO-TcA3qYv-cw" value="1"/>
            <defaultValue xmi:type="uml:LiteralString" xmi:id="_ArBio9IfEeO-TcA3qYv-cw" value="MMAT"/>
            <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_SxK9sErhEd6FXKclYGEDCw"/>
          </ownedAttribute>
          <ownedAttribute xmi:id="_6NgQINIfEeO-TcA3qYv-cw" name="code" visibility="private" type="_DNj7YNIgEeO-TcA3qYv-cw" isReadOnly="true" aggregation="composite">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-GYmMdIfEeO-TcA3qYv-cw" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-GYmMNIfEeO-TcA3qYv-cw" value="1"/>
            <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_JVhioErhEd6FXKclYGEDCw"/>
          </ownedAttribute>
          <nestedClassifier xmi:type="uml:Class" xmi:id="_DNj7YNIgEeO-TcA3qYv-cw" name="CE">
            <ownedRule xmi:id="_ZAsPALbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText" constrainedElement="_H48FYNIgEeO-TcA3qYv-cw">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAsPAbbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.originalText.oclIsUndefined()) and self.originalText.isNullFlavorUndefined()) implies (not self.originalText.oclIsUndefined()) ))</body>
              </specification>
            </ownedRule>
            <ownedRule xmi:id="_ZAurQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation" constrainedElement="_IvlZgNIgEeO-TcA3qYv-cw">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZAurQbbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.translation->isEmpty()) and self.translation->exists(element | element.isNullFlavorUndefined())) implies (not self.translation->isEmpty()) ))</body>
              </specification>
            </ownedRule>
            <generalization xmi:id="_DNkicNIgEeO-TcA3qYv-cw">
              <general xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
            </generalization>
            <ownedAttribute xmi:id="_H48FYNIgEeO-TcA3qYv-cw" name="originalText" visibility="private" isReadOnly="true" aggregation="composite">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H48FYtIgEeO-TcA3qYv-cw"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H48FYdIgEeO-TcA3qYv-cw" value="1"/>
              <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_TgJEsD55Ed6cla2oXsPtlA"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_IvlZgNIgEeO-TcA3qYv-cw" name="translation" visibility="private" isReadOnly="true" aggregation="composite">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IvlZgtIgEeO-TcA3qYv-cw"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IvlZgdIgEeO-TcA3qYv-cw" value="*"/>
              <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_DtKpQD57Ed6cla2oXsPtlA"/>
            </ownedAttribute>
          </nestedClassifier>
        </nestedClassifier>
      </nestedClassifier>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fkq0kLS6EeWcPq3zAthoUQ" name="AllergyStatusObservationEntryRelationship">
      <ownedRule xmi:id="_hvxfALbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationAllergyStatusObservationEntryRelationshipAllergyStatusObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkt34LS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hvxfArbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fkq0kbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fkt34bS6EeWcPq3zAthoUQ" name="allergyStatusObservation" type="_2FRuAhSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkt34rS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkt347S6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fkt34LS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fkvGALS6EeWcPq3zAthoUQ" name="ReactionObservationEntryRelationship">
      <ownedRule xmi:id="_hwhs8LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationReactionObservationEntryRelationshipReactionObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fkyJULS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hwhs8bbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fkvGAbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fkyJUbS6EeWcPq3zAthoUQ" name="reactionObservation" type="_2E_aIRSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fkyJUrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fkyJU7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fkyJULS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fkywYLS6EeWcPq3zAthoUQ" name="SeverityObservationEntryRelationship">
      <ownedRule xmi:id="_hxRT0LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationSeverityObservationEntryRelationshipSeverityObservation">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fk1zsLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_hxRT0bbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fkywYbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fk1zsbS6EeWcPq3zAthoUQ" name="severityObservation" type="_2FGu4hSVEeGGzu7fmW9pXw" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fk2awLS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fk2awbS6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fk1zsLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_mgoZ8NF8EeOHUokOVP95oQ" base_Class="_mgny4NF8EeOHUokOVP95oQ" templateId="2.16.840.1.113883.10.20.24.3.90">
    <ruleId>CONF:16305</ruleId>
    <ruleId>CONF:16306</ruleId>
  </CDA:CDATemplate>
  <CDA:ConstraintValidation xmi:id="_mgoZ8dF8EeOHUokOVP95oQ" base_Constraint="_mgny4tF8EeOHUokOVP95oQ">
    <ruleId>CONF:16334</ruleId>
    <ruleId>R2.0=CONF:1098-16334</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_mgoZ8tF8EeOHUokOVP95oQ" base_Constraint="_mgny5NF8EeOHUokOVP95oQ">
    <ruleId>CONF:16338</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_mgoZ89F8EeOHUokOVP95oQ" base_Constraint="_mgny5tF8EeOHUokOVP95oQ">
    <ruleId>CONF:16343</ruleId>
  </CDA:ConstraintValidation>
  <CDA:PropertyValidation xmi:id="_mgoZ9NF8EeOHUokOVP95oQ" base_Property="_mgny6dF8EeOHUokOVP95oQ">
    <ruleId>CONF:16303</ruleId>
    <ruleId>R2.0=CONF:1098-16303</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_mgoZ9dF8EeOHUokOVP95oQ" base_Property="_mgny69F8EeOHUokOVP95oQ">
    <ruleId>CONF:16304</ruleId>
    <ruleId>R2.0=CONF:1098-16304</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_mgoZ9tF8EeOHUokOVP95oQ" base_Property="_mgny7dF8EeOHUokOVP95oQ">
    <ruleId>CONF:16307</ruleId>
    <ruleId>R2.0=CONF:1098-16307</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_mgoZ99F8EeOHUokOVP95oQ" base_Property="_mgny8NF8EeOHUokOVP95oQ">
    <ruleId>CONF:16345</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_mgoZ-NF8EeOHUokOVP95oQ" code="ASSERTION" displayName="Assertion" base_Property="_mgny8NF8EeOHUokOVP95oQ">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:16346</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_mgoZ-dF8EeOHUokOVP95oQ" base_Property="_mgny8dF8EeOHUokOVP95oQ">
    <ruleId>CONF:16308</ruleId>
    <ruleId>R2.0=CONF:1098-16308</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_mgoZ-tF8EeOHUokOVP95oQ" code="completed" displayName="Completed" base_Property="_mgny8dF8EeOHUokOVP95oQ">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:26354</ruleId>
    <ruleId>R2.0=CONF:1098-26354</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_mgoZ-9F8EeOHUokOVP95oQ" base_Property="_mgny9NF8EeOHUokOVP95oQ">
    <ruleId>CONF:16309</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_mgoZ_NF8EeOHUokOVP95oQ" base_Property="_mgny99F8EeOHUokOVP95oQ">
    <ruleId>CONF:16312</ruleId>
    <ruleId>R2.0=CONF:1098-16312</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_mgoZ_dF8EeOHUokOVP95oQ" base_Property="_mgny99F8EeOHUokOVP95oQ">
    <ruleId>CONF:16317</ruleId>
    <ruleId>R2.0=CONF:1098-16317</ruleId>
    <reference href="../consol-vocab.uml#_i0QFQCXYEeGD8_EQPvfzIQ"/>
  </CDA:ValueSetConstraint>
  <uml:Association xmi:id="_w0KfQNF8EeOHUokOVP95oQ" memberEnd="_w0KfQdF8EeOHUokOVP95oQ">
    <ownedEnd xmi:id="_w0KfQdF8EeOHUokOVP95oQ" type="_mgny4NF8EeOHUokOVP95oQ" isReadOnly="true" association="_w0KfQNF8EeOHUokOVP95oQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_w0LGU9F8EeOHUokOVP95oQ" severity="INFO" base_Association="_w0KfQNF8EeOHUokOVP95oQ" typeCode="SUBJ">
    <ruleId>CONF:16333</ruleId>
    <ruleId>CONF:16335</ruleId>
    <ruleId>CONF:16336</ruleId>
    <ruleId>R2.0=CONF:1098-16333</ruleId>
    <ruleId>R2.0=CONF:1098-16335</ruleId>
    <ruleId>R2.0=CONF:1098-16336</ruleId>
  </CDA:EntryRelationship>
  <uml:Association xmi:id="_xwchUNF8EeOHUokOVP95oQ" memberEnd="_xwchUdF8EeOHUokOVP95oQ">
    <ownedEnd xmi:id="_xwchUdF8EeOHUokOVP95oQ" type="_mgny4NF8EeOHUokOVP95oQ" isReadOnly="true" association="_xwchUNF8EeOHUokOVP95oQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_xwdIYNF8EeOHUokOVP95oQ" severity="WARNING" base_Association="_xwchUNF8EeOHUokOVP95oQ" typeCode="MFST">
    <ruleId>CONF:16337</ruleId>
    <ruleId>CONF:16339</ruleId>
    <ruleId>CONF:16340</ruleId>
  </CDA:EntryRelationship>
  <uml:Association xmi:id="_zb8Z0NF8EeOHUokOVP95oQ" memberEnd="_zb8Z0dF8EeOHUokOVP95oQ">
    <ownedEnd xmi:id="_zb8Z0dF8EeOHUokOVP95oQ" type="_mgny4NF8EeOHUokOVP95oQ" isReadOnly="true" association="_zb8Z0NF8EeOHUokOVP95oQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_zb9A4NF8EeOHUokOVP95oQ" severity="INFO" base_Association="_zb8Z0NF8EeOHUokOVP95oQ" typeCode="SUBJ">
    <ruleId>CONF:16341</ruleId>
    <ruleId>CONF:16342</ruleId>
    <ruleId>CONF:16344</ruleId>
  </CDA:EntryRelationship>
  <uml:Association xmi:id="_CAWowNIdEeO-TcA3qYv-cw" memberEnd="_CAVaoNIdEeO-TcA3qYv-cw _CAXP0NIdEeO-TcA3qYv-cw">
    <ownedEnd xmi:id="_CAXP0NIdEeO-TcA3qYv-cw" type="_mgny4NF8EeOHUokOVP95oQ" isReadOnly="true" association="_CAWowNIdEeO-TcA3qYv-cw"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_KIxhYNIdEeO-TcA3qYv-cw" severity="WARNING" base_Association="_CAWowNIdEeO-TcA3qYv-cw">
    <ruleId>CONF:16318</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_AjdXgNIeEeO-TcA3qYv-cw" base_Property="_v4zYENIdEeO-TcA3qYv-cw">
    <ruleId>CONF:16319</ruleId>
    <ruleId>R2.0=CONF:1098-16319</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_FB4qoNIeEeO-TcA3qYv-cw" memberEnd="_FB4DkNIeEeO-TcA3qYv-cw _FB4qodIeEeO-TcA3qYv-cw">
    <ownedEnd xmi:id="_FB4qodIeEeO-TcA3qYv-cw" type="_cBOJoNIdEeO-TcA3qYv-cw" isReadOnly="true" association="_FB4qoNIeEeO-TcA3qYv-cw"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_HbIZ8NIeEeO-TcA3qYv-cw" base_Association="_FB4qoNIeEeO-TcA3qYv-cw">
    <ruleId>CONF:16320</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_V0yAFNIeEeO-TcA3qYv-cw" base_Property="_V0yAENIeEeO-TcA3qYv-cw">
    <ruleId>CONF:16321</ruleId>
    <ruleId>R2.0=CONF:1098-16321</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_chjaENIeEeO-TcA3qYv-cw" memberEnd="_chiL8NIeEeO-TcA3qYv-cw _chjaEdIeEeO-TcA3qYv-cw">
    <ownedEnd xmi:id="_chjaEdIeEeO-TcA3qYv-cw" type="_PzEVQNIeEeO-TcA3qYv-cw" isReadOnly="true" association="_chjaENIeEeO-TcA3qYv-cw"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_zZy9INIeEeO-TcA3qYv-cw" base_Association="_chjaENIeEeO-TcA3qYv-cw">
    <ruleId>CONF:16322</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_ArBipNIfEeO-TcA3qYv-cw" base_Property="_ArBioNIfEeO-TcA3qYv-cw">
    <ruleId>CONF:16323</ruleId>
    <ruleId>R2.0=CONF:1098-16323</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_FJf5EtIfEeO-TcA3qYv-cw" base_Constraint="_FJf5ENIfEeO-TcA3qYv-cw">
    <ruleId>CONF:16329</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_IX4gotIfEeO-TcA3qYv-cw" severity="WARNING" base_Constraint="_IX4goNIfEeO-TcA3qYv-cw">
    <ruleId>CONF:16328</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_JFlUItIfEeO-TcA3qYv-cw" severity="WARNING" base_Constraint="_JFlUINIfEeO-TcA3qYv-cw">
    <ruleId>CONF:16327</ruleId>
  </CDA:ConstraintValidation>
  <CDA:PropertyValidation xmi:id="_86xHoNIfEeO-TcA3qYv-cw" base_Property="_6NgQINIfEeO-TcA3qYv-cw">
    <ruleId>CONF:16324</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_H48FY9IgEeO-TcA3qYv-cw" severity="WARNING" base_Property="_H48FYNIgEeO-TcA3qYv-cw">
    <ruleId>CONF:16326</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_IvlZg9IgEeO-TcA3qYv-cw" severity="INFO" base_Property="_IvlZgNIgEeO-TcA3qYv-cw">
    <ruleId>CONF:16330</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_Nuttg9JCEeOj_bXCpQOG9w" severity="WARNING" base_Property="_NuttgNJCEeOj_bXCpQOG9w">
    <ruleId>CONF:7424</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_PrSu89JCEeOj_bXCpQOG9w" severity="INFO" base_Property="_PrSu8NJCEeOj_bXCpQOG9w">
    <ruleId>CONF:7431</ruleId>
  </CDA:PropertyValidation>
  <uml:Class xmi:id="_U3yosPDxEeOKPKE9au0oug" clientDependency="_u_JzIPDxEeOKPKE9au0oug" name="ReactionObservation2">
    <ownedComment xmi:id="_clpsQPDxEeOKPKE9au0oug">
      <body>This clinical statement represents the response to an undesired symptom, finding, etc. due to administered or exposed substance. This reaction may be an undesired symptom, finding, etc. or it could be a desired response to a treatment. A reaction can be defined with respect to its severity, and can have been treated by one or more interventions.</body>
    </ownedComment>
    <ownedRule xmi:id="_v-bpYPDyEeOKPKE9au0oug" name="ReactionObservationCodeValueSet">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_v-bpYvDyEeOKPKE9au0oug">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_W4OqcPF1EeOmsLWmq5fnqQ" name="ReactionObservationProcedureActivityProcedureInversionInd">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_W4OqcfF1EeOmsLWmq5fnqQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry ProcedureActivityProcedure2 SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.procedure.oclIsTypeOf(consol::ProcedureActivityProcedure2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_KcqFIPF2EeOmsLWmq5fnqQ" name="ReactionObservationMedicationActivityInversionInd">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_KcqFIfF2EeOmsLWmq5fnqQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry MedicationActivity2 SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.substanceAdministration.oclIsTypeOf(consol::MedicationActivity2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_4djbEPijEeOXlK95I8tUew" name="ReactionObservationSeverityObservationInversionInd">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4djbEfijEeOXlK95I8tUew">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation (V2) SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; TRUE</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_GkKNYMzfEeSLqosJ4F90vA" name="ReactionObservationTextReference" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_GkKNYczfEeSLqosJ4F90vA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_JDYB0MzfEeSLqosJ4F90vA" name="ReactionObservationTextReferenceValue" constrainedElement="_gBlYICKdEeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_JDYB0czfEeSLqosJ4F90vA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_K2vc4MzfEeSLqosJ4F90vA" name="ReactionObservationReferenceValue" constrainedElement="_2E_aIRSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_K2vc4czfEeSLqosJ4F90vA">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zfzz8LbPEeWQ25S2Lv5Ssw" name="ReactionObservationTemplateId" constrainedElement="_U3yosPDxEeOKPKE9au0oug">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zfzz8bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.9' and id.extension = '2014-06-09')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zf-MALbPEeWQ25S2Lv5Ssw" name="ReactionObservationCodeP" constrainedElement="_QhJjIPDyEeOKPKE9au0oug">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zf-MAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zf7IsLbPEeWQ25S2Lv5Ssw" name="ReactionObservationCode" constrainedElement="_QhJjIPDyEeOKPKE9au0oug">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zf7IsbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZgAoQLbPEeWQ25S2Lv5Ssw" name="ReactionObservationId" constrainedElement="_B1Q8sMzcEeSLqosJ4F90vA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZgAoQbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.id->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZgCdcLbPEeWQ25S2Lv5Ssw" name="ReactionObservationText" constrainedElement="_c7bRsMzcEeSLqosJ4F90vA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZgCdcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>((not self.text.oclIsUndefined()) and self.text.isNullFlavorUndefined()) implies (true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZgGu4LbPEeWQ25S2Lv5Ssw" name="ReactionObservationStatusCodeP" constrainedElement="_xsMx8MzcEeSLqosJ4F90vA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZgGu4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZgDrkLbPEeWQ25S2Lv5Ssw" name="ReactionObservationStatusCode" constrainedElement="_xsMx8MzcEeSLqosJ4F90vA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZgDrkbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_iiXZkLbPEeWQ25S2Lv5Ssw" name="ReactionObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpCXMLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_iiXZkbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation2::ProcedureActivityProcedure2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ijSmoLbPEeWQ25S2Lv5Ssw" name="ReactionObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpHPsLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ijSmobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation2::MedicationActivity2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ikeSYLbPEeWQ25S2Lv5Ssw" name="ReactionObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpLhILS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ikeSYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::ReactionObservation2::SeverityObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_U3yosfDxEeOKPKE9au0oug" general="_2E_aIRSVEeGGzu7fmW9pXw"/>
    <substitution xmi:id="_u_JzIPDxEeOKPKE9au0oug" name="ReactionObservation" client="_U3yosPDxEeOKPKE9au0oug" supplier="_2E_aIRSVEeGGzu7fmW9pXw" contract="_2E_aIRSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="_QhJjIPDyEeOKPKE9au0oug" name="code" visibility="private" isReadOnly="true" redefinedProperty="_2FBPVRSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_B1Q8sMzcEeSLqosJ4F90vA" name="id" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_2FBPUBSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_culQ8DxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DAziwczcEeSLqosJ4F90vA" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DAziwMzcEeSLqosJ4F90vA" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_c7bRsMzcEeSLqosJ4F90vA" name="text" visibility="private" isReadOnly="true" redefinedProperty="_2FDEgBSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c7bRsczcEeSLqosJ4F90vA"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_c7bRsszcEeSLqosJ4F90vA" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_xsMx8MzcEeSLqosJ4F90vA" name="statusCode" visibility="private" isReadOnly="true" redefinedProperty="_2FDrkRSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fpCXMbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fpBJELS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpCXMrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpCXM7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fpCXMLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fpHPsbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fpFagLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpHPsrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpHPs7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fpHPsLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fpLhIbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fpKTALS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpLhIrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpLhI7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fpLhILS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fpBJELS6EeWcPq3zAthoUQ" name="ProcedureActivityProcedure2EntryRelationship">
      <ownedRule xmi:id="_ii0FgLbPEeWQ25S2Lv5Ssw" name="ReactionObservation2ProcedureActivityProcedure2EntryRelationshipProcedureActivityProcedure2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpEMYLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ii0FgbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.procedure->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fpBJEbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fpEMYbS6EeWcPq3zAthoUQ" name="procedureActivityProcedure2" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="consol-procedures.uml#_fCVOQPDqEeOKPKE9au0oug"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpEMYrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpEMY7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_MpocMUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fpEMYLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fpFagLS6EeWcPq3zAthoUQ" name="MedicationActivity2EntryRelationship">
      <ownedRule xmi:id="_ijwgsLbPEeWQ25S2Lv5Ssw" name="ReactionObservation2MedicationActivity2EntryRelationshipMedicationActivity2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpJE4LS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ijwgsbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.substanceAdministration->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fpFagbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fpJE4bS6EeWcPq3zAthoUQ" name="medicationActivity2" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="consol-medications.uml#_WnSCMOLAEeOc7-TVP7Wi6w"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpJE4rS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpJE47S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_Px50sUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fpJE4LS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fpKTALS6EeWcPq3zAthoUQ" name="SeverityObservation2EntryRelationship">
      <ownedRule xmi:id="_ik4iELbPEeWQ25S2Lv5Ssw" name="ReactionObservation2SeverityObservation2EntryRelationshipSeverityObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpNWULS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ik5JILbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fpKTAbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fpNWUbS6EeWcPq3zAthoUQ" name="severityObservation2" type="_B0oKYPJdEeO2NaSiicarcg" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpNWUrS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpNWU7S6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fpNWULS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_XSaRAPDxEeOKPKE9au0oug" base_Class="_U3yosPDxEeOKPKE9au0oug" templateId="2.16.840.1.113883.10.20.22.4.9" templateVersion="2014-06-09">
    <ruleId>CONF:1098-7323</ruleId>
    <ruleId>CONF:1098-10523</ruleId>
    <ruleId>CONF:1098-32504</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_snq-YPDxEeOKPKE9au0oug" base_Generalization="_U3yosfDxEeOKPKE9au0oug"/>
  <CDA:PropertyValidation xmi:id="_QhKKMPDyEeOKPKE9au0oug" base_Property="_QhJjIPDyEeOKPKE9au0oug">
    <ruleId>CONF:1098-16851</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_UA4ZYPDyEeOKPKE9au0oug" code="ASSERTION" base_Property="_QhJjIPDyEeOKPKE9au0oug">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-31124</ruleId>
    <ruleId>CONF:1098-32169</ruleId>
  </CDA:CodeSystemConstraint>
  <uml:Association xmi:id="_gULc8PF0EeOmsLWmq5fnqQ" memberEnd="_gUMEAPF0EeOmsLWmq5fnqQ">
    <ownedComment xmi:id="_Hw3NQPF2EeOmsLWmq5fnqQ">
      <body>This procedure activity is intended to contain information about procedures that were performed in response to an allergy reaction.</body>
    </ownedComment>
    <ownedEnd xmi:id="_gUMEAPF0EeOmsLWmq5fnqQ" type="_U3yosPDxEeOKPKE9au0oug" isReadOnly="true" association="_gULc8PF0EeOmsLWmq5fnqQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_nsoRMPF0EeOmsLWmq5fnqQ" severity="INFO" base_Association="_gULc8PF0EeOmsLWmq5fnqQ" typeCode="RSON">
    <ruleId>CONF:1098-7337</ruleId>
    <ruleId>CONF:1098-7338</ruleId>
    <ruleId>CONF:1098-15920</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_W4OqcvF1EeOmsLWmq5fnqQ" base_Constraint="_W4OqcPF1EeOmsLWmq5fnqQ">
    <ruleId>CONF:1098-7343</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_uxp9sPF1EeOmsLWmq5fnqQ" memberEnd="_uxp9sfF1EeOmsLWmq5fnqQ">
    <ownedComment xmi:id="_A-HuIPF2EeOmsLWmq5fnqQ">
      <body>This medication activity is intended to contain information about medications that were administered in response to an allergy reaction.</body>
    </ownedComment>
    <ownedEnd xmi:id="_uxp9sfF1EeOmsLWmq5fnqQ" type="_U3yosPDxEeOKPKE9au0oug" isReadOnly="true" association="_uxp9sPF1EeOmsLWmq5fnqQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_0ospkPF1EeOmsLWmq5fnqQ" severity="INFO" base_Association="_uxp9sPF1EeOmsLWmq5fnqQ" typeCode="RSON">
    <ruleId>CONF:1098-7340</ruleId>
    <ruleId>CONF:1098-7341</ruleId>
    <ruleId>CONF:1098-15921</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_KcqFIvF2EeOmsLWmq5fnqQ" base_Constraint="_KcqFIPF2EeOmsLWmq5fnqQ">
    <ruleId>CONF:1098-7344</ruleId>
  </CDA:ConstraintValidation>
  <uml:Class xmi:id="_B0oKYPJdEeO2NaSiicarcg" clientDependency="_d5jNsPJdEeO2NaSiicarcg" name="SeverityObservation2">
    <ownedComment xmi:id="_HSh9gPJdEeO2NaSiicarcg">
      <body>This clinical statement represents the gravity of the problem, such as allergy or reaction, in terms of its actual or potential impact on the patient. The Severity Observation can be associated with an Allergy - Intolerance Observation, Substance or Device Allergy - Intolerance Observation, Reaction Observation or all. When the Severity Observation is associated directly with an allergy it characterizes the allergy. When the Severity Observation is associated with a Reaction Observation it characterizes a reaction. A person may manifest many symptoms in a reaction to a single substance, and each reaction to the substance can be represented. However, each reaction observation can have only one severity observation associated with it. For example, someone may have a rash reaction observation as well as an itching reaction observation, but each can have only one level of severity.</body>
    </ownedComment>
    <ownedRule xmi:id="_Q6hswM26EeSEZ8MJJ3ZzLg" name="SeverityObservationTextReference" constrainedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Q6hswc26EeSEZ8MJJ3ZzLg">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_SS-tcM26EeSEZ8MJJ3ZzLg" name="SeverityObservationTextReferenceValue" constrainedElement="_sBN0ECK3EeG9m6LRl9ardQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_SS-tcc26EeSEZ8MJJ3ZzLg">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Tnvg8M26EeSEZ8MJJ3ZzLg" name="SeverityObservationReferenceValue" constrainedElement="_2FGu4hSVEeGGzu7fmW9pXw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Tnvg8c26EeSEZ8MJJ3ZzLg">
        <language>Analysis</language>
        <language>OCL</language>
        <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
        <body>true</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZhoY4LbPEeWQ25S2Lv5Ssw" name="SeverityObservationTemplateId" constrainedElement="_B0oKYPJdEeO2NaSiicarcg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZhoY4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.8' and id.extension = '2014-06-09')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZhvtoLbPEeWQ25S2Lv5Ssw" name="SeverityObservationCodeP" constrainedElement="__Z27oPJdEeO2NaSiicarcg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZhvtobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZhsqULbPEeWQ25S2Lv5Ssw" name="SeverityObservationCode" constrainedElement="__Z27oPJdEeO2NaSiicarcg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZhsqUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'SEV' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZhyJ4LbPEeWQ25S2Lv5Ssw" name="SeverityObservationText" constrainedElement="_LNTEMM26EeSEZ8MJJ3ZzLg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZhyJ4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>((not self.text.oclIsUndefined()) and self.text.isNullFlavorUndefined()) implies (true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zh3pcLbPEeWQ25S2Lv5Ssw" name="SeverityObservationStatusCodeP" constrainedElement="_tlNvkM26EeSEZ8MJJ3ZzLg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zh3pcbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zhz_ELbPEeWQ25S2Lv5Ssw" name="SeverityObservationStatusCode" constrainedElement="_tlNvkM26EeSEZ8MJJ3ZzLg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zhz_EbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and 
let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in 
value.code = 'completed'</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_B0p_kPJdEeO2NaSiicarcg" general="_2FGu4hSVEeGGzu7fmW9pXw"/>
    <substitution xmi:id="_d5jNsPJdEeO2NaSiicarcg" name="SeverityObservation" client="_B0oKYPJdEeO2NaSiicarcg" supplier="_2FGu4hSVEeGGzu7fmW9pXw" contract="_2FGu4hSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="__Z27oPJdEeO2NaSiicarcg" name="code" visibility="private" isReadOnly="true" redefinedProperty="_2FLAUxSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_LNTEMM26EeSEZ8MJJ3ZzLg" name="text" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_2FGu5xSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LNTEMc26EeSEZ8MJJ3ZzLg"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LNTEMs26EeSEZ8MJJ3ZzLg" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_tlNvkM26EeSEZ8MJJ3ZzLg" name="statusCode" visibility="private" isReadOnly="true" redefinedProperty="_2FM1gBSVEeGGzu7fmW9pXw">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_iYn74D55Ed6cla2oXsPtlA"/>
    </ownedAttribute>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_E9Cs0PJdEeO2NaSiicarcg" base_Class="_B0oKYPJdEeO2NaSiicarcg" templateId="2.16.840.1.113883.10.20.22.4.8" templateVersion="2014-06-09">
    <ruleId>CONF:1098-7347</ruleId>
    <ruleId>CONF:1098-10525</ruleId>
    <ruleId>CONF:1098-32577</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_b1UFEPJdEeO2NaSiicarcg" base_Generalization="_B0p_kPJdEeO2NaSiicarcg"/>
  <CDA:CodeSystemConstraint xmi:id="__Z3isPJdEeO2NaSiicarcg" code="SEV" displayName="Severity" base_Property="__Z27oPJdEeO2NaSiicarcg">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-19169</ruleId>
    <ruleId>CONF:1098-32170</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_AtP2IPJeEeO2NaSiicarcg" base_Property="__Z27oPJdEeO2NaSiicarcg">
    <ruleId>CONF:1098-19168</ruleId>
  </CDA:PropertyValidation>
  <uml:Class xmi:id="_K3M6IPKJEeOn7bMsPcStOw" clientDependency="_TbnyQPKJEeOn7bMsPcStOw" name="SubstanceOrDeviceAllergyObservation2">
    <ownedComment xmi:id="_RG4IcPKJEeOn7bMsPcStOw">
      <body>This template reflects a discrete observation about a patient's allergy or intolerance to a substance or device. Because it is a discrete observation, it will have a statusCode of &quot;completed&quot;. The effectiveTime, also referred to as the &quot;biologically relevant time&quot; is the time at which the observation holds for the patient. For a provider seeing a patient in the clinic today, observing a history of penicillin allergy that developed five years ago, the effectiveTime is five years ago. &#xD;
The effectiveTime of the Substance or Device Allergy - Intolerance Observation is the definitive indication of whether or not the underlying allergy/intolerance is resolved. If known to be resolved, then an effectiveTime/high would be present. If the date of resolution is not known, then effectiveTime/high will be present with a nullFlavor of &quot;UNK&quot;.</body>
    </ownedComment>
    <ownedRule xmi:id="_KLMTAPMpEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationReactionInversionIndicator">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_KLMTAfMpEeOrR8IF-aqVyQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Reaction Observation (V2) SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ReactionObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_MNuWAPMqEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationSeverityInversionIndicator" constrainedElement="_mgny4NF8EeOHUokOVP95oQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_MNuWAfMqEeOrR8IF-aqVyQ">
        <language>Analysis</language>
        <language>OCL</language>
        <body>entryRelationship with target entry Severity Observation (V2) SHALL contain exactly one [1..1] @inversionInd=&quot;true&quot; True</body>
        <body>self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zi150LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationTemplateId" constrainedElement="_K3M6IPKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zi2g4LbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.24.3.90' and id.extension = '2014-06-09')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zi5kMLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationEffectiveTime" constrainedElement="_dvvGYPKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zi5kMbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.effectiveTime.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZjHmoLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationValueP" constrainedElement="_dvwUgPKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjHmobbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.value->isEmpty()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zi8ngLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationValue" constrainedElement="_dvwUgPKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zi8ngbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = element.oclAsType(datatypes::CD) in 
value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZjLRALbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationCodeP" constrainedElement="_dvqN4PKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjLRAbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZjI0wLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationCode" constrainedElement="_dvqN4PKJEeOn7bMsPcStOw">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjI0wbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and 
let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 
value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZjahkLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipant" constrainedElement="_4B3U8PMOEeOrR8IF-aqVyQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjahkbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->size() >= 0</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZkhU0LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2AuthorParticipation" constrainedElement="_ynKgoPMrEeOrR8IF-aqVyQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZkhU0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.author->select(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation))->size() >= 0</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_il-uQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpVSILS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_il-uQbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2::ReactionObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_inWnQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2EntryRelationship">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpaxsLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_inWnQbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2::SeverityObservation2EntryRelationship))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_K3PWYPKJEeOn7bMsPcStOw" general="_mgny4NF8EeOHUokOVP95oQ"/>
    <substitution xmi:id="_TbnyQPKJEeOn7bMsPcStOw" name="SubstanceOrDeviceAllergyObservation" client="_K3M6IPKJEeOn7bMsPcStOw" supplier="_mgny4NF8EeOHUokOVP95oQ" contract="_mgny4NF8EeOHUokOVP95oQ"/>
    <ownedAttribute xmi:id="_dvvGYPKJEeOn7bMsPcStOw" name="effectiveTime" visibility="private" type="_nVjxIPKJEeOn7bMsPcStOw" isReadOnly="true" aggregation="composite" redefinedProperty="_mgny9NF8EeOHUokOVP95oQ">
      <ownedComment xmi:id="_lvcH4PKJEeOn7bMsPcStOw">
        <body>Note: The effectiveTime/low (a.k.a. &quot;onset date&quot;) asserts when the allergy/intolerance became biologically active. The effectiveTime/high (a.k.a. &quot;resolution date&quot;) asserts when the allergy/intolerance became biologically resolved.&#xD;


If the allergy/intolerance is known to be resolved, but the date of resolution is not known, then the high element SHALL be present, and the nullFlavor attribute SHALL be set to 'UNK'.</body>
      </ownedComment>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dvvGYvKJEeOn7bMsPcStOw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dvvGYfKJEeOn7bMsPcStOw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_dvwUgPKJEeOn7bMsPcStOw" name="value" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_mgny99F8EeOHUokOVP95oQ">
      <ownedComment xmi:id="_5UBh0PKJEeOn7bMsPcStOw">
        <body>Note: Many systems will simply assign a fixed value here (e.g., &quot;allergy to substance&quot;).</body>
      </ownedComment>
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dvwUgvKJEeOn7bMsPcStOw" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dvwUgfKJEeOn7bMsPcStOw" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_dvqN4PKJEeOn7bMsPcStOw" name="code" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_mgny8NF8EeOHUokOVP95oQ">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_4BzDgPMOEeOrR8IF-aqVyQ" name="participant" type="_DyEzoPMPEeOrR8IF-aqVyQ" isReadOnly="true" redefinedProperty="_CAVaoNIdEeO-TcA3qYv-cw" association="_4B3U8PMOEeOrR8IF-aqVyQ">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B2G0PMOEeOrR8IF-aqVyQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B2G0fMOEeOrR8IF-aqVyQ" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_ynIrcPMrEeOrR8IF-aqVyQ" name="authorParticipation" isReadOnly="true" association="_ynKgoPMrEeOrR8IF-aqVyQ">
      <type xmi:type="uml:Class" href="consol-other.uml#_7jqj4KrlEeOxqJAXCMXUYg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ynIrcfMrEeOrR8IF-aqVyQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ynIrcvMrEeOrR8IF-aqVyQ" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fpV5MLS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fpUEALS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpV5MbS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpV5MrS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fpVSILS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fpaxsbS6EeWcPq3zAthoUQ" name="entryRelationship" type="_fpY8gLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpaxsrS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpaxs7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_EV7mkUxqEd6h-an5IXo-DA"/>
      <association href="../consol.uml#_fpaxsLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_nVjxIPKJEeOn7bMsPcStOw" name="IVLTS">
      <ownedComment xmi:id="_AJnxUPMyEeOUvapeh9bVvQ">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_ZjNtQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2IVLTSLow" constrainedElement="_nzKTI_KJEeOn7bMsPcStOw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjNtQbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (not self.low.oclIsUndefined() ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_ZjO7YLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2IVLTSHigh" constrainedElement="_nzKTIPKJEeOn7bMsPcStOw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjO7YbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body> ( self.isNullFlavorUndefined() implies (((not self.high.oclIsUndefined()) and self.high.isNullFlavorUndefined()) implies (not self.high.oclIsUndefined()) ))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_nVkYMPKJEeOn7bMsPcStOw">
        <general xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_QYeW4D5-Ed6cla2oXsPtlA"/>
      </generalization>
      <ownedAttribute xmi:id="_nzKTI_KJEeOn7bMsPcStOw" name="low" visibility="private" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_BY5uUD6AEd6cla2oXsPtlA"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rDeNUfKJEeOn7bMsPcStOw" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rDeNUPKJEeOn7bMsPcStOw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_fmxbID6AEd6cla2oXsPtlA"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_nzKTIPKJEeOn7bMsPcStOw" name="high" visibility="private" isReadOnly="true" aggregation="composite">
        <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_BY5uUD6AEd6cla2oXsPtlA"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nzKTIvKJEeOn7bMsPcStOw"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nzKTIfKJEeOn7bMsPcStOw" value="1"/>
        <redefinedProperty href="pathmap://DATATYPES_MODEL/datatypes.uml#_jfCGID6AEd6cla2oXsPtlA"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_DyEzoPMPEeOrR8IF-aqVyQ" name="Participant">
      <ownedComment xmi:id="_FmvPMPMPEeOrR8IF-aqVyQ">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_ZjxG4LbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRole">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_mXONQPMQEeOrR8IF-aqVyQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjxG4bbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2::Participant::ParticipantRole))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_DyEzofMPEeOrR8IF-aqVyQ" general="_cBOJoNIdEeO-TcA3qYv-cw"/>
      <ownedAttribute xmi:id="_mXMYEPMQEeOrR8IF-aqVyQ" name="participantRole" visibility="private" type="_2SYCYPMQEeOrR8IF-aqVyQ" isReadOnly="true" aggregation="composite" redefinedProperty="_FB4DkNIeEeO-TcA3qYv-cw">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mXMYEvMQEeOrR8IF-aqVyQ" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mXMYEfMQEeOrR8IF-aqVyQ" value="1"/>
        <association href="../consol.uml#_mXONQPMQEeOrR8IF-aqVyQ"/>
      </ownedAttribute>
      <nestedClassifier xmi:type="uml:Class" xmi:id="_2SYCYPMQEeOrR8IF-aqVyQ" name="ParticipantRole">
        <ownedRule xmi:id="_ZkI6ULbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity">
          <constrainedElement xmi:type="uml:Association" href="../consol.uml#_42BD0PMQEeOrR8IF-aqVyQ"/>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZkI6UbbPEeWQ25S2Lv5Ssw">
            <language>OCL</language>
            <body>self.playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2::Participant::ParticipantRole::PlayingEntity))</body>
          </specification>
        </ownedRule>
        <generalization xmi:id="_2SYpcPMQEeOrR8IF-aqVyQ" general="_PzEVQNIeEeO-TcA3qYv-cw"/>
        <ownedAttribute xmi:id="_41_OoPMQEeOrR8IF-aqVyQ" name="playingEntity" type="_DutrsPMREeOrR8IF-aqVyQ" isReadOnly="true" redefinedProperty="_chiL8NIeEeO-TcA3qYv-cw">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_41_OovMQEeOrR8IF-aqVyQ" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_41_OofMQEeOrR8IF-aqVyQ" value="1"/>
          <association href="../consol.uml#_42BD0PMQEeOrR8IF-aqVyQ"/>
        </ownedAttribute>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_DutrsPMREeOrR8IF-aqVyQ" name="PlayingEntity">
          <ownedRule xmi:id="_Hf2KQPMtEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_Hf2KQvMtEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_2QlMcPMtEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_2QlMcfMtEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_DJD6wPMuEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_DJD6wfMuEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_OlAZoPMuEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_OlAZofMuEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_tovXcPMuEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_tovXcvMuEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_v4cwQPMuEeOrR8IF-aqVyQ" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_v4cwQvMuEeOrR8IF-aqVyQ">
              <language>Analysis</language>
              <language>OCL</language>
              <body>This constraint is being overridden as it has been removed in v2 and should never fire</body>
              <body>true</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:id="_ZjVCALbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode" constrainedElement="_EuBMkPMREeOrR8IF-aqVyQ">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjVCAbbPEeWQ25S2Lv5Ssw">
              <language>OCL</language>
              <body>not self.code.oclIsUndefined()</body>
            </specification>
          </ownedRule>
          <generalization xmi:id="_DutrsfMREeOrR8IF-aqVyQ" general="_3jqVgNIeEeO-TcA3qYv-cw"/>
          <ownedAttribute xmi:id="_EuBMkPMREeOrR8IF-aqVyQ" name="code" visibility="private" type="_ceo4YPMtEeOrR8IF-aqVyQ" isReadOnly="true" aggregation="composite" redefinedProperty="_6NgQINIfEeO-TcA3qYv-cw">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EuBMkvMREeOrR8IF-aqVyQ" value="1"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EuBMkfMREeOrR8IF-aqVyQ" value="1"/>
          </ownedAttribute>
          <nestedClassifier xmi:type="uml:Class" xmi:id="_ceo4YPMtEeOrR8IF-aqVyQ" name="CE">
            <ownedRule xmi:id="_ZjXeQLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText" constrainedElement="_doXgkPMtEeOrR8IF-aqVyQ">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjXeQbbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.originalText.oclIsUndefined()) and self.originalText.isNullFlavorUndefined()) implies (true) ))</body>
              </specification>
            </ownedRule>
            <ownedRule xmi:id="_ZjYFUbbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation" constrainedElement="_WtnfgPMuEeOrR8IF-aqVyQ">
              <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZjYFUrbPEeWQ25S2Lv5Ssw">
                <language>OCL</language>
                <body> ( self.isNullFlavorUndefined() implies (((not self.translation->isEmpty()) and self.translation->exists(element | element.isNullFlavorUndefined())) implies (true) ))</body>
              </specification>
            </ownedRule>
            <generalization xmi:id="_ceqtkPMtEeOrR8IF-aqVyQ" general="_DNj7YNIgEeO-TcA3qYv-cw"/>
            <ownedAttribute xmi:id="_doXgkPMtEeOrR8IF-aqVyQ" name="originalText" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_H48FYNIgEeO-TcA3qYv-cw">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_CowXkDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_doXgkvMtEeOrR8IF-aqVyQ"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_doXgkfMtEeOrR8IF-aqVyQ" value="1"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_WtnfgPMuEeOrR8IF-aqVyQ" name="translation" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_IvlZgNIgEeO-TcA3qYv-cw">
              <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_VKl7EDxaEd6JwqSGecoePg"/>
              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WtnfgvMuEeOrR8IF-aqVyQ"/>
              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WtnfgfMuEeOrR8IF-aqVyQ" value="*"/>
            </ownedAttribute>
          </nestedClassifier>
        </nestedClassifier>
      </nestedClassifier>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fpUEALS6EeWcPq3zAthoUQ" name="ReactionObservation2EntryRelationship">
      <ownedRule xmi:id="_imo1kLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2ReactionObservation2EntryRelationshipReactionObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpXHULS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_impcoLbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fpUEAbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fpXuYLS6EeWcPq3zAthoUQ" name="reactionObservation2" type="_U3yosPDxEeOKPKE9au0oug" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpXuYbS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpXuYrS6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fpXHULS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fpY8gLS6EeWcPq3zAthoUQ" name="SeverityObservation2EntryRelationship">
      <ownedRule xmi:id="_ioAHgLbPEeWQ25S2Lv5Ssw" name="SubstanceOrDeviceAllergyObservation2SeverityObservation2EntryRelationshipSeverityObservation2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fpcm4LS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_ioAHgbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.observation->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fpY8gbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="../../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_BoxMQEcFEd6besF9iFIJkQ"/>
      </generalization>
      <ownedAttribute xmi:id="_fpcm4bS6EeWcPq3zAthoUQ" name="severityObservation2" type="_B0oKYPJdEeO2NaSiicarcg" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpcm4rS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpcm47S6EeWcPq3zAthoUQ" value="1"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_VmlJEUcGEd6besF9iFIJkQ"/>
        <association href="../consol.uml#_fpcm4LS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_Ok8XMPKJEeOn7bMsPcStOw" base_Class="_K3M6IPKJEeOn7bMsPcStOw" templateId="2.16.840.1.113883.10.20.24.3.90" templateVersion="2014-06-09">
    <ruleId>CONF:1098-16305</ruleId>
    <ruleId>CONF:1098-16306</ruleId>
    <ruleId>CONF:1098-32527</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_RubQoPKJEeOn7bMsPcStOw" base_Generalization="_K3PWYPKJEeOn7bMsPcStOw"/>
  <CDA:PropertyValidation xmi:id="_dvq08PKJEeOn7bMsPcStOw" base_Property="_dvqN4PKJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-16345</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_dvrcAPKJEeOn7bMsPcStOw" code="ASSERTION" displayName="Assertion" base_Property="_dvqN4PKJEeOn7bMsPcStOw">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-16346</ruleId>
    <ruleId>CONF:1098-32171</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_dvvtcPKJEeOn7bMsPcStOw" base_Property="_dvvGYPKJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-16309</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_dvwUg_KJEeOn7bMsPcStOw" message="Consol Substance Or Device Allergy Observation2 SHALL contain exactly one [1..1] value with @xsi:type=&quot;CD&quot;. This value SHALL contain exactly one [1..1] @code, which SHALL be selected from ValueSet Allergy/Adverse Event Type Value Set 2.16.840.1.113883.3.88.12.3221.6.2 DYNAMIC" base_Property="_dvwUgPKJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-16312</ruleId>
  </CDA:PropertyValidation>
  <CDA:ValueSetConstraint xmi:id="_dvw7kPKJEeOn7bMsPcStOw" base_Property="_dvwUgPKJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-16317</ruleId>
    <reference href="../consol-vocab.uml#_i0QFQCXYEeGD8_EQPvfzIQ"/>
  </CDA:ValueSetConstraint>
  <CDA:PropertyValidation xmi:id="_rWlWkPKJEeOn7bMsPcStOw" base_Property="_nzKTI_KJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-31536</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_r8b1oPKJEeOn7bMsPcStOw" severity="INFO" base_Property="_nzKTIPKJEeOn7bMsPcStOw">
    <ruleId>CONF:1098-31537</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_4B3U8PMOEeOrR8IF-aqVyQ" memberEnd="_4BzDgPMOEeOrR8IF-aqVyQ _4B3U8fMOEeOrR8IF-aqVyQ">
    <ownedEnd xmi:id="_4B3U8fMOEeOrR8IF-aqVyQ" type="_K3M6IPKJEeOn7bMsPcStOw" isReadOnly="true" association="_4B3U8PMOEeOrR8IF-aqVyQ"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_7gXcIPMOEeOrR8IF-aqVyQ" severity="WARNING" base_Association="_4B3U8PMOEeOrR8IF-aqVyQ">
    <ruleId>CONF:1098-16318</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_EuBMk_MREeOrR8IF-aqVyQ" base_Property="_EuBMkPMREeOrR8IF-aqVyQ">
    <ruleId>CONF:1098-16324</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_zLuGkPMoEeOrR8IF-aqVyQ" memberEnd="_zLutoPMoEeOrR8IF-aqVyQ">
    <ownedEnd xmi:id="_zLutoPMoEeOrR8IF-aqVyQ" type="_K3M6IPKJEeOn7bMsPcStOw" isReadOnly="true" association="_zLuGkPMoEeOrR8IF-aqVyQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_2lxyoPMoEeOrR8IF-aqVyQ" severity="WARNING" base_Association="_zLuGkPMoEeOrR8IF-aqVyQ" typeCode="MFST">
    <ruleId>CONF:1098-16337</ruleId>
    <ruleId>CONF:1098-16339</ruleId>
    <ruleId>CONF:1098-16340</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_KLMTAvMpEeOrR8IF-aqVyQ" base_Constraint="_KLMTAPMpEeOrR8IF-aqVyQ">
    <ruleId>CONF:1098-16338</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_v9yVgPMpEeOrR8IF-aqVyQ" memberEnd="_v9yVgfMpEeOrR8IF-aqVyQ">
    <ownedEnd xmi:id="_v9yVgfMpEeOrR8IF-aqVyQ" type="_K3M6IPKJEeOn7bMsPcStOw" isReadOnly="true" association="_v9yVgPMpEeOrR8IF-aqVyQ"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_2yDeoPMpEeOrR8IF-aqVyQ" severity="INFO" base_Association="_v9yVgPMpEeOrR8IF-aqVyQ" typeCode="SUBJ">
    <ruleId>CONF:1098-16341</ruleId>
    <ruleId>CONF:1098-16342</ruleId>
    <ruleId>CONF:1098-16344</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_MNuWAvMqEeOrR8IF-aqVyQ" base_Constraint="_MNuWAPMqEeOrR8IF-aqVyQ">
    <ruleId>CONF:1098-16343</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_ynKgoPMrEeOrR8IF-aqVyQ" memberEnd="_ynIrcPMrEeOrR8IF-aqVyQ _ynKgofMrEeOrR8IF-aqVyQ">
    <ownedEnd xmi:id="_ynKgofMrEeOrR8IF-aqVyQ" type="_K3M6IPKJEeOn7bMsPcStOw" isReadOnly="true" association="_ynKgoPMrEeOrR8IF-aqVyQ"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_0_MvAPMrEeOrR8IF-aqVyQ" severity="WARNING" base_Association="_ynKgoPMrEeOrR8IF-aqVyQ">
    <ruleId>CONF:1098-31144</ruleId>
  </CDA:AssociationValidation>
  <uml:Association xmi:id="_K9gkwPffEeO297ryy8ptVg" memberEnd="_K9gkwfffEeO297ryy8ptVg">
    <ownedEnd xmi:id="_K9gkwfffEeO297ryy8ptVg" type="_uCiIYLNwEeOtlapy2HWYww" isReadOnly="true" association="_K9gkwPffEeO297ryy8ptVg"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_QluKcPffEeO297ryy8ptVg" base_Association="_K9gkwPffEeO297ryy8ptVg" typeCode="SUBJ">
    <ruleId>CONF:1198-7509, CONF:1198-7915, CONF:1198-14925</ruleId>
  </CDA:EntryRelationship>
  <uml:Association xmi:id="_c0oBMPfoEeO297ryy8ptVg" memberEnd="_c0oBMffoEeO297ryy8ptVg">
    <ownedEnd xmi:id="_c0oBMffoEeO297ryy8ptVg" type="_uVJogLj5EeODDJAC5t5vpw" isReadOnly="true" association="_c0oBMPfoEeO297ryy8ptVg"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_jLhR0PfoEeO297ryy8ptVg" severity="WARNING" base_Association="_c0oBMPfoEeO297ryy8ptVg" typeCode="MFST">
    <ruleId>CONF:1098-7447</ruleId>
    <ruleId>CONF:1098-7907</ruleId>
    <ruleId>CONF:1098-15955</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_YbNUcvfpEeO297ryy8ptVg" base_Constraint="_YbNUcPfpEeO297ryy8ptVg">
    <ruleId>CONF:1098-7449</ruleId>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_uBVvYvfpEeO297ryy8ptVg" base_Constraint="_uBVvYPfpEeO297ryy8ptVg">
    <ruleId>CONF:1098-9964</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_5r6gIPfpEeO297ryy8ptVg" memberEnd="_5r6gIffpEeO297ryy8ptVg">
    <ownedEnd xmi:id="_5r6gIffpEeO297ryy8ptVg" type="_uVJogLj5EeODDJAC5t5vpw" isReadOnly="true" association="_5r6gIPfpEeO297ryy8ptVg"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_-N9H8PfpEeO297ryy8ptVg" severity="INFO" base_Association="_5r6gIPfpEeO297ryy8ptVg" typeCode="SUBJ">
    <ruleId>CONF:1098-9961</ruleId>
    <ruleId>CONF:1098-9962</ruleId>
    <ruleId>CONF:1098-15956</ruleId>
  </CDA:EntryRelationship>
  <uml:Association xmi:id="_hOWwkPijEeOXlK95I8tUew" memberEnd="_hOWwkfijEeOXlK95I8tUew">
    <ownedEnd xmi:id="_hOWwkfijEeOXlK95I8tUew" type="_U3yosPDxEeOKPKE9au0oug" isReadOnly="true" association="_hOWwkPijEeOXlK95I8tUew"/>
  </uml:Association>
  <CDA:EntryRelationship xmi:id="_jVCJMPijEeOXlK95I8tUew" severity="INFO" base_Association="_hOWwkPijEeOXlK95I8tUew" typeCode="SUBJ">
    <ruleId>CONF:1098-7580</ruleId>
    <ruleId>CONF:1098-7581</ruleId>
    <ruleId>CONF:1098-15922</ruleId>
  </CDA:EntryRelationship>
  <CDA:ConstraintValidation xmi:id="_4dkCIPijEeOXlK95I8tUew" base_Constraint="_4djbEPijEeOXlK95I8tUew">
    <ruleId>CONF:1098-10375</ruleId>
  </CDA:ConstraintValidation>
  <uml:Association xmi:id="_EB7dAPrwEeO3D4OxHxUkag" memberEnd="_EB6O4PrwEeO3D4OxHxUkag _EB8EEPrwEeO3D4OxHxUkag">
    <ownedEnd xmi:id="_EB8EEPrwEeO3D4OxHxUkag" type="_uVJogLj5EeODDJAC5t5vpw" isReadOnly="true" association="_EB7dAPrwEeO3D4OxHxUkag"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_GCu3IPrwEeO3D4OxHxUkag" base_Association="_EB7dAPrwEeO3D4OxHxUkag">
    <ruleId>CONF:1098-7402</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_TUYTYPrwEeO3D4OxHxUkag">
    <ruleId>CONF:7403</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="___wyoPrwEeO3D4OxHxUkag" memberEnd="___vkgPrwEeO3D4OxHxUkag ___wyofrwEeO3D4OxHxUkag">
    <ownedEnd xmi:id="___wyofrwEeO3D4OxHxUkag" type="_OIcaAPrwEeO3D4OxHxUkag" isReadOnly="true" association="___wyoPrwEeO3D4OxHxUkag"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_DoCg4PrxEeO3D4OxHxUkag" base_Association="___wyoPrwEeO3D4OxHxUkag">
    <ruleId>CONF:1098-7404</ruleId>
  </CDA:AssociationValidation>
  <uml:Association xmi:id="_qBuYkPrxEeO3D4OxHxUkag" memberEnd="_qBsjYPrxEeO3D4OxHxUkag _qBuYkfrxEeO3D4OxHxUkag">
    <ownedEnd xmi:id="_qBuYkfrxEeO3D4OxHxUkag" type="_OOs9kPrxEeO3D4OxHxUkag" isReadOnly="true" association="_qBuYkPrxEeO3D4OxHxUkag"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_sYQyIPrxEeO3D4OxHxUkag" base_Association="_qBuYkPrxEeO3D4OxHxUkag">
    <ruleId>CONF:1098-7406</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_yZI6APryEeO3D4OxHxUkag" base_Property="_yZIS8PryEeO3D4OxHxUkag">
    <ruleId>CONF:1098-7419</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_KgdlsPr7EeO3D4OxHxUkag" code="completed" displayName="Completed" base_Property="_Kgc-oPr7EeO3D4OxHxUkag">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-19085</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_L3BwAPr7EeO3D4OxHxUkag" base_Property="_Kgc-oPr7EeO3D4OxHxUkag">
    <ruleId>CONF:1098-19084</ruleId>
  </CDA:PropertyValidation>
  <uml:Class xmi:id="_nWAcMAIjEeSVzfoPSatgpg" clientDependency="_DdymQAIkEeSVzfoPSatgpg" name="AllergiesSectionEntriesOptional2">
    <ownedComment xmi:id="_w56bYAIjEeSVzfoPSatgpg">
      <body>This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives). At a minimum, it should list currently active and any relevant historical allergies and adverse reactions.</body>
    </ownedComment>
    <ownedRule xmi:id="_Zwt9wLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_nWAcMAIjEeSVzfoPSatgpg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zwt9wbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6' and id.extension = '2015-08-01')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zw0EYLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCodeP" constrainedElement="_UrrOkAIkEeSVzfoPSatgpg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zw0EYbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZwxBELbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCode" constrainedElement="_UrrOkAIkEeSVzfoPSatgpg">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZwxBEbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and 
let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 
value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_kFIz4LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptional2Entry">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fu5uoLS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_kFIz4bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.nullFlavor &lt;> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(consol::AllergiesSectionEntriesOptional2::AllergyConcernAct2Entry))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_nWC4cAIjEeSVzfoPSatgpg" general="_bGzYgBVdEeGQCvUGzi1kDQ"/>
    <substitution xmi:id="_DdymQAIkEeSVzfoPSatgpg" name="AllergiesSectionEntriesOptional" client="_nWAcMAIjEeSVzfoPSatgpg" supplier="_bGzYgBVdEeGQCvUGzi1kDQ" contract="_bGzYgBVdEeGQCvUGzi1kDQ"/>
    <ownedAttribute xmi:id="_UrrOkAIkEeSVzfoPSatgpg" name="code" visibility="private" isReadOnly="true" redefinedProperty="_bGzYihVdEeGQCvUGzi1kDQ">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fu5uobS6EeWcPq3zAthoUQ" name="entry" type="_fu4ggLS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fu6VsLS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fu6VsbS6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_SvZ88DxYEd6JwqSGecoePg"/>
      <association href="../consol.uml#_fu5uoLS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fu4ggLS6EeWcPq3zAthoUQ" name="AllergyConcernAct2Entry">
      <ownedRule xmi:id="_kGmzgLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptional2AllergyConcernAct2EntryAllergyConcernAct2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fu7j0LS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_kGpPwLbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.act->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyConcernAct2))->size() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fu4ggbS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_r0FX0DxXEd6JwqSGecoePg"/>
      </generalization>
      <ownedAttribute xmi:id="_fu7j0bS6EeWcPq3zAthoUQ" name="allergyConcernAct2" type="_uCiIYLNwEeOtlapy2HWYww" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fu7j0rS6EeWcPq3zAthoUQ"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fu7j07S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_mNS5ATxYEd6JwqSGecoePg"/>
        <association href="../consol.uml#_fu7j0LS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_uK0X4AIjEeSVzfoPSatgpg" base_Class="_nWAcMAIjEeSVzfoPSatgpg" templateId="2.16.840.1.113883.10.20.22.2.6" templateVersion="2015-08-01">
    <ruleId>CONF:1198-7800</ruleId>
    <ruleId>CONF:1198-10378</ruleId>
    <ruleId>CONF:1198-32544</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_Bp4_sAIkEeSVzfoPSatgpg" base_Generalization="_nWC4cAIjEeSVzfoPSatgpg"/>
  <CDA:CodeSystemConstraint xmi:id="_UrrOkQIkEeSVzfoPSatgpg" code="48765-2" displayName="Allergies, adverse reactions, alerts" base_Property="_UrrOkAIkEeSVzfoPSatgpg">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_3-cwsCWrEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1198-15346, CONF:1198-32139</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_UrscsAIkEeSVzfoPSatgpg" base_Property="_UrrOkAIkEeSVzfoPSatgpg">
    <ruleId>CONF:1198-15345</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_j0GmQAIkEeSVzfoPSatgpg" memberEnd="_j0GmQQIkEeSVzfoPSatgpg">
    <ownedEnd xmi:id="_j0GmQQIkEeSVzfoPSatgpg" type="_nWAcMAIjEeSVzfoPSatgpg" isReadOnly="true" association="_j0GmQAIkEeSVzfoPSatgpg"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_lrx5kAIkEeSVzfoPSatgpg" severity="WARNING" base_Association="_j0GmQAIkEeSVzfoPSatgpg">
    <ruleId>CONF:1198-7804, CONF:1198-15444</ruleId>
  </CDA:AssociationValidation>
  <uml:Class xmi:id="_EONPMAInEeSr1aKUYorURA" clientDependency="_tTejYAInEeSr1aKUYorURA" name="AllergiesSection2">
    <ownedComment xmi:id="_MQKTcAInEeSr1aKUYorURA">
      <body>This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives). At a minimum, it should list currently active and any relevant historical allergies and adverse reactions.</body>
    </ownedComment>
    <ownedRule xmi:id="_Zw4V0LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTemplateId" constrainedElement="_EONPMAInEeSr1aKUYorURA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zw4V0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1' and id.extension = '2015-08-01')</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zw6yELbPEeWQ25S2Lv5Ssw" name="AllergiesSection2NullFlavor" constrainedElement="_Blpr4KJ1EeSOc57SOMra_g">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zw7ZILbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>(not self.nullFlavor.oclIsUndefined()) implies (self.nullFlavor=vocab::NullFlavor::NI)</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZxCG0LbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCodeP" constrainedElement="_ENCVEAIoEeSr1aKUYorURA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZxCG0bbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_Zw-ccLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalCode" constrainedElement="_ENCVEAIoEeSr1aKUYorURA">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_Zw-ccbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and 
let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 
value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1'</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZxFKILbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalTitle" constrainedElement="_I_93kAIzEeScubSeRE1upQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZxFxMLbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.title.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_ZxI0gLbPEeWQ25S2Lv5Ssw" name="AllergiesSectionEntriesOptionalText" constrainedElement="_I_9QgAIzEeScubSeRE1upQ">
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_ZxI0gbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>not self.text.oclIsUndefined()</body>
      </specification>
    </ownedRule>
    <ownedRule xmi:id="_kIGoULbPEeWQ25S2Lv5Ssw" name="AllergiesSection2Entry">
      <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fu-AELS6EeWcPq3zAthoUQ"/>
      <specification xmi:type="uml:OpaqueExpression" xmi:id="_kIGoUbbPEeWQ25S2Lv5Ssw">
        <language>OCL</language>
        <body>self.nullFlavor &lt;> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(consol::AllergiesSection2::AllergyConcernAct2Entry))</body>
      </specification>
    </ownedRule>
    <generalization xmi:id="_EOQSgAInEeSr1aKUYorURA" general="_nWAcMAIjEeSVzfoPSatgpg"/>
    <substitution xmi:id="_tTejYAInEeSr1aKUYorURA" name="AllergiesSection" client="_EONPMAInEeSr1aKUYorURA" supplier="_2LMIwBSVEeGGzu7fmW9pXw" contract="_2LMIwBSVEeGGzu7fmW9pXw"/>
    <ownedAttribute xmi:id="_Blpr4KJ1EeSOc57SOMra_g" name="nullFlavor" visibility="private" isReadOnly="true">
      <type xmi:type="uml:Enumeration" href="pathmap://VOCAB_MODEL/vocab.uml#__yyDSUDcEd6xYZuu1VKCVw"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Blpr4aJ1EeSOc57SOMra_g"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Blpr4qJ1EeSOc57SOMra_g" value="1"/>
      <defaultValue xmi:type="uml:LiteralString" xmi:id="_D7zq8KJ1EeSOc57SOMra_g" value="NI"/>
      <redefinedProperty href="pathmap://CDA_MODEL/cda.uml#_fTE6z0xwEd6h-an5IXo-DA"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_ENCVEAIoEeSr1aKUYorURA" name="code" visibility="private" isReadOnly="true" redefinedProperty="_UrrOkAIkEeSVzfoPSatgpg">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_Z1EGIDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_I_93kAIzEeScubSeRE1upQ" name="title" visibility="private" isReadOnly="true" redefinedProperty="_bGzYixVdEeGQCvUGzi1kDQ">
      <type xmi:type="uml:Class" href="pathmap://DATATYPES_MODEL/datatypes.uml#_EaTNsDxaEd6JwqSGecoePg"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_I_9QgAIzEeScubSeRE1upQ" name="text" visibility="private" isReadOnly="true" aggregation="composite" redefinedProperty="_bGzYjBVdEeGQCvUGzi1kDQ">
      <type xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_0jvq8E8AEd6ohP_YEXs4Wg"/>
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_I_9QggIzEeScubSeRE1upQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_I_9QgQIzEeScubSeRE1upQ" value="1"/>
    </ownedAttribute>
    <ownedAttribute xmi:id="_fu-AEbS6EeWcPq3zAthoUQ" name="entry" type="_fu8x8LS6EeWcPq3zAthoUQ" isReadOnly="true" aggregation="composite">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fu-AErS6EeWcPq3zAthoUQ" value="1"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fu-AE7S6EeWcPq3zAthoUQ" value="1"/>
      <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_SvZ88DxYEd6JwqSGecoePg"/>
      <association href="../consol.uml#_fu-AELS6EeWcPq3zAthoUQ"/>
    </ownedAttribute>
    <nestedClassifier xmi:type="uml:Class" xmi:id="_fu8x8LS6EeWcPq3zAthoUQ" name="AllergyConcernAct2Entry">
      <ownedRule xmi:id="_kJd6QLbPEeWQ25S2Lv5Ssw" name="AllergiesSection2AllergyConcernAct2EntryAllergyConcernAct2">
        <constrainedElement xmi:type="uml:Association" href="../consol.uml#_fu_1QLS6EeWcPq3zAthoUQ"/>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_kJd6QbbPEeWQ25S2Lv5Ssw">
          <language>OCL</language>
          <body>self.act->exists(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyConcernAct2))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_fu8x8bS6EeWcPq3zAthoUQ">
        <general xmi:type="uml:Class" href="pathmap://CDA_MODEL/cda.uml#_r0FX0DxXEd6JwqSGecoePg"/>
      </generalization>
      <ownedAttribute xmi:id="_fu_1QbS6EeWcPq3zAthoUQ" name="allergyConcernAct2" type="_uCiIYLNwEeOtlapy2HWYww" isReadOnly="true" aggregation="composite">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fu_1QrS6EeWcPq3zAthoUQ" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fu_1Q7S6EeWcPq3zAthoUQ" value="*"/>
        <subsettedProperty href="pathmap://CDA_MODEL/cda.uml#_mNS5ATxYEd6JwqSGecoePg"/>
        <association href="../consol.uml#_fu_1QLS6EeWcPq3zAthoUQ"/>
      </ownedAttribute>
    </nestedClassifier>
  </uml:Class>
  <CDA:CDATemplate xmi:id="_LXPHYAInEeSr1aKUYorURA" base_Class="_EONPMAInEeSr1aKUYorURA" templateId="2.16.840.1.113883.10.20.22.2.6.1" templateVersion="2015-08-01">
    <ruleId>CONF:1198-7527, CONF:1198-10379, CONF:1198-32545</ruleId>
  </CDA:CDATemplate>
  <CDA:ConformsTo xmi:id="_Z2m7AAInEeSr1aKUYorURA" base_Generalization="_EOQSgAInEeSr1aKUYorURA"/>
  <CDA:CodeSystemConstraint xmi:id="_ENCVEQIoEeSr1aKUYorURA" code="48765-2" displayName="Allergies, adverse reactions, alerts" base_Property="_ENCVEAIoEeSr1aKUYorURA">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_3-cwsCWrEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1198-15350, CONF:1198-32140</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_ENDjMAIoEeSr1aKUYorURA" base_Property="_ENCVEAIoEeSr1aKUYorURA">
    <ruleId>CONF:1198-15349</ruleId>
  </CDA:PropertyValidation>
  <uml:Association xmi:id="_kAF3AAIoEeSr1aKUYorURA" memberEnd="_kAF3AQIoEeSr1aKUYorURA">
    <ownedEnd xmi:id="_kAF3AQIoEeSr1aKUYorURA" type="_EONPMAInEeSr1aKUYorURA" isReadOnly="true" association="_kAF3AAIoEeSr1aKUYorURA"/>
  </uml:Association>
  <CDA:AssociationValidation xmi:id="_06SuUAIoEeSr1aKUYorURA" base_Association="_kAF3AAIoEeSr1aKUYorURA">
    <ruleId>CONF:1198-7531, CONF:1198-15446</ruleId>
  </CDA:AssociationValidation>
  <CDA:PropertyValidation xmi:id="_I_9QgwIzEeScubSeRE1upQ" base_Property="_I_9QgAIzEeScubSeRE1upQ">
    <ruleId>CONF:1198-7530</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_NFIWIAIzEeScubSeRE1upQ" base_Property="_I_93kAIzEeScubSeRE1upQ">
    <ruleId>CONF:1198-7534</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_1ymUgGFNEeSNI6leTohBaQ">
    <ruleId>CONF:7419</ruleId>
    <base_Constraint href="file:/home/vadi/Programs/mdht-models/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/genschematron-ContinuityOfCareDocument/consol-allergies.schematron.uml#_tYfO8GFNEeSNI6leTohBaQ"/>
  </CDA:ConstraintValidation>
  <CDA:ConstraintValidation xmi:id="_yXIP0GOVEeSLXfr4DK4AdA" severity="INFO" base_Constraint="_yXHowGOVEeSLXfr4DK4AdA">
    <ruleId>CONF:16324</ruleId>
    <ruleId>R2.0=CONF:1098-16324</ruleId>
  </CDA:ConstraintValidation>
  <CDA:PropertyValidation xmi:id="_CeCFYKJ1EeSOc57SOMra_g" severity="INFO" base_Property="_Blpr4KJ1EeSOc57SOMra_g">
    <ruleId>CONF:1198-32824</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_K0JQ0KvuEeS-mulaI3YUlw" base_Property="_K0IpwKvuEeS-mulaI3YUlw">
    <ruleId>CONF:1198-7477</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_MnHDQKvuEeS-mulaI3YUlw" base_Property="_MnGcMKvuEeS-mulaI3YUlw">
    <ruleId>CONF:1198-19158</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_MnHqU6vuEeS-mulaI3YUlw" base_Property="_MnHqUKvuEeS-mulaI3YUlw">
    <ruleId>CONF:1198-32154</ruleId>
  </CDA:PropertyValidation>
  <CDA:ConstraintValidation xmi:id="_bqaqYKvuEeS-mulaI3YUlw" base_Constraint="_bqaDUKvuEeS-mulaI3YUlw">
    <ruleId>CONF:1198-19158, CONF:1198-32154</ruleId>
  </CDA:ConstraintValidation>
  <CDA:PropertyValidation xmi:id="_B1RjwMzcEeSLqosJ4F90vA" base_Property="_B1Q8sMzcEeSLqosJ4F90vA">
    <ruleId>CONF:1098-7329</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_xsNZAMzcEeSLqosJ4F90vA" code="completed" base_Property="_xsMx8MzcEeSLqosJ4F90vA">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-19114</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_PqyFkMzdEeSLqosJ4F90vA" base_Property="_xsMx8MzcEeSLqosJ4F90vA">
    <ruleId>CONF:1098-7328</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_sXly0MzeEeSLqosJ4F90vA" base_Property="_2FFgwRSVEeGGzu7fmW9pXw"/>
  <CDA:CodeSystemConstraint xmi:id="_tlNvkc26EeSEZ8MJJ3ZzLg" code="completed" base_Property="_tlNvkM26EeSEZ8MJJ3ZzLg">
    <reference href="pathmap://TERM_MODEL/CodeSystems.uml#_e8ZEoCWvEd-iTYfpNb4PkQ"/>
    <ruleId>CONF:1098-19115</ruleId>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_ujv0YM26EeSEZ8MJJ3ZzLg" base_Property="_tlNvkM26EeSEZ8MJJ3ZzLg">
    <ruleId>CONF:1098-7352</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_cDKYoM27EeSEZ8MJJ3ZzLg" base_Property="_2FGu6hSVEeGGzu7fmW9pXw"/>
  <CDA:ConstraintValidation xmi:id="_ExE6oA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_04NdIPr1EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_FXwgIA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_OD_zUPr6EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_FxeAoA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_-QiT4Pr0EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_GOAysA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_IyzYwPr1EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_GsrEoA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_TULFwPr1EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_HfpZsA7UEeWbLdDULBrUww" severity="INFO" base_Constraint="_pMHe4Pr0EeO3D4OxHxUkag"/>
  <CDA:ConstraintValidation xmi:id="_9YYj4A7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_Hf2KQPMtEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="_93Dc4A7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_2QlMcPMtEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="_-QFn8A7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_DJD6wPMuEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="_-wvd8A7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_OlAZoPMuEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="__K5qYA7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_tovXcPMuEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="__rU24A7VEeWbLdDULBrUww" severity="INFO" base_Constraint="_v4cwQPMuEeOrR8IF-aqVyQ"/>
  <CDA:ConstraintValidation xmi:id="_nOs34BaUEeWPafwaDwpzXw" severity="INFO" base_Constraint="_v-bpYPDyEeOKPKE9au0oug"/>
  <CDA:ConstraintValidation xmi:id="_nukDsBaUEeWPafwaDwpzXw" severity="INFO" base_Constraint="_GkKNYMzfEeSLqosJ4F90vA"/>
  <CDA:ConstraintValidation xmi:id="_oFEfMBaUEeWPafwaDwpzXw" severity="INFO" base_Constraint="_JDYB0MzfEeSLqosJ4F90vA"/>
  <CDA:ConstraintValidation xmi:id="_ocfgsBaUEeWPafwaDwpzXw" severity="INFO" base_Constraint="_K2vc4MzfEeSLqosJ4F90vA"/>
  <CDA:ConstraintValidation xmi:id="_RBWPcBaVEeWPafwaDwpzXw" severity="INFO" base_Constraint="_OMO6kLkVEeODDJAC5t5vpw"/>
  <CDA:ConstraintValidation xmi:id="_RoUv4BaVEeWPafwaDwpzXw" severity="INFO" base_Constraint="_okdgoLkXEeODDJAC5t5vpw"/>
  <CDA:ConstraintValidation xmi:id="_SLSTABaVEeWPafwaDwpzXw" severity="INFO" base_Constraint="_E9i2ELkYEeODDJAC5t5vpw"/>
  <CDA:ConstraintValidation xmi:id="_Sng8ABaVEeWPafwaDwpzXw" severity="INFO" base_Constraint="_dwX2gLkYEeODDJAC5t5vpw"/>
  <CDA:ConstraintValidation xmi:id="_TG5msBaVEeWPafwaDwpzXw" severity="INFO" base_Constraint="_6bV7wKwAEeS-mulaI3YUlw"/>
  <CDA:ConstraintValidation xmi:id="_k9eKMBaWEeWPafwaDwpzXw" severity="INFO" base_Constraint="_Q6hswM26EeSEZ8MJJ3ZzLg"/>
  <CDA:ConstraintValidation xmi:id="_ligw8BaWEeWPafwaDwpzXw" severity="INFO" base_Constraint="_SS-tcM26EeSEZ8MJJ3ZzLg"/>
  <CDA:ConstraintValidation xmi:id="_mFgwUBaWEeWPafwaDwpzXw" severity="INFO" base_Constraint="_Tnvg8M26EeSEZ8MJJ3ZzLg"/>
  <CDA:Inline xmi:id="_fChw0LS6EeWcPq3zAthoUQ" base_Class="_fCf7oLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fCsI4rS6EeWcPq3zAthoUQ" base_Class="_fCsI4LS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fCyPgrS6EeWcPq3zAthoUQ" base_Class="_fCyPgLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fC3vErS6EeWcPq3zAthoUQ" base_Class="_fC3vELS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fDAR8rS6EeWcPq3zAthoUQ" base_Class="_fDAR8LS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fDFKcrS6EeWcPq3zAthoUQ" base_Class="_fDFKcLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fDKC8rS6EeWcPq3zAthoUQ" base_Class="_fDKC8LS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fG4sYrS6EeWcPq3zAthoUQ" base_Class="_fG4sYLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fNJFYrS6EeWcPq3zAthoUQ" base_Class="_fNJFYLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fj1HErS6EeWcPq3zAthoUQ" base_Class="_fj1HELS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fj4xcrS6EeWcPq3zAthoUQ" base_Class="_fj4xcLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fj9C4rS6EeWcPq3zAthoUQ" base_Class="_fj9C4LS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fkAtQrS6EeWcPq3zAthoUQ" base_Class="_fkAtQLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fkq0krS6EeWcPq3zAthoUQ" base_Class="_fkq0kLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fkvGArS6EeWcPq3zAthoUQ" base_Class="_fkvGALS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fkywYrS6EeWcPq3zAthoUQ" base_Class="_fkywYLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fpBJErS6EeWcPq3zAthoUQ" base_Class="_fpBJELS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fpFagrS6EeWcPq3zAthoUQ" base_Class="_fpFagLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fpKTArS6EeWcPq3zAthoUQ" base_Class="_fpKTALS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fpUEArS6EeWcPq3zAthoUQ" base_Class="_fpUEALS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fpY8grS6EeWcPq3zAthoUQ" base_Class="_fpY8gLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fu4ggrS6EeWcPq3zAthoUQ" base_Class="_fu4ggLS6EeWcPq3zAthoUQ"/>
  <CDA:Inline xmi:id="_fu8x8rS6EeWcPq3zAthoUQ" base_Class="_fu8x8LS6EeWcPq3zAthoUQ"/>
  <Ecore:EClass xmi:id="_VkAswLbPEeWQ25S2Lv5Ssw" base_Class="_2EAisBSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActTemplateId AllergyProblemActEffectiveTimeLow AllergyProblemActEffectiveTimeHigh AllergyProblemActClassCode AllergyProblemActMoodCode AllergyProblemActId AllergyProblemActCode AllergyProblemActStatusCode AllergyProblemActStatusCodeP AllergyProblemActEffectiveTime AllergyProblemActEntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.30' classCode='ACT' moodCode='EVN' constraints.validation.dependOn.AllergyProblemActStatusCode='AllergyProblemActStatusCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VkyI0LbPEeWQ25S2Lv5Ssw" base_Class="_nG6-gMTyEeOYw6YTCsSKiw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_Vk2aQLbPEeWQ25S2Lv5Ssw" base_Generalization="_2F5ZERSVEeGGzu7fmW9pXw"/>
  <Ecore:EClass xmi:id="_Vk3oYLbPEeWQ25S2Lv5Ssw" base_Class="_2EaLUBSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId AllergyObservationReferenceValue SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator AllergyObservationClassCode AllergyObservationMoodCode AllergyObservationId AllergyObservationCode AllergyObservationCodeP AllergyObservationStatusCode AllergyObservationStatusCodeP AllergyObservationEffectiveTime AllergyObservationValue AllergyObservationValueP AllergyObservationEntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.7' constraints.validation.warning='AllergyObservationValueOriginalText AllergyObservationOriginalTextReference AllergyObservationOriginalTextReferenceValue AllergyObservationParticipant' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' constraints.validation.dependOn.AllergyObservationCode='AllergyObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.AllergyObservationStatusCode='AllergyObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.AllergyObservationValue='AllergyObservationValueP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VlxAQLbPEeWQ25S2Lv5Ssw" base_Class="_0HgNkDJAEeG6R8Pb5FT2Ow">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation typeCode='CSM' constraints.validation.error='AllergyObservationParticipantTypeCode AllergyObservationParticipantTypeCodeP AllergyObservationParticipantParticipantRole' constraints.validation.dependOn.AllergyObservationParticipantTypeCode='AllergyObservationParticipantTypeCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Vl2f0LbPEeWQ25S2Lv5Ssw" base_Class="_4Lj44DJAEeG6R8Pb5FT2Ow">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation classCode='MANU' constraints.validation.error='AllergyObservationParticipantParticipantRoleClassCode AllergyObservationParticipantParticipantRoleClassCodeP AllergyObservationParticipantParticipantRolePlayingEntity' constraints.validation.dependOn.AllergyObservationParticipantParticipantRoleClassCode='AllergyObservationParticipantParticipantRoleClassCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Vl6xQLbPEeWQ25S2Lv5Ssw" base_Class="_E1B60DJBEeG6R8Pb5FT2Ow">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI AllergyObservationParticipantParticipantRolePlayingEntityClassCode AllergyObservationParticipantParticipantRolePlayingEntityCode' constraints.validation.warning='AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' classCode='MMAT'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VmHlkLbPEeWQ25S2Lv5Ssw" base_Class="_C4w3oNJCEeOj_bXCpQOG9w">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' constraints.validation.info='AllergyObservationParticipantParticipantRolePlayingEntityCETranslation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VnyZgLbPEeWQ25S2Lv5Ssw" base_Class="_2E_aIRSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReactionObservationTemplateId ReactionObservationReferenceValue ReactionObservationSeverityObservationInversionInd ReactionObservationProcedureActivityProcedureInversionInd ReactionObservationMedicationActivityInversionInd ReactionObservationClassCode ReactionObservationMoodCode ReactionObservationId ReactionObservationCode ReactionObservationStatusCode ReactionObservationStatusCodeP ReactionObservationValue ReactionObservationValueP ReactionObservationEntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.9' constraints.validation.warning='ReactionObservationTextReference ReactionObservationTextReferenceValue ReactionObservationEffectiveTimeLow ReactionObservationEffectiveTimeHigh ReactionObservationText ReactionObservationEffectiveTime' classCode='OBS' moodCode='EVN' statusCode.code='completed' constraints.validation.dependOn.ReactionObservationStatusCode='ReactionObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VolqwLbPEeWQ25S2Lv5Ssw" base_Class="_2FGu4hSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SeverityObservationTemplateId SeverityObservationReferenceValue SeverityObservationClassCode SeverityObservationMoodCode SeverityObservationCode SeverityObservationCodeP SeverityObservationStatusCode SeverityObservationStatusCodeP SeverityObservationValue SeverityObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.8' constraints.validation.warning='SeverityObservationTextReference SeverityObservationTextReferenceValue SeverityObservationText' classCode='OBS' moodCode='EVN' code.code='SEV' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Severity observation' constraints.validation.dependOn.SeverityObservationCode='SeverityObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.SeverityObservationStatusCode='SeverityObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_VpS1YLbPEeWQ25S2Lv5Ssw" base_Class="_2FRuAhSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyStatusObservationTemplateId AllergyStatusObservationClassCode AllergyStatusObservationMoodCode AllergyStatusObservationCode AllergyStatusObservationCodeP AllergyStatusObservationStatusCode AllergyStatusObservationStatusCodeP AllergyStatusObservationValue AllergyStatusObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.28' classCode='OBS' moodCode='EVN' code.code='33999-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Status' constraints.validation.dependOn.AllergyStatusObservationCode='AllergyStatusObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.AllergyStatusObservationStatusCode='AllergyStatusObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.AllergyStatusObservationValue='AllergyStatusObservationValueP'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_V6kyoLbPEeWQ25S2Lv5Ssw" base_Generalization="_EEbhsBVgEeGQCvUGzi1kDQ"/>
  <Ecore:EClass xmi:id="_V6lZsLbPEeWQ25S2Lv5Ssw" base_Class="_2LMIwBSVEeGGzu7fmW9pXw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionCode AllergiesSectionCodeP AllergiesSectionTitle AllergiesSectionText AllergiesSectionEntry' templateId.root='2.16.840.1.113883.10.20.22.2.6.1' code.code='48765-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergies, adverse reactions, alerts' constraints.validation.dependOn.AllergiesSectionCode='AllergiesSectionCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_WY6UcLbPEeWQ25S2Lv5Ssw" base_Class="_bGzYgBVdEeGQCvUGzi1kDQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSectionEntriesOptionalTitle AllergiesSectionEntriesOptionalText AllergiesSectionEntriesOptionalEntry' templateId.root='2.16.840.1.113883.10.20.22.2.6' code.code='48765-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergies, adverse reactions, alerts'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y4U9MLbPEeWQ25S2Lv5Ssw" base_Class="_uCiIYLNwEeOtlapy2HWYww">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActTemplateId AllergyProblemActCode AllergyConcernAct2EntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.30' templateId.extension='2015-08-01' constraints.validation.warning='AllergyConcernAct2AuthorParticipation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y4acwLbPEeWQ25S2Lv5Ssw" base_Class="_LgbIAKvuEeS-mulaI3YUlw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y5FLILbPEeWQ25S2Lv5Ssw" base_Class="_uVJogLj5EeODDJAC5t5vpw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator AllergyObservationCode AllergyObservationCodeP AllergyObservationValue AllergyObservationValueP AllergyObservationStatusCode AllergyObservationStatusCodeP AllergyObservationEffectiveTime AllergyObservationParticipant AllergyObservation2EntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.7' templateId.extension='2014-06-09' constraints.validation.info='AllergyObservationValueOriginalText AllergyObservationOriginalTextReference AllergyObservationOriginalTextReferenceValue AllergyObservationReferenceValue SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator AllergyObservation2NegationInd' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.AllergyObservationCode='AllergyObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.AllergyObservationValue='AllergyObservationValueP' statusCode.code='completed' constraints.validation.dependOn.AllergyObservationStatusCode='AllergyObservationStatusCodeP' constraints.validation.warning='AllergyObservation2AuthorParticipation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y6YLoLbPEeWQ25S2Lv5Ssw" base_Class="_wqODoLkTEeODDJAC5t5vpw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservation2IVLTSLow' constraints.validation.info='AllergyObservation2IVLTSHigh'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y6b2ALbPEeWQ25S2Lv5Ssw" base_Class="_dcuKcPryEeO3D4OxHxUkag">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityCode'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y6jKwLbPEeWQ25S2Lv5Ssw" base_Class="_BGJEgPr0EeO3D4OxHxUkag">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Y_0sULbPEeWQ25S2Lv5Ssw" base_Class="_mgny4NF8EeOHUokOVP95oQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator SubstanceOrDeviceAllergyObservationClassCode SubstanceOrDeviceAllergyObservationMoodCode SubstanceOrDeviceAllergyObservationId SubstanceOrDeviceAllergyObservationCode SubstanceOrDeviceAllergyObservationCodeP SubstanceOrDeviceAllergyObservationStatusCode SubstanceOrDeviceAllergyObservationStatusCodeP SubstanceOrDeviceAllergyObservationEffectiveTime SubstanceOrDeviceAllergyObservationValue SubstanceOrDeviceAllergyObservationValueP SubstanceOrDeviceAllergyObservationEntryRelationship' templateId.root='2.16.840.1.113883.10.20.24.3.90' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationCode='SubstanceOrDeviceAllergyObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipant'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZAdlgLbPEeWQ25S2Lv5Ssw" base_Class="_cBOJoNIdEeO-TcA3qYv-cw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation typeCode='CSM' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantTypeCode SubstanceOrDeviceAllergyObservationParticipantParticipantRole'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZAezoLbPEeWQ25S2Lv5Ssw" base_Class="_PzEVQNIeEeO-TcA3qYv-cw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation classCode='MANU' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRoleClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZAhP4LbPEeWQ25S2Lv5Ssw" base_Class="_3jqVgNIeEeO-TcA3qYv-cw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode' constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI' classCode='MMAT'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZAtdILbPEeWQ25S2Lv5Ssw" base_Class="_DNj7YNIgEeO-TcA3qYv-cw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zf0bALbPEeWQ25S2Lv5Ssw" base_Class="_U3yosPDxEeOKPKE9au0oug">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReactionObservationTemplateId ReactionObservationProcedureActivityProcedureInversionInd ReactionObservationMedicationActivityInversionInd ReactionObservationSeverityObservationInversionInd ReactionObservationCode ReactionObservationCodeP ReactionObservationId ReactionObservationText ReactionObservationStatusCode ReactionObservationStatusCodeP ReactionObservation2EntryRelationship' templateId.root='2.16.840.1.113883.10.20.22.4.9' templateId.extension='2014-06-09' constraints.validation.info='ReactionObservationCodeValueSet ReactionObservationTextReference ReactionObservationTextReferenceValue ReactionObservationReferenceValue' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' constraints.validation.dependOn.ReactionObservationCode='ReactionObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.ReactionObservationStatusCode='ReactionObservationStatusCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zho_8LbPEeWQ25S2Lv5Ssw" base_Class="_B0oKYPJdEeO2NaSiicarcg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SeverityObservationTemplateId SeverityObservationCode SeverityObservationCodeP SeverityObservationText SeverityObservationStatusCode SeverityObservationStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.8' templateId.extension='2014-06-09' constraints.validation.info='SeverityObservationTextReference SeverityObservationTextReferenceValue SeverityObservationReferenceValue' code.code='SEV' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Severity' constraints.validation.dependOn.SeverityObservationCode='SeverityObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.SeverityObservationStatusCode='SeverityObservationStatusCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zi3H8LbPEeWQ25S2Lv5Ssw" base_Class="_K3M6IPKJEeOn7bMsPcStOw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator SubstanceOrDeviceAllergyObservationEffectiveTime SubstanceOrDeviceAllergyObservationValue SubstanceOrDeviceAllergyObservationValueP SubstanceOrDeviceAllergyObservationCode SubstanceOrDeviceAllergyObservationCodeP SubstanceOrDeviceAllergyObservation2EntryRelationship' templateId.root='2.16.840.1.113883.10.20.24.3.90' templateId.extension='2014-06-09' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationValue='SubstanceOrDeviceAllergyObservationValueP' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationCode='SubstanceOrDeviceAllergyObservationCodeP' constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipant SubstanceOrDeviceAllergyObservation2AuthorParticipation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZjOUULbPEeWQ25S2Lv5Ssw" base_Class="_nVjxIPKJEeOn7bMsPcStOw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservation2IVLTSLow' constraints.validation.info='SubstanceOrDeviceAllergyObservation2IVLTSHigh'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZjQJgLbPEeWQ25S2Lv5Ssw" base_Class="_DutrsPMREeOrR8IF-aqVyQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZjYFULbPEeWQ25S2Lv5Ssw" base_Class="_ceo4YPMtEeOrR8IF-aqVyQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZkITQLbPEeWQ25S2Lv5Ssw" base_Class="_DyEzoPMPEeOrR8IF-aqVyQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRole'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZkgtwLbPEeWQ25S2Lv5Ssw" base_Class="_2SYCYPMQEeOrR8IF-aqVyQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zqn80LbPEeWQ25S2Lv5Ssw" base_Class="_OIcaAPrwEeO3D4OxHxUkag">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservationParticipantParticipantRole'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ZrDaoLbPEeWQ25S2Lv5Ssw" base_Class="_OOs9kPrxEeO3D4OxHxUkag">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntity'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zwuk0LbPEeWQ25S2Lv5Ssw" base_Class="_nWAcMAIjEeSVzfoPSatgpg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSectionEntriesOptional2Entry' templateId.root='2.16.840.1.113883.10.20.22.2.6' templateId.extension='2015-08-01' code.code='48765-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergies, adverse reactions, alerts' constraints.validation.dependOn.AllergiesSectionEntriesOptionalCode='AllergiesSectionEntriesOptionalCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_Zw484LbPEeWQ25S2Lv5Ssw" base_Class="_EONPMAInEeSr1aKUYorURA">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSectionEntriesOptionalTitle AllergiesSectionEntriesOptionalText AllergiesSection2Entry' templateId.root='2.16.840.1.113883.10.20.22.2.6.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='AllergiesSection2NullFlavor' code.code='48765-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergies, adverse reactions, alerts' constraints.validation.dependOn.AllergiesSectionEntriesOptionalCode='AllergiesSectionEntriesOptionalCodeP'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_byqnYLbPEeWQ25S2Lv5Ssw" base_Class="_fCf7oLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActAllergyObservationEntryRelationshipAllergyObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_bzcqgLbPEeWQ25S2Lv5Ssw" base_Class="_fCsI4LS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='AllergyObservationAllergyStatusObservationEntryRelationshipAllergyStatusObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_b0mhELbPEeWQ25S2Lv5Ssw" base_Class="_fCyPgLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='AllergyObservationReactionObservationEntryRelationshipReactionObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_b1jjULbPEeWQ25S2Lv5Ssw" base_Class="_fC3vELS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='AllergyObservationSeverityObservationEntryRelationshipSeverityObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_b2k3ALbPEeWQ25S2Lv5Ssw" base_Class="_fDAR8LS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='ReactionObservationSeverityObservationEntryRelationshipSeverityObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_b333gLbPEeWQ25S2Lv5Ssw" base_Class="_fDFKcLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='ReactionObservationProcedureActivityProcedureEntryRelationshipProcedureActivityProcedure'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_b4zEkLbPEeWQ25S2Lv5Ssw" base_Class="_fDKC8LS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='ReactionObservationMedicationActivityEntryRelationshipMedicationActivity'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_cjYSoLbPEeWQ25S2Lv5Ssw" base_Class="_fG4sYLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionAllergyProblemActEntryAllergyProblemAct'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_deJRwLbPEeWQ25S2Lv5Ssw" base_Class="_fNJFYLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='AllergiesSectionEntriesOptionalAllergyProblemActEntryAllergyProblemAct'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hnRDQLbPEeWQ25S2Lv5Ssw" base_Class="_fj1HELS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyConcernAct2AllergyObservation2EntryRelationshipAllergyObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hn_cALbPEeWQ25S2Lv5Ssw" base_Class="_fj4xcLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='AllergyObservation2ReactionObservation2EntryRelationshipReactionObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hovC4LbPEeWQ25S2Lv5Ssw" base_Class="_fj9C4LS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='AllergyObservation2SeverityObservation2EntryRelationshipSeverityObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hpkwYLbPEeWQ25S2Lv5Ssw" base_Class="_fkAtQLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservation2AllergyStatusObservationEntryRelationshipAllergyStatusObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hwIrYbbPEeWQ25S2Lv5Ssw" base_Class="_fkq0kLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='SubstanceOrDeviceAllergyObservationAllergyStatusObservationEntryRelationshipAllergyStatusObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hw5gYLbPEeWQ25S2Lv5Ssw" base_Class="_fkvGALS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='SubstanceOrDeviceAllergyObservationReactionObservationEntryRelationshipReactionObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_hxnSELbPEeWQ25S2Lv5Ssw" base_Class="_fkywYLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='SubstanceOrDeviceAllergyObservationSeverityObservationEntryRelationshipSeverityObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ijRYgLbPEeWQ25S2Lv5Ssw" base_Class="_fpBJELS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='ReactionObservation2ProcedureActivityProcedure2EntryRelationshipProcedureActivityProcedure2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ikdEQLbPEeWQ25S2Lv5Ssw" base_Class="_fpFagLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='ReactionObservation2MedicationActivity2EntryRelationshipMedicationActivity2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ilUm8LbPEeWQ25S2Lv5Ssw" base_Class="_fpKTALS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='ReactionObservation2SeverityObservation2EntryRelationshipSeverityObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_inULALbPEeWQ25S2Lv5Ssw" base_Class="_fpUEALS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='SubstanceOrDeviceAllergyObservation2ReactionObservation2EntryRelationshipReactionObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_ioz_0LbPEeWQ25S2Lv5Ssw" base_Class="_fpY8gLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.info='SubstanceOrDeviceAllergyObservation2SeverityObservation2EntryRelationshipSeverityObservation2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_kH3-0LbPEeWQ25S2Lv5Ssw" base_Class="_fu4ggLS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.warning='AllergiesSectionEntriesOptional2AllergyConcernAct2EntryAllergyConcernAct2'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_kKnJwLbPEeWQ25S2Lv5Ssw" base_Class="_fu8x8LS6EeWcPq3zAthoUQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSection2AllergyConcernAct2EntryAllergyConcernAct2'</annotation>
  </Ecore:EClass>
</xmi:XMI>
