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