Social Care Interoperability Platform FHIR Implementation Guide
Version: 0.1.0, Status: draft

Social Care Interoperability Platform FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: TaskToTransfer - XML Representation

Draft as of 2026-03-24

Raw xml | Download


<StructureMap xmlns="http://hl7.org/fhir">
  <id value="Task-Transfer"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap Task-Transfer</b></p><a name="Task-Transfer"> </a><a name="hcTask-Transfer"> </a><pre class="fml">
<b>map</b><span style="color: navy"> &quot;</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Task-Transfer<span style="color: navy">&quot; = &quot;</span>TaskToTransfer<span style="color: navy">&quot;

</span><b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R4/task.html" title="Task">http://hl7.org/fhir/StructureDefinition/Task</a><span style="color: navy">&quot; </span><b>alias </b>Task <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="StructureDefinition-MODS-Transfer.html" title="MODS Transfer">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Transfer</a><span style="color: navy">&quot; </span><b>alias </b>Transfer <b>as </b><b>target</b>

<b>group </b>Transfer<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>Task, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>Transfer<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;f33d7a72-af48-4149-a047-ce5c099b7263&quot;</i><span style="color: navy">;</span>
  &quot;setTransferId&quot; <i>&quot;6c29f53b-c9c7-4389-91f7-2becd074c5c7&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.dataClass<b> as </b><span style="color: maroon">dataClass</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>dataClass.name = <span style="color: blue">'Transfer'</span> <i>&quot;f2350ffa-64e9-463f-a11a-bc88575c9d2c&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setDataClassName&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>tgt.requestor<b> as </b><span style="color: maroon">requestor</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>requestor.organisation<b> as </b><span style="color: maroon">organisation</span><b> then</b><span style="color: navy"> {
</span>      src.requester<b> as </b><span style="color: maroon">requester</span><b> then</b><span style="color: navy"> {
</span>        src<span style="color: navy"><b> -&gt; </b></span>organisation.id = evaluate<span style="color: navy">(</span>requester<span style="color: navy">, </span>identifier.value<span style="color: navy">)</span> <i>&quot;7fe698c2-c9b6-4e63-b49c-381c671fb7ed&quot;</i><span style="color: navy">;</span>
        src<span style="color: navy"><b> -&gt; </b></span>organisation.type = <span style="color: blue">'CareOrganisation'</span> <i>&quot;4c7ba806-0cb8-4a4e-8128-71e386ce8f7d&quot;</i><span style="color: navy">;</span>
        src<span style="color: navy"><b> -&gt; </b></span>organisation.display = evaluate<span style="color: navy">(</span>requester<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;66a86472-8fcf-4b40-86c3-1c1ee1610c2c&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;setRequestorOrganisation&quot;</i><span style="color: navy">;</span>
    src.extension<b> as </b><span style="color: maroon">transferParticipantsExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'<b> then</b><span style="color: navy"> {
</span>      transferParticipantsExt.extension<b> as </b><span style="color: maroon">requestedByParticipantExt</span><b> where </b>$this.url='transferTaskParticipantRole'and$this.valueCode='requested-by'<b> then</b><span style="color: navy"> {
</span>        transferParticipantsExt.extension<b> as </b><span style="color: maroon">requestorParticipentExt</span><b> where </b>$this.url='transferTaskParticipant'<b> then</b><span style="color: navy"> {
</span>          requestorParticipentExt.valueReference<b> as </b><span style="color: maroon">requestorReference</span><b> then</b><span style="color: navy"> {
</span>            src<span style="color: navy"><b> -&gt; </b></span>requestor.contact<b> as </b><span style="color: maroon">requestedByContact</span><b> then</b><span style="color: navy"> {
</span>              src<span style="color: navy"><b> -&gt; </b></span>requestedByContact.id = evaluate<span style="color: navy">(</span>requestorReference<span style="color: navy">, </span>identifier.value<span style="color: navy">)</span> <i>&quot;a223dfa0-45f9-47bb-b221-06ee0f464f16&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>requestedByContact.type = <span style="color: blue">'CareWorker'</span> <i>&quot;1ed11879-9f4c-4519-a876-8a221b86a260&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>requestedByContact.display = evaluate<span style="color: navy">(</span>requestorReference<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;e8faefe8-3b47-47c9-afb3-3a1ae18745e4&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span> <i>&quot;24527dc7-88d3-4733-afde-81eed58bce50&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> <i>&quot;setRequestorContact&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setRequestor&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>tgt.fulfiller<b> as </b><span style="color: maroon">fulfiller</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>fulfiller.organisation<b> as </b><span style="color: maroon">organisation</span><b> then</b><span style="color: navy"> {
</span>      src.owner<b> as </b><span style="color: maroon">owner</span><b> then</b><span style="color: navy"> {
</span>        src<span style="color: navy"><b> -&gt; </b></span>organisation.id = evaluate<span style="color: navy">(</span>owner<span style="color: navy">, </span>identifier.value<span style="color: navy">)</span> <i>&quot;6f5ab9f9-49c7-4266-b19f-88338cb99b56&quot;</i><span style="color: navy">;</span>
        src<span style="color: navy"><b> -&gt; </b></span>organisation.type = <span style="color: blue">'CareOrganisation'</span> <i>&quot;9406e5c5-7067-4568-a668-b081b9cbaa77&quot;</i><span style="color: navy">;</span>
        src<span style="color: navy"><b> -&gt; </b></span>organisation.display = evaluate<span style="color: navy">(</span>owner<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;14728991-d095-4322-a09a-a47d75952c6f&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;setFulfillerOrganisation&quot;</i><span style="color: navy">;</span>
    src.extension<b> as </b><span style="color: maroon">transferParticipantsExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'<b> then</b><span style="color: navy"> {
</span>      transferParticipantsExt.extension<b> as </b><span style="color: maroon">fulfilledByParticipantExt</span><b> where </b>$this.url='transferTaskParticipantRole'and$this.valueCode='fulfilled-by'<b> then</b><span style="color: navy"> {
</span>        transferParticipantsExt.extension<b> as </b><span style="color: maroon">fulfillerParticipentExt</span><b> where </b>$this.url='transferTaskParticipant'<b> then</b><span style="color: navy"> {
</span>          fulfillerParticipentExt.valueReference<b> as </b><span style="color: maroon">fulfillerReference</span><b> then</b><span style="color: navy"> {
</span>            src<span style="color: navy"><b> -&gt; </b></span>fulfiller.contact<b> as </b><span style="color: maroon">fulfilledByContact</span><b> then</b><span style="color: navy"> {
</span>              src<span style="color: navy"><b> -&gt; </b></span>fulfilledByContact.id = evaluate<span style="color: navy">(</span>fulfillerReference<span style="color: navy">, </span>identifier.value<span style="color: navy">)</span> <i>&quot;707b4a2d-7110-4974-8874-e1ef1a6b2d48&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>fulfilledByContact.type = <span style="color: blue">'CareWorker'</span> <i>&quot;5afd91e2-e68f-4696-b777-758274f567dc&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>fulfilledByContact.display = evaluate<span style="color: navy">(</span>fulfillerReference<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;112651ff-4e91-4361-8627-4ecc9678719d&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span> <i>&quot;87c65109-135e-44a0-8ca2-3f3d6f1a85be&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> <i>&quot;setFulfillerContact&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setFulfiller&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>tgt.subject<b> as </b><span style="color: maroon">subject</span><b> then</b><span style="color: navy"> {
</span>    src.for<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>subject.name<b> as </b><span style="color: maroon">name</span><b> then</b><span style="color: navy"> {
</span>        src<span style="color: navy"><b> -&gt; </b></span>name.given = evaluate<span style="color: navy">(</span>patient<span style="color: navy">, </span>display.split(' ')[0]<span style="color: navy">)</span> <i>&quot;a91e9838-2125-451c-af92-01300e7fc63f&quot;</i><span style="color: navy">;</span>
        src<span style="color: navy"><b> -&gt; </b></span>name.family = evaluate<span style="color: navy">(</span>patient<span style="color: navy">, </span>display.split(' ')[1]<span style="color: navy">)</span> <i>&quot;7f69bfa2-7ad7-4bf4-969f-2320084476f9&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;c46cffe5-23b5-4220-897d-547f2a69fcd5&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>subject.nhsNumber<b> as </b><span style="color: maroon">nhsNumber</span><b> then</b><span style="color: navy"> {
</span>        patient.identifier<b> as </b><span style="color: maroon">patientNhsNumber</span><b> then</b><span style="color: navy"> {
</span>          src<span style="color: navy"><b> -&gt; </b></span>nhsNumber.value = evaluate<span style="color: navy">(</span>patientNhsNumber<span style="color: navy">, </span>value<span style="color: navy">)</span> <i>&quot;a40f5515-0343-48e5-bf0d-ebcaf8693c81&quot;</i><span style="color: navy">;</span>
          patientNhsNumber.extension<b> as </b><span style="color: maroon">nhsNumberTraceStatusExt</span><b> where </b>$this.url='https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus'<span style="color: navy">, </span>nhsNumberTraceStatusExt.valueCodeableConcept<b> as </b><span style="color: maroon">traceStatusCodeableConcept</span><span style="color: navy">, </span>traceStatusCodeableConcept.coding<b> as </b><span style="color: maroon">traceStatusCoding</span><b> then</b><span style="color: navy"> {
</span>            src<span style="color: navy"><b> -&gt; </b></span>nhsNumber.statusIndicator<b> as </b><span style="color: maroon">statusIndicator</span><b> then</b><span style="color: navy"> {
</span>              src<span style="color: navy"><b> -&gt; </b></span>statusIndicator.code = evaluate<span style="color: navy">(</span>traceStatusCoding<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>&quot;d87bff6c-e21b-402e-81f9-1d8f76e6a57c&quot;</i><span style="color: navy">;</span>
              src<span style="color: navy"><b> -&gt; </b></span>statusIndicator.display = evaluate<span style="color: navy">(</span>traceStatusCoding<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>&quot;63cd7af9-1023-46af-9e35-3b3bcae421fc&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span> <i>&quot;2bd45bc3-b30c-4d36-a1a0-8181aa207fb6&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;extension&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;c8510416-c02a-4c46-a234-e96ffc98839c&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setSubject&quot;</i><span style="color: navy">;</span>
  src.executionPeriod<b> as </b><span style="color: maroon">period</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>tgt.targetCompletion = evaluate<span style="color: navy">(</span>period<span style="color: navy">, </span>end<span style="color: navy">)</span> <i>&quot;f839a107-b477-4126-b2aa-8c1a3e26173e&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setTargetCompletionDate&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>tgt.tracking<b> as </b><span style="color: maroon">tracking</span><b> then</b><span style="color: navy"> {
</span>    src.identifier<b> as </b><span style="color: maroon">requestorTrackingIdentifier</span><b> where </b>$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/requestor-tracking-id'<span style="color: navy">, </span>requestorTrackingIdentifier.value<b> as </b><span style="color: maroon">requestorTrackingId</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>tracking.requestorTrackingId = <span style="color: maroon">requestorTrackingId</span> <i>&quot;1f2fc416-09a5-4dbe-9ea4-934729de83ba&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;identifier&quot;</i><span style="color: navy">;</span>
    src.identifier<b> as </b><span style="color: maroon">fulfillerTrackingIdentifier</span><b> where </b>$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/fulfiller-tracking-id'<span style="color: navy">, </span>fulfillerTrackingIdentifier.value<b> as </b><span style="color: maroon">fulfillerTrackingId</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>tracking.fulfillerTrackingId = <span style="color: maroon">fulfillerTrackingId</span> <i>&quot;c9bc9c5e-860b-4f38-b57e-df699b431750&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;identifier&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span>tracking.progress<b> as </b><span style="color: maroon">progress</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>progress.status = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>status<span style="color: navy">)</span> <i>&quot;79647b7f-3c0d-4c67-b73e-7205de6268c5&quot;</i><span style="color: navy">;</span>
      src.lastModified<b> as </b><span style="color: maroon">lastModified</span><b> then</b><span style="color: navy"> {
</span>        src<span style="color: navy"><b> -&gt; </b></span>progress.date = <span style="color: maroon">lastModified</span> <i>&quot;a394c17d-3f9d-4b76-b813-260a1946230b&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;5e47a4dd-7946-4786-9b56-e52cbb149d6e&quot;</i><span style="color: navy">;</span>
    src.note<b> as </b><span style="color: maroon">notes</span><span style="color: navy"><b> -&gt; </b></span>tracking.notes<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.date = evaluate<span style="color: navy">(</span>notes<span style="color: navy">, </span>time<span style="color: navy">)</span> <i>&quot;1d900578-90f1-41a7-a09a-f6c5a86becd6&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>note.text = evaluate<span style="color: navy">(</span>notes<span style="color: navy">, </span>text<span style="color: navy">)</span> <i>&quot;a586d995-cd01-403b-8383-b6904040259e&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setTrackingInformation&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span></pre></div>
  </text>
  <url
       value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Task-Transfer"/>
  <version value="0.1.0"/>
  <name value="TaskToTransfer"/>
  <status value="draft"/>
  <date value="2026-03-24T16:18:08+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="http://hl7.org/fhir/StructureDefinition/Task"/>
    <mode value="source"/>
    <alias value="Task"/>
  </structure>
  <structure>
    <url
         value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Transfer"/>
    <mode value="target"/>
    <alias value="Transfer"/>
  </structure>
  <group>
    <name value="Transfer"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="Task"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="Transfer"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="f33d7a72-af48-4149-a047-ce5c099b7263"/>
      <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="6c29f53b-c9c7-4389-91f7-2becd074c5c7"/>
      <source>
        <context value="&quot;setTransferId&quot;"/>
      </source>
    </rule>
    <rule>
      <name value="setDataClassName"/>
      <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="dataClass"/>
        <variable value="dataClass"/>
      </target>
      <rule>
        <name value="f2350ffa-64e9-463f-a11a-bc88575c9d2c"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="dataClass"/>
          <contextType value="variable"/>
          <element value="name"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Transfer"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setRequestor"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="requestor"/>
        <variable value="requestor"/>
      </target>
      <rule>
        <name value="setRequestorOrganisation"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="requestor"/>
          <contextType value="variable"/>
          <element value="organisation"/>
          <variable value="organisation"/>
        </target>
        <rule>
          <name value="requester"/>
          <source>
            <context value="src"/>
            <element value="requester"/>
            <variable value="requester"/>
          </source>
          <rule>
            <name value="7fe698c2-c9b6-4e63-b49c-381c671fb7ed"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="id"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="requester"/>
              </parameter>
              <parameter>
                <valueString value="identifier.value"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="4c7ba806-0cb8-4a4e-8128-71e386ce8f7d"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="type"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="CareOrganisation"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="66a86472-8fcf-4b40-86c3-1c1ee1610c2c"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="display"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="requester"/>
              </parameter>
              <parameter>
                <valueString value="display"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <rule>
        <name value="setRequestorContact"/>
        <source>
          <context value="src"/>
          <element value="extension"/>
          <variable value="transferParticipantsExt"/>
          <condition
                     value="$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'"/>
        </source>
        <rule>
          <name value="extension"/>
          <source>
            <context value="transferParticipantsExt"/>
            <element value="extension"/>
            <variable value="requestedByParticipantExt"/>
            <condition
                       value="$this.url='transferTaskParticipantRole'and$this.valueCode='requested-by'"/>
          </source>
          <rule>
            <name value="extension"/>
            <source>
              <context value="transferParticipantsExt"/>
              <element value="extension"/>
              <variable value="requestorParticipentExt"/>
              <condition value="$this.url='transferTaskParticipant'"/>
            </source>
            <rule>
              <name value="valueReference"/>
              <source>
                <context value="requestorParticipentExt"/>
                <element value="valueReference"/>
                <variable value="requestorReference"/>
              </source>
              <rule>
                <name value="24527dc7-88d3-4733-afde-81eed58bce50"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="requestor"/>
                  <contextType value="variable"/>
                  <element value="contact"/>
                  <variable value="requestedByContact"/>
                </target>
                <rule>
                  <name value="a223dfa0-45f9-47bb-b221-06ee0f464f16"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="requestedByContact"/>
                    <contextType value="variable"/>
                    <element value="id"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="requestorReference"/>
                    </parameter>
                    <parameter>
                      <valueString value="identifier.value"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="1ed11879-9f4c-4519-a876-8a221b86a260"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="requestedByContact"/>
                    <contextType value="variable"/>
                    <element value="type"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="CareWorker"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="e8faefe8-3b47-47c9-afb3-3a1ae18745e4"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="requestedByContact"/>
                    <contextType value="variable"/>
                    <element value="display"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="requestorReference"/>
                    </parameter>
                    <parameter>
                      <valueString value="display"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setFulfiller"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="fulfiller"/>
        <variable value="fulfiller"/>
      </target>
      <rule>
        <name value="setFulfillerOrganisation"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="fulfiller"/>
          <contextType value="variable"/>
          <element value="organisation"/>
          <variable value="organisation"/>
        </target>
        <rule>
          <name value="owner"/>
          <source>
            <context value="src"/>
            <element value="owner"/>
            <variable value="owner"/>
          </source>
          <rule>
            <name value="6f5ab9f9-49c7-4266-b19f-88338cb99b56"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="id"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="owner"/>
              </parameter>
              <parameter>
                <valueString value="identifier.value"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="9406e5c5-7067-4568-a668-b081b9cbaa77"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="type"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="CareOrganisation"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="14728991-d095-4322-a09a-a47d75952c6f"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="organisation"/>
              <contextType value="variable"/>
              <element value="display"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="owner"/>
              </parameter>
              <parameter>
                <valueString value="display"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <rule>
        <name value="setFulfillerContact"/>
        <source>
          <context value="src"/>
          <element value="extension"/>
          <variable value="transferParticipantsExt"/>
          <condition
                     value="$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'"/>
        </source>
        <rule>
          <name value="extension"/>
          <source>
            <context value="transferParticipantsExt"/>
            <element value="extension"/>
            <variable value="fulfilledByParticipantExt"/>
            <condition
                       value="$this.url='transferTaskParticipantRole'and$this.valueCode='fulfilled-by'"/>
          </source>
          <rule>
            <name value="extension"/>
            <source>
              <context value="transferParticipantsExt"/>
              <element value="extension"/>
              <variable value="fulfillerParticipentExt"/>
              <condition value="$this.url='transferTaskParticipant'"/>
            </source>
            <rule>
              <name value="valueReference"/>
              <source>
                <context value="fulfillerParticipentExt"/>
                <element value="valueReference"/>
                <variable value="fulfillerReference"/>
              </source>
              <rule>
                <name value="87c65109-135e-44a0-8ca2-3f3d6f1a85be"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="fulfiller"/>
                  <contextType value="variable"/>
                  <element value="contact"/>
                  <variable value="fulfilledByContact"/>
                </target>
                <rule>
                  <name value="707b4a2d-7110-4974-8874-e1ef1a6b2d48"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="fulfilledByContact"/>
                    <contextType value="variable"/>
                    <element value="id"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="fulfillerReference"/>
                    </parameter>
                    <parameter>
                      <valueString value="identifier.value"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="5afd91e2-e68f-4696-b777-758274f567dc"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="fulfilledByContact"/>
                    <contextType value="variable"/>
                    <element value="type"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="CareWorker"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="112651ff-4e91-4361-8627-4ecc9678719d"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="fulfilledByContact"/>
                    <contextType value="variable"/>
                    <element value="display"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="fulfillerReference"/>
                    </parameter>
                    <parameter>
                      <valueString value="display"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setSubject"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="subject"/>
        <variable value="subject"/>
      </target>
      <rule>
        <name value="for"/>
        <source>
          <context value="src"/>
          <element value="for"/>
          <variable value="patient"/>
        </source>
        <rule>
          <name value="c46cffe5-23b5-4220-897d-547f2a69fcd5"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="subject"/>
            <contextType value="variable"/>
            <element value="name"/>
            <variable value="name"/>
          </target>
          <rule>
            <name value="a91e9838-2125-451c-af92-01300e7fc63f"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="name"/>
              <contextType value="variable"/>
              <element value="given"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="patient"/>
              </parameter>
              <parameter>
                <valueString value="display.split(' ')[0]"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="7f69bfa2-7ad7-4bf4-969f-2320084476f9"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="name"/>
              <contextType value="variable"/>
              <element value="family"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="patient"/>
              </parameter>
              <parameter>
                <valueString value="display.split(' ')[1]"/>
              </parameter>
            </target>
          </rule>
        </rule>
        <rule>
          <name value="c8510416-c02a-4c46-a234-e96ffc98839c"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="subject"/>
            <contextType value="variable"/>
            <element value="nhsNumber"/>
            <variable value="nhsNumber"/>
          </target>
          <rule>
            <name value="identifier"/>
            <source>
              <context value="patient"/>
              <element value="identifier"/>
              <variable value="patientNhsNumber"/>
            </source>
            <rule>
              <name value="a40f5515-0343-48e5-bf0d-ebcaf8693c81"/>
              <source>
                <context value="src"/>
              </source>
              <target>
                <context value="nhsNumber"/>
                <contextType value="variable"/>
                <element value="value"/>
                <transform value="evaluate"/>
                <parameter>
                  <valueId value="patientNhsNumber"/>
                </parameter>
                <parameter>
                  <valueString value="value"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="extension"/>
              <source>
                <context value="patientNhsNumber"/>
                <element value="extension"/>
                <variable value="nhsNumberTraceStatusExt"/>
                <condition
                           value="$this.url='https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus'"/>
              </source>
              <source>
                <context value="nhsNumberTraceStatusExt"/>
                <element value="valueCodeableConcept"/>
                <variable value="traceStatusCodeableConcept"/>
              </source>
              <source>
                <context value="traceStatusCodeableConcept"/>
                <min value="1"/>
                <max value="1"/>
                <element value="coding"/>
                <variable value="traceStatusCoding"/>
              </source>
              <rule>
                <name value="2bd45bc3-b30c-4d36-a1a0-8181aa207fb6"/>
                <source>
                  <context value="src"/>
                </source>
                <target>
                  <context value="nhsNumber"/>
                  <contextType value="variable"/>
                  <element value="statusIndicator"/>
                  <variable value="statusIndicator"/>
                </target>
                <rule>
                  <name value="d87bff6c-e21b-402e-81f9-1d8f76e6a57c"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="statusIndicator"/>
                    <contextType value="variable"/>
                    <element value="code"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="traceStatusCoding"/>
                    </parameter>
                    <parameter>
                      <valueString value="code"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="63cd7af9-1023-46af-9e35-3b3bcae421fc"/>
                  <source>
                    <context value="src"/>
                  </source>
                  <target>
                    <context value="statusIndicator"/>
                    <contextType value="variable"/>
                    <element value="display"/>
                    <transform value="evaluate"/>
                    <parameter>
                      <valueId value="traceStatusCoding"/>
                    </parameter>
                    <parameter>
                      <valueString value="display"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="setTargetCompletionDate"/>
      <source>
        <context value="src"/>
        <element value="executionPeriod"/>
        <variable value="period"/>
      </source>
      <rule>
        <name value="f839a107-b477-4126-b2aa-8c1a3e26173e"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tgt"/>
          <contextType value="variable"/>
          <element value="targetCompletion"/>
          <transform value="evaluate"/>
          <parameter>
            <valueId value="period"/>
          </parameter>
          <parameter>
            <valueString value="end"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setTrackingInformation"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="tracking"/>
        <variable value="tracking"/>
      </target>
      <rule>
        <name value="identifier"/>
        <source>
          <context value="src"/>
          <element value="identifier"/>
          <variable value="requestorTrackingIdentifier"/>
          <condition
                     value="$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/requestor-tracking-id'"/>
        </source>
        <source>
          <context value="requestorTrackingIdentifier"/>
          <element value="value"/>
          <variable value="requestorTrackingId"/>
        </source>
        <rule>
          <name value="1f2fc416-09a5-4dbe-9ea4-934729de83ba"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="tracking"/>
            <contextType value="variable"/>
            <element value="requestorTrackingId"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="requestorTrackingId"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="identifier"/>
        <source>
          <context value="src"/>
          <element value="identifier"/>
          <variable value="fulfillerTrackingIdentifier"/>
          <condition
                     value="$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/fulfiller-tracking-id'"/>
        </source>
        <source>
          <context value="fulfillerTrackingIdentifier"/>
          <element value="value"/>
          <variable value="fulfillerTrackingId"/>
        </source>
        <rule>
          <name value="c9bc9c5e-860b-4f38-b57e-df699b431750"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="tracking"/>
            <contextType value="variable"/>
            <element value="fulfillerTrackingId"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="fulfillerTrackingId"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="5e47a4dd-7946-4786-9b56-e52cbb149d6e"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="tracking"/>
          <contextType value="variable"/>
          <element value="progress"/>
          <variable value="progress"/>
        </target>
        <rule>
          <name value="79647b7f-3c0d-4c67-b73e-7205de6268c5"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="progress"/>
            <contextType value="variable"/>
            <element value="status"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="src"/>
            </parameter>
            <parameter>
              <valueString value="status"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="lastModified"/>
          <source>
            <context value="src"/>
            <element value="lastModified"/>
            <variable value="lastModified"/>
          </source>
          <rule>
            <name value="a394c17d-3f9d-4b76-b813-260a1946230b"/>
            <source>
              <context value="src"/>
            </source>
            <target>
              <context value="progress"/>
              <contextType value="variable"/>
              <element value="date"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="lastModified"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <rule>
        <name value="note"/>
        <source>
          <context value="src"/>
          <element value="note"/>
          <variable value="notes"/>
        </source>
        <target>
          <context value="tracking"/>
          <contextType value="variable"/>
          <element value="notes"/>
          <variable value="note"/>
        </target>
        <rule>
          <name value="1d900578-90f1-41a7-a09a-f6c5a86becd6"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="note"/>
            <contextType value="variable"/>
            <element value="date"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="notes"/>
            </parameter>
            <parameter>
              <valueString value="time"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="a586d995-cd01-403b-8383-b6904040259e"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="note"/>
            <contextType value="variable"/>
            <element value="text"/>
            <transform value="evaluate"/>
            <parameter>
              <valueId value="notes"/>
            </parameter>
            <parameter>
              <valueString value="text"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
</StructureMap>