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 |
{
"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>"f33d7a72-af48-4149-a047-ce5c099b7263"</i><span style=\"color: navy\">;</span>\r\n "setTransferId" <i>"6c29f53b-c9c7-4389-91f7-2becd074c5c7"</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>"f2350ffa-64e9-463f-a11a-bc88575c9d2c"</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>"7fe698c2-c9b6-4e63-b49c-381c671fb7ed"</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>"4c7ba806-0cb8-4a4e-8128-71e386ce8f7d"</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>"66a86472-8fcf-4b40-86c3-1c1ee1610c2c"</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>"a223dfa0-45f9-47bb-b221-06ee0f464f16"</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>"1ed11879-9f4c-4519-a876-8a221b86a260"</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>"e8faefe8-3b47-47c9-afb3-3a1ae18745e4"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"24527dc7-88d3-4733-afde-81eed58bce50"</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>"6f5ab9f9-49c7-4266-b19f-88338cb99b56"</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>"9406e5c5-7067-4568-a668-b081b9cbaa77"</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>"14728991-d095-4322-a09a-a47d75952c6f"</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>"707b4a2d-7110-4974-8874-e1ef1a6b2d48"</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>"5afd91e2-e68f-4696-b777-758274f567dc"</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>"112651ff-4e91-4361-8627-4ecc9678719d"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"87c65109-135e-44a0-8ca2-3f3d6f1a85be"</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>"a91e9838-2125-451c-af92-01300e7fc63f"</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>"7f69bfa2-7ad7-4bf4-969f-2320084476f9"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"c46cffe5-23b5-4220-897d-547f2a69fcd5"</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>"a40f5515-0343-48e5-bf0d-ebcaf8693c81"</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>"d87bff6c-e21b-402e-81f9-1d8f76e6a57c"</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>"63cd7af9-1023-46af-9e35-3b3bcae421fc"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"2bd45bc3-b30c-4d36-a1a0-8181aa207fb6"</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>"c8510416-c02a-4c46-a234-e96ffc98839c"</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>"f839a107-b477-4126-b2aa-8c1a3e26173e"</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>"1f2fc416-09a5-4dbe-9ea4-934729de83ba"</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>"c9bc9c5e-860b-4f38-b57e-df699b431750"</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>"79647b7f-3c0d-4c67-b73e-7205de6268c5"</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>"a394c17d-3f9d-4b76-b813-260a1946230b"</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>"5e47a4dd-7946-4786-9b56-e52cbb149d6e"</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>"1d900578-90f1-41a7-a09a-f6c5a86becd6"</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>"a586d995-cd01-403b-8383-b6904040259e"</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-03-24T16:18:08+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" : "f33d7a72-af48-4149-a047-ce5c099b7263",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "id"
}
]
}
]
},
{
"name" : "6c29f53b-c9c7-4389-91f7-2becd074c5c7",
"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" : "f2350ffa-64e9-463f-a11a-bc88575c9d2c",
"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" : "7fe698c2-c9b6-4e63-b49c-381c671fb7ed",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requester"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "4c7ba806-0cb8-4a4e-8128-71e386ce8f7d",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareOrganisation"
}
]
}
]
},
{
"name" : "66a86472-8fcf-4b40-86c3-1c1ee1610c2c",
"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" : "24527dc7-88d3-4733-afde-81eed58bce50",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestor",
"contextType" : "variable",
"element" : "contact",
"variable" : "requestedByContact"
}
],
"rule" : [
{
"name" : "a223dfa0-45f9-47bb-b221-06ee0f464f16",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestedByContact",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "requestorReference"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "1ed11879-9f4c-4519-a876-8a221b86a260",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "requestedByContact",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareWorker"
}
]
}
]
},
{
"name" : "e8faefe8-3b47-47c9-afb3-3a1ae18745e4",
"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" : "6f5ab9f9-49c7-4266-b19f-88338cb99b56",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "owner"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "9406e5c5-7067-4568-a668-b081b9cbaa77",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareOrganisation"
}
]
}
]
},
{
"name" : "14728991-d095-4322-a09a-a47d75952c6f",
"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" : "87c65109-135e-44a0-8ca2-3f3d6f1a85be",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfiller",
"contextType" : "variable",
"element" : "contact",
"variable" : "fulfilledByContact"
}
],
"rule" : [
{
"name" : "707b4a2d-7110-4974-8874-e1ef1a6b2d48",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfilledByContact",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "fulfillerReference"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "5afd91e2-e68f-4696-b777-758274f567dc",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "fulfilledByContact",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareWorker"
}
]
}
]
},
{
"name" : "112651ff-4e91-4361-8627-4ecc9678719d",
"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" : "c46cffe5-23b5-4220-897d-547f2a69fcd5",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "name",
"variable" : "name"
}
],
"rule" : [
{
"name" : "a91e9838-2125-451c-af92-01300e7fc63f",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patient"
},
{
"valueString" : "display.split(' ')[0]"
}
]
}
]
},
{
"name" : "7f69bfa2-7ad7-4bf4-969f-2320084476f9",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patient"
},
{
"valueString" : "display.split(' ')[1]"
}
]
}
]
}
]
},
{
"name" : "c8510416-c02a-4c46-a234-e96ffc98839c",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "nhsNumber",
"variable" : "nhsNumber"
}
],
"rule" : [
{
"name" : "identifier",
"source" : [
{
"context" : "patient",
"element" : "identifier",
"variable" : "patientNhsNumber"
}
],
"rule" : [
{
"name" : "a40f5515-0343-48e5-bf0d-ebcaf8693c81",
"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" : "2bd45bc3-b30c-4d36-a1a0-8181aa207fb6",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "nhsNumber",
"contextType" : "variable",
"element" : "statusIndicator",
"variable" : "statusIndicator"
}
],
"rule" : [
{
"name" : "d87bff6c-e21b-402e-81f9-1d8f76e6a57c",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "statusIndicator",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "traceStatusCoding"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "63cd7af9-1023-46af-9e35-3b3bcae421fc",
"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" : "f839a107-b477-4126-b2aa-8c1a3e26173e",
"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" : "1f2fc416-09a5-4dbe-9ea4-934729de83ba",
"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" : "c9bc9c5e-860b-4f38-b57e-df699b431750",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "fulfillerTrackingId",
"transform" : "copy",
"parameter" : [
{
"valueId" : "fulfillerTrackingId"
}
]
}
]
}
]
},
{
"name" : "5e47a4dd-7946-4786-9b56-e52cbb149d6e",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tracking",
"contextType" : "variable",
"element" : "progress",
"variable" : "progress"
}
],
"rule" : [
{
"name" : "79647b7f-3c0d-4c67-b73e-7205de6268c5",
"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" : "a394c17d-3f9d-4b76-b813-260a1946230b",
"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" : "1d900578-90f1-41a7-a09a-f6c5a86becd6",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "date",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "notes"
},
{
"valueString" : "time"
}
]
}
]
},
{
"name" : "a586d995-cd01-403b-8383-b6904040259e",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "text",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "notes"
},
{
"valueString" : "text"
}
]
}
]
}
]
}
]
}
]
}
]
}