<?xml version="1.0" encoding="UTF-8"?>

<StructureMap xmlns="http://hl7.org/fhir">
  <id value="Allergy-AllergyIntelorance"/>
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap Allergy-AllergyIntelorance</b></p><a name="Allergy-AllergyIntelorance"> </a><a name="hcAllergy-AllergyIntelorance"> </a><pre class="fml">
<b>map</b><span style="color: navy"> &quot;</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Allergy-AllergyIntelorance<span style="color: navy">&quot; = &quot;</span>AllergyToAllergyIntelorance<span style="color: navy">&quot;

</span><b>uses</b><span style="color: navy"> &quot;</span><a href="StructureDefinition-MODS-Allergy.html" title="MODS Allergy">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Allergy</a><span style="color: navy">&quot; </span><b>alias </b>Allergy <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="StructureDefinition-MODS-AllergyIntolerance.html" title="MODS Allergy Intolerance">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AllergyIntolerance</a><span style="color: navy">&quot; </span><b>alias </b>AllergyIntolerance <b>as </b><b>target</b>

<b>group </b>AllergyIntelorance<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>Allergy, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>AllergyIntolerance<span style="color: navy">)</span><span style="color: navy"> {
</span>  src<span style="color: navy"><b> -&gt; </b></span>tgt.id = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>id<span style="color: navy">)</span> <i>&quot;setAllergyInteloranceId&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span> tgt.meta<b> as </b><span style="color: maroon">meta</span><span style="color: navy">, </span> meta.tag<b> as </b><span style="color: maroon">tag</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>tag.system = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1'</span> <i>&quot;0cddd506-f4ad-44fd-a615-d4bdfd0d90a0&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span>tag.code = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntolerance-Allergy'</span> <i>&quot;c86b31d7-4ae3-468c-acd3-881658908857&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setMetaTag&quot;</i><span style="color: navy">;</span>
  src.type<b> as </b><span style="color: maroon">type</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>src.allergyType = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">allergyType</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>allergyType.code = evaluate<span style="color: navy">(</span>type<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;3eb287e2-be03-40d0-ab0e-949faa382e7c&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>allergyType.system = <span style="color: blue">'https://data.digitisingsocialcare.co.uk/mods/v1/type-of-reaction'</span> <i>&quot;d4789746-13da-4621-b353-212c3f91e864&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>tgt.type = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">allergyType</span><span style="color: navy">, </span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRAllergyIntoleranceType-1'</span><span style="color: navy">, </span><span style="color: blue">'code'</span><span style="color: navy">)</span> <i>&quot;549c4647-ae3c-42e8-b08e-d0e91653ee43&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;cbb0c55a-2da5-4e14-8b18-bbffcf76c6b2&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyIntoleranceType&quot;</i><span style="color: navy">;</span>
  src.causativeAgent<b> as </b><span style="color: maroon">causativeAgent</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>tgt.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://snomed.info/sct'</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">vcc</span><b> then</b><span style="color: navy"> {
</span>      vcc.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>        vcc<span style="color: navy"><b> -&gt; </b></span>coding.code = evaluate<span style="color: navy">(</span>causativeAgent<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;6693f82d-5491-4d90-ab47-ba6fd4b4e8a4&quot;</i><span style="color: navy">;</span>
        vcc<span style="color: navy"><b> -&gt; </b></span>coding.display = evaluate<span style="color: navy">(</span>causativeAgent<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;2b9ef0dc-47ad-47b6-ae70-909a50db9a63&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;818c31e6-39d8-4e54-ba53-95eadea3799d&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyCode&quot;</i><span style="color: navy">;</span>
  src.subjectOfCare<b> as </b><span style="color: maroon">subjectOfCare</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>tgt.patient<b> as </b><span style="color: maroon">patient</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>patient.reference = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>'Patient/'+id<span style="color: navy">)</span> <i>&quot;18930ca9-653d-4bda-9a72-286a6024311d&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>patient.display = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;c8d7f473-0583-44d1-ae45-da3ae8a23bf7&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;85608c74-6bec-4d9b-89d0-599325b3d080&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyPatient&quot;</i><span style="color: navy">;</span>
  src.observer<b> as </b><span style="color: maroon">observer</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>tgt.recorder<b> as </b><span style="color: maroon">recorder</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>recorder.reference = evaluate<span style="color: navy">(</span>observer<span style="color: navy">, </span>'Practitioner/'+id<span style="color: navy">)</span> <i>&quot;31530357-c42a-43b7-9e6d-1b86aa36061b&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>recorder.display = evaluate<span style="color: navy">(</span>observer<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;d2b98ecf-c394-4b7d-9f9f-99ee351187e3&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;450a4378-d1b6-4212-8dd4-0614ef469954&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyRecorder&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>src.onsetPeriod<b> as </b><span style="color: maroon">period</span><b> then</b><span style="color: navy"> {
</span>    src.firstExperienced<b> as </b><span style="color: maroon">start</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>period.start = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>firstExperienced<span style="color: navy">)</span> <i>&quot;02371aa5-4d45-40d3-9ae3-cdb6f68b2b1b&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span><span style="color: navy">;</span>
    src.endDate<b> as </b><span style="color: maroon">end</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>period.end = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>endDate<span style="color: navy">)</span> <i>&quot;b4d7facb-9ade-4bc8-a6ba-0f488c9d1866&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span><span style="color: navy">;</span>
    period<b> where </b>$this.start.empty().not()or$this.end.empty().not()<span style="color: navy"><b> -&gt; </b></span>tgt.onsetPeriod <i>&quot;a532a305-26d5-4164-b824-9fe68c63739c&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyOnsetPeriod&quot;</i><span style="color: navy">;</span>
  src.comment<b> as </b><span style="color: maroon">comment</span><span style="color: navy"><b> -&gt; </b></span>tgt.note<b> as </b><span style="color: maroon">note</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>note.text = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>comment<span style="color: navy">)</span> <i>&quot;486d3c2f-36bc-4955-a434-cde5274983d0&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyCommentNote&quot;</i><span style="color: navy">;</span>
  src.evidence<b> as </b><span style="color: maroon">evidence</span><span style="color: navy"><b> -&gt; </b></span>tgt.note<b> as </b><span style="color: maroon">note</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>note.text = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>evidence<span style="color: navy">)</span> <i>&quot;034331a8-7002-489c-aef1-216f2040348a&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setAllergyEvidenceNote&quot;</i><span style="color: navy">;</span>
  src.reaction<b> as </b><span style="color: maroon">allergyReaction</span><span style="color: navy"><b> -&gt; </b></span>tgt.reaction<b> as </b><span style="color: maroon">reaction</span><b> then</b><span style="color: navy"> {
</span>    allergyReaction.substance<b> as </b><span style="color: maroon">substance</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>reaction.substance = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://snomed.info/sct'</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">vcc</span><b> then</b><span style="color: navy"> {
</span>        vcc.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          src<span style="color: navy"><b> -&gt; </b></span>coding.code = evaluate<span style="color: navy">(</span>substance<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;f29553cb-3356-47f4-adbe-6db5a86ba143&quot;</i><span style="color: navy">;</span>
          src<span style="color: navy"><b> -&gt; </b></span>coding.display = evaluate<span style="color: navy">(</span>substance<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;b55899dd-ef86-42e0-be02-ce623fa8600f&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;setReactionSubstance&quot;</i><span style="color: navy">;</span>
      allergyReaction.description<b> as </b><span style="color: maroon">description</span><b> then</b><span style="color: navy"> {
</span>        src<span style="color: navy"><b> -&gt; </b></span>reaction.manifestation = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://snomed.info/sct'</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">vcc</span><b> then</b><span style="color: navy"> {
</span>          vcc.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            src<span style="color: navy"><b> -&gt; </b></span>coding.code = evaluate<span style="color: navy">(</span>description<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;2a29a76e-7acd-4ec3-8d84-9d5c149b905f&quot;</i><span style="color: navy">;</span>
            src<span style="color: navy"><b> -&gt; </b></span>coding.display = evaluate<span style="color: navy">(</span>description<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;48c14339-442d-4b74-af03-0b92af912688&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;setReactionManifestation&quot;</i><span style="color: navy">;</span>
        allergyReaction.route<b> as </b><span style="color: maroon">route</span><b> then</b><span style="color: navy"> {
</span>          src<span style="color: navy"><b> -&gt; </b></span>reaction.exposureRoute = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://snomed.info/sct'</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">, </span><span style="color: blue">''</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">vcc</span><b> then</b><span style="color: navy"> {
</span>            vcc.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>              src<span style="color: navy"><b> -&gt; </b></span>coding.code = evaluate<span style="color: navy">(</span>route<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;c8d26798-5f6b-405f-b01a-582ef07b3dfc&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>coding.display = evaluate<span style="color: navy">(</span>route<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;f0de28d0-4ebf-4007-a6fe-135433df06b4&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;setReactionRoute&quot;</i><span style="color: navy">;</span>
          allergyReaction.severity<b> as </b><span style="color: maroon">severity</span><b> then</b><span style="color: navy"> {
</span>            src<span style="color: navy"><b> -&gt; </b></span>reaction.severity = evaluate<span style="color: navy">(</span>severity<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;0609a717-13f2-4080-b332-44e65a84ae44&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;setReactionSeverity&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;setAllergyReaction&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span><span style="color: navy">;</span>
    <span style="color: navy">}</span><span style="color: navy">;</span>
  <span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}

</span></pre></div>
  </text>
  <url value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Allergy-AllergyIntelorance"/>
  <version value="0.1.0"/>
  <name value="AllergyToAllergyIntelorance"/>
  <status value="draft"/>
  <date value="2026-06-10T19:05:58+00:00"/>
  <publisher value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
  <contact>
    <name value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
    <telecom>
      <system value="url"/>
      <value value="https://synanetics.com"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@synanetics.com"/>
    </telecom>
  </contact>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="GB"/>
      <display value="United Kingdom of Great Britain and Northern Ireland"/>
    </coding>
  </jurisdiction>
  <structure>
    <url value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Allergy"/>
    <mode value="source"/>
    <alias value="Allergy"/>
  </structure>
  <structure>
    <url value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AllergyIntolerance"/>
    <mode value="target"/>
    <alias value="AllergyIntolerance"/>
  </structure>
  <group>
    <name value="AllergyIntelorance"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="Allergy"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="AllergyIntolerance"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="setAllergyInteloranceId"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="id"/>
        <transform value="evaluate"/>
        <parameter>
          <valueId value="src"/>
        </parameter>
        <parameter>
          <valueString value="id"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="setMetaTag"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="meta"/>
        <variable value="meta"/>
      </target>
      <target>
        <context value="meta"/>
        <contextType value="variable"/>
        <element value="tag"/>
        <variable value="tag"/>
      </target>
      <rule>
        <name value="0cddd506-f4ad-44fd-a615-d4bdfd0d90a0"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tag"/>
          <contextType value="variable"/>
          <element value="system"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="c86b31d7-4ae3-468c-acd3-881658908857"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tag"/>
          <contextType value="variable"/>
          <element value="code"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntolerance-Allergy"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyIntoleranceType"/>
      <source>
        <context value="src"/>
        <element value="type"/>
        <variable value="type"/>
      </source>
      <rule>
        <name value="cbb0c55a-2da5-4e14-8b18-bbffcf76c6b2"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="src"/>
          <contextType value="variable"/>
          <element value="allergyType"/>
          <variable value="allergyType"/>
          <transform value="create"/>
          <parameter>
            <valueString value="Coding"/>
          </parameter>
        </target>
        <rule>
          <name value="3eb287e2-be03-40d0-ab0e-949faa382e7c"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="allergyType"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="type"/>
            </parameter>
            <parameter>
              <valueString value="code"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="d4789746-13da-4621-b353-212c3f91e864"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="allergyType"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="https://data.digitisingsocialcare.co.uk/mods/v1/type-of-reaction"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="549c4647-ae3c-42e8-b08e-d0e91653ee43"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="tgt"/>
            <contextType value="variable"/>
            <element value="type"/>
            <transform value="translate"/>
            <parameter>
              <valueId value="allergyType"/>
            </parameter>
            <parameter>
              <valueString value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRAllergyIntoleranceType-1"/>
            </parameter>
            <parameter>
              <valueString value="code"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyCode"/>
      <source>
        <context value="src"/>
        <element value="causativeAgent"/>
        <variable value="causativeAgent"/>
      </source>
      <rule>
        <name value="818c31e6-39d8-4e54-ba53-95eadea3799d"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tgt"/>
          <contextType value="variable"/>
          <element value="code"/>
          <variable value="vcc"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://snomed.info/sct"/>
          </parameter>
          <parameter/>
          <parameter/>
        </target>
        <rule>
          <name value="coding"/>
          <source>
            <context value="vcc"/>
            <element value="coding"/>
            <variable value="coding"/>
          </source>
          <rule>
            <name value="6693f82d-5491-4d90-ab47-ba6fd4b4e8a4"/>
            <source>
              <context value="vcc"/>
            </source>
            <target>
              <context value="coding"/>
              <contextType value="variable"/>
              <element value="code"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="causativeAgent"/>
              </parameter>
              <parameter>
                <valueString value="code"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="2b9ef0dc-47ad-47b6-ae70-909a50db9a63"/>
            <source>
              <context value="vcc"/>
            </source>
            <target>
              <context value="coding"/>
              <contextType value="variable"/>
              <element value="display"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="causativeAgent"/>
              </parameter>
              <parameter>
                <valueString value="display"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyPatient"/>
      <source>
        <context value="src"/>
        <element value="subjectOfCare"/>
        <variable value="subjectOfCare"/>
      </source>
      <rule>
        <name value="85608c74-6bec-4d9b-89d0-599325b3d080"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tgt"/>
          <contextType value="variable"/>
          <element value="patient"/>
          <variable value="patient"/>
        </target>
        <rule>
          <name value="18930ca9-653d-4bda-9a72-286a6024311d"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="patient"/>
            <contextType value="variable"/>
            <element value="reference"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="subjectOfCare"/>
            </parameter>
            <parameter>
              <valueString value="'Patient/'+id"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="c8d7f473-0583-44d1-ae45-da3ae8a23bf7"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="patient"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="subjectOfCare"/>
            </parameter>
            <parameter>
              <valueString value="display"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyRecorder"/>
      <source>
        <context value="src"/>
        <element value="observer"/>
        <variable value="observer"/>
      </source>
      <rule>
        <name value="450a4378-d1b6-4212-8dd4-0614ef469954"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tgt"/>
          <contextType value="variable"/>
          <element value="recorder"/>
          <variable value="recorder"/>
        </target>
        <rule>
          <name value="31530357-c42a-43b7-9e6d-1b86aa36061b"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="recorder"/>
            <contextType value="variable"/>
            <element value="reference"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="observer"/>
            </parameter>
            <parameter>
              <valueString value="'Practitioner/'+id"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="d2b98ecf-c394-4b7d-9f9f-99ee351187e3"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="recorder"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="observer"/>
            </parameter>
            <parameter>
              <valueString value="display"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyOnsetPeriod"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="src"/>
        <contextType value="variable"/>
        <element value="onsetPeriod"/>
        <variable value="period"/>
      </target>
      <rule>
        <name value="firstExperienced"/>
        <source>
          <context value="src"/>
          <element value="firstExperienced"/>
          <variable value="start"/>
        </source>
        <rule>
          <name value="02371aa5-4d45-40d3-9ae3-cdb6f68b2b1b"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="period"/>
            <contextType value="variable"/>
            <element value="start"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="src"/>
            </parameter>
            <parameter>
              <valueString value="firstExperienced"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="endDate"/>
        <source>
          <context value="src"/>
          <element value="endDate"/>
          <variable value="end"/>
        </source>
        <rule>
          <name value="b4d7facb-9ade-4bc8-a6ba-0f488c9d1866"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="period"/>
            <contextType value="variable"/>
            <element value="end"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="src"/>
            </parameter>
            <parameter>
              <valueString value="endDate"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="a532a305-26d5-4164-b824-9fe68c63739c"/>
        <source>
          <context value="period"/>
          <condition value="$this.start.empty().not()or$this.end.empty().not()"/>
        </source>
        <target>
          <context value="tgt"/>
          <contextType value="variable"/>
          <element value="onsetPeriod"/>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyCommentNote"/>
      <source>
        <context value="src"/>
        <element value="comment"/>
        <variable value="comment"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="note"/>
        <variable value="note"/>
      </target>
      <rule>
        <name value="486d3c2f-36bc-4955-a434-cde5274983d0"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="note"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="evaluate"/>
          <parameter>
            <valueId value="src"/>
          </parameter>
          <parameter>
            <valueString value="comment"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setAllergyEvidenceNote"/>
      <source>
        <context value="src"/>
        <element value="evidence"/>
        <variable value="evidence"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="note"/>
        <variable value="note"/>
      </target>
      <rule>
        <name value="034331a8-7002-489c-aef1-216f2040348a"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="note"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="evaluate"/>
          <parameter>
            <valueId value="src"/>
          </parameter>
          <parameter>
            <valueString value="evidence"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="reaction"/>
      <source>
        <context value="src"/>
        <element value="reaction"/>
        <variable value="allergyReaction"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="reaction"/>
        <variable value="reaction"/>
      </target>
      <rule>
        <name value="substance"/>
        <source>
          <context value="allergyReaction"/>
          <element value="substance"/>
          <variable value="substance"/>
        </source>
        <rule>
          <name value="setReactionSubstance"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="reaction"/>
            <contextType value="variable"/>
            <element value="substance"/>
            <variable value="vcc"/>
            <transform value="cc"/>
            <parameter>
              <valueString value="http://snomed.info/sct"/>
            </parameter>
            <parameter/>
            <parameter/>
          </target>
          <rule>
            <name value="coding"/>
            <source>
              <context value="vcc"/>
              <element value="coding"/>
              <variable value="coding"/>
            </source>
            <rule>
              <name value="f29553cb-3356-47f4-adbe-6db5a86ba143"/>
              <source>
                <context value="src"/>
              </source>
              <target>
                <context value="coding"/>
                <contextType value="variable"/>
                <element value="code"/>
                <transform value="evaluate"/>
                <parameter>
                  <valueId value="substance"/>
                </parameter>
                <parameter>
                  <valueString value="code"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="b55899dd-ef86-42e0-be02-ce623fa8600f"/>
              <source>
                <context value="src"/>
              </source>
              <target>
                <context value="coding"/>
                <contextType value="variable"/>
                <element value="display"/>
                <transform value="evaluate"/>
                <parameter>
                  <valueId value="substance"/>
                </parameter>
                <parameter>
                  <valueString value="display"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
        <rule>
          <name value="description"/>
          <source>
            <context value="allergyReaction"/>
            <element value="description"/>
            <variable value="description"/>
          </source>
          <rule>
            <name value="setReactionManifestation"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="reaction"/>
              <contextType value="variable"/>
              <element value="manifestation"/>
              <variable value="vcc"/>
              <transform value="cc"/>
              <parameter>
                <valueString value="http://snomed.info/sct"/>
              </parameter>
              <parameter/>
              <parameter/>
            </target>
            <rule>
              <name value="coding"/>
              <source>
                <context value="vcc"/>
                <element value="coding"/>
                <variable value="coding"/>
              </source>
              <rule>
                <name value="2a29a76e-7acd-4ec3-8d84-9d5c149b905f"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="coding"/>
                  <contextType value="variable"/>
                  <element value="code"/>
                  <transform value="evaluate"/>
                  <parameter>
                    <valueId value="description"/>
                  </parameter>
                  <parameter>
                    <valueString value="code"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="48c14339-442d-4b74-af03-0b92af912688"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="coding"/>
                  <contextType value="variable"/>
                  <element value="display"/>
                  <transform value="evaluate"/>
                  <parameter>
                    <valueId value="description"/>
                  </parameter>
                  <parameter>
                    <valueString value="display"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="setAllergyReaction"/>
            <source>
              <context value="allergyReaction"/>
              <element value="route"/>
              <variable value="route"/>
            </source>
            <rule>
              <name value="setReactionRoute"/>
              <source>
                <context value="src"/>
              </source>
              <target>
                <context value="reaction"/>
                <contextType value="variable"/>
                <element value="exposureRoute"/>
                <variable value="vcc"/>
                <transform value="cc"/>
                <parameter>
                  <valueString value="http://snomed.info/sct"/>
                </parameter>
                <parameter/>
                <parameter/>
              </target>
              <rule>
                <name value="coding"/>
                <source>
                  <context value="vcc"/>
                  <element value="coding"/>
                  <variable value="coding"/>
                </source>
                <rule>
                  <name value="c8d26798-5f6b-405f-b01a-582ef07b3dfc"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="coding"/>
                    <contextType value="variable"/>
                    <element value="code"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="route"/>
                    </parameter>
                    <parameter>
                      <valueString value="code"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="f0de28d0-4ebf-4007-a6fe-135433df06b4"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="coding"/>
                    <contextType value="variable"/>
                    <element value="display"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="route"/>
                    </parameter>
                    <parameter>
                      <valueString value="display"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
            <rule>
              <name value="setReactionSeverity"/>
              <source>
                <context value="allergyReaction"/>
                <element value="severity"/>
                <variable value="severity"/>
              </source>
              <rule>
                <name value="0609a717-13f2-4080-b332-44e65a84ae44"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="reaction"/>
                  <contextType value="variable"/>
                  <element value="severity"/>
                  <transform value="evaluate"/>
                  <parameter>
                    <valueId value="severity"/>
                  </parameter>
                  <parameter>
                    <valueString value="code"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
        </rule>
      </rule>
    </rule>
  </group>
</StructureMap>