<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://lpr.mcc.mayo.edu/fhir/StructureDefinition/Condition" />
  <name value="LPR_Condition" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="Epic-HL7v2" />
    <name value="Epic HL7v2" />
  </mapping>
  <mapping>
    <identity value="LPR-System" />
    <name value="LPR System" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Condition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Condition" />
  <derivation value="constraint" />
  <differential>
    <element id="Condition.id">
      <path value="Condition.id" />
      <min value="1" />
      <mapping>
        <identity value="LPR-System" />
        <map value="Server assigned" />
      </mapping>
    </element>
    <element id="Condition.meta">
      <path value="Condition.meta" />
      <min value="1" />
    </element>
    <element id="Condition.meta.versionId">
      <path value="Condition.meta.versionId" />
      <min value="1" />
      <mapping>
        <identity value="LPR-System" />
        <map value="Managed by the FHIR server" />
      </mapping>
    </element>
    <element id="Condition.meta.lastUpdated">
      <path value="Condition.meta.lastUpdated" />
      <min value="1" />
      <mapping>
        <identity value="LPR-System" />
        <map value="Set by server to the timestamp of the transaction that created/updated the resource" />
      </mapping>
    </element>
    <element id="Condition.meta.source">
      <path value="Condition.meta.source" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/systemid/mcc/datasource/epic" />
    </element>
    <element id="Condition.meta.profile">
      <path value="Condition.meta.profile" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag">
      <path value="Condition.meta.tag" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Condition.meta.tag:MessageTimestamp">
      <path value="Condition.meta.tag" />
      <sliceName value="MessageTimestamp" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.meta.tag:MessageTimestamp.system">
      <path value="Condition.meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/hl7v2-timestamp" />
    </element>
    <element id="Condition.meta.tag:MessageTimestamp.version">
      <path value="Condition.meta.tag.version" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:MessageTimestamp.code">
      <path value="Condition.meta.tag.code" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="MSH-7" />
      </mapping>
    </element>
    <element id="Condition.meta.tag:MessageTimestamp.display">
      <path value="Condition.meta.tag.display" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:MessageTimestamp.userSelected">
      <path value="Condition.meta.tag.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:MessageControlId">
      <path value="Condition.meta.tag" />
      <sliceName value="MessageControlId" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.meta.tag:MessageControlId.system">
      <path value="Condition.meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/hl7v2-control-id" />
    </element>
    <element id="Condition.meta.tag:MessageControlId.version">
      <path value="Condition.meta.tag.version" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:MessageControlId.code">
      <path value="Condition.meta.tag.code" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="MSH-9.1" />
      </mapping>
    </element>
    <element id="Condition.meta.tag:MessageControlId.display">
      <path value="Condition.meta.tag.display" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:MessageControlId.userSelected">
      <path value="Condition.meta.tag.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:prbCoding">
      <path value="Condition.meta.tag" />
      <sliceName value="prbCoding" />
      <max value="1" />
    </element>
    <element id="Condition.meta.tag:prbCoding.system">
      <path value="Condition.meta.tag.system" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-3.1, PRB-3.3" />
        <comment value="The PRB-3.1 and PRB-3.3 will be combined into &quot;http://terms.mayo.edu/mccfhir/hl7v2-prb-&lt;PRB-3.1&gt;-&lt;PRB-3.3&gt;&quot;" />
      </mapping>
    </element>
    <element id="Condition.meta.tag:prbCoding.version">
      <path value="Condition.meta.tag.version" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="MSH-10" />
      </mapping>
    </element>
    <element id="Condition.meta.tag:prbCoding.code">
      <path value="Condition.meta.tag.code" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-1" />
      </mapping>
    </element>
    <element id="Condition.meta.tag:prbCoding.display">
      <path value="Condition.meta.tag.display" />
      <max value="0" />
    </element>
    <element id="Condition.meta.tag:prbCoding.userSelected">
      <path value="Condition.meta.tag.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.implicitRules">
      <path value="Condition.implicitRules" />
      <max value="0" />
    </element>
    <element id="Condition.language">
      <path value="Condition.language" />
      <max value="0" />
    </element>
    <element id="Condition.text">
      <path value="Condition.text" />
      <max value="0" />
    </element>
    <element id="Condition.contained">
      <path value="Condition.contained" />
      <max value="0" />
    </element>
    <element id="Condition.identifier">
      <path value="Condition.identifier" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.identifier.use">
      <path value="Condition.identifier.use" />
      <max value="0" />
    </element>
    <element id="Condition.identifier.type">
      <path value="Condition.identifier.type" />
      <max value="0" />
    </element>
    <element id="Condition.identifier.system">
      <path value="Condition.identifier.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/systemid/epic/condition_id" />
    </element>
    <element id="Condition.identifier.value">
      <path value="Condition.identifier.value" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-4" />
      </mapping>
    </element>
    <element id="Condition.identifier.period">
      <path value="Condition.identifier.period" />
      <max value="0" />
    </element>
    <element id="Condition.identifier.assigner">
      <path value="Condition.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Condition.clinicalStatus">
      <path value="Condition.clinicalStatus" />
      <min value="1" />
    </element>
    <element id="Condition.clinicalStatus.coding">
      <path value="Condition.clinicalStatus.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.clinicalStatus.coding.system">
      <path value="Condition.clinicalStatus.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/condition-clinical" />
    </element>
    <element id="Condition.clinicalStatus.coding.version">
      <path value="Condition.clinicalStatus.coding.version" />
      <max value="0" />
    </element>
    <element id="Condition.clinicalStatus.coding.code">
      <path value="Condition.clinicalStatus.coding.code" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-13" />
        <comment value="Extract code from ConditionClinical based on lowercase(PRB-13) and map, throws exception IllegalArgumentException if invalid lowercase(PRB-13); If the value of PRB-13 is Deleted (case insensitive), map it as inactive (case sensitive; lowercase) instead." />
      </mapping>
    </element>
    <element id="Condition.clinicalStatus.coding.display">
      <path value="Condition.clinicalStatus.coding.display" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-13" />
      </mapping>
    </element>
    <element id="Condition.clinicalStatus.coding.userSelected">
      <path value="Condition.clinicalStatus.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.verificationStatus">
      <path value="Condition.verificationStatus" />
      <min value="1" />
    </element>
    <element id="Condition.verificationStatus.coding">
      <path value="Condition.verificationStatus.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.verificationStatus.coding.system">
      <path value="Condition.verificationStatus.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/condition-ver-status" />
    </element>
    <element id="Condition.verificationStatus.coding.version">
      <path value="Condition.verificationStatus.coding.version" />
      <max value="0" />
    </element>
    <element id="Condition.verificationStatus.coding.code">
      <path value="Condition.verificationStatus.coding.code" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-1" />
        <comment value="If PRB-1 is blank, throw TransformException; If PRB-1 equals &quot;deleted&quot;, this will be &quot;entered-in-error&quot;; Otherwise, this will be &quot;confirmed&quot;" />
      </mapping>
    </element>
    <element id="Condition.verificationStatus.coding.display">
      <path value="Condition.verificationStatus.coding.display" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-1" />
        <comment value="If PRB-1 is blank, throw TransformException; If PRB-1 equals &quot;DE&quot;, this will be &quot;Entered in Error&quot;; Otherwise, this will be &quot;Confirmed&quot;" />
      </mapping>
    </element>
    <element id="Condition.verificationStatus.coding.userSelected">
      <path value="Condition.verificationStatus.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.verificationStatus.text">
      <path value="Condition.verificationStatus.text" />
      <max value="0" />
    </element>
    <element id="Condition.category">
      <path value="Condition.category" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Condition.category.coding">
      <path value="Condition.category.coding" />
      <max value="0" />
    </element>
    <element id="Condition.category.text">
      <path value="Condition.category.text" />
      <min value="1" />
      <fixedString value="problem-list-item" />
    </element>
    <element id="Condition.severity">
      <path value="Condition.severity" />
      <max value="0" />
    </element>
    <element id="Condition.code.coding.system">
      <path value="Condition.code.coding.system" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-3.3" />
        <comment value="If PRB-3.3 equals &quot;I9&quot; then &quot;http://hl7.org/fhir/sid/icd-9-cm; Else if PRB-3.3 equals &quot;I10&quot; then &quot;http://hl7.org/fhir/sid/icd-10-cm; Else throw TransformException" />
      </mapping>
    </element>
    <element id="Condition.code.coding.version">
      <path value="Condition.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Condition.code.coding.code">
      <path value="Condition.code.coding.code" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-3.1" />
        <comment value="Populate with PRB-3.1; If empty, throw TransformException; If &quot;UNKNOWNID&quot;, populate with null" />
      </mapping>
    </element>
    <element id="Condition.code.coding.display">
      <path value="Condition.code.coding.display" />
      <max value="0" />
    </element>
    <element id="Condition.code.coding.userSelected">
      <path value="Condition.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Condition.code.text">
      <path value="Condition.code.text" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-3.2" />
      </mapping>
    </element>
    <element id="Condition.bodySite">
      <path value="Condition.bodySite" />
      <max value="0" />
    </element>
    <element id="Condition.subject.reference">
      <path value="Condition.subject.reference" />
      <min value="1" />
      <mapping>
        <identity value="LPR-System" />
        <map value="The literal reference is constructed as Patient/&lt;resource id&gt; where the resource id is determined by querying the FHIR store for the subject.identifier value and subject.identifier.system value provided by the mapper." />
      </mapping>
    </element>
    <element id="Condition.subject.type">
      <path value="Condition.subject.type" />
      <max value="0" />
    </element>
    <element id="Condition.subject.identifier">
      <path value="Condition.subject.identifier" />
      <min value="1" />
    </element>
    <element id="Condition.subject.identifier.use">
      <path value="Condition.subject.identifier.use" />
      <max value="0" />
    </element>
    <element id="Condition.subject.identifier.type">
      <path value="Condition.subject.identifier.type" />
      <max value="0" />
    </element>
    <element id="Condition.subject.identifier.system">
      <path value="Condition.subject.identifier.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/systemid/epic/mayo_clinic_number" />
    </element>
    <element id="Condition.subject.identifier.value">
      <path value="Condition.subject.identifier.value" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PID-3.1" />
        <comment value="Mapped from PID-3.1 during ingest, but removed and replaced by the subject literal reference." />
      </mapping>
    </element>
    <element id="Condition.subject.identifier.period">
      <path value="Condition.subject.identifier.period" />
      <max value="0" />
    </element>
    <element id="Condition.subject.identifier.assigner">
      <path value="Condition.subject.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.reference">
      <path value="Condition.encounter.reference" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.type">
      <path value="Condition.encounter.type" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.identifier">
      <path value="Condition.encounter.identifier" />
      <min value="1" />
    </element>
    <element id="Condition.encounter.identifier.use">
      <path value="Condition.encounter.identifier.use" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.identifier.type">
      <path value="Condition.encounter.identifier.type" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.identifier.system">
      <path value="Condition.encounter.identifier.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/systemid/epic/csn" />
    </element>
    <element id="Condition.encounter.identifier.value">
      <path value="Condition.encounter.identifier.value" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PV1-19" />
      </mapping>
    </element>
    <element id="Condition.encounter.identifier.period">
      <path value="Condition.encounter.identifier.period" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.identifier.assigner">
      <path value="Condition.encounter.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Condition.encounter.display">
      <path value="Condition.encounter.display" />
      <max value="0" />
    </element>
    <element id="Condition.onset[x]">
      <path value="Condition.onset[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-16" />
        <comment value="If PRB-16 is empty, do not map\nsadf" />
      </mapping>
    </element>
    <element id="Condition.abatement[x]">
      <path value="Condition.abatement[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-9" />
      </mapping>
    </element>
    <element id="Condition.recordedDate">
      <path value="Condition.recordedDate" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="PRB-7" />
        <comment value="If PRB-7 is empty, do not map" />
      </mapping>
    </element>
    <element id="Condition.recorder">
      <path value="Condition.recorder" />
      <max value="0" />
    </element>
    <element id="Condition.asserter">
      <path value="Condition.asserter" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="If EVN-5 is empty, this attribute will not be set" />
      </mapping>
    </element>
    <element id="Condition.asserter.reference">
      <path value="Condition.asserter.reference" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.type">
      <path value="Condition.asserter.type" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.identifier">
      <path value="Condition.asserter.identifier" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="This attribute will not be populated if EVN-5.1 is empty&#xA;See child elements for details.&#xA;See child attributes for additional mapping logic." />
      </mapping>
    </element>
    <element id="Condition.asserter.identifier.use">
      <path value="Condition.asserter.identifier.use" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.identifier.type">
      <path value="Condition.asserter.identifier.type" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.identifier.system">
      <path value="Condition.asserter.identifier.system" />
      <min value="1" />
      <fixedUri value="http://terms.mayo.edu/mccfhir/systemid/epic/perid" />
    </element>
    <element id="Condition.asserter.identifier.value">
      <path value="Condition.asserter.identifier.value" />
      <min value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="EVN-5.1" />
      </mapping>
    </element>
    <element id="Condition.asserter.identifier.period">
      <path value="Condition.asserter.identifier.period" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.identifier.assigner">
      <path value="Condition.asserter.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Condition.asserter.display">
      <path value="Condition.asserter.display" />
      <max value="0" />
    </element>
    <element id="Condition.stage">
      <path value="Condition.stage" />
      <max value="0" />
    </element>
    <element id="Condition.evidence">
      <path value="Condition.evidence" />
      <max value="0" />
    </element>
    <element id="Condition.note">
      <path value="Condition.note" />
      <max value="1" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="NTE-3" />
        <comment value="See children attributes for details&#xA;See child attributes for additional mapping logic." />
      </mapping>
    </element>
    <element id="Condition.note.author[x]">
      <path value="Condition.note.author[x]" />
      <max value="0" />
    </element>
    <element id="Condition.note.time">
      <path value="Condition.note.time" />
      <max value="0" />
    </element>
    <element id="Condition.note.text">
      <path value="Condition.note.text" />
      <mapping>
        <identity value="Epic-HL7v2" />
        <map value="For each NTE-3 in order following the PRB segment, concatenate the NTE-3 value plus &quot;\r\n&quot;.&#xA;Blank NTE-3 are included (mapped to &quot;\r\n&quot;) in the concatenation" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>