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-06-10 |
<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>"b9292139-1b8f-4c5d-b781-368bccac221b"</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>"d494c489-206c-487b-972d-8bd5312fd360"</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>"64ff5e98-f747-4eba-8b2b-600bd112cdcc"</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>"3c12268a-ae91-4869-a16d-235c6982b8b0"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"34491163-a91c-45ba-94fb-53b56530c103"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"b3f51d40-9f15-402d-b08a-46b21edd67cd"</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>"78ad13d4-3940-483c-94ca-ff677ad7100b"</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>"5a8735bf-6abb-4d3d-b47b-0c29a3a3f991"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"441264c5-0599-4567-adbc-220688927af2"</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>"8d5382e5-d08e-477e-9690-86a51261e72a"</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>"53334e1e-d46c-4d2f-bc1b-f115e846e794"</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>"d2377e93-8a3c-473f-8f82-87e8abe188d0"</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>"99828a34-9ad5-4894-b5b8-504aeaf814cc"</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>"bf0aa1f7-9c59-4cf7-a2fb-4e820e199229"</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>"4e46ae0f-8a0d-47d1-9e99-d4cf31ced945"</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>"cda1226a-4e01-4091-b93c-13ccada9368e"</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>"6b7c5508-1141-4ee6-a7d5-e7c408e521f6"</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>"3b30a006-9dc4-4566-ac42-98f06ef88c3a"</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>"33a5f1b1-4a57-4426-a735-414253549a0d"</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>"96f33131-b850-41e5-95f9-f9551fe3638a"</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>"f90680fc-b883-4dd8-9b2f-fdc312340e0d"</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>"52d6c865-9f40-4f4c-87de-b58260875b09"</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>"f0b10acb-ce40-4183-996f-17cdc8138b91"</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>"f30d3ecc-a036-4bef-ad77-f503cc1ce627"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"db4e6da1-0b42-42bb-bd68-0e878f4d7fae"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"fc187ce1-29d9-4c08-af78-2cfeb1af3155"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"34434b22-9d09-4e7a-97ed-ea1de835d0e1"</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>"897eb342-01b4-4432-8298-d726f00ee3ed"</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>"08fe1c78-2d83-4a60-abbf-20129c16c256"</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>"6b1eed15-fde0-465c-8b63-9751f4385cd1"</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>"e2864900-39b5-434a-a630-110bc5193f11"</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>"b3eb9a1c-82df-4f4f-84b1-c8155e3b72ca"</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>"aa0fc8d5-370e-4b2a-8985-f8cd140b6686"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"f4fa631d-8838-4d4c-a10d-a18c0033ff7e"</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>"519ac2f9-cba1-4d02-9114-a12562a77a67"</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>"2f60cd96-c1ca-4631-b7cb-1b680ab29ffd"</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>"d14f04b2-e4ec-46fc-a9c1-3c9d0717d157"</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>"b6343bc6-64d5-43dd-bb48-6a2051dc4b6e"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"95c87854-7b97-4159-893f-2cbea091ee1b"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"783b3da7-b7f9-41c8-933d-73337bf44060"</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>"a5d2ab90-f69f-4ab1-bba3-1482f81e9c11"</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>"08d9c4f7-5944-44ce-b59d-32d3ce6b2377"</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>"2cb70e3e-4426-4f56-abc6-8f1973f1c208"</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>"f0eda907-1ed9-48ea-8220-600505a3da1f"</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>"7f17f984-1dec-4ecc-b894-9da5a5108453"</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>"e53b2580-95fb-4338-9283-bb98225aa35a"</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>"35d73d21-c2ad-4ab5-8d6e-27ec8f887826"</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>"ed2d4ecf-cc43-4e37-850b-b98a9d710170"</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>"6e3c48ce-5dee-4f38-8345-18a0288a43ed"</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>"b92a7c6d-aaa6-4147-ac89-d1cd4cb6fc2b"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"f11261e4-3ba9-4b91-a3a9-be862c2399a9"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"14f2b8cc-fc6e-462e-8d9a-afcd5b9a8f97"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"1456c4de-1f10-4d63-ad36-b30dc65d840a"</i><span style="color: navy">;</span>
addresses<span style="color: navy"><b> -> </b></span>tgt.address <i>"3a1f704e-cbbe-4f4a-9135-05a47976b7ed"</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-06-10T19:05:58+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="b9292139-1b8f-4c5d-b781-368bccac221b"/>
<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="b3f51d40-9f15-402d-b08a-46b21edd67cd"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderExt"/>
<contextType value="variable"/>
<element value="valueReference"/>
<variable value="careProviderReference"/>
</target>
<rule>
<name value="d494c489-206c-487b-972d-8bd5312fd360"/>
<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="64ff5e98-f747-4eba-8b2b-600bd112cdcc"/>
<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="34491163-a91c-45ba-94fb-53b56530c103"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careProviderReference"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="careProviderReferenceIdentifier"/>
</target>
<rule>
<name value="3c12268a-ae91-4869-a16d-235c6982b8b0"/>
<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="441264c5-0599-4567-adbc-220688927af2"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="patient"/>
</target>
<rule>
<name value="78ad13d4-3940-483c-94ca-ff677ad7100b"/>
<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="5a8735bf-6abb-4d3d-b47b-0c29a3a3f991"/>
<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="8d5382e5-d08e-477e-9690-86a51261e72a"/>
<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="53334e1e-d46c-4d2f-bc1b-f115e846e794"/>
<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="d2377e93-8a3c-473f-8f82-87e8abe188d0"/>
<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="99828a34-9ad5-4894-b5b8-504aeaf814cc"/>
<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="bf0aa1f7-9c59-4cf7-a2fb-4e820e199229"/>
<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="4e46ae0f-8a0d-47d1-9e99-d4cf31ced945"/>
<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="cda1226a-4e01-4091-b93c-13ccada9368e"/>
<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="6b7c5508-1141-4ee6-a7d5-e7c408e521f6"/>
<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="34434b22-9d09-4e7a-97ed-ea1de835d0e1"/>
<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="3b30a006-9dc4-4566-ac42-98f06ef88c3a"/>
<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="33a5f1b1-4a57-4426-a735-414253549a0d"/>
<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="96f33131-b850-41e5-95f9-f9551fe3638a"/>
<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="fc187ce1-29d9-4c08-af78-2cfeb1af3155"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="emailTypeExt"/>
</target>
<rule>
<name value="f90680fc-b883-4dd8-9b2f-fdc312340e0d"/>
<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="db4e6da1-0b42-42bb-bd68-0e878f4d7fae"/>
<source>
<context value="src"/>
</source>
<target>
<context value="emailTypeExt"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="emailTypeValueCoding"/>
</target>
<rule>
<name value="52d6c865-9f40-4f4c-87de-b58260875b09"/>
<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="f0b10acb-ce40-4183-996f-17cdc8138b91"/>
<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="f30d3ecc-a036-4bef-ad77-f503cc1ce627"/>
<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="897eb342-01b4-4432-8298-d726f00ee3ed"/>
<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="08fe1c78-2d83-4a60-abbf-20129c16c256"/>
<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="6b1eed15-fde0-465c-8b63-9751f4385cd1"/>
<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="f4fa631d-8838-4d4c-a10d-a18c0033ff7e"/>
<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="e2864900-39b5-434a-a630-110bc5193f11"/>
<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="b3eb9a1c-82df-4f4f-84b1-c8155e3b72ca"/>
<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="aa0fc8d5-370e-4b2a-8985-f8cd140b6686"/>
<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="783b3da7-b7f9-41c8-933d-73337bf44060"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telecom"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="telephoneTypeExt"/>
</target>
<rule>
<name value="519ac2f9-cba1-4d02-9114-a12562a77a67"/>
<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="95c87854-7b97-4159-893f-2cbea091ee1b"/>
<source>
<context value="src"/>
</source>
<target>
<context value="telephoneTypeExt"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="telephoneNumberTypeCoding"/>
</target>
<rule>
<name value="2f60cd96-c1ca-4631-b7cb-1b680ab29ffd"/>
<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="d14f04b2-e4ec-46fc-a9c1-3c9d0717d157"/>
<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="b6343bc6-64d5-43dd-bb48-6a2051dc4b6e"/>
<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="1456c4de-1f10-4d63-ad36-b30dc65d840a"/>
<source>
<context value="addresses"/>
<variable value="addr"/>
</source>
<rule>
<name value="a5d2ab90-f69f-4ab1-bba3-1482f81e9c11"/>
<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="08d9c4f7-5944-44ce-b59d-32d3ce6b2377"/>
<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="2cb70e3e-4426-4f56-abc6-8f1973f1c208"/>
<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="f0eda907-1ed9-48ea-8220-600505a3da1f"/>
<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="7f17f984-1dec-4ecc-b894-9da5a5108453"/>
<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="e53b2580-95fb-4338-9283-bb98225aa35a"/>
<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="14f2b8cc-fc6e-462e-8d9a-afcd5b9a8f97"/>
<source>
<context value="address"/>
</source>
<target>
<context value="addr"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<rule>
<name value="35d73d21-c2ad-4ab5-8d6e-27ec8f887826"/>
<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="f11261e4-3ba9-4b91-a3a9-be862c2399a9"/>
<source>
<context value="address"/>
</source>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="valueCoding"/>
<variable value="countryCoding"/>
</target>
<rule>
<name value="ed2d4ecf-cc43-4e37-850b-b98a9d710170"/>
<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="6e3c48ce-5dee-4f38-8345-18a0288a43ed"/>
<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="b92a7c6d-aaa6-4147-ac89-d1cd4cb6fc2b"/>
<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="3a1f704e-cbbe-4f4a-9135-05a47976b7ed"/>
<source>
<context value="addresses"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
</StructureMap>