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
| Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/TransferParameters-Transfer | Version: 0.1.0 | |||
| Draft as of 2026-03-24 | Computable Name: TransferParametersToTransfer | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/TransferParameters-Transfer" = "TransferParametersToTransfer" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-DSCRTransferParametersIn-1" alias Parameters as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Transfer" alias Transfer as target group Transfer(source src : Parameters, target tgt : Transfer) { src -> tgt.requestor as requestor then { src -> requestor.organisation as organisation then { src.parameter as parametersParameter where $this.name='requestor', parametersParameter.valueReference as requestorReference then { src -> organisation.id = evaluate(requestorReference, identifier.value) "839bbb91-9d99-4dbf-b6e6-02db56945e69"; src -> organisation.type = 'CareOrganisation' "26438cc8-78d8-4674-86d0-71204369daea"; src -> organisation.display = evaluate(requestorReference, display) "44dc874f-6df5-4219-be1d-70c016d4caa5"; } "parameter"; } "ab9ea402-cbb2-4af8-ad83-7867c7d7d663"; src -> requestor.contact as requestedBy then { src.parameter as parametersParameter where $this.name='requestedBy', parametersParameter.valueReference as requestedByReference then { src -> requestedBy.id = evaluate(requestedByReference, identifier.value) "832efc78-6e3f-46e6-ab5c-0970df0c3923"; src -> requestedBy.type = 'CareWorker' "1d77da5c-8272-4990-819f-d59ad8234efd"; src -> requestedBy.display = evaluate(requestedByReference, display) "e2e0e40c-e6b5-4076-af2a-ca83fa76f238"; } "parameter"; } "4cde108d-7bf2-47b5-90c0-e974065b0b4c"; } "setRequestor"; src -> tgt.fulfiller as fulfiller then { src -> fulfiller.organisation as organisation then { src.parameter as parametersParameter where $this.name='fulfiller', parametersParameter.valueReference as fulfillerReference then { src -> organisation.id = evaluate(fulfillerReference, identifier.value) "ee15766f-bf93-4255-b8a6-5757cb4c2e31"; src -> organisation.type = 'CareOrganisation' "b2cec525-1633-4bf9-98b3-5df93d9ae644"; src -> organisation.display = evaluate(fulfillerReference, display) "30ba28fd-dc46-49e7-9b95-490c012b048e"; } "parameter"; } "6d10ceec-87a8-45a7-a57f-6a668ad89979"; src.parameter as parametersParameter where $this.name='fulfilledBy', parametersParameter.valueReference as fulfilledByReference then { src -> fulfiller.contact as fulfilledBy then { src -> fulfilledBy.id = evaluate(fulfilledByReference, identifier.value) "2776e50c-8831-41ef-9dab-ff8d86c972e8"; src -> fulfilledBy.type = 'CareWorker' "5804896b-0927-41df-8598-485f42e5a08d"; src -> fulfilledBy.display = evaluate(fulfilledByReference, display) "ed48eff7-8ab7-4fb9-b14c-df52d72bb847"; } "133ed1ee-2e68-4633-b912-3f32518915f9"; } "parameter"; } "setFulfiller"; src.parameter as parametersParameter where $this.name='subject' then { parametersParameter.valueReference as subjectReference then { src -> tgt.subject as subject then { src -> subject.name as subjectName then { src -> subjectName.given = evaluate(subjectReference, display.split(' ')[0]) "af761d9b-55ad-4218-aa23-b2996d998abb"; src -> subjectName.family = evaluate(subjectReference, display.split(' ')[1]) "dc2cfe3e-c0d2-45c3-ac2a-0e9e61bca29e"; } "a25be25b-a1cb-4ad9-a126-9c8e187cd36c"; src -> subject.nhsNumber as nhsNumber then { subjectReference.identifier as identifier then { src -> nhsNumber.value = evaluate(identifier, value) "638f0180-d015-41c5-bcee-84a05428ccac"; identifier.extension as traceStatusIndicatorExt where $this.url='https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus', traceStatusIndicatorExt.valueCodeableConcept as traceStatusIndicatorCodeableConcept, traceStatusIndicatorCodeableConcept.coding as traceStatusIndicatorCoding then { src -> nhsNumber.statusIndicator as statusIndicator then { src -> statusIndicator.code = evaluate(traceStatusIndicatorCoding, code) "1a91e1f1-4674-4a2c-a4fa-6bfb6752a7ba"; src -> statusIndicator.display = evaluate(traceStatusIndicatorCoding, display) "8e07431b-0e8b-40b8-a633-3809a4d711dc"; } "f00e8770-03b2-40ef-bbc6-e6556bf7b785"; } "extension"; }; } "a907666c-1327-4032-97b3-4cd0be5b208c"; } "e5c5b468-0f12-4c79-9f5f-0c6a05f9ec04"; }; } "setSubject"; src.parameter as parametersParameter where $this.name='targetCompletion' then { src -> tgt.targetCompletion = evaluate(parametersParameter, valueDate) "d2abdbea-81b2-4a05-b17a-6aa5eda6b947"; } "setTargetCompletionDate"; src -> tgt.tracking as tracking then { src.parameter as parametersParameter where $this.name='requestorTrackingId' then { src -> tracking.requestorTrackingId = evaluate(parametersParameter, valueString) "31f4e231-ed73-4a8b-9d84-35bbc1336a44"; } "setRequestorTrackingId"; src.parameter as parametersParameter where $this.name='fulfillerTrackingId' then { src -> tracking.fulfillerTrackingId = evaluate(parametersParameter, valueString) "6431551c-aaeb-4d63-8f24-dabd8edc589f"; } "setFulfillerTrackingId"; src -> tracking.progress as progress then { src.parameter as parametersParameter where $this.name='status' then { src -> progress.status = evaluate(parametersParameter, valueCode) "5179430f-1f23-4a49-87aa-1296326430cb"; }; src.parameter as parametersParameter where $this.name='statusLastUpdated' then { src -> progress.date = evaluate(parametersParameter, valueDateTime) "81c9b703-14b1-4fb7-8ade-3fdcc4bdda73"; }; } "setTrackingProgress"; src.parameter as parametersParameter where $this.name='note' -> tracking.notes as notes then { parametersParameter.part as datePart where $this.name='date' then { src -> notes.date = evaluate(datePart, valueDateTime) "df1d4e1c-bd72-4dda-b609-2f0c714990ea"; }; parametersParameter.part as textPart where $this.name='text' then { src -> notes.text = evaluate(textPart, valueString) "2a7dfcce-0d3a-4e4d-b217-aa4c77a4e28d"; }; } "setNotes"; } "setTracking"; }