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-06-10 |
{
"resourceType" : "StructureMap",
"id" : "Task-Transfer",
"text" : {
"status" : "generated",
"div" : "<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\">\r\n<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\">"\r\n\r\n</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>\r\n<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>\r\n\r\n<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\"> {\r\n</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>"335aa944-2966-4cbb-ace2-27a0974da230"</i><span style=\"color: navy\">;</span>\r\n "setTransferId" <i>"d6f9ef6f-4a74-4dd2-a13c-3f62132ffee5"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>dataClass.name = <span style=\"color: blue\">'Transfer'</span> <i>"1c0a7271-c357-48d1-94dd-f74a6f41eb01"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setDataClassName"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</span> src.requester<b> as </b><span style=\"color: maroon\">requester</span><b> then</b><span style=\"color: navy\"> {\r\n</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>"9dd5716f-bc27-45e8-b6d5-6e8e42a634e2"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>organisation.type = <span style=\"color: blue\">'CareOrganisation'</span> <i>"88b2de08-62b5-4303-8ffa-d73d0246ee39"</i><span style=\"color: navy\">;</span>\r\n 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>"c249e7f0-1fee-453f-a866-77e1d4598452"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setRequestorOrganisation"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</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\"> {\r\n</span> requestorParticipentExt.valueReference<b> as </b><span style=\"color: maroon\">requestorReference</span><b> then</b><span style=\"color: navy\"> {\r\n</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\"> {\r\n</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>"49b0d9ff-fb40-4fa8-9f2a-0db94ab7d4de"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>requestedByContact.type = <span style=\"color: blue\">'CareWorker'</span> <i>"8289247a-9a57-4128-a84b-0ab74b18ba18"</i><span style=\"color: navy\">;</span>\r\n 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>"9580ff8c-2f1c-4c0e-a2d2-aa61b530d6d0"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"d30fb211-6f23-4a3c-b25a-497ec505036a"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setRequestorContact"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setRequestor"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</span> src.owner<b> as </b><span style=\"color: maroon\">owner</span><b> then</b><span style=\"color: navy\"> {\r\n</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>"d106ee31-76a8-4c30-9d77-b33466883e51"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>organisation.type = <span style=\"color: blue\">'CareOrganisation'</span> <i>"a6864fe4-61f1-4ac5-911e-6953db8435df"</i><span style=\"color: navy\">;</span>\r\n 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>"b3f5f6a2-43e9-4cc4-8b59-abfc511db4b7"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setFulfillerOrganisation"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</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\"> {\r\n</span> fulfillerParticipentExt.valueReference<b> as </b><span style=\"color: maroon\">fulfillerReference</span><b> then</b><span style=\"color: navy\"> {\r\n</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\"> {\r\n</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>"7e7d3f57-6cc8-4072-b6be-58f695efe208"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>fulfilledByContact.type = <span style=\"color: blue\">'CareWorker'</span> <i>"6dbbdd58-441a-4b55-89cf-051f25afdd94"</i><span style=\"color: navy\">;</span>\r\n 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>"811d7fcf-17b8-4ea3-bbd9-0070b0fff8aa"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ee7f3983-f99f-48e1-9c5c-30b594b58bf4"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setFulfillerContact"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setFulfiller"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</span> src.for<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</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\"> {\r\n</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>"d2928417-6f00-4479-af25-06fab85fd74d"</i><span style=\"color: navy\">;</span>\r\n 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>"aaeca338-cc07-4f4f-a4c9-25ce959f293d"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ad21e89e-7229-47e3-9d64-4a293f116fb7"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</span> patient.identifier<b> as </b><span style=\"color: maroon\">patientNhsNumber</span><b> then</b><span style=\"color: navy\"> {\r\n</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>"3c912d74-138d-4671-8157-ac34d90f5230"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</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>"f4ae38cb-c1de-4b77-8b9f-e7be2a183575"</i><span style=\"color: navy\">;</span>\r\n 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>"4feb88f8-9488-4813-8dae-f5d1d51b88b8"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"82d4539f-4091-4b5f-bd43-8174c489bc81"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extension"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"2e5c25f1-10c3-4f00-8ece-909fc3ba2553"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setSubject"</i><span style=\"color: navy\">;</span>\r\n src.executionPeriod<b> as </b><span style=\"color: maroon\">period</span><b> then</b><span style=\"color: navy\"> {\r\n</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>"84a326cb-4580-4141-8628-4d08bf0ec7b4"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setTargetCompletionDate"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tracking.requestorTrackingId = <span style=\"color: maroon\">requestorTrackingId</span> <i>"5d50e482-1c06-4042-84ec-cc8c34d9952b"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"identifier"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tracking.fulfillerTrackingId = <span style=\"color: maroon\">fulfillerTrackingId</span> <i>"b6b491c7-d765-491f-a26e-b90c6c1c77cb"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"identifier"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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>"00aa50e3-05df-48f4-bf63-e206dc732a73"</i><span style=\"color: navy\">;</span>\r\n src.lastModified<b> as </b><span style=\"color: maroon\">lastModified</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>progress.date = <span style=\"color: maroon\">lastModified</span> <i>"2f128f84-8925-41f7-850a-faae31eda010"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"d6d65cc3-131e-4ed2-a6d8-13c08bcbd48a"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\r\n</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>"f1afa3f3-13de-4414-9b9b-7615ccd923dd"</i><span style=\"color: navy\">;</span>\r\n 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>"8096b036-8298-4375-87fe-078b796de5be"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setTrackingInformation"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Task-Transfer",
"version" : "0.1.0",
"name" : "TaskToTransfer",
"status" : "draft",
"date" : "2026-06-10T19:05:58+00:00",
"publisher" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
"contact" : [
{
"name" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
"telecom" : [
{
"system" : "url",
"value" : "https://synanetics.com"
},
{
"system" : "email",
"value" : "info@synanetics.com"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "GB",
"display" : "United Kingdom of Great Britain and Northern Ireland"
}
]
}
],
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/Task",
"mode" : "source",
"alias" : "Task"
},
{
"url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Transfer",
"mode" : "target",
"alias" : "Transfer"
}
],
"group" : [
{
"name" : "Transfer",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "Task",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "Transfer",
"mode" : "target"
}
],
"rule" : [
{
"name" : "335aa944-2966-4cbb-ace2-27a0974da230",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "id"
}
]
}
]
},
{
"name" : "d6f9ef6f-4a74-4dd2-a13c-3f62132ffee5",
"source" : [
{
"context" : "\"setTransferId\""
}
]
},
{
"name" : "setDataClassName",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta"
},
{
"context" : "meta",
"contextType" : "variable",
"element" : "dataClass",
"variable" : "dataClass"
}
],
"rule" : [
{
"name" : "1c0a7271-c357-48d1-94dd-f74a6f41eb01",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "dataClass",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Transfer"
}
]
}
]
}
]
},
{
"name" : "setRequestor",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "requestor",
"variable" : "requestor"
}
],
"rule" : [
{
"name" : "setRequestorOrganisation",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestor",
"contextType" : "variable",
"element" : "organisation",
"variable" : "organisation"
}
],
"rule" : [
{
"name" : "requester",
"source" : [
{
"context" : "src",
"element" : "requester",
"variable" : "requester"
}
],
"rule" : [
{
"name" : "9dd5716f-bc27-45e8-b6d5-6e8e42a634e2",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requester"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "88b2de08-62b5-4303-8ffa-d73d0246ee39",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareOrganisation"
}
]
}
]
},
{
"name" : "c249e7f0-1fee-453f-a866-77e1d4598452",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requester"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setRequestorContact",
"source" : [
{
"context" : "src",
"element" : "extension",
"variable" : "transferParticipantsExt",
"condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'"
}
],
"rule" : [
{
"name" : "extension",
"source" : [
{
"context" : "transferParticipantsExt",
"element" : "extension",
"variable" : "requestedByParticipantExt",
"condition" : "$this.url='transferTaskParticipantRole'and$this.valueCode='requested-by'"
}
],
"rule" : [
{
"name" : "extension",
"source" : [
{
"context" : "transferParticipantsExt",
"element" : "extension",
"variable" : "requestorParticipentExt",
"condition" : "$this.url='transferTaskParticipant'"
}
],
"rule" : [
{
"name" : "valueReference",
"source" : [
{
"context" : "requestorParticipentExt",
"element" : "valueReference",
"variable" : "requestorReference"
}
],
"rule" : [
{
"name" : "d30fb211-6f23-4a3c-b25a-497ec505036a",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestor",
"contextType" : "variable",
"element" : "contact",
"variable" : "requestedByContact"
}
],
"rule" : [
{
"name" : "49b0d9ff-fb40-4fa8-9f2a-0db94ab7d4de",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestedByContact",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requestorReference"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "8289247a-9a57-4128-a84b-0ab74b18ba18",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestedByContact",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareWorker"
}
]
}
]
},
{
"name" : "9580ff8c-2f1c-4c0e-a2d2-aa61b530d6d0",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestedByContact",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requestorReference"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "setFulfiller",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fulfiller",
"variable" : "fulfiller"
}
],
"rule" : [
{
"name" : "setFulfillerOrganisation",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfiller",
"contextType" : "variable",
"element" : "organisation",
"variable" : "organisation"
}
],
"rule" : [
{
"name" : "owner",
"source" : [
{
"context" : "src",
"element" : "owner",
"variable" : "owner"
}
],
"rule" : [
{
"name" : "d106ee31-76a8-4c30-9d77-b33466883e51",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "owner"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "a6864fe4-61f1-4ac5-911e-6953db8435df",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareOrganisation"
}
]
}
]
},
{
"name" : "b3f5f6a2-43e9-4cc4-8b59-abfc511db4b7",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "owner"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setFulfillerContact",
"source" : [
{
"context" : "src",
"element" : "extension",
"variable" : "transferParticipantsExt",
"condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-TransferTaskParticipant'"
}
],
"rule" : [
{
"name" : "extension",
"source" : [
{
"context" : "transferParticipantsExt",
"element" : "extension",
"variable" : "fulfilledByParticipantExt",
"condition" : "$this.url='transferTaskParticipantRole'and$this.valueCode='fulfilled-by'"
}
],
"rule" : [
{
"name" : "extension",
"source" : [
{
"context" : "transferParticipantsExt",
"element" : "extension",
"variable" : "fulfillerParticipentExt",
"condition" : "$this.url='transferTaskParticipant'"
}
],
"rule" : [
{
"name" : "valueReference",
"source" : [
{
"context" : "fulfillerParticipentExt",
"element" : "valueReference",
"variable" : "fulfillerReference"
}
],
"rule" : [
{
"name" : "ee7f3983-f99f-48e1-9c5c-30b594b58bf4",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfiller",
"contextType" : "variable",
"element" : "contact",
"variable" : "fulfilledByContact"
}
],
"rule" : [
{
"name" : "7e7d3f57-6cc8-4072-b6be-58f695efe208",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfilledByContact",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "fulfillerReference"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "6dbbdd58-441a-4b55-89cf-051f25afdd94",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfilledByContact",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareWorker"
}
]
}
]
},
{
"name" : "811d7fcf-17b8-4ea3-bbd9-0070b0fff8aa",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfilledByContact",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "fulfillerReference"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "setSubject",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
}
],
"rule" : [
{
"name" : "for",
"source" : [
{
"context" : "src",
"element" : "for",
"variable" : "patient"
}
],
"rule" : [
{
"name" : "ad21e89e-7229-47e3-9d64-4a293f116fb7",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "name",
"variable" : "name"
}
],
"rule" : [
{
"name" : "d2928417-6f00-4479-af25-06fab85fd74d",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patient"
},
{
"valueString" : "display.split(' ')[0]"
}
]
}
]
},
{
"name" : "aaeca338-cc07-4f4f-a4c9-25ce959f293d",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patient"
},
{
"valueString" : "display.split(' ')[1]"
}
]
}
]
}
]
},
{
"name" : "2e5c25f1-10c3-4f00-8ece-909fc3ba2553",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "nhsNumber",
"variable" : "nhsNumber"
}
],
"rule" : [
{
"name" : "identifier",
"source" : [
{
"context" : "patient",
"element" : "identifier",
"variable" : "patientNhsNumber"
}
],
"rule" : [
{
"name" : "3c912d74-138d-4671-8157-ac34d90f5230",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "nhsNumber",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patientNhsNumber"
},
{
"valueString" : "value"
}
]
}
]
},
{
"name" : "extension",
"source" : [
{
"context" : "patientNhsNumber",
"element" : "extension",
"variable" : "nhsNumberTraceStatusExt",
"condition" : "$this.url='https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus'"
},
{
"context" : "nhsNumberTraceStatusExt",
"element" : "valueCodeableConcept",
"variable" : "traceStatusCodeableConcept"
},
{
"context" : "traceStatusCodeableConcept",
"min" : 1,
"max" : "1",
"element" : "coding",
"variable" : "traceStatusCoding"
}
],
"rule" : [
{
"name" : "82d4539f-4091-4b5f-bd43-8174c489bc81",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "nhsNumber",
"contextType" : "variable",
"element" : "statusIndicator",
"variable" : "statusIndicator"
}
],
"rule" : [
{
"name" : "f4ae38cb-c1de-4b77-8b9f-e7be2a183575",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "statusIndicator",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "traceStatusCoding"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "4feb88f8-9488-4813-8dae-f5d1d51b88b8",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "statusIndicator",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "traceStatusCoding"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "setTargetCompletionDate",
"source" : [
{
"context" : "src",
"element" : "executionPeriod",
"variable" : "period"
}
],
"rule" : [
{
"name" : "84a326cb-4580-4141-8628-4d08bf0ec7b4",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "targetCompletion",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "period"
},
{
"valueString" : "end"
}
]
}
]
}
]
},
{
"name" : "setTrackingInformation",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tracking",
"variable" : "tracking"
}
],
"rule" : [
{
"name" : "identifier",
"source" : [
{
"context" : "src",
"element" : "identifier",
"variable" : "requestorTrackingIdentifier",
"condition" : "$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/requestor-tracking-id'"
},
{
"context" : "requestorTrackingIdentifier",
"element" : "value",
"variable" : "requestorTrackingId"
}
],
"rule" : [
{
"name" : "5d50e482-1c06-4042-84ec-cc8c34d9952b",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "requestorTrackingId",
"transform" : "copy",
"parameter" : [
{
"valueId" : "requestorTrackingId"
}
]
}
]
}
]
},
{
"name" : "identifier",
"source" : [
{
"context" : "src",
"element" : "identifier",
"variable" : "fulfillerTrackingIdentifier",
"condition" : "$this.system='https://metadata.phase2.scip.synanetics.cloud/transfer-tracking-id/fulfiller-tracking-id'"
},
{
"context" : "fulfillerTrackingIdentifier",
"element" : "value",
"variable" : "fulfillerTrackingId"
}
],
"rule" : [
{
"name" : "b6b491c7-d765-491f-a26e-b90c6c1c77cb",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "fulfillerTrackingId",
"transform" : "copy",
"parameter" : [
{
"valueId" : "fulfillerTrackingId"
}
]
}
]
}
]
},
{
"name" : "d6d65cc3-131e-4ed2-a6d8-13c08bcbd48a",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "progress",
"variable" : "progress"
}
],
"rule" : [
{
"name" : "00aa50e3-05df-48f4-bf63-e206dc732a73",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "progress",
"contextType" : "variable",
"element" : "status",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "status"
}
]
}
]
},
{
"name" : "lastModified",
"source" : [
{
"context" : "src",
"element" : "lastModified",
"variable" : "lastModified"
}
],
"rule" : [
{
"name" : "2f128f84-8925-41f7-850a-faae31eda010",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "progress",
"contextType" : "variable",
"element" : "date",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lastModified"
}
]
}
]
}
]
}
]
},
{
"name" : "note",
"source" : [
{
"context" : "src",
"element" : "note",
"variable" : "notes"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "notes",
"variable" : "note"
}
],
"rule" : [
{
"name" : "f1afa3f3-13de-4414-9b9b-7615ccd923dd",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "date",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "notes"
},
{
"valueString" : "time"
}
]
}
]
},
{
"name" : "8096b036-8298-4375-87fe-078b796de5be",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "text",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "notes"
},
{
"valueString" : "text"
}
]
}
]
}
]
}
]
}
]
}
]
}