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-06-10 | 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) "ece8364b-9be2-4ba8-91df-cb194bfbf6cc"; src -> organisation.type = 'CareOrganisation' "513a26cf-732c-41ee-8e86-ee86ff362522"; src -> organisation.display = evaluate(requestorReference, display) "84133958-b998-4b99-9716-374878020108"; } "parameter"; } "811c848e-e81c-431d-9a28-66146f7c9422"; 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) "d59019e1-a13a-4e65-9f48-823272917415"; src -> requestedBy.type = 'CareWorker' "d4260a1b-20ef-4421-b57c-fb9c7c8b3598"; src -> requestedBy.display = evaluate(requestedByReference, display) "c5458cc3-cfa2-4754-bff9-b1ee371a488f"; } "parameter"; } "0c44b8ef-da2f-414b-a285-cc7245051d4a"; } "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) "9947cb5b-4b0e-48b8-a489-831d857089a4"; src -> organisation.type = 'CareOrganisation' "4dcafecc-fcb1-42c4-8196-0581208c71c1"; src -> organisation.display = evaluate(fulfillerReference, display) "bbf1f7f3-1d24-44c9-b04b-a0a7246bf3fb"; } "parameter"; } "b7626d5d-e080-4e72-b31f-3c500ea69f09"; 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) "76a39849-46e3-446c-abab-d4f17c1c6132"; src -> fulfilledBy.type = 'CareWorker' "be598b01-cef7-478d-8aa7-7ccae4282bb1"; src -> fulfilledBy.display = evaluate(fulfilledByReference, display) "0d6a0346-9c60-4a70-ac27-b6caf25b150d"; } "40089188-795f-45a8-9121-2f7c830250c4"; } "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]) "e663c7d4-c3e6-4547-ba91-d28c08d1b44e"; src -> subjectName.family = evaluate(subjectReference, display.split(' ')[1]) "ae4fe974-ef57-4a5e-9d95-d664fd96bde2"; } "00499be0-729f-4423-9b0a-b1b9045c4674"; src -> subject.nhsNumber as nhsNumber then { subjectReference.identifier as identifier then { src -> nhsNumber.value = evaluate(identifier, value) "a070abe2-9ccf-4240-b45f-96f1a6b15abe"; 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) "f89d3006-e2a7-40c1-89f3-0d50c81f74cd"; src -> statusIndicator.display = evaluate(traceStatusIndicatorCoding, display) "43c578b4-069e-4226-8972-161525668cdb"; } "453d58dc-885f-466e-9705-47c09f575be1"; } "extension"; }; } "f34ed54b-faee-4ad5-b0c3-1707312cb532"; } "8c254c30-720b-4354-b5d2-0c91f99e88eb"; }; } "setSubject"; src.parameter as parametersParameter where $this.name='targetCompletion' then { src -> tgt.targetCompletion = evaluate(parametersParameter, valueDate) "b3a0d864-8cf1-48f5-b5fd-e6ce0176a4fe"; } "setTargetCompletionDate"; src -> tgt.tracking as tracking then { src.parameter as parametersParameter where $this.name='requestorTrackingId' then { src -> tracking.requestorTrackingId = evaluate(parametersParameter, valueString) "9e9ea393-cb94-4e27-b974-b8ad5ea15774"; } "setRequestorTrackingId"; src.parameter as parametersParameter where $this.name='fulfillerTrackingId' then { src -> tracking.fulfillerTrackingId = evaluate(parametersParameter, valueString) "4358068d-6f88-4a36-9268-1fa7234f0f92"; } "setFulfillerTrackingId"; src -> tracking.progress as progress then { src.parameter as parametersParameter where $this.name='status' then { src -> progress.status = evaluate(parametersParameter, valueCode) "e268feef-c15a-434b-b5fc-ca24b597d9c5"; }; src.parameter as parametersParameter where $this.name='statusLastUpdated' then { src -> progress.date = evaluate(parametersParameter, valueDateTime) "1c576031-c6cb-48a3-8c7c-70f76557d19b"; }; } "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) "f8add736-650c-40e3-b41b-faa09b380e18"; }; parametersParameter.part as textPart where $this.name='text' then { src -> notes.text = evaluate(textPart, valueString) "822f1206-bcf1-473a-aaca-60abae490183"; }; } "setNotes"; } "setTracking"; }