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 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="ProxyForSubjectOfCare-RelatedPerson"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap ProxyForSubjectOfCare-RelatedPerson</b></p><a name="ProxyForSubjectOfCare-RelatedPerson"> </a><a name="hcProxyForSubjectOfCare-RelatedPerson"> </a><pre class="fml">
<b>map</b><span style="color: navy"> "</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/ProxyForSubjectOfCare-RelatedPerson<span style="color: navy">" = "</span>ProxyForSubjectOfCareToRelatedPerson<span style="color: navy">"
</span><b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-ProxyForSubjectOfCare.html" title="MODS Proxy For Subject of Care">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-ProxyForSubjectOfCare</a><span style="color: navy">" </span><b>alias </b>Proxy <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-RelatedPerson.html" title="MODS Related Person">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-RelatedPerson</a><span style="color: navy">" </span><b>alias </b>RelatedPerson <b>as </b><b>target</b>
<b>group </b>RelatedPerson<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>Proxy, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>RelatedPerson<span style="color: navy">)</span><span style="color: navy"> {
</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>"setRelatedPersonId"</i><span style="color: navy">;</span>
src.organisation<b> as </b><span style="color: maroon">careProvider</span><span style="color: navy"><b> -> </b></span>tgt.extension<b> as </b><span style="color: maroon">careProviderExt</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>careProviderExt.url = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonCareProvider'</span> <i>"84e82c22-a3b9-499d-94e4-65cbc8cf09bd"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>careProviderExt.valueReference<b> as </b><span style="color: maroon">careProviderReference</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>careProviderReference.reference = evaluate<span style="color: navy">(</span>careProvider<span style="color: navy">, </span>'Organization/'+id<span style="color: navy">)</span> <i>"10f19978-1a3b-4330-a464-e00e74022603"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>careProviderReference.display = evaluate<span style="color: navy">(</span>careProvider<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>"9e1f7105-7878-4767-9ba7-b34630c3cc19"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>careProviderReference.identifier<b> as </b><span style="color: maroon">careProviderReferenceIdentifier</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>careProviderReferenceIdentifier.value = evaluate<span style="color: navy">(</span>careProvider<span style="color: navy">, </span>id<span style="color: navy">)</span> <i>"fe9135e9-76d2-46b0-8ed6-5fbe0978c07b"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"b5a04295-4c12-4a37-880b-c9ddf5df3891"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"80515323-a2f5-4454-a056-a66f29d8a9bb"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonOrganization"</i><span style="color: navy">;</span>
src.subjectOfCare<b> as </b><span style="color: maroon">subjectOfCare</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tgt.patient<b> as </b><span style="color: maroon">patient</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>patient.reference = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>'Patient/'+id<span style="color: navy">)</span> <i>"8c477486-b778-4ec4-81dd-561aae6b2c5a"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>patient.display = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>"a0061ba6-78b4-4dd6-99cc-91a9b04bc2a7"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"eea3c368-1db6-4d5e-9f38-7e1d597a1d75"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonPatient"</i><span style="color: navy">;</span>
src.relationship<b> as </b><span style="color: maroon">relationship</span><span style="color: navy"><b> -> </b></span>tgt.relationship<b> as </b><span style="color: maroon">rel</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>rel.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole'</span> <i>"86fbb967-22b7-48f7-95be-064d96767f09"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>coding.code = evaluate<span style="color: navy">(</span>relationship<span style="color: navy">, </span>code<span style="color: navy">)</span> <i>"68c419db-fdd1-4e3c-9d46-8464cf1a3d31"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>coding.display = evaluate<span style="color: navy">(</span>relationship<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>"ebafb674-ab9d-4bcf-a5ea-a3b1c07c03f3"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelationship"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.name<b> as </b><span style="color: maroon">name</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>name.given = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>name.given<span style="color: navy">)</span> <i>"2a1ca90f-461f-49e7-bbba-114fdafcb6aa"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>name.family = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>name.family<span style="color: navy">)</span> <i>"b4b5a11f-de18-484d-a198-9efccb601ebb"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonName"</i><span style="color: navy">;</span>
src.contactDetails<b> as </b><span style="color: maroon">emailContactDetails</span><b> then</b><span style="color: navy"> {
</span> emailContactDetails.emailAddressDetails<b> as </b><span style="color: maroon">emailAddressDetails</span><span style="color: navy"><b> -> </b></span>tgt.telecom<b> as </b><span style="color: maroon">telecom</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>telecom.system = <span style="color: blue">'email'</span> <i>"73d0b81c-c56e-4233-a5c3-91219197176f"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.value = evaluate<span style="color: navy">(</span>emailAddressDetails<span style="color: navy">, </span>emailAddress<span style="color: navy">)</span> <i>"501d8d52-d80b-4ded-b721-067d3b3764b8"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.rank = evaluate<span style="color: navy">(</span>emailAddressDetails<span style="color: navy">, </span>preferredOrder<span style="color: navy">)</span> <i>"935aec0d-6230-42b6-85f8-e50b703261f7"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>src.emailAddressType = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">etvt</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>etvt.system = <span style="color: blue">'https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type'</span> <i>"8334eb82-2e66-41a1-a2f6-5a9f9b348fcc"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>etvt.code = evaluate<span style="color: navy">(</span>emailAddressDetails<span style="color: navy">, </span>type.code<span style="color: navy">)</span> <i>"82d1af1f-91c7-4fa4-ade5-074f7c47bca0"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.use = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">etvt</span><span style="color: navy">, </span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIREmailContactPointUse-1'</span><span style="color: navy">, </span><span style="color: blue">'code'</span><span style="color: navy">)</span> <i>"64b1a04f-d0d0-41d9-b60c-484b1bf2a7f4"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.extension<b> as </b><span style="color: maroon">emailTypeExt</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>emailTypeExt.url = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonEmailAddressType'</span> <i>"93979724-f372-4d49-8363-f0c4529a5a28"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>emailTypeExt.valueCoding<b> as </b><span style="color: maroon">emailTypeValueCoding</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>emailTypeValueCoding.system = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-EmailAddressType-1'</span> <i>"5e3ae7d6-7344-44e1-8cb4-b459747147cb"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>emailTypeValueCoding.code = evaluate<span style="color: navy">(</span>emailAddressDetails<span style="color: navy">, </span>type.code<span style="color: navy">)</span> <i>"0d51bd5f-f840-4616-9f9c-79cc9964bc1b"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>emailTypeValueCoding.display = evaluate<span style="color: navy">(</span>emailAddressDetails<span style="color: navy">, </span>type.display<span style="color: navy">)</span> <i>"27622a7c-6dc7-4e13-aba5-c71def50d96f"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"cff5ff28-6a4e-413d-a852-2174e35c516f"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"356b17ef-0162-4897-8b72-2d0b2c33993b"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"0c837111-e697-409b-b988-d9fc3c263b1e"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonEmailAddress"</i><span style="color: navy">;</span>
src.contactDetails<b> as </b><span style="color: maroon">telephoneContactDetails</span><b> then</b><span style="color: navy"> {
</span> telephoneContactDetails.telephoneDetails<b> as </b><span style="color: maroon">telephoneNumberDetails</span><span style="color: navy"><b> -> </b></span>tgt.telecom<b> as </b><span style="color: maroon">telecom</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>telecom.system = <span style="color: blue">'phone'</span> <i>"b4d6b8e8-f286-4f97-aeeb-d1907ca0ac40"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.value = evaluate<span style="color: navy">(</span>telephoneNumberDetails<span style="color: navy">, </span>telephoneNumber<span style="color: navy">)</span> <i>"89d733a1-3d42-4671-9fec-aadc810584b8"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.rank = evaluate<span style="color: navy">(</span>telephoneNumberDetails<span style="color: navy">, </span>preferredOrder<span style="color: navy">)</span> <i>"564c94bd-4b0c-4762-934b-03905504f4a2"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>src.telephoneType = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ttvt</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>ttvt.system = <span style="color: blue">'https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type'</span> <i>"bc7fe429-0b68-4378-8641-e5b8e1ed57e0"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>ttvt.code = evaluate<span style="color: navy">(</span>telephoneNumberDetails<span style="color: navy">, </span>type.code<span style="color: navy">)</span> <i>"b4a55359-5287-47fb-8c2f-3075238ee200"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.use = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">ttvt</span><span style="color: navy">, </span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRTelephoneContactPointUse-1'</span><span style="color: navy">, </span><span style="color: blue">'code'</span><span style="color: navy">)</span> <i>"9297bf96-fea5-4b12-b841-b3dc14c391b2"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"bea44f63-f600-4ec1-aa98-9d55ebdc39d7"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telecom.extension<b> as </b><span style="color: maroon">telephoneTypeExt</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>telephoneTypeExt.url = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonTelephoneNumberType'</span> <i>"59db6052-36d2-42d4-88a9-1ad7487930c3"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telephoneTypeExt.valueCoding<b> as </b><span style="color: maroon">telephoneNumberTypeCoding</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>telephoneNumberTypeCoding.system = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-TelephoneNumberType-1'</span> <i>"bafcc922-3810-4961-9cf8-822323334ea4"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telephoneNumberTypeCoding.code = evaluate<span style="color: navy">(</span>telephoneNumberDetails<span style="color: navy">, </span>type.code<span style="color: navy">)</span> <i>"c0196cf7-00a6-4cbd-9092-3677be5b4e41"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>telephoneNumberTypeCoding.display = evaluate<span style="color: navy">(</span>telephoneNumberDetails<span style="color: navy">, </span>type.display<span style="color: navy">)</span> <i>"d23489af-6751-4a08-8263-103266bac33b"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"6ca9449f-c52d-45a5-8940-008d22528a1c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"8a47a3dc-74aa-4d7e-99a5-b06eb1508ab6"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonTelephone"</i><span style="color: navy">;</span>
src.address<b> as </b><span style="color: maroon">address</span><b> where </b>$this.country.empty().not()<span style="color: navy"><b> -> </b></span>src.addresses<b> as </b><span style="color: maroon">addresses</span><b> then</b><span style="color: navy"> {
</span> addresses<b> as </b><span style="color: maroon">addr</span><b> then</b><span style="color: navy"> {
</span> address<span style="color: navy"><b> -> </b></span>addr.line = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>addressEntry1<span style="color: navy">)</span> <i>"6a116fbc-5744-4779-90dd-66e559386d59"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.line = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>addressEntry2<span style="color: navy">)</span> <i>"c3dfdb56-b427-4124-a98d-c1bce19b0dae"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.line = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>addressEntry3<span style="color: navy">)</span> <i>"035659e3-0c73-4dba-a5a8-4cb3d696fd64"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.line = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>addressEntry4<span style="color: navy">)</span> <i>"b95916a3-ac59-44b9-80f5-bfe482a00081"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.postalCode = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>postCode<span style="color: navy">)</span> <i>"d483dfa0-70e6-4fd4-8336-31d4fad5877b"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.country = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>country.display<span style="color: navy">)</span> <i>"91e4014d-280c-4ea6-89e6-7de5a975ef17"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>addr.extension<b> as </b><span style="color: maroon">extension</span><b> then</b><span style="color: navy"> {
</span> address<span style="color: navy"><b> -> </b></span>extension.url = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry'</span> <i>"9d87f04c-c43d-4736-b5b8-f622ec1cf2b5"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>extension.valueCoding<b> as </b><span style="color: maroon">countryCoding</span><b> then</b><span style="color: navy"> {
</span> address<span style="color: navy"><b> -> </b></span>countryCoding.system = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-Country-1'</span> <i>"6cc292ce-9d14-42dc-bbdc-fc24868a5f30"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>countryCoding.code = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>country.code<span style="color: navy">)</span> <i>"0fd119da-e46b-4ed2-9be1-b549953e30d2"</i><span style="color: navy">;</span>
address<span style="color: navy"><b> -> </b></span>countryCoding.display = evaluate<span style="color: navy">(</span>address<span style="color: navy">, </span>country.display<span style="color: navy">)</span> <i>"09faf68f-6d11-43ba-a721-0c4a84f6de54"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"d7b5495b-8db0-4c9c-b081-a22784757a4d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"c33a8771-90f6-442b-9f21-683a7f4f1e08"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"8a05ffe4-c158-4171-aa73-85651dd79ed5"</i><span style="color: navy">;</span>
addresses<span style="color: navy"><b> -> </b></span>tgt.address <i>"14c1d340-4e47-440f-9f38-9630b7127a81"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setRelatedPersonAddressWithCountry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/ProxyForSubjectOfCare-RelatedPerson"/>
<version value="0.1.0"/>
<name value="ProxyForSubjectOfCareToRelatedPerson"/>
<status value="draft"/>
<date value="2026-03-24T16:18:08+00:00"/>
<publisher
value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
<contact>
<name
value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
<telecom>
<system value="url"/>
<value value="https://synanetics.com"/>
</telecom>
<telecom>
<system value="email"/>
<value value="info@synanetics.com"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="GB"/>
<display value="United Kingdom of Great Britain and Northern Ireland"/>
</coding>
</jurisdiction>
<structure>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-ProxyForSubjectOfCare"/>
<mode value="source"/>
<alias value="Proxy"/>
</structure>
<structure>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-RelatedPerson"/>
<mode value="target"/>
<alias value="RelatedPerson"/>
</structure>
<group>
<name value="RelatedPerson"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="Proxy"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="RelatedPerson"/>
<mode value="target"/>
</input>
<rule>
<name value="setRelatedPersonId"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="id"/>
</parameter>
</target>
</rule>
<rule>
<name value="setRelatedPersonOrganization"/>
<source>
<context value="src"/>
<element value="organisation"/>
<variable value="careProvider"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="careProviderExt"/>
</target>
<rule>
<name value="84e82c22-a3b9-499d-94e4-65cbc8cf09bd"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonCareProvider"/>
</parameter>
</target>
</rule>
<rule>
<name value="80515323-a2f5-4454-a056-a66f29d8a9bb"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderExt"/>
<contextType value="variable"/>
<element value="valueReference"/>
<variable value="careProviderReference"/>
</target>
<rule>
<name value="10f19978-1a3b-4330-a464-e00e74022603"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderReference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueId value="careProvider"/>
</parameter>
<parameter>
<valueString value="'Organization/'+id"/>
</parameter>
</target>
</rule>
<rule>
<name value="9e1f7105-7878-4767-9ba7-b34630c3cc19"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderReference"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="careProvider"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
<rule>
<name value="b5a04295-4c12-4a37-880b-c9ddf5df3891"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderReference"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="careProviderReferenceIdentifier"/>
</target>
<rule>
<name value="fe9135e9-76d2-46b0-8ed6-5fbe0978c07b"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderReferenceIdentifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="careProvider"/>
</parameter>
<parameter>
<valueString value="id"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="setRelatedPersonPatient"/>
<source>
<context value="src"/>
<element value="subjectOfCare"/>
<variable value="subjectOfCare"/>
</source>
<rule>
<name value="eea3c368-1db6-4d5e-9f38-7e1d597a1d75"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="patient"/>
</target>
<rule>
<name value="8c477486-b778-4ec4-81dd-561aae6b2c5a"/>
<source>
<context value="src"/>
</source>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueId value="subjectOfCare"/>
</parameter>
<parameter>
<valueString value="'Patient/'+id"/>
</parameter>
</target>
</rule>
<rule>
<name value="a0061ba6-78b4-4dd6-99cc-91a9b04bc2a7"/>
<source>
<context value="src"/>
</source>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="subjectOfCare"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="relationship"/>
<source>
<context value="src"/>
<element value="relationship"/>
<variable value="relationship"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="relationship"/>
<variable value="rel"/>
</target>
<rule>
<name value="setRelationship"/>
<source>
<context value="src"/>
</source>
<target>
<context value="rel"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="86fbb967-22b7-48f7-95be-064d96767f09"/>
<source>
<context value="src"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole"/>
</parameter>
</target>
</rule>
<rule>
<name value="68c419db-fdd1-4e3c-9d46-8464cf1a3d31"/>
<source>
<context value="src"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="relationship"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="ebafb674-ab9d-4bcf-a5ea-a3b1c07c03f3"/>
<source>
<context value="src"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="relationship"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="setRelatedPersonName"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
</target>
<rule>
<name value="2a1ca90f-461f-49e7-bbba-114fdafcb6aa"/>
<source>
<context value="src"/>
</source>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="name.given"/>
</parameter>
</target>
</rule>
<rule>
<name value="b4b5a11f-de18-484d-a198-9efccb601ebb"/>
<source>
<context value="src"/>
</source>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="name.family"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="contactDetails"/>
<source>
<context value="src"/>
<element value="contactDetails"/>
<variable value="emailContactDetails"/>
</source>
<rule>
<name value="setRelatedPersonEmailAddress"/>
<source>
<context value="emailContactDetails"/>
<element value="emailAddressDetails"/>
<variable value="emailAddressDetails"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="telecom"/>
</target>
<rule>
<name value="73d0b81c-c56e-4233-a5c3-91219197176f"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
</rule>
<rule>
<name value="501d8d52-d80b-4ded-b721-067d3b3764b8"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="emailAddressDetails"/>
</parameter>
<parameter>
<valueString value="emailAddress"/>
</parameter>
</target>
</rule>
<rule>
<name value="935aec0d-6230-42b6-85f8-e50b703261f7"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="rank"/>
<transform value="evaluate"/>
<parameter>
<valueId value="emailAddressDetails"/>
</parameter>
<parameter>
<valueString value="preferredOrder"/>
</parameter>
</target>
</rule>
<rule>
<name value="0c837111-e697-409b-b988-d9fc3c263b1e"/>
<source>
<context value="src"/>
</source>
<target>
<context value="src"/>
<contextType value="variable"/>
<element value="emailAddressType"/>
<variable value="etvt"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="8334eb82-2e66-41a1-a2f6-5a9f9b348fcc"/>
<source>
<context value="src"/>
</source>
<target>
<context value="etvt"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type"/>
</parameter>
</target>
</rule>
<rule>
<name value="82d1af1f-91c7-4fa4-ade5-074f7c47bca0"/>
<source>
<context value="src"/>
</source>
<target>
<context value="etvt"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="emailAddressDetails"/>
</parameter>
<parameter>
<valueString value="type.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="64b1a04f-d0d0-41d9-b60c-484b1bf2a7f4"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="use"/>
<transform value="translate"/>
<parameter>
<valueId value="etvt"/>
</parameter>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIREmailContactPointUse-1"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="356b17ef-0162-4897-8b72-2d0b2c33993b"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="emailTypeExt"/>
</target>
<rule>
<name value="93979724-f372-4d49-8363-f0c4529a5a28"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonEmailAddressType"/>
</parameter>
</target>
</rule>
<rule>
<name value="cff5ff28-6a4e-413d-a852-2174e35c516f"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeExt"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="emailTypeValueCoding"/>
</target>
<rule>
<name value="5e3ae7d6-7344-44e1-8cb4-b459747147cb"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeValueCoding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-EmailAddressType-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="0d51bd5f-f840-4616-9f9c-79cc9964bc1b"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeValueCoding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="emailAddressDetails"/>
</parameter>
<parameter>
<valueString value="type.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="27622a7c-6dc7-4e13-aba5-c71def50d96f"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeValueCoding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="emailAddressDetails"/>
</parameter>
<parameter>
<valueString value="type.display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="contactDetails"/>
<source>
<context value="src"/>
<element value="contactDetails"/>
<variable value="telephoneContactDetails"/>
</source>
<rule>
<name value="setRelatedPersonTelephone"/>
<source>
<context value="telephoneContactDetails"/>
<element value="telephoneDetails"/>
<variable value="telephoneNumberDetails"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="telecom"/>
</target>
<rule>
<name value="b4d6b8e8-f286-4f97-aeeb-d1907ca0ac40"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
</rule>
<rule>
<name value="89d733a1-3d42-4671-9fec-aadc810584b8"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="telephoneNumberDetails"/>
</parameter>
<parameter>
<valueString value="telephoneNumber"/>
</parameter>
</target>
</rule>
<rule>
<name value="564c94bd-4b0c-4762-934b-03905504f4a2"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="rank"/>
<transform value="evaluate"/>
<parameter>
<valueId value="telephoneNumberDetails"/>
</parameter>
<parameter>
<valueString value="preferredOrder"/>
</parameter>
</target>
</rule>
<rule>
<name value="bea44f63-f600-4ec1-aa98-9d55ebdc39d7"/>
<source>
<context value="src"/>
</source>
<target>
<context value="src"/>
<contextType value="variable"/>
<element value="telephoneType"/>
<variable value="ttvt"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="bc7fe429-0b68-4378-8641-e5b8e1ed57e0"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ttvt"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type"/>
</parameter>
</target>
</rule>
<rule>
<name value="b4a55359-5287-47fb-8c2f-3075238ee200"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ttvt"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="telephoneNumberDetails"/>
</parameter>
<parameter>
<valueString value="type.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="9297bf96-fea5-4b12-b841-b3dc14c391b2"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="use"/>
<transform value="translate"/>
<parameter>
<valueId value="ttvt"/>
</parameter>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRTelephoneContactPointUse-1"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="8a47a3dc-74aa-4d7e-99a5-b06eb1508ab6"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="telephoneTypeExt"/>
</target>
<rule>
<name value="59db6052-36d2-42d4-88a9-1ad7487930c3"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneTypeExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonTelephoneNumberType"/>
</parameter>
</target>
</rule>
<rule>
<name value="6ca9449f-c52d-45a5-8940-008d22528a1c"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneTypeExt"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="telephoneNumberTypeCoding"/>
</target>
<rule>
<name value="bafcc922-3810-4961-9cf8-822323334ea4"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneNumberTypeCoding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-TelephoneNumberType-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="c0196cf7-00a6-4cbd-9092-3677be5b4e41"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneNumberTypeCoding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="telephoneNumberDetails"/>
</parameter>
<parameter>
<valueString value="type.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="d23489af-6751-4a08-8263-103266bac33b"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneNumberTypeCoding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="telephoneNumberDetails"/>
</parameter>
<parameter>
<valueString value="type.display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="setRelatedPersonAddressWithCountry"/>
<source>
<context value="src"/>
<element value="address"/>
<variable value="address"/>
<condition value="$this.country.empty().not()"/>
</source>
<target>
<context value="src"/>
<contextType value="variable"/>
<element value="addresses"/>
<variable value="addresses"/>
</target>
<rule>
<name value="8a05ffe4-c158-4171-aa73-85651dd79ed5"/>
<source>
<context value="addresses"/>
<variable value="addr"/>
</source>
<rule>
<name value="6a116fbc-5744-4779-90dd-66e559386d59"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="addressEntry1"/>
</parameter>
</target>
</rule>
<rule>
<name value="c3dfdb56-b427-4124-a98d-c1bce19b0dae"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="addressEntry2"/>
</parameter>
</target>
</rule>
<rule>
<name value="035659e3-0c73-4dba-a5a8-4cb3d696fd64"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="addressEntry3"/>
</parameter>
</target>
</rule>
<rule>
<name value="b95916a3-ac59-44b9-80f5-bfe482a00081"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="addressEntry4"/>
</parameter>
</target>
</rule>
<rule>
<name value="d483dfa0-70e6-4fd4-8336-31d4fad5877b"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="postCode"/>
</parameter>
</target>
</rule>
<rule>
<name value="91e4014d-280c-4ea6-89e6-7de5a975ef17"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="country.display"/>
</parameter>
</target>
</rule>
<rule>
<name value="c33a8771-90f6-442b-9f21-683a7f4f1e08"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<rule>
<name value="9d87f04c-c43d-4736-b5b8-f622ec1cf2b5"/>
<source>
<context value="address"/>
</source>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry"/>
</parameter>
</target>
</rule>
<rule>
<name value="d7b5495b-8db0-4c9c-b081-a22784757a4d"/>
<source>
<context value="address"/>
</source>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="countryCoding"/>
</target>
<rule>
<name value="6cc292ce-9d14-42dc-bbdc-fc24868a5f30"/>
<source>
<context value="address"/>
</source>
<target>
<context value="countryCoding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-Country-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="0fd119da-e46b-4ed2-9be1-b549953e30d2"/>
<source>
<context value="address"/>
</source>
<target>
<context value="countryCoding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="country.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="09faf68f-6d11-43ba-a721-0c4a84f6de54"/>
<source>
<context value="address"/>
</source>
<target>
<context value="countryCoding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="address"/>
</parameter>
<parameter>
<valueString value="country.display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="14c1d340-4e47-440f-9f38-9630b7127a81"/>
<source>
<context value="addresses"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
</StructureMap>