<?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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
  <uml:Package xmi:id="_mZtsINd5EeGtNLA6W-IQeQ" name="mu2consol">
    <packageImport xmi:id="_mdYrMtd5EeGtNLA6W-IQeQ">
      <importedPackage href="../../org.openhealthtools.mdht.uml.cda.mu2consol.model/model/mu2consol-vocab.uml#_mZ-K0Nd5EeGtNLA6W-IQeQ"/>
    </packageImport>
    <packageImport xmi:id="_HE5v4Ng-EeGYvcM4JkQjgQ">
      <importedPackage href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2B30sBSVEeGGzu7fmW9pXw"/>
    </packageImport>
    <packageImport xmi:id="_qktQYNg-EeGYvcM4JkQjgQ">
      <importedPackage href="../../org.openhealthtools.mdht.uml.cda/model/cda.uml#_ii81kjxVEd6JwqSGecoePg"/>
    </packageImport>
    <packageImport xmi:id="_sCPlYNg-EeGYvcM4JkQjgQ">
      <importedPackage href="../../org.openhealthtools.mdht.uml.hl7.datatypes/model/datatypes.uml#_XgMSwzxVEd6JwqSGecoePg"/>
    </packageImport>
    <packagedElement xmi:type="uml:Class" xmi:id="_v-6qsNkMEeGsqcJR8eqiMw" name="GeneralHeaderConstraints">
      <ownedComment xmi:id="_BHY70OMDEeGwErp-HM3_kQ">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t8ZGgf6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsTemplateId" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8ZGgv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.1')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8kssP6hEeGmWJiRRvMaXA" name="mu2consolGeneralHeaderConstraintsRecordTarget" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8kssf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->exists(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8o-IP6hEeGmWJiRRvMaXA" name="mu2consolGeneralHeaderConstraintsDocumentationOf" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8o-If6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-rlgP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-rlgf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined() and ethnicGroupCode.oclIsKindOf(datatypes::CE) and &#xD;&#xA;let value : datatypes::CE = ethnicGroupCode.oclAsType(datatypes::CE) in &#xD;&#xA;value.codeSystem = '2.16.840.1.113883.6.238' and (value.code = '2135-2' or value.code = '2186-5')))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-rlgv6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-rlg_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined()))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-sMkP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-sMkf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined() and raceCode.oclIsKindOf(datatypes::CE) and &#xD;&#xA;let value : datatypes::CE = raceCode.oclAsType(datatypes::CE) in &#xD;&#xA;value.codeSystem = '2.16.840.1.113883.6.238' and not value.code.oclIsUndefined()))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-sMkv6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-sMk_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined()))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-szoP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-szof6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(languageCommunication->one(languageCommunication : cda::LanguageCommunication | not languageCommunication.oclIsUndefined() and languageCommunication.oclIsKindOf(cda::LanguageCommunication)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-szov6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRolePatient" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-szo_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null).patientRole->excluding(null)->reject(patient->one(patient : cda::Patient | not patient.oclIsUndefined() and patient.oclIsKindOf(cda::Patient)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-tasP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsRecordTargetPatientRole" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-tasf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-v28P6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityAssignedPerson" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-v28f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(rim::Entity)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-weAP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-weAf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-weAv6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsDocumentationOfServiceEventPerformer" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-weA_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-xFEP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsDocumentationOfServiceEvent" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-xFEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-yTMP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsComponent1EncompassingEncounterEncounterParticipant" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-yTMf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->exists(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-y6QP6hEeGmWJiRRvMaXA" name="GeneralHeaderConstraintsComponent1EncompassingEncounter" constrainedElement="_v-6qsNkMEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-y6Qf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_v-6qsdkMEeGsqcJR8eqiMw">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2DNRcBSVEeGGzu7fmW9pXw"/>
      </generalization>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_VG3DUNkxEeGsqcJR8eqiMw" name="SummaryOfCareRecord">
      <ownedComment xmi:id="_OaVzYNpiEeGzu8-aAsCS4g">
        <body>Summary Of Care Record</body>
      </ownedComment>
      <ownedRule xmi:id="_2nwZAN3EEeGdQcioKnmIhA" name="SummaryOfCareRecordMu2EncounterDiagnosesRequirements" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_K7mFoN3FEeGdQcioKnmIhA">
          <language>OCL</language>
          <body>(self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::AssessmentSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::AssessmentAndPlanSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::HospitalAdmissionDiagnosisSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::HospitalDischargeDiagnosisSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::PostoperativeDiagnosisSection)) or  &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::PostprocedureDiagnosisSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(consol::EncountersSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(consol::ProblemSection)) )</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_gfm_8OvXEeGkopdZmUN1Xw" name="SummaryOfCareRecordCarePlanning" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_jopNcOvXEeGkopdZmUN1Xw">
          <language>OCL</language>
          <body>(self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::PlanOfCareSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::AssessmentAndPlanSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(consol::InterventionsSection)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8qMQ_6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordPlanOfCareSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8qMRP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8t2pf6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordProblemSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8t2pv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8vr0P6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordAllergiesSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8vr0f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8xhBf6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordImmunizationsSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8xhBv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8yvJf6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordMedicationsSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8zWMP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t81LYP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordHospitalDischargeMedicationsSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t81LYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t82ZgP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordSocialHistorySection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t82Zgf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t83noP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordResultsSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t83nof6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t841wv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordVitalSignsSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t841w_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t86D5f6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordProceduresSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t86D5v6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-h0gv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordFunctionalStatusSection" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-h0g_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::FunctionalStatusSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-95YP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordSocialHistorySectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-95Yf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t--gcP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolSocialHistorySectionSmokingStatusObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t--gcf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(mu2consol::SmokingStatusObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-_HgP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordHospitalAdmissionMedicationsSectionEntriesOptionalTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-_Hgf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionMedicationsSectionEntriesOptional()->excluding(null)->reject(getHospitalAdmissionMedicationsSectionEntriesOptional().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.44'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-_Hgv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolHospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-_ukP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionMedicationsSectionEntriesOptional()->excluding(null)->reject(getHospitalAdmissionMedicationsSectionEntriesOptional().entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AdmissionMedication)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_A8sP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolPlanOfCareSectionCarePlanningForPlanOfCare" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_A8sf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::PlanOfCareActivityAct)) or getPlanOfCareSection().getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::PlanOfCareActivityObservation)) or getPlanOfCareSection().getEncounters()->exists(e : cda::Encounter | e.oclIsKindOf(consol::PlanOfCareActivityEncounter)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_A8sv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_A8s_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlanOfCareActivityObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_A8tP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordPlanOfCareSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_A8tf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_CK0P6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordAssessmentAndPlanSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_CK0f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAssessmentAndPlanSection()->excluding(null)->reject(getAssessmentAndPlanSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_Cx4P6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordAssessmentSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Cx4f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAssessmentSection()->excluding(null)->reject(getAssessmentSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.8'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_DY8P6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolAssessmentSectionProblemObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_DY8f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAssessmentSection()->excluding(null)->reject(getAssessmentSection().entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_EAAP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordHospitalAdmissionDiagnosisSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_EAAf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionDiagnosisSection()->excluding(null)->reject(getHospitalAdmissionDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.43'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_EAAv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_EAA_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionDiagnosisSection()->excluding(null)->reject(getHospitalAdmissionDiagnosisSection().entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_FOIP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordHospitalDischargeDiagnosisSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_FOIf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalDischargeDiagnosisSection()->excluding(null)->reject(getHospitalDischargeDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.24'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_FOIv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolHospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_FOI_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalDischargeDiagnosisSection()->excluding(null)->reject(getHospitalDischargeDiagnosisSection().entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalDischargeDiagnosis)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_F1MP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordPostoperativeDiagnosisSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_F1Mf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPostoperativeDiagnosisSection()->excluding(null)->reject(getPostoperativeDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.35'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_GcQP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolPostoperativeDiagnosisSectionProblemObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_GcQf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPostoperativeDiagnosisSection()->excluding(null)->reject(getPostoperativeDiagnosisSection().entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_HDUP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordPostprocedureDiagnosisSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_HDUf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPostprocedureDiagnosisSection()->excluding(null)->reject(getPostprocedureDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.36'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_HDUv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolPostprocedureDiagnosisSectionPostprocedureDiagnosis" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_HDU_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPostprocedureDiagnosisSection()->excluding(null)->reject(getPostprocedureDiagnosisSection().entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PostprocedureDiagnosis)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_IRcP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordPreoperativeDiagnosisSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_IRcf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPreoperativeDiagnosisSection()->excluding(null)->reject(getPreoperativeDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.34'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_IRcv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolPreoperativeDiagnosisSectionPreoperativeDiagnosis" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_IRc_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPreoperativeDiagnosisSection()->excluding(null)->reject(getPreoperativeDiagnosisSection().entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PreoperativeDiagnosis)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_KGoP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatus" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_KGof6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusProblemObservation)) or getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusResultObservation)) or  getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_KGov6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatus" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_KGo_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)) or getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusResultObservation)) or getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_KGpP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordFunctionalStatusSectionTemplateId" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_KGpf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.14'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_KtsP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Ktsf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusResultObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_Ktsv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultOrganizer" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Kts_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_KttP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusProblemObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Kttf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_LUwP6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultObservation" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_LUwf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusResultObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_LUwv6hEeGmWJiRRvMaXA" name="SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultOrganizer" constrainedElement="_VG3DUNkxEeGsqcJR8eqiMw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_LUw_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getFunctionalStatusSection()->excluding(null)->reject(getFunctionalStatusSection().entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_VG3qYNkxEeGsqcJR8eqiMw" general="_v-6qsNkMEeGsqcJR8eqiMw"/>
      <ownedOperation xmi:id="_t8plMP6hEeGmWJiRRvMaXA" name="getEncountersSection" isQuery="true" bodyCondition="_t8qMQf6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8qMQf6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8plMP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8qMQv6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSection))->asSequence()->any(true).oclAsType(consol::EncountersSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8plMf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LWg0BSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8qMQP6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8qzUP6hEeGmWJiRRvMaXA" name="getPlanOfCareSection" isQuery="true" bodyCondition="_t8qzU_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8qzU_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8qzUP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8qzVP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(mu2consol::PlanOfCareSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8qzUf6hEeGmWJiRRvMaXA" type="_svnagODKEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8qzUv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8raYP6hEeGmWJiRRvMaXA" name="getAssessmentAndPlanSection" isQuery="true" bodyCondition="_t8raY_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8raY_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8raYP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8raZP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(mu2consol::AssessmentAndPlanSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8raYf6hEeGmWJiRRvMaXA" type="_w2gYkODkEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8raYv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8sBcP6hEeGmWJiRRvMaXA" name="getInterventionsSection" isQuery="true" bodyCondition="_t8sBc_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8sBc_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8sBcP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8sBdP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection))->asSequence()->any(true).oclAsType(consol::InterventionsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8sBcf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_hqzJADVyEeGaW4kr-GbV8Q"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8sBcv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8sBdf6hEeGmWJiRRvMaXA" name="getAssessmentSection" isQuery="true" bodyCondition="_t8sogf6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8sogf6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8sBdf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8sogv6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::AssessmentSection))->asSequence()->any(true).oclAsType(mu2consol::AssessmentSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8sBdv6hEeGmWJiRRvMaXA" type="_CaN5MODgEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8sogP6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8sog_6hEeGmWJiRRvMaXA" name="getHospitalAdmissionDiagnosisSection" isQuery="true" bodyCondition="_t8sohv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8sohv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8sog_6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8soh_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::HospitalAdmissionDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::HospitalAdmissionDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8sohP6hEeGmWJiRRvMaXA" type="_gl8CMODmEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8sohf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8tPkP6hEeGmWJiRRvMaXA" name="getHospitalDischargeDiagnosisSection" isQuery="true" bodyCondition="_t8tPk_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8tPk_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8tPkP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8tPlP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::HospitalDischargeDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::HospitalDischargeDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8tPkf6hEeGmWJiRRvMaXA" type="_qgJokODmEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8tPkv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8t2oP6hEeGmWJiRRvMaXA" name="getPostoperativeDiagnosisSection" isQuery="true" bodyCondition="_t8t2o_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8t2o_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8t2oP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8t2pP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PostoperativeDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::PostoperativeDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8t2of6hEeGmWJiRRvMaXA" type="_y1mQkODmEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8t2ov6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8vEwP6hEeGmWJiRRvMaXA" name="getProblemSection" isQuery="true" bodyCondition="_t8vEw_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8vEw_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8vEwP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8vExP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))->asSequence()->any(true).oclAsType(consol::ProblemSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8vEwf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LSPYBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8vEwv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8wS4P6hEeGmWJiRRvMaXA" name="getAllergiesSection" isQuery="true" bodyCondition="_t8wS4_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8wS4_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8wS4P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8wS5P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))->asSequence()->any(true).oclAsType(consol::AllergiesSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8wS4f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LMIwBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8wS4v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8w58P6hEeGmWJiRRvMaXA" name="getHistoryOfPastIllnessSection" isQuery="true" bodyCondition="_t8w58_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8w58_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8w58P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8w59P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8w58f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PQJcxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8w58v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8xhAP6hEeGmWJiRRvMaXA" name="getPreoperativeDiagnosisSection" isQuery="true" bodyCondition="_t8xhA_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8xhA_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8xhAP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8xhBP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PreoperativeDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::PreoperativeDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8xhAf6hEeGmWJiRRvMaXA" type="_bRRt0ODqEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8xhAv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8yvIP6hEeGmWJiRRvMaXA" name="getImmunizationsSection" isQuery="true" bodyCondition="_t8yvI_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8yvI_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8yvIP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8yvJP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection))->asSequence()->any(true).oclAsType(consol::ImmunizationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8yvIf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2L7voBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8yvIv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8z9QP6hEeGmWJiRRvMaXA" name="getMedicationsSection" isQuery="true" bodyCondition="_t8z9Q_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8z9Q_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8z9QP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8z9RP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))->asSequence()->any(true).oclAsType(consol::MedicationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8z9Qf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NIpgBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8z9Qv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8z9Rf6hEeGmWJiRRvMaXA" name="getHospitalAdmissionMedicationsSectionEntriesOptional" isQuery="true" bodyCondition="_t80kUv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t80kUv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8z9Rf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t80kU_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::HospitalAdmissionMedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(mu2consol::HospitalAdmissionMedicationsSectionEntriesOptional)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t80kUP6hEeGmWJiRRvMaXA" type="_HBzuYODrEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t80kUf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t81ycP6hEeGmWJiRRvMaXA" name="getHospitalDischargeMedicationsSection" isQuery="true" bodyCondition="_t81yc_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t81yc_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t81ycP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t81ydP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeMedicationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t81ycf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_TytVkCUQEeGiOPpZVnfEJA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t81ycv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t83AkP6hEeGmWJiRRvMaXA" name="getSocialHistorySection" isQuery="true" bodyCondition="_t83Ak_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t83Ak_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t83AkP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t83AlP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))->asSequence()->any(true).oclAsType(mu2consol::SocialHistorySection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t83Akf6hEeGmWJiRRvMaXA" type="_9frdwO1UEeGT-eFu7Ghgjw" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t83Akv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t84OsP6hEeGmWJiRRvMaXA" name="getResultsSection" isQuery="true" bodyCondition="_t841wP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t841wP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t84OsP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t841wf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))->asSequence()->any(true).oclAsType(consol::ResultsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t84Osf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Js7AxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t84Osv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t86D4P6hEeGmWJiRRvMaXA" name="getVitalSignsSection" isQuery="true" bodyCondition="_t86D4_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t86D4_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t86D4P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t86D5P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))->asSequence()->any(true).oclAsType(consol::VitalSignsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t86D4f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OfUcxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t86D4v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t87SAP6hEeGmWJiRRvMaXA" name="getProceduresSection" isQuery="true" bodyCondition="_t87SA_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t87SA_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t87SAP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t87SBP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))->asSequence()->any(true).oclAsType(consol::ProceduresSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t87SAf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OAzQRSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t87SAv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t875EP6hEeGmWJiRRvMaXA" name="getPostprocedureDiagnosisSection" isQuery="true" bodyCondition="_t875E_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t875E_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t875EP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t875FP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PostprocedureDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::PostprocedureDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t875Ef6hEeGmWJiRRvMaXA" type="_uvXlkODnEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t875Ev6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-ibkP6hEeGmWJiRRvMaXA" name="getFunctionalStatusSection" isQuery="true" bodyCondition="_t-jCoP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-jCoP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-ibkP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-jCof6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::FunctionalStatusSection))->asSequence()->any(true).oclAsType(mu2consol::FunctionalStatusSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-ibkf6hEeGmWJiRRvMaXA" type="_do39kPhzEeGPm7sA61ixGw" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-ibkv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_svnagODKEeGdSJSga09Dyg" name="PlanOfCareSection">
      <ownedComment xmi:id="_wajPYOFzEeGlJOFzBdwM6w">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_j1rcwOF3EeGlJOFzBdwM6w" name="mu2consolPlanOfCareSectionCarePlanningForPlanOfCare" constrainedElement="_svnagODKEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_qaLEgOF3EeGlJOFzBdwM6w">
          <language>OCL</language>
          <body>self.getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::PlanOfCareActivityAct)) or self.getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::PlanOfCareActivityObservation)) or self.getEncounters()->exists(e : cda::Encounter | e.oclIsKindOf(consol::PlanOfCareActivityEncounter))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t89HMP6hEeGmWJiRRvMaXA" name="mu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation" constrainedElement="_svnagODKEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t89HMf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlanOfCareActivityObservation))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t8-8Yf6hEeGmWJiRRvMaXA" name="PlanOfCareSectionTemplateId" constrainedElement="_svnagODKEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8-8Yv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10')</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_vqugwODKEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NP-QxSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t875Ff6hEeGmWJiRRvMaXA" name="getmu2consolPlanOfCareActivityAct" isQuery="true" bodyCondition="_t88gIv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t88gIv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t875Ff6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t88gI_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlanOfCareActivityAct))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivityAct)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t88gIP6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NWE5xSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t88gIf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t88gJP6hEeGmWJiRRvMaXA" name="getmu2consolPlanOfCareActivityEncounter" isQuery="true" bodyCondition="_t88gJ_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t88gJ_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t88gJP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t88gKP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::PlanOfCareActivityEncounter))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivityEncounter)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t88gJf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NWFBBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t88gJv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t8-VUf6hEeGmWJiRRvMaXA" name="getmu2consolPlanOfCareActivityObservation" isQuery="true" bodyCondition="_t8-VVP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t8-VVP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t8-VUf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t8-VVf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PlanOfCareActivityObservation))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivityObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t8-VUv6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NcLjhSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t8-VU_6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_CaN5MODgEeGdSJSga09Dyg" name="AssessmentSection">
      <ownedComment xmi:id="_dY-WsOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9BYof6hEeGmWJiRRvMaXA" name="AssessmentSectionTemplateId" constrainedElement="_CaN5MODgEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9BYov6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.8')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9CmwP6hEeGmWJiRRvMaXA" name="mu2consolAssessmentSectionProblemObservation" constrainedElement="_CaN5MODgEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Cmwf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_D0JgkODgEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_W8pI4DszEeGvzMYhXuqAEA"/>
      </generalization>
      <ownedOperation xmi:id="_t9D04P6hEeGmWJiRRvMaXA" name="getProblemObservation" isQuery="true" bodyCondition="_t9D04_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9D04_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9D04P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9D05P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation))->asSequence()->any(true).oclAsType(consol::ProblemObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9D04f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_5Ha7ABUyEeGbmN_W114JUw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9D04v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_w2gYkODkEeGdSJSga09Dyg" name="AssessmentAndPlanSection">
      <ownedComment xmi:id="_jFHLgPhtEeGPm7sA61ixGw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9Eb8P6hEeGmWJiRRvMaXA" name="AssessmentAndPlanSectionTemplateId" constrainedElement="_w2gYkODkEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Eb8f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9')</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_ySywYODkEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Rwq0BSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9FqEP6hEeGmWJiRRvMaXA" name="getPlanOfCareActivityProcedure" isQuery="true" bodyCondition="_t9GRIP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9GRIP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9FqEP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9GRIf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlanOfCareActivityProcedure))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivityProcedure)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9FqEf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NiSKhSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9FqEv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9GRIv6hEeGmWJiRRvMaXA" name="getPlanOfCareActivitySubstanceAdministration" isQuery="true" bodyCondition="_t9GRJf6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9GRJf6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9GRIv6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9GRJv6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlanOfCareActivitySubstanceAdministration))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivitySubstanceAdministration)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9GRI_6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NoYwxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9GRJP6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9G4MP6hEeGmWJiRRvMaXA" name="getPlanOfCareActivitySupply" isQuery="true" bodyCondition="_t9G4M_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9G4M_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9G4MP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9G4NP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::PlanOfCareActivitySupply))->asSequence()->any(true).oclAsType(consol::PlanOfCareActivitySupply)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9G4Mf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NoY5BSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9G4Mv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9HfQP6hEeGmWJiRRvMaXA" name="getProblemObservation" isQuery="true" bodyCondition="_t9HfQ_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9HfQ_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9HfQP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9HfRP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation))->asSequence()->any(true).oclAsType(consol::ProblemObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9HfQf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_5Ha7ABUyEeGbmN_W114JUw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9HfQv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_ZK4bUODlEeGdSJSga09Dyg" name="InstructionsSection">
      <ownedComment xmi:id="_nirKkOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9IGUf6hEeGmWJiRRvMaXA" name="InstructionsSectionTemplateId" constrainedElement="_ZK4bUODlEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9IGUv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.45')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9JUcP6hEeGmWJiRRvMaXA" name="mu2consolInstructionsSectionInstructions" constrainedElement="_ZK4bUODlEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9JUcf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instructions))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_avPxEODlEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_4qKukEE1EeGdmoWy_aLP0Q"/>
      </generalization>
      <ownedOperation xmi:id="_t9J7gP6hEeGmWJiRRvMaXA" name="getmu2consolInstructionss" isQuery="true" bodyCondition="_t9Kikv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9Kikv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9J7gP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Kik_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions)).oclAsType(consol::Instructions)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9KikP6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2G8h9RSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9Kikf6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_gl8CMODmEeGdSJSga09Dyg" name="HospitalAdmissionDiagnosisSection">
      <ownedComment xmi:id="_iSMIYOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9Kilf6hEeGmWJiRRvMaXA" name="HospitalAdmissionDiagnosisSectionTemplateId" constrainedElement="_gl8CMODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9LJoP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.43')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9MXwP6hEeGmWJiRRvMaXA" name="mu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis" constrainedElement="_gl8CMODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9MXwf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_jgg88ODmEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PidQhSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9Nl4P6hEeGmWJiRRvMaXA" name="getmu2consolHospitalAdmissionDiagnosis" isQuery="true" bodyCondition="_t9Nl4_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9Nl4_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9Nl4P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Nl5P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalAdmissionDiagnosis))->asSequence()->any(true).oclAsType(consol::HospitalAdmissionDiagnosis)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9Nl4f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_5K6mAEFHEeGorO80f-Cppg"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9Nl4v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_qgJokODmEeGdSJSga09Dyg" name="HospitalDischargeDiagnosisSection">
      <ownedComment xmi:id="_k2eqEOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9OM8P6hEeGmWJiRRvMaXA" name="HospitalDischargeDiagnosisSectionTemplateId" constrainedElement="_qgJokODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9OM8f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.24')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9PbEP6hEeGmWJiRRvMaXA" name="mu2consolHospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis" constrainedElement="_qgJokODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9PbEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalDischargeDiagnosis))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_rXMlUODmEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PidURSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9QCIP6hEeGmWJiRRvMaXA" name="getmu2consolHospitalDischargeDiagnosis" isQuery="true" bodyCondition="_t9QpMf6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9QpMf6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9QCIP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9QpMv6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalDischargeDiagnosis))->asSequence()->any(true).oclAsType(consol::HospitalDischargeDiagnosis)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9QCIf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_KtwVgCULEeGiOPpZVnfEJA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9QpMP6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_y1mQkODmEeGdSJSga09Dyg" name="PostoperativeDiagnosisSection">
      <ownedComment xmi:id="_q87D4OGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9QpNP6hEeGmWJiRRvMaXA" name="PostoperativeDiagnosisSectionTemplateId" constrainedElement="_y1mQkODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9RQQP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.35')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9SeYP6hEeGmWJiRRvMaXA" name="mu2consolPostoperativeDiagnosisSectionProblemObservation" constrainedElement="_y1mQkODmEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9SeYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_zVobgODmEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_7UA-4DVyEeGaW4kr-GbV8Q"/>
      </generalization>
      <ownedOperation xmi:id="_t9TFcP6hEeGmWJiRRvMaXA" name="getProblemObservation" isQuery="true" bodyCondition="_t9TFc_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9TFc_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9TFcP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9TFdP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation))->asSequence()->any(true).oclAsType(consol::ProblemObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9TFcf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_5Ha7ABUyEeGbmN_W114JUw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9TFcv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_uvXlkODnEeGdSJSga09Dyg" name="PostprocedureDiagnosisSection">
      <ownedComment xmi:id="_sNALsOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9Tsgf6hEeGmWJiRRvMaXA" name="PostprocedureDiagnosisSectionTemplateId" constrainedElement="_uvXlkODnEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Tsgv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.36')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9U6oP6hEeGmWJiRRvMaXA" name="mu2consolPostprocedureDiagnosisSectionPostprocedureDiagnosis" constrainedElement="_uvXlkODnEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9U6of6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PostprocedureDiagnosis))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_vj29kODnEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_-jlSMDVyEeGaW4kr-GbV8Q"/>
      </generalization>
      <ownedOperation xmi:id="_t9WIwP6hEeGmWJiRRvMaXA" name="getmu2consolPostprocedureDiagnosis" isQuery="true" bodyCondition="_t9WIw_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9WIw_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9WIwP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9WIxP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PostprocedureDiagnosis))->asSequence()->any(true).oclAsType(consol::PostprocedureDiagnosis)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9WIwf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_0fjXAEEvEeGdmoWy_aLP0Q"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9WIwv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_bRRt0ODqEeGdSJSga09Dyg" name="PreoperativeDiagnosisSection">
      <ownedComment xmi:id="_thn1QOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9Wv0P6hEeGmWJiRRvMaXA" name="PreoperativeDiagnosisSectionTemplateId" constrainedElement="_bRRt0ODqEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9Wv0f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.34')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9X98P6hEeGmWJiRRvMaXA" name="mu2consolPreoperativeDiagnosisSectionPreoperativeDiagnosis" constrainedElement="_bRRt0ODqEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9X98f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PreoperativeDiagnosis))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_b5wDEODqEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_Cu6qMDVzEeGaW4kr-GbV8Q"/>
      </generalization>
      <ownedOperation xmi:id="_t9ZMEP6hEeGmWJiRRvMaXA" name="getmu2consolPreoperativeDiagnosis" isQuery="true" bodyCondition="_t9ZME_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9ZME_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9ZMEP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9ZMFP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PreoperativeDiagnosis))->asSequence()->any(true).oclAsType(consol::PreoperativeDiagnosis)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9ZMEf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_0baBYEEwEeGdmoWy_aLP0Q"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9ZMEv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_3poqgODqEeGdSJSga09Dyg" name="MedicationsAdministeredSection">
      <ownedComment xmi:id="_o4-PIOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9ZMFv6hEeGmWJiRRvMaXA" name="MedicationsAdministeredSectionTemplateId" constrainedElement="_3poqgODqEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9ZzIP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.38')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9bBQP6hEeGmWJiRRvMaXA" name="mu2consolMedicationsAdministeredSectionMedicationActivity" constrainedElement="_3poqgODqEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9bBQf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_4XEYQODqEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Poj_BSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9boUP6hEeGmWJiRRvMaXA" name="getmu2consolMedicationActivities" isQuery="true" bodyCondition="_t9cPYf6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9cPYf6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9boUP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9cPYv6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9boUf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2GHbgBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9cPYP6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_HBzuYODrEeGdSJSga09Dyg" name="HospitalAdmissionMedicationsSectionEntriesOptional">
      <ownedComment xmi:id="_jlwCAOGFEeG708usbCxwpw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9cPZP6hEeGmWJiRRvMaXA" name="HospitalAdmissionMedicationsSectionEntriesOptionalTemplateId" constrainedElement="_HBzuYODrEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9cPZf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.44')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9eEkP6hEeGmWJiRRvMaXA" name="mu2consolHospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication" constrainedElement="_HBzuYODrEeGdSJSga09Dyg">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9eEkf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AdmissionMedication))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_Hm_fEODrEeGdSJSga09Dyg">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Poj5BSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9eroP6hEeGmWJiRRvMaXA" name="getmu2consolAdmissionMedications" isQuery="true" bodyCondition="_t9ero_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9ero_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9eroP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9erpP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AdmissionMedication)).oclAsType(consol::AdmissionMedication)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9erof6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_LNP08EFGEeGorO80f-Cppg"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9erov6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_7D0CQOzmEeGT-eFu7Ghgjw" name="ClinicalOfficeVisitSummary">
      <ownedComment xmi:id="_V_Po0PhqEeGPm7sA61ixGw">
        <body>MU2 170.314(e)(2) Clinical Summary</body>
      </ownedComment>
      <ownedRule xmi:id="_F7KU8O1YEeGT-eFu7Ghgjw" name="ClinicalOfficeVisitSummaryResponsibleParty" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <ownedComment xmi:id="_HLw1oO1iEeGT-eFu7Ghgjw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ke17gO1YEeGT-eFu7Ghgjw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : &#xD;&#xD;&#xA;cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_kNHwMO1bEeGT-eFu7Ghgjw" name="ClinicalOfficeVisitSummaryReasonForOfficeVisit" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_miJt4O1bEeGT-eFu7Ghgjw">
          <language>OCL</language>
          <body>(self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or &#xD;&#xA; self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))) xor &#xD;&#xA; self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_CFE3YO1cEeGT-eFu7Ghgjw" name="ClinicalOfficeVisitSummaryCarePlanning" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_DrZ8AO1cEeGT-eFu7Ghgjw">
          <language>OCL</language>
          <body>(self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::PlanOfCareSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::AssessmentAndPlanSection)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_fRfCgPhlEeGPm7sA61ixGw" name="ClinicalOfficeVisitSummaryEffectiveTime" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <ownedComment xmi:id="_fRfCgfhlEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_fRfCgvhlEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or &#xD;&#xD;&#xA;effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_8kY74PhlEeGPm7sA61ixGw" name="ClinicalOfficeVisitSummaryLocation" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <ownedComment xmi:id="_BORREPhmEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_-WWowPhlEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | &#xD;&#xD;&#xA;not location.oclIsUndefined() and location.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_1Y4aoPhpEeGPm7sA61ixGw" name="ClinicalOfficeVisitSummaryPlanOfCareActOrEncounter" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <ownedComment xmi:id="_6FsIAPhpEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_5W3TIPhpEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.retrievePlanOfCareSection()->excluding(null)->reject(retrievePlanOfCareSection().getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::PlanOfCareActivityAct)) or retrievePlanOfCareSection().getEncounters()->exists(e : cda::Encounter | e.oclIsKindOf(consol::PlanOfCareActivityEncounter)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9jkIP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryProblemSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9jkIf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9n1kP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryMedicationsSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9n1kf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9pDsP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryAllergiesSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9pDsf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9qR0P6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryResultsSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9qR0f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9rf8v6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryVitalSignsSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9rf8_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9suFf6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryPlanOfCareSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9suFv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9ujQP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryProceduresSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9ujQf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9vxYP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryImmunizationsSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9vxYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9xmkP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryMedicationsAdministeredSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9xmkf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::MedicationsAdministeredSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t90p4P6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryInstructionsSection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t90p4f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::InstructionsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-VnQP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarySocialHistorySection" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-VnQf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_NJ8P6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_NJ8f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::PlanOfCareActivityAct)) or getPlanOfCareSection().getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::PlanOfCareActivityObservation)) or getPlanOfCareSection().getEncounters()->exists(e : cda::Encounter | e.oclIsKindOf(consol::PlanOfCareActivityEncounter)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_NxAP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_NxAf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlanOfCareActivityObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_NxAv6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryPlanOfCareSectionTemplateId" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_NxA_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_O_IP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryMedicationsAdministeredSectionTemplateId" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_O_If6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getMedicationsAdministeredSection()->excluding(null)->reject(getMedicationsAdministeredSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.38'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_O_Iv6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarymu2consolMedicationsAdministeredSectionMedicationActivity" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_O_I_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getMedicationsAdministeredSection()->excluding(null)->reject(getMedicationsAdministeredSection().entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_QNQP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryAssessmentAndPlanSectionTemplateId" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_QNQf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAssessmentAndPlanSection()->excluding(null)->reject(getAssessmentAndPlanSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_Q0UP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummaryInstructionsSectionTemplateId" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Q0Uf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getInstructionsSection()->excluding(null)->reject(getInstructionsSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.45'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_RbYP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarymu2consolInstructionsSectionInstructions" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_RbYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getInstructionsSection()->excluding(null)->reject(getInstructionsSection().entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instructions)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_SCcP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarySocialHistorySectionTemplateId" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_SCcf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_SpgP6hEeGmWJiRRvMaXA" name="ClinicalOfficeVisitSummarymu2consolSocialHistorySectionSmokingStatusObservation" constrainedElement="_7D0CQOzmEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Spgf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(mu2consol::SmokingStatusObservation)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_7D0pUOzmEeGT-eFu7Ghgjw" general="_v-6qsNkMEeGsqcJR8eqiMw"/>
      <ownedOperation xmi:id="_viwLAP0aEeGlaomQ_EyHlg" name="retrievePlanOfCareSection" isQuery="true" bodyCondition="_F6QYgP0bEeGlaomQ_EyHlg">
        <ownedRule xmi:id="_F6QYgP0bEeGlaomQ_EyHlg" name="body" constrainedElement="_viwLAP0aEeGlaomQ_EyHlg">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_IoybUP0bEeGlaomQ_EyHlg">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(mu2consol::PlanOfCareSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_9Ec1cP0aEeGlaomQ_EyHlg" name="" type="_svnagODKEeGdSJSga09Dyg" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="_t9kLMP6hEeGmWJiRRvMaXA" name="getProblemSection" isQuery="true" bodyCondition="_t9kLM_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9kLM_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9kLMP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9kLNP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))->asSequence()->any(true).oclAsType(consol::ProblemSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9kLMf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LSPYBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9kLMv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9ocoP6hEeGmWJiRRvMaXA" name="getMedicationsSection" isQuery="true" bodyCondition="_t9oco_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9oco_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9ocoP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9ocpP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))->asSequence()->any(true).oclAsType(consol::MedicationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9ocof6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NIpgBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9ocov6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9pqwP6hEeGmWJiRRvMaXA" name="getAllergiesSection" isQuery="true" bodyCondition="_t9pqw_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9pqw_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9pqwP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9pqxP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))->asSequence()->any(true).oclAsType(consol::AllergiesSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9pqwf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LMIwBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9pqwv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9q44P6hEeGmWJiRRvMaXA" name="getResultsSection" isQuery="true" bodyCondition="_t9rf8P6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9rf8P6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9q44P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9rf8f6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))->asSequence()->any(true).oclAsType(consol::ResultsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9q44f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Js7AxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9q44v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9suEP6hEeGmWJiRRvMaXA" name="getVitalSignsSection" isQuery="true" bodyCondition="_t9suE_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9suE_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9suEP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9suFP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))->asSequence()->any(true).oclAsType(consol::VitalSignsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9suEf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OfUcxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9suEv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9t8MP6hEeGmWJiRRvMaXA" name="getPlanOfCareSection" isQuery="true" bodyCondition="_t9t8M_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9t8M_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9t8MP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9t8NP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(mu2consol::PlanOfCareSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9t8Mf6hEeGmWJiRRvMaXA" type="_svnagODKEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9t8Mv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9vKUP6hEeGmWJiRRvMaXA" name="getProceduresSection" isQuery="true" bodyCondition="_t9vKU_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9vKU_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9vKUP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9vKVP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))->asSequence()->any(true).oclAsType(consol::ProceduresSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9vKUf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OAzQRSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9vKUv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9w_gP6hEeGmWJiRRvMaXA" name="getImmunizationsSection" isQuery="true" bodyCondition="_t9w_g_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9w_g_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9w_gP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9w_hP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection))->asSequence()->any(true).oclAsType(consol::ImmunizationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9w_gf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2L7voBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9w_gv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9yNoP6hEeGmWJiRRvMaXA" name="getMedicationsAdministeredSection" isQuery="true" bodyCondition="_t9yNo_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9yNo_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9yNoP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9yNpP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::MedicationsAdministeredSection))->asSequence()->any(true).oclAsType(mu2consol::MedicationsAdministeredSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9yNof6hEeGmWJiRRvMaXA" type="_3poqgODqEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9yNov6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9y0sP6hEeGmWJiRRvMaXA" name="getReasonForVisitSection" isQuery="true" bodyCondition="_t9y0s_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9y0s_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9y0sP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9y0tP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9y0sf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_Nm64UCscEeGHF88-qhhUMA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9y0sv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9zbwP6hEeGmWJiRRvMaXA" name="getChiefComplaintSection" isQuery="true" bodyCondition="_t9zbw_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9zbw_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9zbwP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9zbxP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9zbwf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PWQCBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9zbwv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t9zbxf6hEeGmWJiRRvMaXA" name="getChiefComplaintAndReasonForVisitSection" isQuery="true" bodyCondition="_t90C0P6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t90C0P6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9zbxf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t90C0f6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9zbxv6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_oI7CQCsaEeGHF88-qhhUMA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9zbx_6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t90C0v6hEeGmWJiRRvMaXA" name="getAssessmentAndPlanSection" isQuery="true" bodyCondition="_t90C1f6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t90C1f6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t90C0v6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t90C1v6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(mu2consol::AssessmentAndPlanSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t90C0_6hEeGmWJiRRvMaXA" type="_w2gYkODkEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t90C1P6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t91Q8P6hEeGmWJiRRvMaXA" name="getInstructionsSection" isQuery="true" bodyCondition="_t91Q8_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t91Q8_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t91Q8P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t91Q9P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::InstructionsSection))->asSequence()->any(true).oclAsType(mu2consol::InstructionsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t91Q8f6hEeGmWJiRRvMaXA" type="_ZK4bUODlEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t91Q8v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-WOUP6hEeGmWJiRRvMaXA" name="getSocialHistorySection" isQuery="true" bodyCondition="_t-WOU_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-WOU_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-WOUP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-WOVP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))->asSequence()->any(true).oclAsType(mu2consol::SocialHistorySection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-WOUf6hEeGmWJiRRvMaXA" type="_9frdwO1UEeGT-eFu7Ghgjw" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-WOUv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_9frdwO1UEeGT-eFu7Ghgjw" name="SocialHistorySection">
      <ownedComment xmi:id="_GBqF4O1VEeGT-eFu7Ghgjw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_t9kyQf6hEeGmWJiRRvMaXA" name="SocialHistorySectionTemplateId" constrainedElement="_9frdwO1UEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9kyQv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t9mAYP6hEeGmWJiRRvMaXA" name="mu2consolSocialHistorySectionSmokingStatusObservation" constrainedElement="_9frdwO1UEeGT-eFu7Ghgjw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9mncP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(mu2consol::SmokingStatusObservation))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_-2YyAO1UEeGT-eFu7Ghgjw">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2JKvgBSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t9nOgP6hEeGmWJiRRvMaXA" name="getmu2consolSmokingStatusObservations" isQuery="true" bodyCondition="_t9nOg_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t9nOg_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t9nOgP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t9nOhP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(mu2consol::SmokingStatusObservation)).oclAsType(mu2consol::SmokingStatusObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t9nOgf6hEeGmWJiRRvMaXA" type="_xbrkwPwYEeGx4ophOjh2tw" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t9nOgv6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_UGcMgPabEeGi99B_x568TQ" name="TransitionOfCareAmbulatorySummary">
      <ownedComment xmi:id="_ottgoPhKEeGQQ6aVp7opYg">
        <body>MU2 170.314(b)(2) Transition of Care/Referral Summary - For Ambulatory Care&#xD;
MU2 170.314(b)(7) Export Summary  - For Ambulatory Care</body>
      </ownedComment>
      <ownedRule xmi:id="_vSLf0PdxEeG_npP0e3OOEw" name="TransitionOfCareAmbulatorySummaryResponsibleParty" constrainedElement="_UGcMgPabEeGi99B_x568TQ">
        <ownedComment xmi:id="_BaqaQPeVEeG_npP0e3OOEw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_z3eP8PdxEeG_npP0e3OOEw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t92fEP6hEeGmWJiRRvMaXA" name="TransitionOfCareAmbulatorySummaryReasonForReferralSection" constrainedElement="_UGcMgPabEeGi99B_x568TQ">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t92fEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_WN-gwPabEeGi99B_x568TQ" general="_VG3DUNkxEeGsqcJR8eqiMw"/>
      <ownedOperation xmi:id="_t93GIP6hEeGmWJiRRvMaXA" name="getReasonForReferralSection" isQuery="true" bodyCondition="_t93tMv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t93tMv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t93GIP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t93tM_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection))->asSequence()->any(true).oclAsType(consol::ReasonForReferralSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t93tMP6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PWQFxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t93tMf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_uu2T0PdyEeG_npP0e3OOEw" name="TransitionOfCareInpatientSummary">
      <ownedComment xmi:id="_rczkIPhKEeGQQ6aVp7opYg">
        <body>MU2 170.314(b)(2) Transition of Care/Referral Summary - For Inpatient Care&#xD;
MU2 170.314(b)(7) Export Summary  - For Inpatient Care</body>
      </ownedComment>
      <ownedRule xmi:id="_t95iYP6hEeGmWJiRRvMaXA" name="TransitionOfCareInpatientSummaryHospitalDischargeInstructionsSection" constrainedElement="_uu2T0PdyEeG_npP0e3OOEw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t95iYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_vutOUPdyEeG_npP0e3OOEw" general="_VG3DUNkxEeGsqcJR8eqiMw"/>
      <ownedOperation xmi:id="_t96wgf6hEeGmWJiRRvMaXA" name="getHospitalDischargeInstructionsSection" isQuery="true" bodyCondition="_t96whP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t96whP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t96wgf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t96whf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeInstructionsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t96wgv6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_lBergCUMEeGiOPpZVnfEJA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t96wg_6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_i2IoQPhVEeGPm7sA61ixGw" name="ViewDownloadTransmitSummary">
      <ownedRule xmi:id="_CrzxoPhcEeGPm7sA61ixGw" name="ViewDownloadTransmitSummaryCarePlanFields" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_FGH38PhcEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>(self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::PlanOfCareSection)) or &#xD;&#xA;self.getAllSections()->one(s : cda::Section | not s.oclIsUndefined() and s.oclIsTypeOf(mu2consol::AssessmentAndPlanSection)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-BeMP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryAllergiesSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-BeMf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-DTYP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryMedicationsSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-DTYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-Ehgv6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryHospitalDischargeMedicationsSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-FIkP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-GWtP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryProblemSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-GWtf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-IL4P6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryProceduresSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-IL4f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-JaAP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryVitalSignsSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-JaAf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-KoIP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryResultsSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-KoIf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-MdUf6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryPlanOfCareSection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-MdUv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-NrcP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummarySocialHistorySection" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Nrcf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_T3oP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryAssessmentAndPlanSectionTemplateId" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_T3of6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAssessmentAndPlanSection()->excluding(null)->reject(getAssessmentAndPlanSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_VFwP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_VFwf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::PlanOfCareActivityAct)) or getPlanOfCareSection().getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::PlanOfCareActivityObservation)) or getPlanOfCareSection().getEncounters()->exists(e : cda::Encounter | e.oclIsKindOf(consol::PlanOfCareActivityEncounter)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_VFwv6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_VFw_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlanOfCareActivityObservation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_VFxP6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummaryPlanOfCareSectionTemplateId" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_Vs0P6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getPlanOfCareSection()->excluding(null)->reject(getPlanOfCareSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_WT4P6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummarySocialHistorySectionTemplateId" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_WT4f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_WT4v6hEeGmWJiRRvMaXA" name="ViewDownloadTransmitSummarymu2consolSocialHistorySectionSmokingStatusObservation" constrainedElement="_i2IoQPhVEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_W68P6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getSocialHistorySection()->excluding(null)->reject(getSocialHistorySection().entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(mu2consol::SmokingStatusObservation)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_kFewQPhVEeGPm7sA61ixGw" general="_v-6qsNkMEeGsqcJR8eqiMw"/>
      <ownedOperation xmi:id="_t-CsUP6hEeGmWJiRRvMaXA" name="getAllergiesSection" isQuery="true" bodyCondition="_t-CsU_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-CsU_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-CsUP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-CsVP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))->asSequence()->any(true).oclAsType(consol::AllergiesSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-CsUf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LMIwBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-CsUv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-D6cP6hEeGmWJiRRvMaXA" name="getMedicationsSection" isQuery="true" bodyCondition="_t-EhgP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-EhgP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-D6cP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Ehgf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))->asSequence()->any(true).oclAsType(consol::MedicationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-D6cf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2NIpgBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-D6cv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-FvoP6hEeGmWJiRRvMaXA" name="getHospitalDischargeMedicationsSection" isQuery="true" bodyCondition="_t-GWsv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-GWsv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-FvoP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-GWs_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeMedicationsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-GWsP6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_TytVkCUQEeGiOPpZVnfEJA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-GWsf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-Hk0P6hEeGmWJiRRvMaXA" name="getProblemSection" isQuery="true" bodyCondition="_t-Hk0_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-Hk0_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-Hk0P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Hk1P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))->asSequence()->any(true).oclAsType(consol::ProblemSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-Hk0f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2LSPYBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-Hk0v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-Iy8P6hEeGmWJiRRvMaXA" name="getProceduresSection" isQuery="true" bodyCondition="_t-Iy8_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-Iy8_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-Iy8P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Iy9P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))->asSequence()->any(true).oclAsType(consol::ProceduresSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-Iy8f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OAzQRSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-Iy8v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-KBEP6hEeGmWJiRRvMaXA" name="getVitalSignsSection" isQuery="true" bodyCondition="_t-KBE_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-KBE_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-KBEP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-KBFP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection))->asSequence()->any(true).oclAsType(consol::VitalSignsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-KBEf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2OfUcxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-KBEv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-L2QP6hEeGmWJiRRvMaXA" name="getResultsSection" isQuery="true" bodyCondition="_t-L2Q_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-L2Q_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-L2QP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-L2RP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))->asSequence()->any(true).oclAsType(consol::ResultsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-L2Qf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2Js7AxSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-L2Qv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-L2Rf6hEeGmWJiRRvMaXA" name="getAssessmentAndPlanSection" isQuery="true" bodyCondition="_t-L2SP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-L2SP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-L2Rf6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-MdUP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(mu2consol::AssessmentAndPlanSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-L2Rv6hEeGmWJiRRvMaXA" type="_w2gYkODkEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-L2R_6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-NEYP6hEeGmWJiRRvMaXA" name="getPlanOfCareSection" isQuery="true" bodyCondition="_t-NEY_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-NEY_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-NEYP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-NEZP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(mu2consol::PlanOfCareSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-NEYf6hEeGmWJiRRvMaXA" type="_svnagODKEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-NEYv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-OSgP6hEeGmWJiRRvMaXA" name="getSocialHistorySection" isQuery="true" bodyCondition="_t-OSg_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-OSg_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-OSgP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-OShP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::SocialHistorySection))->asSequence()->any(true).oclAsType(mu2consol::SocialHistorySection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-OSgf6hEeGmWJiRRvMaXA" type="_9frdwO1UEeGT-eFu7Ghgjw" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-OSgv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_rsKJkPhcEeGPm7sA61ixGw" name="VDTInpatientSummary">
      <ownedComment xmi:id="_qrDxkPhfEeGPm7sA61ixGw">
        <body>MU2 170.314 (e)(1)  Inpatient Summary</body>
      </ownedComment>
      <ownedRule xmi:id="_EFIqIPheEeGPm7sA61ixGw" name="VDTInpatientSummaryEffectiveTime" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <ownedComment xmi:id="_LpyuYPheEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_IaNM8PheEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or &#xD;&#xD;&#xA;effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_WH_yoPheEeGPm7sA61ixGw" name="VDTInpatientSummaryLocation" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <ownedComment xmi:id="_bra-8PheEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_aLjusPheEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | &#xD;&#xD;&#xA;not location.oclIsUndefined() and location.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_GUuRsPhfEeGPm7sA61ixGw" name="VDTInpatientSummaryChiefComplaintOrReasonForVisit" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_JY5NUPhfEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>(self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or &#xD;&#xA; self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))) xor &#xD;&#xA; self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-RV0P6hEeGmWJiRRvMaXA" name="VDTInpatientSummaryHospitalDischargeInstructionsSection" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-RV0f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-Sj8v6hEeGmWJiRRvMaXA" name="VDTInpatientSummaryHospitalAdmissionDiagnosisSection" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Sj8_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::HospitalAdmissionDiagnosisSection))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_XiAP6hEeGmWJiRRvMaXA" name="VDTInpatientSummaryHospitalAdmissionDiagnosisSectionTemplateId" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_XiAf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionDiagnosisSection()->excluding(null)->reject(getHospitalAdmissionDiagnosisSection().templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.43'))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t_YJEP6hEeGmWJiRRvMaXA" name="VDTInpatientSummarymu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis" constrainedElement="_rsKJkPhcEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t_YJEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.getHospitalAdmissionDiagnosisSection()->excluding(null)->reject(getHospitalAdmissionDiagnosisSection().entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_tK1HAPhcEeGPm7sA61ixGw" general="_i2IoQPhVEeGPm7sA61ixGw"/>
      <ownedOperation xmi:id="_t-R84P6hEeGmWJiRRvMaXA" name="getHospitalDischargeInstructionsSection" isQuery="true" bodyCondition="_t-Sj8P6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-Sj8P6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-R84P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Sj8f6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeInstructionsSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-R84f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_lBergCUMEeGiOPpZVnfEJA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-R84v6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-TLAP6hEeGmWJiRRvMaXA" name="getHospitalAdmissionDiagnosisSection" isQuery="true" bodyCondition="_t-TyEv6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-TyEv6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-TLAP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-TyE_6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(mu2consol::HospitalAdmissionDiagnosisSection))->asSequence()->any(true).oclAsType(mu2consol::HospitalAdmissionDiagnosisSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-TyEP6hEeGmWJiRRvMaXA" type="_gl8CMODmEeGdSJSga09Dyg" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-TyEf6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-TyFP6hEeGmWJiRRvMaXA" name="getChiefComplaintSection" isQuery="true" bodyCondition="_t-TyF_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-TyF_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-TyFP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-TyGP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-TyFf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2PWQCBSVEeGGzu7fmW9pXw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-TyFv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-UZIP6hEeGmWJiRRvMaXA" name="getReasonForVisitSection" isQuery="true" bodyCondition="_t-UZI_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-UZI_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-UZIP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-UZJP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-UZIf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_Nm64UCscEeGHF88-qhhUMA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-UZIv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-VAMP6hEeGmWJiRRvMaXA" name="getChiefComplaintAndReasonForVisitSection" isQuery="true" bodyCondition="_t-VAM_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-VAM_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-VAMP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-VANP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-VAMf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_oI7CQCsaEeGHF88-qhhUMA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-VAMv6hEeGmWJiRRvMaXA" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_2FvMgPhcEeGPm7sA61ixGw" name="VDTAmbulatorySummary">
      <ownedComment xmi:id="_sjR3cPhfEeGPm7sA61ixGw">
        <body>MU2 170.314 (e)(1) Ambulatory Summary</body>
      </ownedComment>
      <ownedRule xmi:id="_-3broPhcEeGPm7sA61ixGw" name="VDTAmbulatorySummaryResponsibleParty" constrainedElement="_2FvMgPhcEeGPm7sA61ixGw">
        <ownedComment xmi:id="_B5gVgPhdEeGPm7sA61ixGw">
          <body>QUERY</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_A_BqQPhdEeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : &#xD;&#xD;&#xA;cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(rim::Participation)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_2j8ygPhcEeGPm7sA61ixGw" general="_i2IoQPhVEeGPm7sA61ixGw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_do39kPhzEeGPm7sA61ixGw" name="FunctionalStatusSection">
      <ownedComment xmi:id="_kRURMPhzEeGPm7sA61ixGw">
        <body>INLINE</body>
      </ownedComment>
      <ownedRule xmi:id="_JoyBcPh1EeGPm7sA61ixGw" name="mu2consolFunctionalStatusSectionCognitiveStatus" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_QyDKMPh1EeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusProblemObservation)) or self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusResultObservation)) or  self.entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_bj0qsPh1EeGPm7sA61ixGw" name="mu2consolFunctionalStatusSectionFunctionalStatus" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_en9xIPh1EeGPm7sA61ixGw">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)) or self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusResultObservation)) or self.entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-W1Yf6hEeGmWJiRRvMaXA" name="FunctionalStatusSectionTemplateId" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-W1Yv6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.14')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-afwP6hEeGmWJiRRvMaXA" name="mu2consolFunctionalStatusSectionCognitiveStatusResultObservation" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-afwf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusResultObservation))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-bt4P6hEeGmWJiRRvMaXA" name="mu2consolFunctionalStatusSectionCognitiveStatusResultOrganizer" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-bt4f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-djEP6hEeGmWJiRRvMaXA" name="mu2consolFunctionalStatusSectionFunctionalStatusProblemObservation" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-djEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusProblemObservation))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-exMv6hEeGmWJiRRvMaXA" name="mu2consolFunctionalStatusSectionFunctionalStatusResultObservation" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-exM_6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusResultObservation))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-gmYP6hEeGmWJiRRvMaXA" name="mu2consolFunctionalStatusSectionFunctionalStatusResultOrganizer" constrainedElement="_do39kPhzEeGPm7sA61ixGw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-gmYf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_do4koPhzEeGPm7sA61ixGw">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_2KKOBhSVEeGGzu7fmW9pXw"/>
      </generalization>
      <ownedOperation xmi:id="_t-Z4sP6hEeGmWJiRRvMaXA" name="getmu2consolCognitiveStatusProblemObservations" isQuery="true" bodyCondition="_t-Z4s_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-Z4s_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-Z4sP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-Z4tP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusProblemObservation)).oclAsType(consol::CognitiveStatusProblemObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-Z4sf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_dXKPQOZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-Z4sv6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-bG0P6hEeGmWJiRRvMaXA" name="getmu2consolCognitiveStatusResultObservations" isQuery="true" bodyCondition="_t-bG0_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-bG0_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-bG0P6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-bG1P6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusResultObservation)).oclAsType(consol::CognitiveStatusResultObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-bG0f6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_gkBM0OZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-bG0v6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-c8AP6hEeGmWJiRRvMaXA" name="getmu2consolCognitiveStatusResultOrganizers" isQuery="true" bodyCondition="_t-c8A_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-c8A_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-c8AP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-c8BP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)).oclAsType(consol::CognitiveStatusResultOrganizer)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-c8Af6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_jfoCUOZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-c8Av6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-eKIP6hEeGmWJiRRvMaXA" name="getmu2consolFunctionalStatusProblemObservations" isQuery="true" bodyCondition="_t-exMP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-exMP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-eKIP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-exMf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)).oclAsType(consol::FunctionalStatusProblemObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-eKIf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_rVl5AOZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-eKIv6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-f_UP6hEeGmWJiRRvMaXA" name="getmu2consolFunctionalStatusResultObservations" isQuery="true" bodyCondition="_t-f_U_6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-f_U_6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-f_UP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-f_VP6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusResultObservation)).oclAsType(consol::FunctionalStatusResultObservation)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-f_Uf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_viRU0OZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-f_Uv6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_t-hNcP6hEeGmWJiRRvMaXA" name="getmu2consolFunctionalStatusResultOrganizers" isQuery="true" bodyCondition="_t-h0gP6hEeGmWJiRRvMaXA">
        <ownedRule xmi:id="_t-h0gP6hEeGmWJiRRvMaXA" name="body" constrainedElement="_t-hNcP6hEeGmWJiRRvMaXA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-h0gf6hEeGmWJiRRvMaXA">
            <language>OCL</language>
            <body>self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer)).oclAsType(consol::FunctionalStatusResultOrganizer)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="_t-hNcf6hEeGmWJiRRvMaXA" direction="return">
          <type xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_zBlUUOZbEeGINOJ_SD9_dA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t-hNcv6hEeGmWJiRRvMaXA" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_xbrkwPwYEeGx4ophOjh2tw" name="SmokingStatusObservation">
      <ownedRule xmi:id="_t-jCo_6hEeGmWJiRRvMaXA" name="TobaccoUseTemplateId" constrainedElement="_xbrkwPwYEeGx4ophOjh2tw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-jCpP6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.22.4.78')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-nUEP6hEeGmWJiRRvMaXA" name="SmokingStatusObservationValueP" constrainedElement="_xbrkwPwYEeGx4ophOjh2tw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-nUEf6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>(self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="_t-k30P6hEeGmWJiRRvMaXA" name="SmokingStatusObservationValue" constrainedElement="_xbrkwPwYEeGx4ophOjh2tw">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="_t-k30f6hEeGmWJiRRvMaXA">
          <language>OCL</language>
          <body>(self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and &#xD;&#xA;let value : datatypes::CD = element.oclAsType(datatypes::CD) in &#xD;&#xA;value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '449868002' or value.code = '428041000124106' or value.code = '8517006' or value.code = '266919005' or value.code = '77176002' or value.code = '266927001' or value.code = '428071000124103' or value.code = '428061000124105')))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="_yhogMPwYEeGx4ophOjh2tw">
        <general xmi:type="uml:Class" href="../../org.openhealthtools.mdht.uml.cda.consol/model/consol_Ecore.uml#_gIH_QOWQEeGKmvzED_He2w"/>
      </generalization>
    </packagedElement>
    <profileApplication xmi:id="_mZtsIdd5EeGtNLA6W-IQeQ">
      <eAnnotations xmi:id="_mZtsItd5EeGtNLA6W-IQeQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Standard.profile.uml#_yzU58YinEdqtvbnfB2L_5w"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
    </profileApplication>
    <profileApplication xmi:id="_mZtsI9d5EeGtNLA6W-IQeQ">
      <eAnnotations xmi:id="_mZtsJNd5EeGtNLA6W-IQeQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="http://www.openhealthtools.org/mdht/schemas/cda/4#/"/>
      </eAnnotations>
      <appliedProfile href="pathmap://CDA_PROFILES/CDA.profile.uml#_cxOJEIEVEd6H8o-hO3-B4Q"/>
    </profileApplication>
    <profileApplication xmi:id="_t8Tm8P6hEeGmWJiRRvMaXA">
      <eAnnotations xmi:id="_t8Tm8f6hEeGmWJiRRvMaXA" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
    </profileApplication>
  </uml:Package>
  <CDA:CodegenSupport xmi:id="_mbrbANd5EeGtNLA6W-IQeQ" basePackage="org.openhealthtools.mdht.uml.cda" nsPrefix="mu2consol" nsURI="http://www.openhealthtools.org/mdht/uml/cda/mu2consol" packageName="mu2consol" prefix="mu2consol" base_Namespace="_mZtsINd5EeGtNLA6W-IQeQ"/>
  <CDA:ConstraintValidation xmi:id="_39anEOF3EeGlJOFzBdwM6w" base_Constraint="_j1rcwOF3EeGlJOFzBdwM6w"/>
  <CDA:CDATemplate xmi:id="_gWeuwOmKEeGNCuDrPdW6ZA" base_Class="_ZK4bUODlEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.45"/>
  <CDA:ConstraintValidation xmi:id="_7vlYQOvXEeGkopdZmUN1Xw" base_Constraint="_gfm_8OvXEeGkopdZmUN1Xw"/>
  <CDA:ConstraintValidation xmi:id="_f8jZYOvbEeGkopdZmUN1Xw" base_Constraint="_2nwZAN3EEeGdQcioKnmIhA"/>
  <CDA:PropertyValidation xmi:id="_njlW8OyxEeGT-eFu7Ghgjw"/>
  <CDA:ConstraintValidation xmi:id="_LX7foO1YEeGT-eFu7Ghgjw" base_Constraint="_F7KU8O1YEeGT-eFu7Ghgjw"/>
  <CDA:ConstraintValidation xmi:id="_nFpcgO1bEeGT-eFu7Ghgjw" base_Constraint="_kNHwMO1bEeGT-eFu7Ghgjw"/>
  <CDA:ConstraintValidation xmi:id="_EAFLgO1cEeGT-eFu7Ghgjw" base_Constraint="_CFE3YO1cEeGT-eFu7Ghgjw"/>
  <CDA:CDATemplate xmi:id="_TQUy0PM4EeGkZPcEpuFP6w" base_Class="_w2gYkODkEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.9"/>
  <CDA:CDATemplate xmi:id="_hwU4kPM4EeGkZPcEpuFP6w" base_Class="_CaN5MODgEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.8"/>
  <CDA:CDATemplate xmi:id="_tqLbcPM4EeGkZPcEpuFP6w" base_Class="_gl8CMODmEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.43"/>
  <CDA:CDATemplate xmi:id="_zgZn8PM4EeGkZPcEpuFP6w" base_Class="_HBzuYODrEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.44"/>
  <CDA:CDATemplate xmi:id="_6V0noPM4EeGkZPcEpuFP6w" base_Class="_qgJokODmEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.24"/>
  <CDA:CDATemplate xmi:id="_FuXNMPM5EeGkZPcEpuFP6w" base_Class="_3poqgODqEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.38"/>
  <CDA:CDATemplate xmi:id="_JM8z8PM5EeGkZPcEpuFP6w" base_Class="_svnagODKEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.10"/>
  <CDA:CDATemplate xmi:id="_L1otcPM5EeGkZPcEpuFP6w" base_Class="_y1mQkODmEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.35"/>
  <CDA:CDATemplate xmi:id="_OdNzsPM5EeGkZPcEpuFP6w" base_Class="_uvXlkODnEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.36"/>
  <CDA:CDATemplate xmi:id="_QwCx8PM5EeGkZPcEpuFP6w" base_Class="_bRRt0ODqEeGdSJSga09Dyg" templateId="2.16.840.1.113883.10.20.22.2.34"/>
  <CDA:CDATemplate xmi:id="_TC_sAPM5EeGkZPcEpuFP6w" base_Class="_9frdwO1UEeGT-eFu7Ghgjw" templateId="2.16.840.1.113883.10.20.22.2.17"/>
  <CDA:ConstraintValidation xmi:id="_0YItAPdxEeG_npP0e3OOEw" base_Constraint="_vSLf0PdxEeG_npP0e3OOEw"/>
  <CDA:ConstraintValidation xmi:id="_HrUYkPhcEeGPm7sA61ixGw" base_Constraint="_CrzxoPhcEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_CUb-APhdEeGPm7sA61ixGw" base_Constraint="_-3broPhcEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_cP8oUPheEeGPm7sA61ixGw" base_Constraint="_WH_yoPheEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_dEY9APheEeGPm7sA61ixGw" base_Constraint="_EFIqIPheEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_Jsk-UPhfEeGPm7sA61ixGw" base_Constraint="_GUuRsPhfEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_fRfpkPhlEeGPm7sA61ixGw" base_Constraint="_fRfCgPhlEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_AgV0EPhmEeGPm7sA61ixGw" base_Constraint="_8kY74PhlEeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_6XGoIPhpEeGPm7sA61ixGw" base_Constraint="_1Y4aoPhpEeGPm7sA61ixGw"/>
  <CDA:CDATemplate xmi:id="_md_kIPhzEeGPm7sA61ixGw" base_Class="_do39kPhzEeGPm7sA61ixGw" templateId="2.16.840.1.113883.10.20.22.2.14"/>
  <CDA:ConstraintValidation xmi:id="_SH3toPh1EeGPm7sA61ixGw" base_Constraint="_JoyBcPh1EeGPm7sA61ixGw"/>
  <CDA:ConstraintValidation xmi:id="_e2YAkPh1EeGPm7sA61ixGw" base_Constraint="_bj0qsPh1EeGPm7sA61ixGw"/>
  <CDA:PropertyValidation xmi:id="_4W8twPwYEeGx4ophOjh2tw">
    <ruleId>CONF:16558</ruleId>
  </CDA:PropertyValidation>
  <CDA:PropertyValidation xmi:id="_4W9U0PwYEeGx4ophOjh2tw">
    <ruleId>CONF:16560</ruleId>
  </CDA:PropertyValidation>
  <CDA:CodeSystemConstraint xmi:id="_4W974PwYEeGx4ophOjh2tw" code="ASSERTION" displayName="Assertion">
    <reference href="../../org.openhealthtools.mdht.uml.term.models/model/CodeSystems.uml#_4AnRQCYWEd-iTYfpNb4PkQ"/>
  </CDA:CodeSystemConstraint>
  <CDA:PropertyValidation xmi:id="_4XA_MvwYEeGx4ophOjh2tw">
    <ruleId>CONF:16559</ruleId>
  </CDA:PropertyValidation>
  <CDA:CDATemplate xmi:id="_JW-gQPwZEeGx4ophOjh2tw" base_Class="_xbrkwPwYEeGx4ophOjh2tw" templateId="2.16.840.1.113883.10.22.4.78"/>
  <CDA:CDATemplate xmi:id="_Mm36EP3iEeGmWJiRRvMaXA" base_Class="_v-6qsNkMEeGsqcJR8eqiMw" templateId="2.16.840.1.113883.10.20.22.1.1"/>
  <Ecore:EPackage xmi:id="_t8YfcP6hEeGmWJiRRvMaXA" base_Package="_mZtsINd5EeGtNLA6W-IQeQ" packageName="mu2consol" nsPrefix="mu2consol" nsURI="http://www.openhealthtools.org/mdht/uml/cda/mu2consol" basePackage="org.openhealthtools.mdht.uml.cda" prefix="mu2consol">
    <annotation>http://www.openhealthtools.org/mdht/uml initializers='org.openhealthtools.mdht.uml.cda.mu2consol'</annotation>
  </Ecore:EPackage>
  <CDA:ConformsTo xmi:id="_t8ZGgP6hEeGmWJiRRvMaXA" base_Generalization="_v-6qsdkMEeGsqcJR8eqiMw"/>
  <Ecore:EClass xmi:id="_t8ZtkP6hEeGmWJiRRvMaXA" base_Class="_v-6qsNkMEeGsqcJR8eqiMw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolGeneralHeaderConstraintsTemplateId mu2consolGeneralHeaderConstraintsRecordTarget mu2consolGeneralHeaderConstraintsDocumentationOf GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityAssignedPerson GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEventPerformer GeneralHeaderConstraintsDocumentationOfServiceEvent GeneralHeaderConstraintsComponent1EncompassingEncounterEncounterParticipant GeneralHeaderConstraintsComponent1EncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.1' constraints.validation.query='GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityAssignedPerson GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEventPerformer GeneralHeaderConstraintsDocumentationOfServiceEvent GeneralHeaderConstraintsComponent1EncompassingEncounterEncounterParticipant GeneralHeaderConstraintsComponent1EncompassingEncounter'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsRecordTarget constraints.validation.error='RecordTargetPatientRole RecordTargetPatientRolePatientEthnicGroupCode RecordTargetPatientRolePatientEthnicGroupCodeP RecordTargetPatientRolePatientRaceCode RecordTargetPatientRolePatientRaceCodeP RecordTargetPatientRolePatientLanguageCommunication RecordTargetPatientRolePatient' constraints.validation.query='RecordTargetPatientRolePatientEthnicGroupCode RecordTargetPatientRolePatientEthnicGroupCodeP RecordTargetPatientRolePatientRaceCode RecordTargetPatientRolePatientRaceCodeP RecordTargetPatientRolePatientLanguageCommunication RecordTargetPatientRolePatient'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsRecordTargetPatientRole constraints.validation.error='PatientRolePatient PatientRolePatientEthnicGroupCode PatientRolePatientEthnicGroupCodeP PatientRolePatientRaceCode PatientRolePatientRaceCodeP PatientRolePatientLanguageCommunication' constraints.validation.query='PatientRolePatientEthnicGroupCode PatientRolePatientEthnicGroupCodeP PatientRolePatientRaceCode PatientRolePatientRaceCodeP PatientRolePatientLanguageCommunication'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsRecordTargetPatientRolePatient ethnicGroupCode.codeSystem='2.16.840.1.113883.6.238' ethnicGroupCode.codeSystemName='Race and Ethnicity - CDC' constraints.validation.error='PatientEthnicGroupCode PatientEthnicGroupCodeP PatientRaceCode PatientRaceCodeP PatientLanguageCommunication' raceCode.codeSystem='2.16.840.1.113883.6.238' raceCode.codeSystemName='Race and Ethnicity - CDC'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsDocumentationOf constraints.validation.error='DocumentationOfServiceEvent DocumentationOfServiceEventPerformer1AssignedEntityAssignedPerson DocumentationOfServiceEventPerformer1AssignedEntity DocumentationOfServiceEventPerformer' constraints.validation.query='DocumentationOfServiceEventPerformer1AssignedEntityAssignedPerson DocumentationOfServiceEventPerformer1AssignedEntity DocumentationOfServiceEventPerformer'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsDocumentationOfServiceEvent constraints.validation.error='ServiceEventPerformer ServiceEventPerformer1AssignedEntityAssignedPerson ServiceEventPerformer1AssignedEntity' constraints.validation.query='ServiceEventPerformer1AssignedEntityAssignedPerson ServiceEventPerformer1AssignedEntity'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsDocumentationOfServiceEventPerformer1 constraints.validation.error='Performer1AssignedEntity Performer1AssignedEntityAssignedPerson' constraints.validation.query='Performer1AssignedEntityAssignedPerson'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity constraints.validation.error='AssignedEntityAssignedPerson'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsComponent1 constraints.validation.error='Component1EncompassingEncounter Component1EncompassingEncounterEncounterParticipant' constraints.validation.query='Component1EncompassingEncounterEncounterParticipant'</annotation>
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation/mu2consolGeneralHeaderConstraintsComponent1EncompassingEncounter constraints.validation.error='EncompassingEncounterEncounterParticipant'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t8mh4P6hEeGmWJiRRvMaXA" base_Class="_VG3DUNkxEeGsqcJR8eqiMw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SummaryOfCareRecordMu2EncounterDiagnosesRequirements SummaryOfCareRecordCarePlanning SummaryOfCareRecordPlanOfCareSection SummaryOfCareRecordProblemSection SummaryOfCareRecordAllergiesSection SummaryOfCareRecordImmunizationsSection SummaryOfCareRecordMedicationsSection SummaryOfCareRecordHospitalDischargeMedicationsSection SummaryOfCareRecordSocialHistorySection SummaryOfCareRecordResultsSection SummaryOfCareRecordVitalSignsSection SummaryOfCareRecordProceduresSection SummaryOfCareRecordFunctionalStatusSection SummaryOfCareRecordSocialHistorySectionTemplateId SummaryOfCareRecordmu2consolSocialHistorySectionSmokingStatusObservation SummaryOfCareRecordHospitalAdmissionMedicationsSectionEntriesOptionalTemplateId SummaryOfCareRecordmu2consolHospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication SummaryOfCareRecordmu2consolPlanOfCareSectionCarePlanningForPlanOfCare SummaryOfCareRecordmu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation SummaryOfCareRecordPlanOfCareSectionTemplateId SummaryOfCareRecordAssessmentAndPlanSectionTemplateId SummaryOfCareRecordAssessmentSectionTemplateId SummaryOfCareRecordmu2consolAssessmentSectionProblemObservation SummaryOfCareRecordHospitalAdmissionDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis SummaryOfCareRecordHospitalDischargeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolHospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis SummaryOfCareRecordPostoperativeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPostoperativeDiagnosisSectionProblemObservation SummaryOfCareRecordPostprocedureDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPostprocedureDiagnosisSectionPostprocedureDiagnosis SummaryOfCareRecordPreoperativeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPreoperativeDiagnosisSectionPreoperativeDiagnosis SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatus SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatus SummaryOfCareRecordFunctionalStatusSectionTemplateId' constraints.validation.query='SummaryOfCareRecordSocialHistorySectionTemplateId SummaryOfCareRecordmu2consolSocialHistorySectionSmokingStatusObservation SummaryOfCareRecordHospitalAdmissionMedicationsSectionEntriesOptionalTemplateId SummaryOfCareRecordmu2consolHospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication SummaryOfCareRecordmu2consolPlanOfCareSectionCarePlanningForPlanOfCare SummaryOfCareRecordmu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation SummaryOfCareRecordPlanOfCareSectionTemplateId SummaryOfCareRecordAssessmentAndPlanSectionTemplateId SummaryOfCareRecordAssessmentSectionTemplateId SummaryOfCareRecordmu2consolAssessmentSectionProblemObservation SummaryOfCareRecordHospitalAdmissionDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis SummaryOfCareRecordHospitalDischargeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolHospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis SummaryOfCareRecordPostoperativeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPostoperativeDiagnosisSectionProblemObservation SummaryOfCareRecordPostprocedureDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPostprocedureDiagnosisSectionPostprocedureDiagnosis SummaryOfCareRecordPreoperativeDiagnosisSectionTemplateId SummaryOfCareRecordmu2consolPreoperativeDiagnosisSectionPreoperativeDiagnosis SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatus SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatus SummaryOfCareRecordFunctionalStatusSectionTemplateId SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultOrganizer SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusProblemObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultOrganizer' constraints.validation.info='SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionCognitiveStatusResultOrganizer SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusProblemObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultObservation SummaryOfCareRecordmu2consolFunctionalStatusSectionFunctionalStatusResultOrganizer'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t8-VUP6hEeGmWJiRRvMaXA" base_Class="_svnagODKEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolPlanOfCareSectionPlanOfCareActivityObservation mu2consolPlanOfCareSectionTemplateId mu2consolPlanOfCareSectionCarePlanningForPlanOfCare' templateId.root='2.16.840.1.113883.10.20.22.2.10'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t8-8YP6hEeGmWJiRRvMaXA" base_Generalization="_vqugwODKEeGdSJSga09Dyg"/>
  <CDA:ConformsTo xmi:id="_t9BYoP6hEeGmWJiRRvMaXA" base_Generalization="_D0JgkODgEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9B_sP6hEeGmWJiRRvMaXA" base_Class="_CaN5MODgEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolAssessmentSectionTemplateId mu2consolAssessmentSectionProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.2.8'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9D05f6hEeGmWJiRRvMaXA" base_Generalization="_ySywYODkEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9FDAP6hEeGmWJiRRvMaXA" base_Class="_w2gYkODkEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolAssessmentAndPlanSectionTemplateId' templateId.root='2.16.840.1.113883.10.20.22.2.9'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9IGUP6hEeGmWJiRRvMaXA" base_Generalization="_avPxEODlEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9ItYP6hEeGmWJiRRvMaXA" base_Class="_ZK4bUODlEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolInstructionsSectionTemplateId mu2consolInstructionsSectionInstructions' templateId.root='2.16.840.1.113883.10.20.22.2.45'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9KilP6hEeGmWJiRRvMaXA" base_Generalization="_jgg88ODmEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9LJof6hEeGmWJiRRvMaXA" base_Class="_gl8CMODmEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolHospitalAdmissionDiagnosisSectionTemplateId mu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis' templateId.root='2.16.840.1.113883.10.20.22.2.43'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9Nl5f6hEeGmWJiRRvMaXA" base_Generalization="_rXMlUODmEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9O0AP6hEeGmWJiRRvMaXA" base_Class="_qgJokODmEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolHospitalDischargeDiagnosisSectionTemplateId mu2consolHospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis' templateId.root='2.16.840.1.113883.10.20.22.2.24'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9QpM_6hEeGmWJiRRvMaXA" base_Generalization="_zVobgODmEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9R3UP6hEeGmWJiRRvMaXA" base_Class="_y1mQkODmEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolPostoperativeDiagnosisSectionTemplateId mu2consolPostoperativeDiagnosisSectionProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.2.35'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9TsgP6hEeGmWJiRRvMaXA" base_Generalization="_vj29kODnEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9UTkP6hEeGmWJiRRvMaXA" base_Class="_uvXlkODnEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolPostprocedureDiagnosisSectionTemplateId mu2consolPostprocedureDiagnosisSectionPostprocedureDiagnosis' templateId.root='2.16.840.1.113883.10.20.22.2.36'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9WIxf6hEeGmWJiRRvMaXA" base_Generalization="_b5wDEODqEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9XW4P6hEeGmWJiRRvMaXA" base_Class="_bRRt0ODqEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolPreoperativeDiagnosisSectionTemplateId mu2consolPreoperativeDiagnosisSectionPreoperativeDiagnosis' templateId.root='2.16.840.1.113883.10.20.22.2.34'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9ZMFf6hEeGmWJiRRvMaXA" base_Generalization="_4XEYQODqEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9ZzIf6hEeGmWJiRRvMaXA" base_Class="_3poqgODqEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolMedicationsAdministeredSectionTemplateId mu2consolMedicationsAdministeredSectionMedicationActivity' templateId.root='2.16.840.1.113883.10.20.22.2.38'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9cPY_6hEeGmWJiRRvMaXA" base_Generalization="_Hm_fEODrEeGdSJSga09Dyg"/>
  <Ecore:EClass xmi:id="_t9c2cP6hEeGmWJiRRvMaXA" base_Class="_HBzuYODrEeGdSJSga09Dyg">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolHospitalAdmissionMedicationsSectionEntriesOptionalTemplateId mu2consolHospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication' templateId.root='2.16.840.1.113883.10.20.22.2.44'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t9fSsP6hEeGmWJiRRvMaXA" base_Class="_7D0CQOzmEeGT-eFu7Ghgjw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.query='ClinicalOfficeVisitSummaryResponsibleParty ClinicalOfficeVisitSummaryEffectiveTime ClinicalOfficeVisitSummaryLocation ClinicalOfficeVisitSummaryPlanOfCareActOrEncounter ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation ClinicalOfficeVisitSummaryPlanOfCareSectionTemplateId ClinicalOfficeVisitSummaryMedicationsAdministeredSectionTemplateId ClinicalOfficeVisitSummarymu2consolMedicationsAdministeredSectionMedicationActivity ClinicalOfficeVisitSummaryAssessmentAndPlanSectionTemplateId ClinicalOfficeVisitSummaryInstructionsSectionTemplateId ClinicalOfficeVisitSummarymu2consolInstructionsSectionInstructions ClinicalOfficeVisitSummarySocialHistorySectionTemplateId ClinicalOfficeVisitSummarymu2consolSocialHistorySectionSmokingStatusObservation' constraints.validation.error='ClinicalOfficeVisitSummaryResponsibleParty ClinicalOfficeVisitSummaryReasonForOfficeVisit ClinicalOfficeVisitSummaryCarePlanning ClinicalOfficeVisitSummaryEffectiveTime ClinicalOfficeVisitSummaryLocation ClinicalOfficeVisitSummaryPlanOfCareActOrEncounter ClinicalOfficeVisitSummaryProblemSection ClinicalOfficeVisitSummaryMedicationsSection ClinicalOfficeVisitSummaryAllergiesSection ClinicalOfficeVisitSummaryResultsSection ClinicalOfficeVisitSummaryVitalSignsSection ClinicalOfficeVisitSummaryPlanOfCareSection ClinicalOfficeVisitSummaryProceduresSection ClinicalOfficeVisitSummaryImmunizationsSection ClinicalOfficeVisitSummaryMedicationsAdministeredSection ClinicalOfficeVisitSummaryInstructionsSection ClinicalOfficeVisitSummarySocialHistorySection ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare ClinicalOfficeVisitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation ClinicalOfficeVisitSummaryPlanOfCareSectionTemplateId ClinicalOfficeVisitSummaryMedicationsAdministeredSectionTemplateId ClinicalOfficeVisitSummarymu2consolMedicationsAdministeredSectionMedicationActivity ClinicalOfficeVisitSummaryAssessmentAndPlanSectionTemplateId ClinicalOfficeVisitSummaryInstructionsSectionTemplateId ClinicalOfficeVisitSummarymu2consolInstructionsSectionInstructions ClinicalOfficeVisitSummarySocialHistorySectionTemplateId ClinicalOfficeVisitSummarymu2consolSocialHistorySectionSmokingStatusObservation'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t9kyQP6hEeGmWJiRRvMaXA" base_Generalization="_-2YyAO1UEeGT-eFu7Ghgjw"/>
  <Ecore:EClass xmi:id="_t9lZUP6hEeGmWJiRRvMaXA" base_Class="_9frdwO1UEeGT-eFu7Ghgjw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolSocialHistorySectionTemplateId mu2consolSocialHistorySectionSmokingStatusObservation' templateId.root='2.16.840.1.113883.10.20.22.2.17'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t914AP6hEeGmWJiRRvMaXA" base_Class="_UGcMgPabEeGi99B_x568TQ">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.query='TransitionOfCareAmbulatorySummaryResponsibleParty' constraints.validation.error='TransitionOfCareAmbulatorySummaryResponsibleParty TransitionOfCareAmbulatorySummaryReasonForReferralSection'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t96wgP6hEeGmWJiRRvMaXA" base_Class="_uu2T0PdyEeG_npP0e3OOEw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='TransitionOfCareInpatientSummaryHospitalDischargeInstructionsSection'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t-AQEf6hEeGmWJiRRvMaXA" base_Class="_i2IoQPhVEeGPm7sA61ixGw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ViewDownloadTransmitSummaryCarePlanFields ViewDownloadTransmitSummaryAllergiesSection ViewDownloadTransmitSummaryMedicationsSection ViewDownloadTransmitSummaryHospitalDischargeMedicationsSection ViewDownloadTransmitSummaryProblemSection ViewDownloadTransmitSummaryProceduresSection ViewDownloadTransmitSummaryVitalSignsSection ViewDownloadTransmitSummaryResultsSection ViewDownloadTransmitSummaryPlanOfCareSection ViewDownloadTransmitSummarySocialHistorySection ViewDownloadTransmitSummaryAssessmentAndPlanSectionTemplateId ViewDownloadTransmitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare ViewDownloadTransmitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation ViewDownloadTransmitSummaryPlanOfCareSectionTemplateId ViewDownloadTransmitSummarySocialHistorySectionTemplateId ViewDownloadTransmitSummarymu2consolSocialHistorySectionSmokingStatusObservation' constraints.validation.query='ViewDownloadTransmitSummaryAssessmentAndPlanSectionTemplateId ViewDownloadTransmitSummarymu2consolPlanOfCareSectionCarePlanningForPlanOfCare ViewDownloadTransmitSummarymu2consolPlanOfCareSectionMu2consolPlanOfCareSectionPlanOfCareActivityObservation ViewDownloadTransmitSummaryPlanOfCareSectionTemplateId ViewDownloadTransmitSummarySocialHistorySectionTemplateId ViewDownloadTransmitSummarymu2consolSocialHistorySectionSmokingStatusObservation'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t-O5kP6hEeGmWJiRRvMaXA" base_Class="_rsKJkPhcEeGPm7sA61ixGw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.query='VDTInpatientSummaryEffectiveTime VDTInpatientSummaryLocation VDTInpatientSummaryHospitalAdmissionDiagnosisSectionTemplateId VDTInpatientSummarymu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis' constraints.validation.error='VDTInpatientSummaryEffectiveTime VDTInpatientSummaryLocation VDTInpatientSummaryChiefComplaintOrReasonForVisit VDTInpatientSummaryHospitalDischargeInstructionsSection VDTInpatientSummaryHospitalAdmissionDiagnosisSection VDTInpatientSummaryHospitalAdmissionDiagnosisSectionTemplateId VDTInpatientSummarymu2consolHospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis'</annotation>
  </Ecore:EClass>
  <Ecore:EClass xmi:id="_t-QuwP6hEeGmWJiRRvMaXA" base_Class="_2FvMgPhcEeGPm7sA61ixGw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.query='VDTAmbulatorySummaryResponsibleParty' constraints.validation.error='VDTAmbulatorySummaryResponsibleParty'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t-W1YP6hEeGmWJiRRvMaXA" base_Generalization="_do4koPhzEeGPm7sA61ixGw"/>
  <Ecore:EClass xmi:id="_t-XccP6hEeGmWJiRRvMaXA" base_Class="_do39kPhzEeGPm7sA61ixGw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='mu2consolFunctionalStatusSectionTemplateId mu2consolFunctionalStatusSectionCognitiveStatus mu2consolFunctionalStatusSectionFunctionalStatus' templateId.root='2.16.840.1.113883.10.20.22.2.14' constraints.validation.info='mu2consolFunctionalStatusSectionCognitiveStatusResultObservation mu2consolFunctionalStatusSectionCognitiveStatusResultOrganizer mu2consolFunctionalStatusSectionFunctionalStatusProblemObservation mu2consolFunctionalStatusSectionFunctionalStatusResultObservation mu2consolFunctionalStatusSectionFunctionalStatusResultOrganizer'</annotation>
  </Ecore:EClass>
  <CDA:ConformsTo xmi:id="_t-jCov6hEeGmWJiRRvMaXA" base_Generalization="_yhogMPwYEeGx4ophOjh2tw"/>
  <Ecore:EClass xmi:id="_t-jpsP6hEeGmWJiRRvMaXA" base_Class="_xbrkwPwYEeGx4ophOjh2tw">
    <annotation>http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SmokingStatusObservationTemplateId SmokingStatusObservationValue SmokingStatusObservationValueP' templateId.root='2.16.840.1.113883.10.22.4.78' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SmokingStatusObservationValue='SmokingStatusObservationValueP'</annotation>
  </Ecore:EClass>
</xmi:XMI>
