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/CareWorker-Practitioner | Version: 0.1.0 | |||
| Draft as of 2026-06-10 | Computable Name: CareWorkerToPractitioner | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/CareWorker-Practitioner" = "CareWorkerToPractitioner" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-CareWorker" alias CareWorker as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Practitioner" alias Practitioner as target group Practitioner(source src : CareWorker, target tgt : Practitioner) { src -> tgt.id = evaluate(src, id) "setPractitionerId"; src -> tgt.name as name then { src -> name.given = evaluate(src, name.given) "583eba4f-0a2b-48ca-a053-254e8e8fe77e"; src -> name.family = evaluate(src, name.family) "bbe32752-13bd-49be-9923-e7ffb834a7b1"; } "setPractitionerName"; src.contactDetails as emailContactDetails then { emailContactDetails.emailAddressDetails as emailAddressDetails -> tgt.telecom as telecom then { src -> telecom.system = 'email' "dd314f1c-a1c0-40a2-85c9-7a6ec1e06074"; src -> telecom.value = evaluate(emailAddressDetails, emailAddress) "7ee4c413-c030-4a27-9be1-85c10eb33ad1"; src -> telecom.rank = evaluate(emailAddressDetails, preferredOrder) "2127180a-d617-4db1-9f4a-817c359b6fb4"; src -> src.emailAddressType = create('Coding') as etvt then { src -> etvt.system = 'https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type' "9f09d9ff-98c5-4d3b-9499-fe841e644878"; src -> etvt.code = evaluate(emailAddressDetails, type.code) "236e4d7c-58b3-44cb-b986-3273e7f523a0"; src -> telecom.use = translate(etvt, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIREmailContactPointUse-1', 'code') "5d73c763-9534-473a-af26-e96129be92d5"; src -> telecom.extension as emailTypeExt then { src -> emailTypeExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonEmailAddressType' "a0c718b4-de64-41d6-aaf4-c160ad938798"; src -> emailTypeExt.valueCoding as emailTypeValueCoding then { src -> emailTypeValueCoding.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-EmailAddressType-1' "1294850f-cba1-4b1a-b96d-f1c9fc499404"; src -> emailTypeValueCoding.code = evaluate(emailAddressDetails, type.code) "20aa3271-cdd7-44cf-84c2-8c291c017d3e"; src -> emailTypeValueCoding.display = evaluate(emailAddressDetails, type.display) "23d7969a-8414-4e4e-b2f6-94cd106db788"; } "08a9242b-bded-49e7-b713-a88f4342c5b2"; } "2cde027a-c5f6-435c-a357-d5e4ce587d50"; } "a5076c0c-b31f-4d26-96ea-4ce2ce41bbb3"; } "setCareWorkerEmailAddress"; src.contactDetails as telephoneContactDetails then { telephoneContactDetails.telephoneDetails as telephoneNumberDetails -> tgt.telecom as telecom then { src -> telecom.system = 'phone' "0bf8dfa0-8f5f-4235-8919-33f71ffb60dd"; src -> telecom.value = evaluate(telephoneNumberDetails, telephoneNumber) "a7c7b555-d6d9-4064-b1a9-a14d3e0f2fea"; src -> telecom.rank = evaluate(telephoneNumberDetails, preferredOrder) "fa14624b-3efe-4555-b198-bad82c2984cf"; src -> src.telephoneType = create('Coding') as ttvt then { src -> ttvt.system = 'https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type' "f764fee5-b169-469c-9709-145a3f6f25ba"; src -> ttvt.code = evaluate(telephoneNumberDetails, type.code) "3d42a9ba-b0c3-449c-9ee8-6b8091f675ef"; src -> telecom.use = translate(ttvt, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRTelephoneContactPointUse-1', 'code') "b336e6ba-0479-4b79-8985-73cbab82a761"; } "edab1140-2a2c-4d22-9298-65ddc78387f2"; src -> telecom.extension as telephoneTypeExt then { src -> telephoneTypeExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonTelephoneNumberType' "b260f1b3-902d-472d-8ecd-8ab031074ff2"; src -> telephoneTypeExt.valueCoding as telephoneNumberTypeCoding then { src -> telephoneNumberTypeCoding.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-TelephoneNumberType-1' "ec80ae07-e8f2-46ff-92e1-ac6eab2f8a5f"; src -> telephoneNumberTypeCoding.code = evaluate(telephoneNumberDetails, type.code) "adf2a199-6b90-46cd-93c4-726d19a87f43"; src -> telephoneNumberTypeCoding.display = evaluate(telephoneNumberDetails, type.display) "98feaffb-954b-4795-87bd-5277df8d1aed"; } "02c4a08a-e9ff-47a3-bf4e-519af284bb7b"; } "65544433-92b1-460e-bfbe-c82a49f3167b"; } "setCareWorkerTelephone"; }; }; }